gnu: ghc-generic-deriving: 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)
3ed40e10
TS
4572 (inputs
4573 `(("ghc-sop-core" ,ghc-sop-core)
4574 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4575 (home-page "https://github.com/well-typed/generics-sop")
4576 (synopsis "Generic Programming using True Sums of Products for Haskell")
4577 (description "This Haskell package supports the definition of generic
4578functions. Datatypes are viewed in a uniform, structured way: the choice
4579between constructors is represented using an n-ary sum, and the arguments of
4580each constructor are represented using an n-ary product.")
4581 (license license:bsd-3)))
4582
4583(define-public ghc-geniplate-mirror
4584 (package
4585 (name "ghc-geniplate-mirror")
4586 (version "0.7.6")
4587 (source
4588 (origin
4589 (method url-fetch)
4590 (uri (string-append "https://hackage.haskell.org/package"
4591 "/geniplate-mirror"
4592 "/geniplate-mirror-" version ".tar.gz"))
4593 (sha256
4594 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4595 (build-system haskell-build-system)
74a7dd7f
TS
4596 (arguments
4597 `(#:cabal-revision
4598 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4599 (home-page "https://github.com/danr/geniplate")
4600 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4601 (description
4602 "Use Template Haskell to generate Uniplate-like functions. This is a
4603maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4604geniplate} package, written by Lennart Augustsson.")
4605 (license license:bsd-3)))
4606
4607(define-public ghc-genvalidity
4608 (package
4609 (name "ghc-genvalidity")
920f44a1 4610 (version "0.8.0.0")
dddbc90c
RV
4611 (source
4612 (origin
4613 (method url-fetch)
4614 (uri (string-append
4615 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4616 version
4617 ".tar.gz"))
4618 (sha256
4619 (base32
920f44a1 4620 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4621 (build-system haskell-build-system)
4622 (inputs
4623 `(("ghc-quickcheck" ,ghc-quickcheck)
4624 ("ghc-validity" ,ghc-validity)))
4625 (native-inputs
4626 `(("ghc-hspec" ,ghc-hspec)
4627 ("hspec-discover" ,hspec-discover)
4628 ("ghc-hspec-core" ,ghc-hspec-core)))
4629 (home-page
4630 "https://github.com/NorfairKing/validity")
4631 (synopsis
4632 "Testing utilities for the @code{validity} library")
4633 (description
4634 "This package provides testing utilities that are useful in conjunction
4635with the @code{Validity} typeclass.")
4636 (license license:expat)))
4637
4638(define-public ghc-genvalidity-property
4639 (package
4640 (name "ghc-genvalidity-property")
e4ede35b 4641 (version "0.4.0.0")
dddbc90c
RV
4642 (source
4643 (origin
4644 (method url-fetch)
4645 (uri (string-append
4646 "https://hackage.haskell.org/package/"
4647 "genvalidity-property/genvalidity-property-"
4648 version
4649 ".tar.gz"))
4650 (sha256
4651 (base32
e4ede35b 4652 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4653 (build-system haskell-build-system)
4654 (inputs
4655 `(("ghc-quickcheck" ,ghc-quickcheck)
4656 ("ghc-genvalidity" ,ghc-genvalidity)
4657 ("ghc-hspec" ,ghc-hspec)
4658 ("hspec-discover" ,hspec-discover)
4659 ("ghc-validity" ,ghc-validity)))
4660 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4661 (home-page
4662 "https://github.com/NorfairKing/validity")
4663 (synopsis
4664 "Standard properties for functions on @code{Validity} types")
4665 (description
4666 "This package supplements the @code{Validity} typeclass with standard
4667properties for functions operating on them.")
4668 (license license:expat)))
4669
e71fb573
TS
4670(define-public ghc-getopt-generics
4671 (package
4672 (name "ghc-getopt-generics")
4673 (version "0.13.0.4")
4674 (source
4675 (origin
4676 (method url-fetch)
4677 (uri (string-append "https://hackage.haskell.org/package/"
4678 "getopt-generics/getopt-generics-"
4679 version ".tar.gz"))
4680 (sha256
4681 (base32
4682 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4683 (build-system haskell-build-system)
4684 (inputs
4685 `(("ghc-base-compat" ,ghc-base-compat)
4686 ("ghc-base-orphans" ,ghc-base-orphans)
4687 ("ghc-generics-sop" ,ghc-generics-sop)
4688 ("ghc-tagged" ,ghc-tagged)))
4689 (native-inputs
4690 `(("ghc-quickcheck" ,ghc-quickcheck)
4691 ("ghc-hspec" ,ghc-hspec)
4692 ("ghc-safe" ,ghc-safe)
4693 ("ghc-silently" ,ghc-silently)
4694 ("hspec-discover" ,hspec-discover)))
4695 (home-page "https://github.com/soenkehahn/getopt-generics")
4696 (synopsis "Create command line interfaces with ease")
4697 (description "This library provides tools to create command line
4698interfaces with ease.")
4699 (license license:bsd-3)))
4700
dddbc90c
RV
4701(define-public ghc-gitrev
4702 (package
4703 (name "ghc-gitrev")
4704 (version "1.3.1")
4705 (source
4706 (origin
4707 (method url-fetch)
4708 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4709 version ".tar.gz"))
4710 (sha256
4711 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4712 (build-system haskell-build-system)
4713 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4714 (home-page "https://github.com/acfoltzer/gitrev")
4715 (synopsis "Compile git revision info into Haskell projects")
4716 (description
4717 "This package provides some handy Template Haskell splices for including
4718the current git hash and branch in the code of your project. This is useful
4719for including in panic messages, @command{--version} output, or diagnostic
4720info for more informative bug reports.")
4721 (license license:bsd-3)))
4722
4723(define-public ghc-glob
4724 (package
4725 (name "ghc-glob")
b900f486 4726 (version "0.10.0")
dddbc90c
RV
4727 (source
4728 (origin
4729 (method url-fetch)
4730 (uri (string-append "https://hackage.haskell.org/package/"
4731 "Glob-" version "/"
4732 "Glob-" version ".tar.gz"))
4733 (sha256
4734 (base32
b900f486 4735 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4736 (build-system haskell-build-system)
4737 (inputs
4738 `(("ghc-dlist" ,ghc-dlist)
4739 ("ghc-semigroups" ,ghc-semigroups)
4740 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4741 (native-inputs
4742 `(("ghc-hunit" ,ghc-hunit)
4743 ("ghc-quickcheck" ,ghc-quickcheck)
4744 ("ghc-test-framework" ,ghc-test-framework)
4745 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4746 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4747 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4748 (synopsis "Haskell library matching glob patterns against file paths")
4749 (description "This package provides a Haskell library for @dfn{globbing}:
4750matching patterns against file paths.")
4751 (license license:bsd-3)))
4752
4753(define-public ghc-gluraw
4754 (package
4755 (name "ghc-gluraw")
4756 (version "2.0.0.4")
4757 (source
4758 (origin
4759 (method url-fetch)
4760 (uri (string-append
4761 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4762 version
4763 ".tar.gz"))
4764 (sha256
4765 (base32
4766 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4767 (build-system haskell-build-system)
4768 (inputs
4769 `(("ghc-openglraw" ,ghc-openglraw)))
228d2901 4770 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
4771 (synopsis "Raw Haskell bindings GLU")
4772 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4773utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4774basis for a nicer interface.")
4775 (license license:bsd-3)))
4776
4777(define-public ghc-glut
4778 (package
4779 (name "ghc-glut")
8284bd09 4780 (version "2.7.0.15")
dddbc90c
RV
4781 (source
4782 (origin
4783 (method url-fetch)
4784 (uri (string-append
4785 "https://hackage.haskell.org/package/GLUT/GLUT-"
4786 version
4787 ".tar.gz"))
4788 (sha256
4789 (base32
8284bd09 4790 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4791 (build-system haskell-build-system)
4792 (inputs
4793 `(("ghc-statevar" ,ghc-statevar)
4794 ("ghc-opengl" ,ghc-opengl)
4795 ("ghc-openglraw" ,ghc-openglraw)
4796 ("freeglut" ,freeglut)))
228d2901 4797 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
4798 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4799 (description "This library provides Haskell bindings for the OpenGL
4800Utility Toolkit, a window system-independent toolkit for writing OpenGL
4801programs.")
4802 (license license:bsd-3)))
4803
4804(define-public ghc-gnuplot
4805 (package
4806 (name "ghc-gnuplot")
d34860c7 4807 (version "0.5.6")
dddbc90c
RV
4808 (source
4809 (origin
4810 (method url-fetch)
4811 (uri (string-append
4812 "mirror://hackage/package/gnuplot/gnuplot-"
4813 version ".tar.gz"))
4814 (sha256
d34860c7 4815 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4816 (build-system haskell-build-system)
4817 (inputs
4818 `(("ghc-temporary" ,ghc-temporary)
4819 ("ghc-utility-ht" ,ghc-utility-ht)
4820 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4821 ("ghc-data-accessor" ,ghc-data-accessor)
4822 ("ghc-semigroups" ,ghc-semigroups)
4823 ("gnuplot" ,gnuplot)))
4824 (arguments
4825 `(#:phases
4826 (modify-phases %standard-phases
4827 (add-before 'configure 'fix-path-to-gnuplot
4828 (lambda* (#:key inputs #:allow-other-keys)
4829 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4830 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4831 (("(gnuplotName = ).*$" all cmd)
4832 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
228d2901 4833 (home-page "https://wiki.haskell.org/Gnuplot")
dddbc90c
RV
4834 (synopsis "2D and 3D plots using gnuplot")
4835 (description "This package provides a Haskell module for creating 2D and
48363D plots using gnuplot.")
4837 (license license:bsd-3)))
4838
4839(define-public ghc-graphviz
4840 (package
4841 (name "ghc-graphviz")
c264bd42 4842 (version "2999.20.0.3")
dddbc90c
RV
4843 (source (origin
4844 (method url-fetch)
4845 (uri (string-append "https://hackage.haskell.org/package/"
4846 "graphviz/graphviz-" version ".tar.gz"))
4847 (sha256
4848 (base32
c264bd42 4849 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4850 (build-system haskell-build-system)
c264bd42
TS
4851 (arguments
4852 `(#:phases
4853 (modify-phases %standard-phases
4854 (add-before 'configure 'update-constraints
4855 (lambda _
4856 (substitute* "graphviz.cabal"
4857 (("QuickCheck >= 2\\.3 && < 2\\.13")
4858 "QuickCheck >= 2.3 && < 2.14")
4859 (("hspec >= 2\\.1 && < 2\\.7")
4860 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4861 (inputs
4862 `(("ghc-quickcheck" ,ghc-quickcheck)
4863 ("ghc-colour" ,ghc-colour)
4864 ("ghc-dlist" ,ghc-dlist)
4865 ("ghc-fgl" ,ghc-fgl)
4866 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4867 ("ghc-polyparse" ,ghc-polyparse)
4868 ("ghc-temporary" ,ghc-temporary)
4869 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4870 (native-inputs
4871 `(("ghc-hspec" ,ghc-hspec)
4872 ("graphviz" ,graphviz)
4873 ("hspec-discover" ,hspec-discover)))
4874 (home-page "https://hackage.haskell.org/package/graphviz")
4875 (synopsis "Bindings to Graphviz for graph visualisation")
4876 (description
4877 "This library provides bindings for the Dot language used by
4878the @uref{https://graphviz.org/, Graphviz} suite of programs for
4879visualising graphs, as well as functions to call those programs.
4880Main features of the graphviz library include:
4881
4882@enumerate
4883@item Almost complete coverage of all Graphviz attributes and syntax
4884@item Support for specifying clusters
4885@item The ability to use a custom node type
4886@item Functions for running a Graphviz layout tool with all specified output types
4887@item Generate and parse Dot code with two options: strict and liberal
4888@item Functions to convert FGL graphs and other graph-like data structures
4889@item Round-trip support for passing an FGL graph through Graphviz to augment node
4890and edge labels with positional information, etc.
4891@end enumerate\n")
4892 (license license:bsd-3)))
4893
f3e18645
TS
4894(define-public ghc-groups
4895 (package
4896 (name "ghc-groups")
4897 (version "0.4.1.0")
4898 (source
4899 (origin
4900 (method url-fetch)
4901 (uri (string-append "https://hackage.haskell.org/package/"
4902 "groups/groups-" version ".tar.gz"))
4903 (sha256
4904 (base32
4905 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4906 (build-system haskell-build-system)
4907 (home-page "https://hackage.haskell.org/package/groups")
4908 (synopsis "Haskell 98 groups")
4909 (description "This package provides Haskell 98 groups. A group is a
4910monoid with invertibility.")
4911 (license license:bsd-3)))
4912
dddbc90c
RV
4913(define-public ghc-gtk2hs-buildtools
4914 (package
4915 (name "ghc-gtk2hs-buildtools")
b79b43d4 4916 (version "0.13.5.4")
dddbc90c
RV
4917 (source
4918 (origin
4919 (method url-fetch)
4920 (uri (string-append "https://hackage.haskell.org/package/"
4921 "gtk2hs-buildtools/gtk2hs-buildtools-"
4922 version ".tar.gz"))
4923 (sha256
4924 (base32
b79b43d4 4925 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4926 (build-system haskell-build-system)
4927 (inputs
4928 `(("ghc-random" ,ghc-random)
4929 ("ghc-hashtables" ,ghc-hashtables)))
4930 (native-inputs
4931 `(("ghc-alex" ,ghc-alex)
4932 ("ghc-happy" ,ghc-happy)))
4933 (home-page "http://projects.haskell.org/gtk2hs/")
4934 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4935 (description
4936 "This package provides a set of helper programs necessary to build the
4937Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4938that is used to generate FFI declarations, a tool to build a type hierarchy
4939that mirrors the C type hierarchy of GObjects found in glib, and a generator
4940for signal declarations that are used to call back from C to Haskell. These
4941tools are not needed to actually run Gtk2Hs programs.")
4942 (license license:gpl2)))
4943
4944(define-public ghc-hackage-security
4945 (package
4946 (name "ghc-hackage-security")
4947 (version "0.5.3.0")
4948 (source
4949 (origin
4950 (method url-fetch)
4951 (uri (string-append "https://hackage.haskell.org/package/"
4952 "hackage-security/hackage-security-"
4953 version ".tar.gz"))
4954 (sha256
4955 (base32
4956 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4957 (build-system haskell-build-system)
4958 (arguments
034380f3
TS
4959 `(#:cabal-revision
4960 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4961 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4962 (inputs
4963 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4964 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4965 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4966 ("ghc-ed25519" ,ghc-ed25519)
4967 ("ghc-network" ,ghc-network)
4968 ("ghc-network-uri" ,ghc-network-uri)
4969 ("ghc-tar" ,ghc-tar)
4970 ("ghc-zlib" ,ghc-zlib)))
4971 (native-inputs
4972 `(("ghc-network-uri" ,ghc-network-uri)
4973 ("ghc-quickcheck" ,ghc-quickcheck)
4974 ("ghc-tar" ,ghc-tar)
4975 ("ghc-tasty" ,ghc-tasty)
4976 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4977 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4978 ("ghc-temporary" ,ghc-temporary)
4979 ("ghc-zlib" ,ghc-zlib)))
4980 (home-page "https://github.com/haskell/hackage-security")
4981 (synopsis "Hackage security library")
4982 (description "This Hackage security library provides both server and
4983client utilities for securing @uref{http://hackage.haskell.org/, the
4984Hackage package server}. It is based on
4985@uref{http://theupdateframework.com/, The Update Framework}, a set of
4986recommendations developed by security researchers at various universities
4987in the US as well as developers on the @uref{https://www.torproject.org/,
4988Tor project}.")
4989 (license license:bsd-3)))
4990
4991(define-public ghc-haddock
4992 (package
4993 (name "ghc-haddock")
b0d34d23 4994 (version "2.22.0")
dddbc90c
RV
4995 (source
4996 (origin
4997 (method url-fetch)
4998 (uri (string-append
4999 "https://hackage.haskell.org/package/haddock/haddock-"
5000 version
5001 ".tar.gz"))
5002 (sha256
5003 (base32
b0d34d23 5004 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
dddbc90c
RV
5005 (build-system haskell-build-system)
5006 (arguments
5007 `(#:phases
5008 (modify-phases %standard-phases
b0d34d23
TS
5009 ;; The release tarball for 2.22.0 is missing the test data for
5010 ;; the Hoogle test, causing it to fail. This is fixed in the
5011 ;; next release, but for now we disable it.
5012 (add-before 'configure 'remove-hoogle-test
dddbc90c
RV
5013 (lambda _
5014 (use-modules (ice-9 rdelim))
5015 (with-atomic-file-replacement "haddock.cabal"
5016 (lambda (in out)
5017 (let loop ((line (read-line in 'concat)) (deleting? #f))
5018 (cond
5019 ((eof-object? line) #t)
5020 ((string-every char-set:whitespace line)
5021 (unless deleting? (display line out))
5022 (loop (read-line in 'concat) #f))
b0d34d23 5023 ((string=? line "test-suite hoogle-test\n")
dddbc90c
RV
5024 (loop (read-line in 'concat) #t))
5025 (else
5026 (unless deleting? (display line out))
b0d34d23
TS
5027 (loop (read-line in 'concat) deleting?))))))))
5028 (add-before 'check 'add-haddock-to-path
5029 (lambda _
5030 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
5031 ":" (getenv "PATH")))
5032 #t)))))
dddbc90c
RV
5033 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
5034 (native-inputs
b0d34d23
TS
5035 `(("ghc-haddock-test" ,ghc-haddock-test)
5036 ("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
5037 (home-page "https://www.haskell.org/haddock/")
5038 (synopsis
5039 "Documentation-generation tool for Haskell libraries")
5040 (description
5041 "Haddock is a documentation-generation tool for Haskell libraries.")
5042 (license license:bsd-3)))
5043
5044(define-public ghc-haddock-api
5045 (package
5046 (name "ghc-haddock-api")
1b84d8ef 5047 (version "2.22.0")
dddbc90c
RV
5048 (source
5049 (origin
5050 (method url-fetch)
5051 (uri (string-append
5052 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
5053 version
5054 ".tar.gz"))
1b84d8ef 5055 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
dddbc90c
RV
5056 (sha256
5057 (base32
1b84d8ef 5058 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
dddbc90c
RV
5059 (build-system haskell-build-system)
5060 (arguments
5061 `(#:phases
5062 (modify-phases %standard-phases
5063 (add-before 'configure 'update-constraints
5064 (lambda _
5065 (substitute* "haddock-api.cabal"
1b84d8ef
TS
5066 (("QuickCheck \\^>= 2\\.11")
5067 "QuickCheck ^>= 2.13")
5068 (("hspec >= 2\\.4\\.4 && < 2\\.6")
5069 "hspec >= 2.4.4 && < 2.8")))))))
dddbc90c
RV
5070 (inputs
5071 `(("ghc-paths" ,ghc-paths)
5072 ("ghc-haddock-library" ,ghc-haddock-library)))
5073 (native-inputs
5074 `(("ghc-quickcheck" ,ghc-quickcheck)
5075 ("ghc-hspec" ,ghc-hspec)
5076 ("hspec-discover" ,hspec-discover)))
5077 (home-page "https://www.haskell.org/haddock/")
5078 (synopsis "API for documentation-generation tool Haddock")
5079 (description "This package provides an API to Haddock, the
5080documentation-generation tool for Haskell libraries.")
5081 (license license:bsd-3)))
5082
5083(define-public ghc-haddock-library
5084 (package
5085 (name "ghc-haddock-library")
10707d57 5086 (version "1.7.0")
dddbc90c
RV
5087 (source
5088 (origin
5089 (method url-fetch)
5090 (uri (string-append
5091 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
5092 version
5093 ".tar.gz"))
5094 (sha256
5095 (base32
10707d57 5096 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
5097 (build-system haskell-build-system)
5098 (arguments
5099 `(#:phases
5100 (modify-phases %standard-phases
10707d57
TS
5101 ;; Since there is no revised Cabal file upstream, we have to
5102 ;; patch it manually.
dddbc90c
RV
5103 (add-before 'configure 'relax-test-suite-dependencies
5104 (lambda _
5105 (substitute* "haddock-library.cabal"
10707d57
TS
5106 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
5107 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
5108 #t)))))
5109 (native-inputs
5110 `(("ghc-base-compat" ,ghc-base-compat)
5111 ("ghc-hspec" ,ghc-hspec)
5112 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
5113 ("ghc-quickcheck" ,ghc-quickcheck)
5114 ("ghc-tree-diff" ,ghc-tree-diff)
5115 ("hspec-discover" ,hspec-discover)))
5116 (home-page "https://www.haskell.org/haddock/")
5117 (synopsis "Library exposing some functionality of Haddock")
5118 (description
5119 "Haddock is a documentation-generation tool for Haskell libraries. These
5120modules expose some functionality of it without pulling in the GHC dependency.
5121Please note that the API is likely to change so specify upper bounds in your
5122project if you can't release often. For interacting with Haddock itself, see
5123the ‘haddock’ package.")
5124 (license license:bsd-3)))
5125
b0d34d23
TS
5126;; This package is needed for testing 'ghc-haddock'. It is no longer
5127;; published to Hackage, but it is maintained in the Haddock Git
5128;; repository.
5129(define ghc-haddock-test
5130 (package
5131 (name "ghc-haddock-test")
5132 (version "2.22.0")
5133 (source
5134 (origin
5135 (method git-fetch)
5136 (uri (git-reference
b0e7b699 5137 (url "https://github.com/haskell/haddock")
b0d34d23
TS
5138 (commit (string-append "haddock-" version "-release"))))
5139 (file-name (git-file-name name version))
5140 (sha256
5141 (base32
5142 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
5143 (build-system haskell-build-system)
5144 (arguments
5145 `(#:phases
5146 (modify-phases %standard-phases
5147 (add-after 'unpack 'change-directory
5148 (lambda _
5149 (chdir "haddock-test"))))))
5150 (inputs
5151 `(("ghc-syb" ,ghc-syb)
5152 ("ghc-xml" ,ghc-xml)))
228d2901 5153 (home-page "https://www.haskell.org/haddock/")
b0d34d23
TS
5154 (synopsis "Test utilities for Haddock")
5155 (description "This package provides test utilities for Haddock.")
5156 (license license:bsd-3)
5157 (properties '((hidden? #t)))))
5158
dddbc90c
RV
5159(define-public ghc-half
5160 (package
5161 (name "ghc-half")
5162 (version "0.3")
5163 (source
5164 (origin
5165 (method url-fetch)
5166 (uri (string-append
5167 "https://hackage.haskell.org/package/half/half-"
5168 version ".tar.gz"))
5169 (sha256
5170 (base32
5171 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
5172 (build-system haskell-build-system)
5173 (native-inputs
5174 `(("ghc-hspec" ,ghc-hspec)
5175 ("ghc-quickcheck" ,ghc-quickcheck)))
5176 (home-page "https://github.com/ekmett/half")
5177 (synopsis "Half-precision floating-point computations")
5178 (description "This library provides a half-precision floating-point
5179computation library for Haskell.")
5180 (license license:bsd-3)))
5181
5182(define-public ghc-happy
5183 (package
5184 (name "ghc-happy")
90e7b0e4 5185 (version "1.19.12")
dddbc90c
RV
5186 (source
5187 (origin
5188 (method url-fetch)
5189 (uri (string-append
5190 "https://hackage.haskell.org/package/happy/happy-"
5191 version
5192 ".tar.gz"))
5193 (sha256
5194 (base32
90e7b0e4 5195 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
5196 (build-system haskell-build-system)
5197 (arguments
5198 `(#:phases
5199 (modify-phases %standard-phases
5200 (add-after 'unpack 'skip-test-issue93
5201 (lambda _
5202 ;; Tests run out of memory on a system with 2GB of available RAM,
5203 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
5204 (substitute* "tests/Makefile"
5205 ((" issue93.y ") " "))
5206 #t)))))
5207 (home-page "https://hackage.haskell.org/package/happy")
5208 (synopsis "Parser generator for Haskell")
5209 (description "Happy is a parser generator for Haskell. Given a grammar
5210specification in BNF, Happy generates Haskell code to parse the grammar.
5211Happy works in a similar way to the yacc tool for C.")
5212 (license license:bsd-3)))
5213
5214(define-public ghc-hashable
5215 (package
5216 (name "ghc-hashable")
5217 (version "1.2.7.0")
534d6caa 5218 (outputs '("out" "static" "doc"))
dddbc90c
RV
5219 (source
5220 (origin
5221 (method url-fetch)
5222 (uri (string-append
5223 "https://hackage.haskell.org/package/hashable/hashable-"
5224 version
5225 ".tar.gz"))
5226 (sha256
5227 (base32
5228 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
5229 (build-system haskell-build-system)
65a16a45
TS
5230 (arguments
5231 `(#:cabal-revision
5232 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
5233 (inputs
5234 `(("ghc-random" ,ghc-random)))
5235 (native-inputs
5236 `(("ghc-test-framework" ,ghc-test-framework)
5237 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5238 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5239 ("ghc-hunit" ,ghc-hunit)
5240 ("ghc-quickcheck" ,ghc-quickcheck)))
5241 (home-page "https://github.com/tibbe/hashable")
5242 (synopsis "Class for types that can be converted to a hash value")
5243 (description
5244 "This package defines a class, @code{Hashable}, for types that can be
5245converted to a hash value. This class exists for the benefit of hashing-based
5246data structures. The package provides instances for basic types and a way to
5247combine hash values.")
5248 (license license:bsd-3)))
5249
5250(define-public ghc-hashable-bootstrap
5251 (package
5252 (inherit ghc-hashable)
5253 (name "ghc-hashable-bootstrap")
65a16a45
TS
5254 (arguments
5255 `(#:tests? #f
5256 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
5257 (native-inputs '())
5258 (properties '((hidden? #t)))))
5259
5260(define-public ghc-hashable-time
5261 (package
5262 (name "ghc-hashable-time")
f5051e31 5263 (version "0.2.0.2")
dddbc90c
RV
5264 (source
5265 (origin
5266 (method url-fetch)
5267 (uri (string-append
5268 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5269 version
5270 ".tar.gz"))
5271 (sha256
5272 (base32
f5051e31 5273 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
5274 (build-system haskell-build-system)
5275 (arguments
5276 `(#:cabal-revision
f5051e31 5277 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c 5278 (inputs `(("ghc-hashable" ,ghc-hashable)))
3b02036e 5279 (home-page "https://hackage.haskell.org/package/hashable-time")
dddbc90c
RV
5280 (synopsis "Hashable instances for Data.Time")
5281 (description
5282 "This package provides @code{Hashable} instances for types in
5283@code{Data.Time}.")
5284 (license license:bsd-3)))
5285
5286(define-public ghc-hashtables
5287 (package
5288 (name "ghc-hashtables")
19edf0d0 5289 (version "1.2.3.4")
dddbc90c
RV
5290 (source
5291 (origin
5292 (method url-fetch)
5293 (uri (string-append
5294 "https://hackage.haskell.org/package/hashtables/hashtables-"
5295 version ".tar.gz"))
5296 (sha256
19edf0d0 5297 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
5298 (build-system haskell-build-system)
5299 (inputs
5300 `(("ghc-hashable" ,ghc-hashable)
5301 ("ghc-primitive" ,ghc-primitive)
5302 ("ghc-vector" ,ghc-vector)))
5303 (home-page "https://github.com/gregorycollins/hashtables")
5304 (synopsis "Haskell Mutable hash tables in the ST monad")
5305 (description "This package provides a Haskell library including a
5306couple of different implementations of mutable hash tables in the ST
5307monad, as well as a typeclass abstracting their common operations, and
5308a set of wrappers to use the hash tables in the IO monad.")
5309 (license license:bsd-3)))
5310
dd26713e
JS
5311(define-public ghc-haskeline-0.8
5312 (package
5313 (name "ghc-haskeline")
5314 (version "0.8.0.0")
5315 (source
5316 (origin
5317 (method url-fetch)
5318 (uri (string-append
5319 "https://hackage.haskell.org/package/haskeline/haskeline-"
5320 version
5321 ".tar.gz"))
5322 (sha256
5323 (base32
5324 "0gqsa5s0drim9m42hv4wrq61mnvcdylxysfxfw3acncwilfrn9pb"))))
5325 (build-system haskell-build-system)
5326 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
5327 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
5328 ;; FIXME: Tests failing
5329 (arguments `(#:tests? #f))
5330 (home-page "https://github.com/judah/haskeline")
5331 (synopsis
5332 "Command-line interface for user input, written in Haskell")
5333 (description
5334 "Haskeline provides a user interface for line input in command-line
5335programs. This library is similar in purpose to readline, but since it is
5336written in Haskell it is (hopefully) more easily used in other Haskell
5337programs.
5338
5339Haskeline runs both on POSIX-compatible systems and on Windows.")
5340 (license license:bsd-3)))
5341
dddbc90c
RV
5342(define-public ghc-haskell-lexer
5343 (package
5344 (name "ghc-haskell-lexer")
5345 (version "1.0.2")
5346 (source
5347 (origin
5348 (method url-fetch)
5349 (uri (string-append
5350 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5351 version ".tar.gz"))
5352 (sha256
5353 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5354 (build-system haskell-build-system)
3ef91e15 5355 (home-page "https://hackage.haskell.org/package/haskell-lexer")
dddbc90c
RV
5356 (synopsis "Fully compliant Haskell 98 lexer")
5357 (description
5358 "This package provides a fully compliant Haskell 98 lexer.")
5359 (license license:bsd-3)))
5360
5361(define-public ghc-haskell-src
5362 (package
5363 (name "ghc-haskell-src")
5364 (version "1.0.3.0")
5365 (source
5366 (origin
5367 (method url-fetch)
5368 (uri (string-append
5369 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5370 version
5371 ".tar.gz"))
5372 (sha256
5373 (base32
5374 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5375 (build-system haskell-build-system)
5376 (inputs
5377 `(("ghc-happy" ,ghc-happy)
5378 ("ghc-syb" ,ghc-syb)))
5379 (home-page
5380 "https://hackage.haskell.org/package/haskell-src")
5381 (synopsis
5382 "Support for manipulating Haskell source code")
5383 (description
5384 "The @code{haskell-src} package provides support for manipulating Haskell
5385source code. The package provides a lexer, parser and pretty-printer, and a
5386definition of a Haskell abstract syntax tree (AST). Common uses of this
5387package are to parse or generate Haskell 98 code.")
5388 (license license:bsd-3)))
5389
5390(define-public ghc-haskell-src-exts
5391 (package
5392 (name "ghc-haskell-src-exts")
37a05591 5393 (version "1.21.1")
dddbc90c
RV
5394 (source
5395 (origin
5396 (method url-fetch)
5397 (uri (string-append
5398 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5399 version
5400 ".tar.gz"))
5401 (sha256
5402 (base32
37a05591 5403 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
5404 (build-system haskell-build-system)
5405 (inputs
5406 `(("cpphs" ,cpphs)
5407 ("ghc-happy" ,ghc-happy)
5408 ("ghc-pretty-show" ,ghc-pretty-show)))
5409 (native-inputs
5410 `(("ghc-smallcheck" ,ghc-smallcheck)
5411 ("ghc-tasty" ,ghc-tasty)
5412 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5413 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5414 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5415 (synopsis "Library for manipulating Haskell source")
5416 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5417extension of the standard @code{haskell-src} package, and handles most
5418registered syntactic extensions to Haskell. All extensions implemented in GHC
5419are supported. Apart from these standard extensions, it also handles regular
5420patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5421 (license license:bsd-3)))
5422
5423(define-public ghc-haskell-src-exts-util
5424 (package
5425 (name "ghc-haskell-src-exts-util")
77355bdf 5426 (version "0.2.5")
dddbc90c
RV
5427 (source
5428 (origin
5429 (method url-fetch)
5430 (uri (string-append "https://hackage.haskell.org/package/"
5431 "haskell-src-exts-util/haskell-src-exts-util-"
5432 version ".tar.gz"))
5433 (sha256
5434 (base32
77355bdf 5435 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
5436 (build-system haskell-build-system)
5437 (inputs
5438 `(("ghc-data-default" ,ghc-data-default)
5439 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5440 ("ghc-semigroups" ,ghc-semigroups)
5441 ("ghc-uniplate" ,ghc-uniplate)))
5442 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5443 (synopsis "Helper functions for working with haskell-src-exts trees")
5444 (description
5445 "This package provides helper functions for working with
5446@code{haskell-src-exts} trees.")
5447 (license license:bsd-3)))
5448
5449(define-public ghc-haskell-src-meta
5450 (package
5451 (name "ghc-haskell-src-meta")
e94b3c72 5452 (version "0.8.3")
dddbc90c
RV
5453 (source (origin
5454 (method url-fetch)
5455 (uri (string-append "https://hackage.haskell.org/package/"
5456 "haskell-src-meta/haskell-src-meta-"
5457 version ".tar.gz"))
5458 (sha256
5459 (base32
e94b3c72 5460 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
5461 (build-system haskell-build-system)
5462 (inputs
5463 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5464 ("ghc-syb" ,ghc-syb)
5465 ("ghc-th-orphans" ,ghc-th-orphans)))
5466 (native-inputs
5467 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
5468 ("ghc-tasty" ,ghc-tasty)
5469 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5470 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5471 (synopsis "Parse source to template-haskell abstract syntax")
5472 (description
5473 "This package provides tools to parse Haskell sources to the
5474template-haskell abstract syntax.")
5475 (license license:bsd-3)))
5476
5477(define-public ghc-hasktags
5478 (package
5479 (name "ghc-hasktags")
5480 (version "0.71.2")
5481 (source
5482 (origin
5483 (method url-fetch)
5484 (uri (string-append
5485 "https://hackage.haskell.org/package/hasktags/hasktags-"
5486 version
5487 ".tar.gz"))
5488 (sha256
5489 (base32
5490 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5491 (build-system haskell-build-system)
5492 (inputs
5493 `(("ghc-system-filepath" ,ghc-system-filepath)
5494 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5495 (native-inputs
5496 `(("ghc-json" ,ghc-json)
5497 ("ghc-utf8-string" ,ghc-utf8-string)
5498 ("ghc-microlens-platform" ,ghc-microlens-platform)
5499 ("ghc-hunit" ,ghc-hunit)))
702a1012 5500 (home-page "https://github.com/MarcWeber/hasktags")
dddbc90c
RV
5501 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5502 (description
5503 "This package provides a means of generating tag files for Emacs and
5504Vim.")
5505 (license license:bsd-3)))
5506
5507(define-public ghc-hex
5508 (package
5509 (name "ghc-hex")
5510 (version "0.1.2")
5511 (source
5512 (origin
5513 (method url-fetch)
5514 (uri (string-append "https://hackage.haskell.org/package/"
5515 "hex-" version "/"
5516 "hex-" version ".tar.gz"))
5517 (sha256
5518 (base32
5519 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5520 (build-system haskell-build-system)
5521 (home-page "https://hackage.haskell.org/package/hex")
5522 (synopsis "Convert strings into hexadecimal and back")
5523 (description "This package provides conversion functions between
5524bytestrings and their hexademical representation.")
5525 (license license:bsd-3)))
5526
5527(define-public ghc-highlighting-kate
5528 (package
5529 (name "ghc-highlighting-kate")
5530 (version "0.6.4")
5531 (source (origin
5532 (method url-fetch)
5533 (uri (string-append "https://hackage.haskell.org/package/"
5534 "highlighting-kate/highlighting-kate-"
5535 version ".tar.gz"))
5536 (sha256
5537 (base32
5538 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5539 (build-system haskell-build-system)
5540 (inputs
5541 `(("ghc-diff" ,ghc-diff)
5542 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5543 (native-inputs
5544 `(("ghc-blaze-html" ,ghc-blaze-html)
5545 ("ghc-utf8-string" ,ghc-utf8-string)))
5546 (home-page "https://github.com/jgm/highlighting-kate")
5547 (synopsis "Syntax highlighting library")
5548 (description
5549 "Highlighting-kate is a syntax highlighting library with support for
5550nearly one hundred languages. The syntax parsers are automatically generated
5551from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5552supported by Kate can be added. An (optional) command-line program is
5553provided, along with a utility for generating new parsers from Kate XML syntax
5554descriptions.")
5555 (license license:gpl2+)))
5556
5557(define-public ghc-hindent
5558 (package
5559 (name "ghc-hindent")
f545f894 5560 (version "5.3.1")
dddbc90c
RV
5561 (source
5562 (origin
5563 (method url-fetch)
5564 (uri (string-append
5565 "https://hackage.haskell.org/package/hindent/hindent-"
5566 version
5567 ".tar.gz"))
5568 (sha256
5569 (base32
f545f894 5570 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5571 (build-system haskell-build-system)
5572 (arguments
5573 `(#:modules ((guix build haskell-build-system)
5574 (guix build utils)
5575 (guix build emacs-utils))
5576 #:imported-modules (,@%haskell-build-system-modules
5577 (guix build emacs-utils))
5578 #:phases
5579 (modify-phases %standard-phases
5580 (add-after 'install 'emacs-install
5581 (lambda* (#:key inputs outputs #:allow-other-keys)
5582 (let* ((out (assoc-ref outputs "out"))
5583 (elisp-file "elisp/hindent.el")
d53e87cf 5584 (dest (string-append out "/share/emacs/site-lisp"))
dddbc90c
RV
5585 (emacs (string-append (assoc-ref inputs "emacs")
5586 "/bin/emacs")))
5587 (make-file-writable elisp-file)
5588 (emacs-substitute-variables elisp-file
5589 ("hindent-process-path"
5590 (string-append out "/bin/hindent")))
5591 (install-file elisp-file dest)
5592 (emacs-generate-autoloads "hindent" dest)))))))
5593 (inputs
5594 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5595 ("ghc-monad-loops" ,ghc-monad-loops)
5596 ("ghc-utf8-string" ,ghc-utf8-string)
5597 ("ghc-exceptions" ,ghc-exceptions)
5598 ("ghc-yaml" ,ghc-yaml)
5599 ("ghc-unix-compat" ,ghc-unix-compat)
5600 ("ghc-path" ,ghc-path)
5601 ("ghc-path-io" ,ghc-path-io)
5602 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5603 (native-inputs
5604 `(("ghc-hspec" ,ghc-hspec)
5605 ("ghc-diff" ,ghc-diff)
5606 ("emacs" ,emacs-minimal)))
5607 (home-page
5608 "https://github.com/commercialhaskell/hindent")
5609 (synopsis "Extensible Haskell pretty printer")
5610 (description
5611 "This package provides automatic formatting for Haskell files. Both a
5612library and an executable.")
5613 (license license:bsd-3)))
5614
5615(define-public ghc-hinotify
5616 (package
5617 (name "ghc-hinotify")
c2342abb 5618 (version "0.4")
dddbc90c
RV
5619 (source (origin
5620 (method url-fetch)
5621 (uri (string-append
5622 "https://hackage.haskell.org/package/hinotify/"
5623 "hinotify-" version ".tar.gz"))
5624 (sha256
5625 (base32
c2342abb 5626 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5627 (build-system haskell-build-system)
5628 (inputs
5629 `(("ghc-async" ,ghc-async)))
5630 (home-page "https://github.com/kolmodin/hinotify.git")
5631 (synopsis "Haskell binding to inotify")
5632 (description "This library provides a wrapper to the Linux kernel's inotify
5633feature, allowing applications to subscribe to notifications when a file is
5634accessed or modified.")
5635 (license license:bsd-3)))
5636
5637(define-public ghc-hmatrix
5638 (package
5639 (name "ghc-hmatrix")
65e29ed1 5640 (version "0.20.0.0")
dddbc90c
RV
5641 (source
5642 (origin
5643 (method url-fetch)
5644 (uri (string-append
5645 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5646 version ".tar.gz"))
5647 (sha256
65e29ed1 5648 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c 5649 (build-system haskell-build-system)
54a5fd07
TS
5650 (arguments
5651 `(#:extra-directories ("lapack")))
dddbc90c
RV
5652 (inputs
5653 `(("ghc-random" ,ghc-random)
5654 ("ghc-split" ,ghc-split)
5655 ("ghc-storable-complex" ,ghc-storable-complex)
5656 ("ghc-semigroups" ,ghc-semigroups)
5657 ("ghc-vector" ,ghc-vector)
5658 ;;("openblas" ,openblas)
5659 ("lapack" ,lapack)))
5660 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5661 ;; disables inclusion of the LAPACK functions.
5662 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5663 (home-page "https://github.com/albertoruiz/hmatrix")
5664 (synopsis "Haskell numeric linear algebra library")
5665 (description "The HMatrix package provices a Haskell library for
5666dealing with linear systems, matrix decompositions, and other
5667numerical computations based on BLAS and LAPACK.")
5668 (license license:bsd-3)))
5669
5670(define-public ghc-hmatrix-gsl
5671 (package
5672 (name "ghc-hmatrix-gsl")
5673 (version "0.19.0.1")
5674 (source
5675 (origin
5676 (method url-fetch)
5677 (uri (string-append
5678 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5679 version ".tar.gz"))
5680 (sha256
5681 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5682 (build-system haskell-build-system)
54a5fd07
TS
5683 (arguments
5684 `(#:extra-directories ("gsl")))
dddbc90c
RV
5685 (inputs
5686 `(("ghc-hmatrix" ,ghc-hmatrix)
5687 ("ghc-vector" ,ghc-vector)
5688 ("ghc-random" ,ghc-random)
5689 ("gsl" ,gsl)))
5690 (native-inputs `(("pkg-config" ,pkg-config)))
5691 (home-page "https://github.com/albertoruiz/hmatrix")
5692 (synopsis "Haskell GSL binding")
5693 (description "This Haskell library provides a purely functional
5694interface to selected numerical computations, internally implemented
5695using GSL.")
5696 (license license:gpl3+)))
5697
5698(define-public ghc-hmatrix-gsl-stats
5699 (package
5700 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5701 (version "0.4.1.8")
dddbc90c
RV
5702 (source
5703 (origin
5704 (method url-fetch)
5705 (uri
5706 (string-append
5707 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5708 version ".tar.gz"))
5709 (sha256
e9b359f5 5710 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5711 (build-system haskell-build-system)
5712 (inputs
5713 `(("ghc-vector" ,ghc-vector)
5714 ("ghc-storable-complex" ,ghc-storable-complex)
5715 ("ghc-hmatrix" ,ghc-hmatrix)
5716 ("gsl" ,gsl)))
5717 (native-inputs `(("pkg-config" ,pkg-config)))
5718 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5719 (synopsis "GSL Statistics interface for Haskell")
5720 (description "This Haskell library provides a purely functional
5721interface for statistics based on hmatrix and GSL.")
5722 (license license:bsd-3)))
5723
5724(define-public ghc-hmatrix-special
5725 (package
5726 (name "ghc-hmatrix-special")
5727 (version "0.19.0.0")
5728 (source
5729 (origin
5730 (method url-fetch)
5731 (uri
5732 (string-append
5733 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5734 version ".tar.gz"))
5735 (sha256
5736 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5737 (build-system haskell-build-system)
5738 (inputs
5739 `(("ghc-hmatrix" ,ghc-hmatrix)
5740 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5741 (home-page "https://github.com/albertoruiz/hmatrix")
5742 (synopsis "Haskell interface to GSL special functions")
5743 (description "This library provides an interface to GSL special
5744functions for Haskell.")
5745 (license license:gpl3+)))
5746
5747(define-public ghc-hostname
5748 (package
5749 (name "ghc-hostname")
5750 (version "1.0")
5751 (source
5752 (origin
5753 (method url-fetch)
5754 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5755 "hostname-" version ".tar.gz"))
5756 (sha256
5757 (base32
5758 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5759 (build-system haskell-build-system)
5760 (home-page "https://hackage.haskell.org/package/hostname")
5761 (synopsis "Hostname in Haskell")
5762 (description "Network.HostName is a simple package providing a means to
5763determine the hostname.")
5764 (license license:bsd-3)))
5765
5766(define-public ghc-hourglass
5767 (package
5768 (name "ghc-hourglass")
5769 (version "0.2.12")
5770 (source (origin
5771 (method url-fetch)
5772 (uri (string-append "https://hackage.haskell.org/package/"
5773 "hourglass/hourglass-" version ".tar.gz"))
5774 (sha256
5775 (base32
5776 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5777 (build-system haskell-build-system)
5778 (inputs
5779 `(("ghc-old-locale" ,ghc-old-locale)))
5780 (native-inputs
5781 `(("ghc-tasty" ,ghc-tasty)
5782 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5783 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5784 (home-page "https://github.com/vincenthz/hs-hourglass")
5785 (synopsis "Simple time-related library for Haskell")
5786 (description
5787 "This is a simple time library providing a simple but powerful and
5788performant API. The backbone of the library are the @code{Timeable} and
5789@code{Time} type classes. Each @code{Timeable} instances can be converted to
5790a type that has a @code{Time} instances, and thus are different
5791representations of current time.")
5792 (license license:bsd-3)))
5793
5794(define-public ghc-hpack
5795 (package
5796 (name "ghc-hpack")
06344a3a 5797 (version "0.31.2")
dddbc90c
RV
5798 (source
5799 (origin
5800 (method url-fetch)
5801 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5802 "hpack-" version ".tar.gz"))
06344a3a 5803 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5804 (sha256
5805 (base32
06344a3a 5806 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5807 (build-system haskell-build-system)
5808 (inputs
5809 `(("ghc-aeson" ,ghc-aeson)
5810 ("ghc-bifunctors" ,ghc-bifunctors)
5811 ("ghc-cryptonite" ,ghc-cryptonite)
5812 ("ghc-glob" ,ghc-glob)
5813 ("ghc-http-client" ,ghc-http-client)
5814 ("ghc-http-client-tls" ,ghc-http-client-tls)
5815 ("ghc-http-types" ,ghc-http-types)
06344a3a 5816 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5817 ("ghc-scientific" ,ghc-scientific)
5818 ("ghc-unordered-containers" ,ghc-unordered-containers)
5819 ("ghc-vector" ,ghc-vector)
5820 ("ghc-yaml" ,ghc-yaml)))
5821 (native-inputs
5822 `(("ghc-hspec" ,ghc-hspec)
5823 ("ghc-hunit" ,ghc-hunit)
5824 ("ghc-interpolate" ,ghc-interpolate)
5825 ("ghc-mockery" ,ghc-mockery)
5826 ("ghc-quickcheck" ,ghc-quickcheck)
5827 ("ghc-temporary" ,ghc-temporary)
5828 ("hspec-discover" ,hspec-discover)))
5829 (home-page "https://github.com/sol/hpack")
5830 (synopsis "Tools for an alternative Haskell package format")
5831 (description
5832 "Hpack is a format for Haskell packages. It is an alternative to the
5833Cabal package format and follows different design principles. Hpack packages
5834are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5835@code{stack} support @code{package.yaml} natively. For other build tools the
5836@code{hpack} executable can be used to generate a @code{.cabal} file from
5837@code{package.yaml}.")
5838 (license license:expat)))
5839
5840(define-public ghc-hs-bibutils
5841 (package
5842 (name "ghc-hs-bibutils")
ebcb4f23 5843 (version "6.7.0.0")
dddbc90c
RV
5844 (source
5845 (origin
5846 (method url-fetch)
5847 (uri (string-append
5848 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5849 version ".tar.gz"))
5850 (sha256
5851 (base32
ebcb4f23 5852 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5853 (build-system haskell-build-system)
5854 (inputs `(("ghc-syb" ,ghc-syb)))
5855 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5856 (synopsis "Haskell bindings to bibutils")
5857 (description
5858 "This package provides Haskell bindings to @code{bibutils}, a library
5859that interconverts between various bibliography formats using a common
5860MODS-format XML intermediate.")
5861 (license license:gpl2+)))
5862
5863(define-public ghc-hslogger
5864 (package
5865 (name "ghc-hslogger")
e5ccc5f7 5866 (version "1.2.12")
dddbc90c
RV
5867 (source
5868 (origin
5869 (method url-fetch)
5870 (uri (string-append "https://hackage.haskell.org/package/"
5871 "hslogger-" version "/" "hslogger-"
5872 version ".tar.gz"))
5873 (sha256 (base32
e5ccc5f7 5874 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5875 (build-system haskell-build-system)
5876 (inputs
5877 `(("ghc-network" ,ghc-network)
5878 ("ghc-old-locale" ,ghc-old-locale)))
5879 (native-inputs
5880 `(("ghc-hunit" ,ghc-hunit)))
5881 (home-page "https://software.complete.org/hslogger")
5882 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5883 (description "Hslogger lets each log message have a priority and source be
5884associated with it. The programmer can then define global handlers that route
5885or filter messages based on the priority and source. It also has a syslog
5886handler built in.")
5887 (license license:bsd-3)))
5888
5889(define-public ghc-hslua
5890 (package
5891 (name "ghc-hslua")
cc784d7b 5892 (version "1.0.3.2")
dddbc90c
RV
5893 (source (origin
5894 (method url-fetch)
5895 (uri (string-append "https://hackage.haskell.org/package/"
5896 "hslua/hslua-" version ".tar.gz"))
5897 (sha256
5898 (base32
cc784d7b 5899 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5900 (build-system haskell-build-system)
5901 (arguments
54a5fd07
TS
5902 `(#:configure-flags '("-fsystem-lua")
5903 #:extra-directories ("lua")))
dddbc90c
RV
5904 (inputs
5905 `(("lua" ,lua)
5906 ("ghc-exceptions" ,ghc-exceptions)
5907 ("ghc-fail" ,ghc-fail)))
5908 (native-inputs
5909 `(("ghc-tasty" ,ghc-tasty)
5910 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5911 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5912 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5913 ("ghc-quickcheck" ,ghc-quickcheck)
5914 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5915 (home-page "https://hackage.haskell.org/package/hslua")
5916 (synopsis "Lua language interpreter embedding in Haskell")
5917 (description
5918 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5919described in @url{https://www.lua.org/}.")
5920 (license license:expat)))
5921
ff303e4e
TS
5922(define-public ghc-hslua-module-system
5923 (package
5924 (name "ghc-hslua-module-system")
5925 (version "0.2.1")
5926 (source
5927 (origin
5928 (method url-fetch)
5929 (uri (string-append "https://hackage.haskell.org/package/"
5930 "hslua-module-system/hslua-module-system-"
5931 version ".tar.gz"))
5932 (sha256
5933 (base32
5934 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5935 (build-system haskell-build-system)
5936 (inputs
5937 `(("ghc-exceptions" ,ghc-exceptions)
5938 ("ghc-hslua" ,ghc-hslua)
5939 ("ghc-temporary" ,ghc-temporary)))
5940 (native-inputs
5941 `(("ghc-tasty" ,ghc-tasty)
5942 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5943 (home-page "https://github.com/hslua/hslua-module-system")
5944 (synopsis "Lua module wrapper around Haskell's System module")
5945 (description "This library provides access to system information and
5946functionality to Lua scripts via Haskell's @code{System} module. Intended
5947usage for this package is to preload it by adding the loader function to
5948@code{package.preload}. Note that the Lua @code{package} library must have
5949already been loaded before the loader can be added.")
5950 (license license:expat)))
5951
dddbc90c
RV
5952(define-public ghc-hslua-module-text
5953 (package
5954 (name "ghc-hslua-module-text")
ecaf0b0c 5955 (version "0.2.1")
dddbc90c
RV
5956 (source
5957 (origin
5958 (method url-fetch)
5959 (uri (string-append "https://hackage.haskell.org/package/"
5960 "hslua-module-text/hslua-module-text-"
5961 version ".tar.gz"))
5962 (sha256
5963 (base32
ecaf0b0c 5964 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5965 (build-system haskell-build-system)
dddbc90c
RV
5966 (inputs
5967 `(("ghc-hslua" ,ghc-hslua)))
5968 (native-inputs
5969 `(("ghc-tasty" ,ghc-tasty)
5970 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5971 (home-page "https://github.com/hslua/hslua-module-text")
5972 (synopsis "Lua module for text")
5973 (description
5974 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5975for Haskell. The functions provided by this module are @code{upper},
5976@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5977 (license license:expat)))
5978
fac520bf
TS
5979(define-public ghc-hsyaml
5980 (package
5981 (name "ghc-hsyaml")
5982 (version "0.1.2.0")
5983 (source
5984 (origin
5985 (method url-fetch)
5986 (uri (string-append "https://hackage.haskell.org/package/"
5987 "HsYAML/HsYAML-" version ".tar.gz"))
5988 (sha256
5989 (base32
5990 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5991 (build-system haskell-build-system)
5992 (arguments
5993 `(#:cabal-revision
5994 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5995 (home-page "https://github.com/haskell-hvr/HsYAML")
5996 (synopsis "Pure Haskell YAML 1.2 parser")
5997 (description "This library provides a
5998@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5999for Haskell. Its features include:
6000
6001@itemize
6002@item Pure Haskell implementation with small dependency footprint and
6003emphasis on strict compliance with the YAML 1.2 specification.
6004
6005@item Direct decoding to native Haskell types via (aeson-inspired)
6006typeclass-based API (see @code{Data.YAML}).
6007
6008@item Support for constructing custom YAML node graph
6009representation (including support for cyclic YAML data structures).
6010
6011@item Support for the standard (untyped) @emph{Failsafe}, (strict)
6012@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
6013typing rules as defined in the YAML 1.2 specification (including support
6014for user-defined custom schemas).
6015
6016@item Event-based API resembling LibYAML's Event-based API (see
6017@code{Data.YAML.Event}).
6018
6019@item Low-level API access to lexical token-based scanner (see
6020@code{Data.YAML.Token}).
6021@end itemize")
6022 (license license:gpl2+)))
6023
dddbc90c
RV
6024(define-public ghc-http-api-data
6025 (package
6026 (name "ghc-http-api-data")
a57236eb 6027 (version "0.4.1")
dddbc90c
RV
6028 (source
6029 (origin
6030 (method url-fetch)
6031 (uri (string-append "https://hackage.haskell.org/package/"
6032 "http-api-data-" version "/"
6033 "http-api-data-" version ".tar.gz"))
6034 (sha256
6035 (base32
a57236eb 6036 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 6037 (build-system haskell-build-system)
dddbc90c
RV
6038 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
6039 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 6040 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
6041 ("ghc-hashable" ,ghc-hashable)
6042 ("ghc-http-types" ,ghc-http-types)
a57236eb 6043 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 6044 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 6045 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
6046 (native-inputs
6047 `(("cabal-doctest" ,cabal-doctest)
6048 ("ghc-nats" ,ghc-nats)
6049 ("ghc-hunit" ,ghc-hunit)
6050 ("ghc-hspec" ,ghc-hspec)
6051 ("ghc-quickcheck" ,ghc-quickcheck)
6052 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6053 ("ghc-doctest" ,ghc-doctest)
6054 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
6055 (home-page "https://github.com/fizruk/http-api-data")
6056 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
6057query parameters")
6058 (description "This Haskell package defines typeclasses used for converting
6059Haskell data types to and from HTTP API data.")
6060 (license license:bsd-3)))
6061
6062(define-public ghc-ieee754
6063 (package
6064 (name "ghc-ieee754")
6065 (version "0.8.0")
6066 (source (origin
6067 (method url-fetch)
6068 (uri (string-append
6069 "https://hackage.haskell.org/package/ieee754/"
6070 "ieee754-" version ".tar.gz"))
6071 (sha256
6072 (base32
6073 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
6074 (build-system haskell-build-system)
6075 (home-page "https://github.com/patperry/hs-ieee754")
6076 (synopsis "Utilities for dealing with IEEE floating point numbers")
6077 (description "Utilities for dealing with IEEE floating point numbers,
6078ported from the Tango math library; approximate and exact equality comparisons
6079for general types.")
6080 (license license:bsd-3)))
6081
6082(define-public ghc-ifelse
6083 (package
6084 (name "ghc-ifelse")
6085 (version "0.85")
6086 (source
6087 (origin
6088 (method url-fetch)
6089 (uri (string-append "https://hackage.haskell.org/package/"
6090 "IfElse/IfElse-" version ".tar.gz"))
6091 (sha256
6092 (base32
6093 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
6094 (build-system haskell-build-system)
3ef91e15 6095 (home-page "https://hackage.haskell.org/package/IfElse")
dddbc90c
RV
6096 (synopsis "Monadic control flow with anaphoric variants")
6097 (description "This library provides functions for control flow inside of
6098monads with anaphoric variants on @code{if} and @code{when} and a C-like
6099@code{switch} function.")
6100 (license license:bsd-3)))
6101
6102(define-public ghc-indents
6103 (package
6104 (name "ghc-indents")
d66473fb 6105 (version "0.5.0.1")
dddbc90c
RV
6106 (source (origin
6107 (method url-fetch)
6108 (uri (string-append
6109 "https://hackage.haskell.org/package/indents/indents-"
6110 version ".tar.gz"))
6111 (sha256
6112 (base32
d66473fb 6113 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
6114 (build-system haskell-build-system)
6115 ;; This package needs an older version of tasty.
6116 (arguments '(#:tests? #f))
6117 (inputs
6118 `(("ghc-concatenative" ,ghc-concatenative)))
6119 (native-inputs
6120 `(("ghc-tasty" ,ghc-tasty)
6121 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6122 (home-page "http://patch-tag.com/r/salazar/indents")
6123 (synopsis "Indentation sensitive parser-combinators for parsec")
6124 (description
6125 "This library provides functions for use in parsing indentation sensitive
6126contexts. It parses blocks of lines all indented to the same level as well as
6127lines continued at an indented level below.")
6128 (license license:bsd-3)))
6129
1f656b17
TS
6130(define-public ghc-infer-license
6131 (package
6132 (name "ghc-infer-license")
6133 (version "0.2.0")
6134 (source
6135 (origin
6136 (method url-fetch)
6137 (uri (string-append "https://hackage.haskell.org/package/"
6138 "infer-license/infer-license-" version ".tar.gz"))
6139 (sha256
6140 (base32
6141 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
6142 (build-system haskell-build-system)
6143 (inputs
6144 `(("ghc-text-metrics" ,ghc-text-metrics)))
6145 (native-inputs
6146 `(("ghc-hspec" ,ghc-hspec)
6147 ("hspec-discover" ,hspec-discover)))
3ef91e15 6148 (home-page "https://hackage.haskell.org/package/infer-license")
1f656b17
TS
6149 (synopsis "Infer software license from a given license file")
6150 (description "This library provides tools to infer a software
6151license from a given license file.")
6152 (license license:expat)))
6153
dddbc90c
RV
6154(define-public ghc-inline-c
6155 (package
6156 (name "ghc-inline-c")
55ec98f2 6157 (version "0.7.0.1")
dddbc90c
RV
6158 (source
6159 (origin
6160 (method url-fetch)
6161 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
6162 "inline-c-" version ".tar.gz"))
6163 (sha256
6164 (base32
55ec98f2 6165 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
6166 (build-system haskell-build-system)
6167 (inputs
6168 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
6169 ("ghc-cryptohash" ,ghc-cryptohash)
6170 ("ghc-hashable" ,ghc-hashable)
6171 ("ghc-parsers" ,ghc-parsers)
6172 ("ghc-unordered-containers" ,ghc-unordered-containers)
6173 ("ghc-vector" ,ghc-vector)))
6174 (native-inputs
6175 `(("ghc-quickcheck" ,ghc-quickcheck)
6176 ("ghc-hspec" ,ghc-hspec)
6177 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
6178 ("ghc-regex-posix" ,ghc-regex-posix)))
3ef91e15 6179 (home-page "https://hackage.haskell.org/package/inline-c")
dddbc90c
RV
6180 (synopsis "Write Haskell source files including C code inline")
6181 (description
6182 "inline-c lets you seamlessly call C libraries and embed high-performance
6183inline C code in Haskell modules. Haskell and C can be freely intermixed in
6184the same source file, and data passed to and from code in either language with
6185minimal overhead. No FFI required.")
6186 (license license:expat)))
6187
6188(define-public ghc-inline-c-cpp
6189 (package
6190 (name "ghc-inline-c-cpp")
cae58e56 6191 (version "0.3.0.3")
dddbc90c
RV
6192 (source
6193 (origin
6194 (method url-fetch)
6195 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
6196 "inline-c-cpp-" version ".tar.gz"))
6197 (sha256
6198 (base32
cae58e56 6199 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
6200 (build-system haskell-build-system)
6201 (inputs
6202 `(("ghc-inline-c" ,ghc-inline-c)
6203 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
6204 (native-inputs
6205 `(("ghc-hspec" ,ghc-hspec)))
6206 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
6207 (synopsis "Lets you embed C++ code into Haskell")
6208 (description
6209 "This package provides utilities to inline C++ code into Haskell using
6210@code{inline-c}.")
6211 (license license:expat)))
6212
6213(define-public ghc-integer-logarithms
6214 (package
6215 (name "ghc-integer-logarithms")
86a704db 6216 (version "1.0.3")
dddbc90c
RV
6217 (source
6218 (origin
6219 (method url-fetch)
6220 (uri (string-append "https://hackage.haskell.org/package/"
6221 "integer-logarithms/integer-logarithms-"
6222 version ".tar.gz"))
6223 (sha256
6224 (base32
86a704db 6225 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
6226 (build-system haskell-build-system)
6227 (arguments
6228 `(#:phases
6229 (modify-phases %standard-phases
6230 (add-before 'configure 'update-constraints
6231 (lambda _
6232 (substitute* "integer-logarithms.cabal"
6233 (("tasty >= 0\\.10 && < 1\\.1")
6234 "tasty >= 0.10 && < 1.2")))))))
6235 (native-inputs
6236 `(("ghc-quickcheck" ,ghc-quickcheck)
6237 ("ghc-smallcheck" ,ghc-smallcheck)
6238 ("ghc-tasty" ,ghc-tasty)
6239 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6240 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6241 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
6242 (home-page "https://github.com/Bodigrim/integer-logarithms")
6243 (synopsis "Integer logarithms")
6244 (description
6245 "This package provides the following modules:
6246@code{Math.NumberTheory.Logarithms} and
6247@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
6248@code{GHC.Integer.Logarithms.Compat} and
6249@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
6250in migrated modules.")
6251 (license license:expat)))
6252
6253(define-public ghc-integer-logarithms-bootstrap
6254 (package
6255 (inherit ghc-integer-logarithms)
6256 (name "ghc-integer-logarithms-bootstrap")
6257 (arguments `(#:tests? #f))
6258 (native-inputs '())
799d8d3c 6259 (properties '((hidden? #t)))))
dddbc90c
RV
6260
6261(define-public ghc-interpolate
6262 (package
6263 (name "ghc-interpolate")
6264 (version "0.2.0")
6265 (source
6266 (origin
6267 (method url-fetch)
6268 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
6269 "interpolate-" version ".tar.gz"))
6270 (sha256
6271 (base32
6272 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
6273 (build-system haskell-build-system)
6274 (inputs
6275 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
6276 (native-inputs
6277 `(("ghc-base-compat" ,ghc-base-compat)
6278 ("ghc-hspec" ,ghc-hspec)
6279 ("ghc-quickcheck" ,ghc-quickcheck)
6280 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6281 ("hspec-discover" ,hspec-discover)))
6282 (home-page "https://github.com/sol/interpolate")
6283 (synopsis "String interpolation library")
6284 (description "This package provides a string interpolation library for
6285Haskell.")
6286 (license license:expat)))
6287
6288(define-public ghc-intervalmap
6289 (package
6290 (name "ghc-intervalmap")
e4946e32 6291 (version "0.6.1.1")
dddbc90c
RV
6292 (source
6293 (origin
6294 (method url-fetch)
6295 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
6296 "IntervalMap-" version ".tar.gz"))
6297 (sha256
6298 (base32
e4946e32 6299 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
6300 (build-system haskell-build-system)
6301 (native-inputs
6302 `(("ghc-quickcheck" ,ghc-quickcheck)))
6303 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6304 (synopsis "Containers for intervals, with efficient search")
6305 (description
6306 "This package provides ordered containers of intervals, with efficient
6307search for all keys containing a point or overlapping an interval. See the
6308example code on the home page for a quick introduction.")
6309 (license license:bsd-3)))
6310
f7ca1fa8
TS
6311(define-public ghc-intervals
6312 (package
6313 (name "ghc-intervals")
6314 (version "0.8.1")
6315 (source
6316 (origin
6317 (method url-fetch)
6318 (uri (string-append "https://hackage.haskell.org/package/"
6319 "intervals/intervals-" version ".tar.gz"))
6320 (sha256
6321 (base32
6322 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6323 (build-system haskell-build-system)
6324 (inputs
6325 `(("ghc-distributive" ,ghc-distributive)))
6326 (native-inputs
6327 `(("cabal-doctest" ,cabal-doctest)
6328 ("ghc-doctest" ,ghc-doctest)
6329 ("ghc-quickcheck" ,ghc-quickcheck)))
6330 (arguments
6331 `(#:cabal-revision
6332 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6333 (home-page "https://github.com/ekmett/intervals")
6334 (synopsis "Interval arithmetic")
6335 (description "This library provides
6336@code{Numeric.Interval.Interval}, which represets a closed, convex set
6337of floating point values.")
6338 (license license:bsd-3)))
6339
dddbc90c
RV
6340(define-public ghc-invariant
6341 (package
6342 (name "ghc-invariant")
d3a0e0b4 6343 (version "0.5.3")
dddbc90c
RV
6344 (source
6345 (origin
6346 (method url-fetch)
6347 (uri (string-append
6348 "https://hackage.haskell.org/package/invariant/invariant-"
6349 version ".tar.gz"))
6350 (sha256
6351 (base32
d3a0e0b4 6352 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
6353 (build-system haskell-build-system)
6354 (inputs
6355 `(("ghc-bifunctors" ,ghc-bifunctors)
6356 ("ghc-comonad" ,ghc-comonad)
6357 ("ghc-contravariant" ,ghc-contravariant)
6358 ("ghc-profunctors" ,ghc-profunctors)
6359 ("ghc-semigroups" ,ghc-semigroups)
6360 ("ghc-statevar" ,ghc-statevar)
6361 ("ghc-tagged" ,ghc-tagged)
6362 ("ghc-th-abstraction" ,ghc-th-abstraction)
6363 ("ghc-transformers-compat" ,ghc-transformers-compat)
6364 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6365 (native-inputs
6366 `(("ghc-hspec" ,ghc-hspec)
6367 ("ghc-quickcheck" ,ghc-quickcheck)
6368 ("hspec-discover" ,hspec-discover)))
6369 (home-page "https://github.com/nfrisby/invariant-functors")
6370 (synopsis "Haskell98 invariant functors")
6371 (description "Haskell98 invariant functors (also known as exponential
6372functors). For more information, see Edward Kmett's article
6373@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6374 (license license:bsd-2)))
6375
6376(define-public ghc-io-streams
6377 (package
6378 (name "ghc-io-streams")
59e98d75 6379 (version "1.5.1.0")
dddbc90c
RV
6380 (source
6381 (origin
6382 (method url-fetch)
6383 (uri (string-append "https://hackage.haskell.org/package/"
6384 "io-streams/io-streams-" version ".tar.gz"))
6385 (sha256
6386 (base32
59e98d75 6387 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
6388 (build-system haskell-build-system)
6389 (inputs
6390 `(("ghc-attoparsec" ,ghc-attoparsec)
6391 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6392 ("ghc-network" ,ghc-network)
6393 ("ghc-primitive" ,ghc-primitive)
6394 ("ghc-vector" ,ghc-vector)
6395 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6396 (native-inputs
6397 `(("ghc-hunit" ,ghc-hunit)
6398 ("ghc-quickcheck" ,ghc-quickcheck)
6399 ("ghc-test-framework" ,ghc-test-framework)
6400 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6401 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6402 ("ghc-zlib" ,ghc-zlib)))
3ef91e15 6403 (home-page "https://hackage.haskell.org/package/io-streams")
dddbc90c
RV
6404 (synopsis "Simple and composable stream I/O")
6405 (description "This library contains simple and easy-to-use
6406primitives for I/O using streams.")
6407 (license license:bsd-3)))
6408
6409(define-public ghc-io-streams-haproxy
6410 (package
6411 (name "ghc-io-streams-haproxy")
1a4fbc36 6412 (version "1.0.1.0")
dddbc90c
RV
6413 (source
6414 (origin
6415 (method url-fetch)
6416 (uri (string-append "https://hackage.haskell.org/package/"
6417 "io-streams-haproxy/io-streams-haproxy-"
6418 version ".tar.gz"))
6419 (sha256
6420 (base32
1a4fbc36 6421 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
6422 (build-system haskell-build-system)
6423 (inputs
6424 `(("ghc-attoparsec" ,ghc-attoparsec)
6425 ("ghc-io-streams" ,ghc-io-streams)
6426 ("ghc-network" ,ghc-network)))
6427 (native-inputs
6428 `(("ghc-hunit" ,ghc-hunit)
6429 ("ghc-test-framework" ,ghc-test-framework)
6430 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
6431 (home-page "http://snapframework.com/")
6432 (synopsis "HAProxy protocol 1.5 support for io-streams")
6433 (description "HAProxy protocol version 1.5 support
6434(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6435for applications using io-streams. The proxy protocol allows information
6436about a networked peer (like remote address and port) to be propagated
6437through a forwarding proxy that is configured to speak this protocol.")
6438 (license license:bsd-3)))
6439
6440(define-public ghc-iproute
6441 (package
6442 (name "ghc-iproute")
ec25d536 6443 (version "1.7.7")
dddbc90c
RV
6444 (source
6445 (origin
6446 (method url-fetch)
6447 (uri (string-append
6448 "https://hackage.haskell.org/package/iproute/iproute-"
6449 version
6450 ".tar.gz"))
6451 (sha256
6452 (base32
ec25d536 6453 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
6454 (build-system haskell-build-system)
6455 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6456 ; exported by ghc-byteorder. Doctest issue.
6457 (inputs
6458 `(("ghc-appar" ,ghc-appar)
6459 ("ghc-byteorder" ,ghc-byteorder)
6460 ("ghc-network" ,ghc-network)
6461 ("ghc-safe" ,ghc-safe)))
6462 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6463 (synopsis "IP routing table")
6464 (description "IP Routing Table is a tree of IP ranges to search one of
6465them on the longest match base. It is a kind of TRIE with one way branching
6466removed. Both IPv4 and IPv6 are supported.")
6467 (license license:bsd-3)))
6468
4828e54e
TS
6469(define-public ghc-ipynb
6470 (package
6471 (name "ghc-ipynb")
6472 (version "0.1")
6473 (source
6474 (origin
6475 (method url-fetch)
6476 (uri (string-append "https://hackage.haskell.org/package/"
6477 "ipynb/ipynb-" version ".tar.gz"))
6478 (sha256
6479 (base32
6480 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6481 (build-system haskell-build-system)
6482 (inputs
6483 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6484 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6485 ("ghc-aeson" ,ghc-aeson)
6486 ("ghc-semigroups" ,ghc-semigroups)))
6487 (native-inputs
6488 `(("ghc-tasty" ,ghc-tasty)
6489 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6490 ("ghc-aeson-diff" ,ghc-aeson-diff)
6491 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6492 ("ghc-microlens" ,ghc-microlens)
6493 ("ghc-vector" ,ghc-vector)))
6494 (home-page "https://hackage.haskell.org/package/ipynb")
6495 (synopsis "Data structure for working with Jupyter notebooks")
6496 (description "This library defines a data structure for representing
6497Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6498instances for conversion to and from JSON .ipynb files.")
6499 (license license:bsd-3)))
6500
dddbc90c
RV
6501(define-public ghc-iwlib
6502 (package
6503 (name "ghc-iwlib")
6504 (version "0.1.0")
6505 (source
6506 (origin
6507 (method url-fetch)
6508 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6509 version ".tar.gz"))
6510 (sha256
6511 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6512 (build-system haskell-build-system)
54a5fd07
TS
6513 (arguments
6514 `(#:extra-directories ("wireless-tools")))
dddbc90c
RV
6515 (inputs
6516 `(("wireless-tools" ,wireless-tools)))
6517 (home-page "https://github.com/jaor/iwlib")
6518 (synopsis "Haskell binding to the iw wireless networking library")
6519 (description
6520 "IWlib is a thin Haskell binding to the iw C library. It provides
6521information about the current wireless network connections, and adapters on
6522supported systems.")
6523 (license license:bsd-3)))
6524
6525(define-public ghc-json
6526 (package
6527 (name "ghc-json")
0ad3d574 6528 (version "0.9.3")
dddbc90c
RV
6529 (source
6530 (origin
6531 (method url-fetch)
6532 (uri (string-append "https://hackage.haskell.org/package/json/"
6533 "json-" version ".tar.gz"))
6534 (sha256
6535 (base32
0ad3d574 6536 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6537 (build-system haskell-build-system)
6538 (inputs
6539 `(("ghc-syb" ,ghc-syb)))
6540 (home-page "https://hackage.haskell.org/package/json")
6541 (synopsis "Serializes Haskell data to and from JSON")
6542 (description "This package provides a parser and pretty printer for
6543converting between Haskell values and JSON.
6544JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6545 (license license:bsd-3)))
6546
6547(define-public ghc-juicypixels
6548 (package
6549 (name "ghc-juicypixels")
b50b6004 6550 (version "3.3.4")
dddbc90c
RV
6551 (source (origin
6552 (method url-fetch)
6553 (uri (string-append "https://hackage.haskell.org/package/"
6554 "JuicyPixels/JuicyPixels-"
6555 version ".tar.gz"))
6556 (sha256
6557 (base32
b50b6004 6558 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
6559 (build-system haskell-build-system)
6560 (inputs
6561 `(("ghc-zlib" ,ghc-zlib)
6562 ("ghc-vector" ,ghc-vector)
6563 ("ghc-primitive" ,ghc-primitive)
6564 ("ghc-mmap" ,ghc-mmap)))
6565 (home-page "https://github.com/Twinside/Juicy.Pixels")
6566 (synopsis "Picture loading and serialization library")
6567 (description
6568 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6569TIFF and GIF formats.")
6570 (license license:bsd-3)))
6571
6572(define-public ghc-kan-extensions
6573 (package
6574 (name "ghc-kan-extensions")
6575 (version "5.2")
6576 (source
6577 (origin
6578 (method url-fetch)
6579 (uri (string-append
6580 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6581 version
6582 ".tar.gz"))
6583 (sha256
6584 (base32
6585 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6586 (build-system haskell-build-system)
6587 (inputs
6588 `(("ghc-adjunctions" ,ghc-adjunctions)
6589 ("ghc-comonad" ,ghc-comonad)
6590 ("ghc-contravariant" ,ghc-contravariant)
6591 ("ghc-distributive" ,ghc-distributive)
6592 ("ghc-free" ,ghc-free)
6593 ("ghc-invariant" ,ghc-invariant)
6594 ("ghc-semigroupoids" ,ghc-semigroupoids)
6595 ("ghc-tagged" ,ghc-tagged)
6596 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6597 (home-page "https://github.com/ekmett/kan-extensions/")
6598 (synopsis "Kan extensions library")
6599 (description "This library provides Kan extensions, Kan lifts, various
6600forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6601 (license license:bsd-3)))
6602
6603(define-public ghc-language-c
6604 (package
6605 (name "ghc-language-c")
4e1cf651 6606 (version "0.8.3")
dddbc90c
RV
6607 (source
6608 (origin
6609 (method url-fetch)
6610 (uri (string-append "https://hackage.haskell.org/package/"
6611 "language-c/language-c-" version ".tar.gz"))
6612 (sha256
6613 (base32
4e1cf651 6614 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6615 (build-system haskell-build-system)
6616 (inputs `(("ghc-syb" ,ghc-syb)))
6617 (native-inputs
6618 `(("ghc-happy" ,ghc-happy)
6619 ("ghc-alex" ,ghc-alex)))
6620 (home-page "https://visq.github.io/language-c/")
6621 (synopsis "Analysis and generation of C code")
6622 (description
6623 "Language C is a Haskell library for the analysis and generation of C code.
6624It features a complete, well-tested parser and pretty printer for all of C99
6625and a large set of GNU extensions.")
6626 (license license:bsd-3)))
6627
6628(define-public ghc-language-glsl
6629 (package
6630 (name "ghc-language-glsl")
6631 (version "0.3.0")
6632 (source
6633 (origin
6634 (method url-fetch)
6635 (uri (string-append "https://hackage.haskell.org/package/"
6636 "language-glsl/language-glsl-" version ".tar.gz"))
6637 (sha256
6638 (base32
6639 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6640 (build-system haskell-build-system)
6641 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6642 (arguments
6643 `(#:tests? #f
6644 #:cabal-revision
6645 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
3ef91e15 6646 (home-page "https://hackage.haskell.org/package/language-glsl")
dddbc90c
RV
6647 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6648 (description "This package is a Haskell library for the
6649representation, parsing, and pretty-printing of GLSL 1.50 code.")
6650 (license license:bsd-3)))
6651
6652(define-public ghc-language-haskell-extract
6653 (package
6654 (name "ghc-language-haskell-extract")
6655 (version "0.2.4")
6656 (source
6657 (origin
6658 (method url-fetch)
6659 (uri (string-append "https://hackage.haskell.org/package/"
6660 "language-haskell-extract-" version "/"
6661 "language-haskell-extract-" version ".tar.gz"))
6662 (sha256
6663 (base32
6664 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6665 (build-system haskell-build-system)
6666 (inputs
6667 `(("ghc-regex-posix" ,ghc-regex-posix)))
6668 (home-page "https://github.com/finnsson/template-helper")
6669 (synopsis "Haskell module to automatically extract functions from
6670the local code")
6671 (description "This package contains helper functions on top of
6672Template Haskell.
6673
6674For example, @code{functionExtractor} extracts all functions after a
6675regexp-pattern, which can be useful if you wish to extract all functions
6676beginning with @code{test} (for a test framework) or all functions beginning
6677with @code{wc} (for a web service).")
6678 (license license:bsd-3)))
6679
6680(define-public ghc-lens
6681 (package
6682 (name "ghc-lens")
262e6323 6683 (version "4.17.1")
dddbc90c
RV
6684 (source
6685 (origin
6686 (method url-fetch)
6687 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6688 version ".tar.gz"))
6689 (sha256
6690 (base32
262e6323 6691 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6692 (build-system haskell-build-system)
dddbc90c
RV
6693 (inputs
6694 `(("ghc-base-orphans" ,ghc-base-orphans)
6695 ("ghc-bifunctors" ,ghc-bifunctors)
6696 ("ghc-distributive" ,ghc-distributive)
6697 ("ghc-exceptions" ,ghc-exceptions)
6698 ("ghc-free" ,ghc-free)
6699 ("ghc-kan-extensions" ,ghc-kan-extensions)
6700 ("ghc-parallel" ,ghc-parallel)
6701 ("ghc-reflection" ,ghc-reflection)
6702 ("ghc-semigroupoids" ,ghc-semigroupoids)
6703 ("ghc-vector" ,ghc-vector)
6704 ("ghc-call-stack" ,ghc-call-stack)
6705 ("ghc-comonad" ,ghc-comonad)
6706 ("ghc-contravariant" ,ghc-contravariant)
6707 ("ghc-hashable" ,ghc-hashable)
6708 ("ghc-profunctors" ,ghc-profunctors)
6709 ("ghc-semigroups" ,ghc-semigroups)
6710 ("ghc-tagged" ,ghc-tagged)
6711 ("ghc-transformers-compat" ,ghc-transformers-compat)
6712 ("ghc-unordered-containers" ,ghc-unordered-containers)
6713 ("ghc-void" ,ghc-void)
6714 ("ghc-generic-deriving" ,ghc-generic-deriving)
6715 ("ghc-nats" ,ghc-nats)
6716 ("ghc-simple-reflect" ,ghc-simple-reflect)
6717 ("hlint" ,hlint)))
6718 (native-inputs
6719 `(("cabal-doctest" ,cabal-doctest)
6720 ("ghc-doctest" ,ghc-doctest)
6721 ("ghc-hunit" ,ghc-hunit)
6722 ("ghc-test-framework" ,ghc-test-framework)
6723 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6724 ("ghc-test-framework-th" ,ghc-test-framework-th)
6725 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6726 ("ghc-quickcheck" ,ghc-quickcheck)))
6727 (home-page "https://github.com/ekmett/lens/")
6728 (synopsis "Lenses, Folds and Traversals")
6729 (description "This library provides @code{Control.Lens}. The combinators
6730in @code{Control.Lens} provide a highly generic toolbox for composing families
6731of getters, folds, isomorphisms, traversals, setters and lenses and their
6732indexed variants.")
6733 (license license:bsd-3)))
6734
bcd35444
JS
6735(define-public ghc-lens-family-core
6736 (package
6737 (name "ghc-lens-family-core")
6738 (version "1.2.3")
6739 (source
6740 (origin
6741 (method url-fetch)
6742 (uri (string-append
6743 "mirror://hackage/package/lens-family-core/lens-family-core-"
6744 version
6745 ".tar.gz"))
6746 (sha256
6747 (base32
6748 "009rf10pj1cb50v44cc1pq7qvfrmkkk9dikahs9qmvbvgl3mykwi"))))
6749 (build-system haskell-build-system)
6750 (home-page
6751 "http://hackage.haskell.org/package/lens-family-core")
6752 (synopsis "Haskell 98 Lens Families")
6753 (description
6754 "This package provides first class functional references. In addition to
6755the usual operations of getting, setting and composition, plus integration
6756with the state monad, lens families provide some unique features:
6757
6758@itemize
6759@item Polymorphic updating
6760@item Traversals
6761@item Cast projection functions to read-only lenses
6762@item Cast @code{toList} functions to read-only traversals
6763@item Cast semantic editor combinators to modify-only traversals
6764@end itemize
6765
6766For optimal first-class support use the lens-family package with rank 2/rank N
6767polymorphism. @code{Lens.Family.Clone} allows for first-class support of
6768lenses and traversals for those who require Haskell 98.")
6769 (license license:bsd-3)))
6770
dddbc90c
RV
6771(define-public ghc-libffi
6772 (package
6773 (name "ghc-libffi")
6774 (version "0.1")
6775 (source
6776 (origin
6777 (method url-fetch)
6778 (uri (string-append "https://hackage.haskell.org/package/"
6779 "libffi/libffi-" version ".tar.gz"))
6780 (sha256
6781 (base32
6782 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6783 (build-system haskell-build-system)
6784 (native-inputs `(("pkg-config" ,pkg-config)))
6785 (inputs `(("libffi" ,libffi)))
3ef91e15 6786 (home-page "https://hackage.haskell.org/package/libffi")
dddbc90c
RV
6787 (synopsis "Haskell binding to libffi")
6788 (description
6789 "A binding to libffi, allowing C functions of types only known at runtime
6790to be called from Haskell.")
6791 (license license:bsd-3)))
6792
6793(define-public ghc-libmpd
6794 (package
6795 (name "ghc-libmpd")
bbf9845f 6796 (version "0.9.0.10")
dddbc90c
RV
6797 (source
6798 (origin
6799 (method url-fetch)
6800 (uri (string-append
6801 "mirror://hackage/package/libmpd/libmpd-"
6802 version
6803 ".tar.gz"))
6804 (sha256
6805 (base32
bbf9845f 6806 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6807 (build-system haskell-build-system)
6808 ;; Tests fail on i686.
6809 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6810 (arguments `(#:tests? #f))
6811 (inputs
6812 `(("ghc-attoparsec" ,ghc-attoparsec)
6813 ("ghc-old-locale" ,ghc-old-locale)
6814 ("ghc-data-default-class" ,ghc-data-default-class)
6815 ("ghc-network" ,ghc-network)
bbf9845f 6816 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6817 ("ghc-utf8-string" ,ghc-utf8-string)))
6818 (native-inputs
6819 `(("ghc-quickcheck" ,ghc-quickcheck)
6820 ("ghc-hspec" ,ghc-hspec)
6821 ("hspec-discover" ,hspec-discover)))
6822 (home-page "https://github.com/vimus/libmpd-haskell")
6823 (synopsis "Haskell client library for the Music Player Daemon")
6824 (description "This package provides a pure Haskell client library for the
6825Music Player Daemon.")
6826 (license license:expat)))
6827
e34df1c3
TS
6828(define-public ghc-lib-parser
6829 (package
6830 (name "ghc-lib-parser")
6831 (version "8.8.0.20190424")
6832 (source
6833 (origin
6834 (method url-fetch)
6835 (uri (string-append "https://hackage.haskell.org/package/"
6836 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6837 (sha256
6838 (base32
6839 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6840 (build-system haskell-build-system)
6841 (native-inputs
6842 `(("ghc-alex" ,ghc-alex)
6843 ("ghc-happy" ,ghc-happy)))
6844 (home-page "https://github.com/digital-asset/ghc-lib")
6845 (synopsis "The GHC API, decoupled from GHC versions")
6846 (description "This library implements the GHC API. It is like the
6847compiler-provided @code{ghc} package, but it can be loaded on many
6848compiler versions.")
6849 (license license:bsd-3)))
6850
dddbc90c
RV
6851(define-public ghc-libxml
6852 (package
6853 (name "ghc-libxml")
6854 (version "0.1.1")
6855 (source
6856 (origin
6857 (method url-fetch)
6858 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6859 "libxml-" version ".tar.gz"))
6860 (sha256
6861 (base32
6862 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6863 (build-system haskell-build-system)
6864 (inputs
6865 `(("libxml2" ,libxml2)))
6866 (arguments
6867 `(#:configure-flags
6868 `(,(string-append "--extra-include-dirs="
6869 (assoc-ref %build-inputs "libxml2")
6870 "/include/libxml2"))))
6871 (home-page "https://hackage.haskell.org/package/libxml")
6872 (synopsis "Haskell bindings to libxml2")
6873 (description
6874 "This library provides minimal Haskell binding to libxml2.")
6875 (license license:bsd-3)))
6876
0c2d6fc2
TS
6877(define-public ghc-libyaml
6878 (package
6879 (name "ghc-libyaml")
6880 (version "0.1.1.0")
6881 (source
6882 (origin
6883 (method url-fetch)
6884 (uri (string-append "https://hackage.haskell.org/package/"
6885 "libyaml/libyaml-" version ".tar.gz"))
6886 (sha256
6887 (base32
6888 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6889 (modules '((guix build utils)))
6890 (snippet
6891 ;; Delete bundled LibYAML.
6892 '(begin
6893 (delete-file-recursively "libyaml_src")
6894 #t))))
6895 (build-system haskell-build-system)
6896 (arguments
54a5fd07
TS
6897 `(#:configure-flags `("--flags=system-libyaml")
6898 #:extra-directories ("libyaml")))
0c2d6fc2
TS
6899 (inputs
6900 `(("ghc-conduit" ,ghc-conduit)
6901 ("ghc-resourcet" ,ghc-resourcet)
1b35d303 6902 ("libyaml" ,libyaml)))
0c2d6fc2
TS
6903 (home-page "https://github.com/snoyberg/yaml#readme")
6904 (synopsis "Low-level, streaming YAML interface.")
6905 (description "This package provides a Haskell wrapper over the
6906LibYAML C library.")
6907 (license license:bsd-3)))
6908
dddbc90c
RV
6909(define-public ghc-lifted-async
6910 (package
6911 (name "ghc-lifted-async")
b5b6d7ea 6912 (version "0.10.0.4")
dddbc90c
RV
6913 (source
6914 (origin
6915 (method url-fetch)
6916 (uri (string-append
6917 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6918 version ".tar.gz"))
6919 (sha256
6920 (base32
b5b6d7ea 6921 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6922 (build-system haskell-build-system)
6923 (inputs
6924 `(("ghc-async" ,ghc-async)
6925 ("ghc-lifted-base" ,ghc-lifted-base)
6926 ("ghc-transformers-base" ,ghc-transformers-base)
6927 ("ghc-monad-control" ,ghc-monad-control)
6928 ("ghc-constraints" ,ghc-constraints)
6929 ("ghc-hunit" ,ghc-hunit)
6930 ("ghc-tasty" ,ghc-tasty)
6931 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6932 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6933 ("ghc-tasty-th" ,ghc-tasty-th)))
6934 (home-page "https://github.com/maoe/lifted-async")
6935 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6936 (description
6937 "This package provides IO operations from @code{async} package lifted to any
6938instance of @code{MonadBase} or @code{MonadBaseControl}.")
6939 (license license:bsd-3)))
6940
6941(define-public ghc-lifted-base
6942 (package
6943 (name "ghc-lifted-base")
6944 (version "0.2.3.12")
6945 (source
6946 (origin
6947 (method url-fetch)
6948 (uri (string-append
6949 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6950 version
6951 ".tar.gz"))
6952 (sha256
6953 (base32
6954 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6955 (build-system haskell-build-system)
6956 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6957 (inputs
6958 `(("ghc-transformers-base" ,ghc-transformers-base)
6959 ("ghc-monad-control" ,ghc-monad-control)
6960 ("ghc-transformers-compat" ,ghc-transformers-compat)
6961 ("ghc-hunit" ,ghc-hunit)))
6962 (home-page "https://github.com/basvandijk/lifted-base")
6963 (synopsis "Lifted IO operations from the base library")
6964 (description "Lifted-base exports IO operations from the @code{base}
6965library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6966Note that not all modules from @code{base} are converted yet. The package
6967includes a copy of the @code{monad-peel} test suite written by Anders
6968Kaseorg.")
6969 (license license:bsd-3)))
6970
6971(define-public ghc-linear
6972 (package
6973 (name "ghc-linear")
86526f37 6974 (version "1.20.9")
dddbc90c
RV
6975 (source
6976 (origin
6977 (method url-fetch)
6978 (uri (string-append "https://hackage.haskell.org/package/linear/"
6979 "linear-" version ".tar.gz"))
6980 (sha256
6981 (base32
86526f37 6982 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6983 (build-system haskell-build-system)
6984 (inputs
6985 `(("ghc-adjunctions" ,ghc-adjunctions)
6986 ("ghc-base-orphans" ,ghc-base-orphans)
6987 ("ghc-bytes" ,ghc-bytes)
6988 ("ghc-cereal" ,ghc-cereal)
6989 ("ghc-distributive" ,ghc-distributive)
6990 ("ghc-hashable" ,ghc-hashable)
6991 ("ghc-lens" ,ghc-lens)
6992 ("ghc-reflection" ,ghc-reflection)
6993 ("ghc-semigroups" ,ghc-semigroups)
6994 ("ghc-semigroupoids" ,ghc-semigroupoids)
6995 ("ghc-tagged" ,ghc-tagged)
6996 ("ghc-transformers-compat" ,ghc-transformers-compat)
6997 ("ghc-unordered-containers" ,ghc-unordered-containers)
6998 ("ghc-vector" ,ghc-vector)
6999 ("ghc-void" ,ghc-void)))
7000 (native-inputs
7001 `(("cabal-doctest" ,cabal-doctest)
7002 ("ghc-doctest" ,ghc-doctest)
7003 ("ghc-simple-reflect" ,ghc-simple-reflect)
7004 ("ghc-test-framework" ,ghc-test-framework)
7005 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7006 ("ghc-hunit" ,ghc-hunit)))
702a1012 7007 (home-page "https://github.com/ekmett/linear/")
dddbc90c
RV
7008 (synopsis "Linear algebra library for Haskell")
7009 (description
7010 "This package provides types and combinators for linear algebra on free
7011vector spaces.")
7012 (license license:bsd-3)))
1307e4c7
JS
7013
7014(define-public ghc-listlike
7015 (package
7016 (name "ghc-listlike")
7017 (version "4.6.2")
7018 (source
7019 (origin
7020 (method url-fetch)
7021 (uri
7022 (string-append
7023 "https://hackage.haskell.org/package/ListLike/ListLike-"
7024 version ".tar.gz"))
7025 (sha256
7026 (base32
7027 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
7028 (build-system haskell-build-system)
7029 (inputs
7030 `(("ghc-vector" ,ghc-vector)
7031 ("ghc-dlist" ,ghc-dlist)
7032 ("ghc-fmlist" ,ghc-fmlist)
7033 ("ghc-hunit" ,ghc-hunit)
7034 ("ghc-quickcheck" ,ghc-quickcheck)
7035 ("ghc-random" ,ghc-random)
7036 ("ghc-utf8-string" ,ghc-utf8-string)))
7037 (home-page "https://github.com/JohnLato/listlike")
7038 (synopsis "Generic support for list-like structures")
7039 (description "The ListLike module provides a common interface to the
7040various Haskell types that are list-like. Predefined interfaces include
7041standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
7042Custom types can easily be made ListLike instances as well.
7043
7044ListLike also provides for String-like types, such as String and
7045ByteString, for types that support input and output, and for types that
7046can handle infinite lists.")
7047 (license license:bsd-3)))
dddbc90c 7048
84436be0
J
7049(define-public ghc-llvm-hs-pure
7050 (package
7051 (name "ghc-llvm-hs-pure")
7052 (version "9.0.0")
7053 (source
7054 (origin
7055 (method url-fetch)
7056 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
7057 "llvm-hs-pure-" version ".tar.gz"))
7058 (sha256
7059 (base32
7060 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
7061 (build-system haskell-build-system)
7062 (inputs
7063 `(("ghc-attoparsec" ,ghc-attoparsec)
7064 ("ghc-fail" ,ghc-fail)
7065 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7066 (native-inputs
7067 `(("ghc-tasty" ,ghc-tasty)
7068 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7069 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7070 (home-page "https://github.com/llvm-hs/llvm-hs/")
7071 (synopsis "Pure Haskell LLVM functionality (no FFI)")
7072 (description "llvm-hs-pure is a set of pure Haskell types and functions
7073for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
7074LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
7075llvm-hs-pure does not require LLVM to be available.")
7076 (license license:bsd-3)))
7077
e3ee8023
J
7078(define-public ghc-llvm-hs
7079 (package
7080 (name "ghc-llvm-hs")
7081 (version "9.0.1")
7082 (source
7083 (origin
7084 (method url-fetch)
7085 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
7086 version ".tar.gz"))
7087 (sha256
7088 (base32
7089 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
7090 (build-system haskell-build-system)
7091 (inputs
7092 `(("ghc-attoparsec" ,ghc-attoparsec)
7093 ("ghc-exceptions" ,ghc-exceptions)
7094 ("ghc-utf8-string" ,ghc-utf8-string)
7095 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
7096 ("llvm" ,llvm-9)))
7097 (native-inputs
7098 `(("ghc-tasty" ,ghc-tasty)
7099 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7100 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7101 ("ghc-quickcheck" ,ghc-quickcheck)
7102 ("ghc-temporary" ,ghc-temporary)
7103 ("ghc-pretty-show" ,ghc-pretty-show)
7104 ("ghc-temporary" ,ghc-temporary)))
7105 (home-page "https://github.com/llvm-hs/llvm-hs/")
7106 (synopsis "General purpose LLVM bindings for Haskell")
7107 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
7108current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
7109IR, and so offers two advantages: it handles almost all of the stateful
7110complexities of using the LLVM API to build IR; and it supports moving IR not
7111only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
7112into Haskell.")
7113 (license license:bsd-3)))
7114
dddbc90c
RV
7115(define-public ghc-logging-facade
7116 (package
7117 (name "ghc-logging-facade")
7118 (version "0.3.0")
7119 (source (origin
7120 (method url-fetch)
7121 (uri (string-append "https://hackage.haskell.org/package/"
7122 "logging-facade/logging-facade-"
7123 version ".tar.gz"))
7124 (sha256
7125 (base32
7126 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
7127 (build-system haskell-build-system)
7128 (native-inputs
7129 `(("ghc-hspec" ,ghc-hspec)
7130 ("hspec-discover" ,hspec-discover)))
7131 (home-page "https://hackage.haskell.org/package/logging-facade")
7132 (synopsis "Simple logging abstraction that allows multiple back-ends")
7133 (description
7134 "This package provides a simple logging abstraction that allows multiple
7135back-ends.")
7136 (license license:expat)))
7137
7138(define-public ghc-logict
7139 (package
7140 (name "ghc-logict")
79d9326f 7141 (version "0.7.0.2")
dddbc90c
RV
7142 (source
7143 (origin
7144 (method url-fetch)
7145 (uri (string-append
7146 "https://hackage.haskell.org/package/logict/logict-"
7147 version
7148 ".tar.gz"))
7149 (sha256
7150 (base32
79d9326f 7151 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 7152 (build-system haskell-build-system)
79d9326f
TS
7153 (native-inputs
7154 `(("ghc-tasty" ,ghc-tasty)
7155 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
7156 (home-page "http://code.haskell.org/~dolio/")
7157 (synopsis "Backtracking logic-programming monad")
7158 (description "This library provides a continuation-based, backtracking,
7159logic programming monad. An adaptation of the two-continuation implementation
7160found in the paper \"Backtracking, Interleaving, and Terminating Monad
7161Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
7162online}.")
7163 (license license:bsd-3)))
7164
7165(define-public ghc-lzma
7166 (package
7167 (name "ghc-lzma")
7168 (version "0.0.0.3")
7169 (source
7170 (origin
7171 (method url-fetch)
7172 (uri (string-append "https://hackage.haskell.org/package/lzma/"
7173 "lzma-" version ".tar.gz"))
7174 (sha256
7175 (base32
7176 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
7177 (build-system haskell-build-system)
7178 (arguments
7179 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
7180 #:cabal-revision
7181 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
7182 (native-inputs
7183 `(("ghc-hunit" ,ghc-hunit)
7184 ("ghc-quickcheck" ,ghc-quickcheck)
7185 ("ghc-tasty" ,ghc-tasty)
7186 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7187 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7188 (home-page "https://github.com/hvr/lzma")
7189 (synopsis "LZMA/XZ compression and decompression")
7190 (description
7191 "This package provides a pure interface for compressing and
7192decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
7193monadic incremental interface is provided as well.")
7194 (license license:bsd-3)))
7195
7196(define-public ghc-lzma-conduit
7197 (package
7198 (name "ghc-lzma-conduit")
7199 (version "1.2.1")
7200 (source
7201 (origin
7202 (method url-fetch)
7203 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
7204 "lzma-conduit-" version ".tar.gz"))
7205 (sha256
7206 (base32
7207 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
7208 (build-system haskell-build-system)
7209 (inputs
7210 `(("ghc-conduit" ,ghc-conduit)
7211 ("ghc-lzma" ,ghc-lzma)
7212 ("ghc-resourcet" ,ghc-resourcet)))
7213 (native-inputs
7214 `(("ghc-base-compat" ,ghc-base-compat)
7215 ("ghc-test-framework" ,ghc-test-framework)
7216 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7217 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7218 ("ghc-hunit" ,ghc-hunit)
7219 ("ghc-quickcheck" ,ghc-quickcheck)))
7220 (home-page "https://github.com/alphaHeavy/lzma-conduit")
7221 (synopsis "Conduit interface for lzma/xz compression")
7222 (description
7223 "This package provides a @code{Conduit} interface for the LZMA
7224compression algorithm used in the @code{.xz} file format.")
7225 (license license:bsd-3)))
7226
e405912c
KM
7227(define-public ghc-magic
7228 (package
7229 (name "ghc-magic")
7230 (version "1.1")
7231 (source
7232 (origin
7233 (method url-fetch)
7234 (uri (string-append
7235 "https://hackage.haskell.org/package/magic/magic-"
7236 version ".tar.gz"))
7237 (sha256
7238 (base32
7239 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
7240 (build-system haskell-build-system)
3ef91e15 7241 (home-page "https://hackage.haskell.org/package/magic")
e405912c
KM
7242 (synopsis "Interface to C file/magic library")
7243 (description
7244 "This package provides a full-featured binding to the C libmagic library.
7245With it, you can determine the type of a file by examining its contents rather
7246than its name.")
7247 (license license:bsd-3)))
7248
bcfe9dba
JS
7249(define-public ghc-managed
7250 (package
7251 (name "ghc-managed")
7252 (version "1.0.6")
7253 (source
7254 (origin
7255 (method url-fetch)
7256 (uri (string-append
7257 "mirror://hackage/package/managed/managed-"
7258 version
7259 ".tar.gz"))
7260 (sha256
7261 (base32
7262 "1kbrw99yh5x5blykmx2n88mplbbi4ss1ij5j17b7asw6q0ihm9zi"))))
7263 (build-system haskell-build-system)
7264 (home-page "http://hackage.haskell.org/package/managed")
7265 (synopsis "Monad for managed values")
7266 (description
7267 "In Haskell you very often acquire values using the with... idiom using
7268functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
7269special case of the ContT monad (from transformers) or the Codensity
7270monad (from kan-extensions). The main purpose behind this package is to
7271provide a restricted form of these monads specialized to this unusually common
7272case.
7273
7274The reason this package defines a specialized version of these types
7275is to:
7276
7277@itemize
7278@item be more beginner-friendly,
7279@item simplify inferred types and error messages, and:
7280@item provide some additional type class instances that would otherwise be
7281orphan instances
7282@end itemize")
7283 (license license:bsd-3)))
7284
dddbc90c
RV
7285(define-public ghc-markdown-unlit
7286 (package
7287 (name "ghc-markdown-unlit")
7288 (version "0.5.0")
7289 (source (origin
7290 (method url-fetch)
7291 (uri (string-append
7292 "mirror://hackage/package/markdown-unlit/"
7293 "markdown-unlit-" version ".tar.gz"))
7294 (sha256
7295 (base32
7296 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
7297 (build-system haskell-build-system)
7298 (inputs
7299 `(("ghc-base-compat" ,ghc-base-compat)
7300 ("ghc-hspec" ,ghc-hspec)
7301 ("ghc-quickcheck" ,ghc-quickcheck)
7302 ("ghc-silently" ,ghc-silently)
7303 ("ghc-stringbuilder" ,ghc-stringbuilder)
7304 ("ghc-temporary" ,ghc-temporary)
7305 ("hspec-discover" ,hspec-discover)))
7306 (home-page "https://github.com/sol/markdown-unlit#readme")
7307 (synopsis "Literate Haskell support for Markdown")
7308 (description "This package allows you to have a README.md that at the
7309same time is a literate Haskell program.")
7310 (license license:expat)))
7311
7312(define-public ghc-math-functions
7313 (package
7314 (name "ghc-math-functions")
b45de2bf 7315 (version "0.3.3.0")
dddbc90c
RV
7316 (source
7317 (origin
7318 (method url-fetch)
7319 (uri (string-append "https://hackage.haskell.org/package/"
7320 "math-functions-" version "/"
7321 "math-functions-" version ".tar.gz"))
7322 (sha256
7323 (base32
b45de2bf 7324 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
7325 (build-system haskell-build-system)
7326 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
7327 (inputs
b45de2bf
TS
7328 `(("ghc-data-default-class" ,ghc-data-default-class)
7329 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
7330 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
7331 (native-inputs
7332 `(("ghc-hunit" ,ghc-hunit)
7333 ("ghc-quickcheck" ,ghc-quickcheck)
7334 ("ghc-erf" ,ghc-erf)
7335 ("ghc-test-framework" ,ghc-test-framework)
7336 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7337 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7338 (home-page "https://github.com/bos/math-functions")
7339 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7340 (description "This Haskell library provides implementations of
7341special mathematical functions and Chebyshev polynomials. These
7342functions are often useful in statistical and numerical computing.")
7343 (license license:bsd-3)))
7344
7345(define-public ghc-megaparsec
7346 (package
7347 (name "ghc-megaparsec")
03b0c92e 7348 (version "7.0.5")
dddbc90c
RV
7349 (source
7350 (origin
7351 (method url-fetch)
7352 (uri (string-append "https://hackage.haskell.org/package/"
7353 "megaparsec/megaparsec-"
7354 version ".tar.gz"))
7355 (sha256
7356 (base32
03b0c92e 7357 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 7358 (build-system haskell-build-system)
dddbc90c
RV
7359 (inputs
7360 `(("ghc-case-insensitive" ,ghc-case-insensitive)
7361 ("ghc-parser-combinators" ,ghc-parser-combinators)
7362 ("ghc-scientific" ,ghc-scientific)))
7363 (native-inputs
7364 `(("ghc-quickcheck" ,ghc-quickcheck)
7365 ("ghc-hspec" ,ghc-hspec)
7366 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
7367 ("hspec-discover" ,hspec-discover)))
7368 (home-page "https://github.com/mrkkrp/megaparsec")
7369 (synopsis "Monadic parser combinators")
7370 (description
7371 "This is an industrial-strength monadic parser combinator library.
7372Megaparsec is a feature-rich package that strikes a nice balance between
7373speed, flexibility, and quality of parse errors.")
7374 (license license:bsd-2)))
7375
7376(define-public ghc-memory
7377 (package
7378 (name "ghc-memory")
d2c7d336 7379 (version "0.14.18")
dddbc90c
RV
7380 (source (origin
7381 (method url-fetch)
7382 (uri (string-append "https://hackage.haskell.org/package/"
7383 "memory/memory-" version ".tar.gz"))
7384 (sha256
7385 (base32
d2c7d336 7386 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
7387 (build-system haskell-build-system)
7388 (inputs
7389 `(("ghc-basement" ,ghc-basement)
7390 ("ghc-foundation" ,ghc-foundation)))
7391 (native-inputs
7392 `(("ghc-tasty" ,ghc-tasty)
7393 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7394 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7395 (home-page "https://github.com/vincenthz/hs-memory")
7396 (synopsis "Memory abstractions for Haskell")
7397 (description
7398 "This package provides memory abstractions, such as chunk of memory,
7399polymorphic byte array management and manipulation functions. It contains a
7400polymorphic byte array abstraction and functions similar to strict ByteString,
7401different type of byte array abstraction, raw memory IO operations (memory
7402set, memory copy, ..) and more")
7403 (license license:bsd-3)))
7404
7405(define-public ghc-memotrie
7406 (package
7407 (name "ghc-memotrie")
7408 (version "0.6.9")
7409 (source
7410 (origin
7411 (method url-fetch)
7412 (uri (string-append
7413 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7414 version
7415 ".tar.gz"))
7416 (sha256
7417 (base32
7418 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7419 (build-system haskell-build-system)
7420 (inputs
7421 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7422 (home-page "https://github.com/conal/MemoTrie")
7423 (synopsis "Trie-based memo functions")
7424 (description "This package provides a functional library for creating
7425efficient memo functions using tries.")
7426 (license license:bsd-3)))
7427
7428(define-public ghc-microlens
7429 (package
7430 (name "ghc-microlens")
82478c58 7431 (version "0.4.10")
dddbc90c
RV
7432 (source
7433 (origin
7434 (method url-fetch)
7435 (uri (string-append "https://hackage.haskell.org/package/"
7436 "microlens-" version "/"
7437 "microlens-" version ".tar.gz"))
7438 (sha256
7439 (base32
82478c58 7440 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
7441 (build-system haskell-build-system)
7442 (home-page
7443 "https://github.com/aelve/microlens")
7444 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7445 (description "This Haskell package provides a lens library, just like
7446@code{ghc-lens}, but smaller. It provides essential lenses and
7447traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7448nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7449combinators (like @code{failing} and @code{singular}), but everything else is
7450stripped. As the result, this package has no dependencies.")
7451 (license license:bsd-3)))
7452
1cd3333e
TS
7453(define-public ghc-microlens-aeson
7454 (package
7455 (name "ghc-microlens-aeson")
7456 (version "2.3.0.4")
7457 (source
7458 (origin
7459 (method url-fetch)
7460 (uri (string-append "https://hackage.haskell.org/package/"
7461 "microlens-aeson/microlens-aeson-"
7462 version ".tar.gz"))
b4a00fec 7463 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
7464 (sha256
7465 (base32
7466 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7467 (build-system haskell-build-system)
7468 (inputs
7469 `(("ghc-aeson" ,ghc-aeson)
7470 ("ghc-attoparsec" ,ghc-attoparsec)
7471 ("ghc-hashable" ,ghc-hashable)
7472 ("ghc-microlens" ,ghc-microlens)
7473 ("ghc-scientific" ,ghc-scientific)
7474 ("ghc-unordered-containers" ,ghc-unordered-containers)
7475 ("ghc-vector" ,ghc-vector)))
7476 (native-inputs
7477 `(("ghc-tasty" ,ghc-tasty)
7478 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7479 (home-page "https://github.com/fosskers/microlens-aeson")
7480 (synopsis "Law-abiding lenses for Aeson, using microlens")
7481 (description "This library provides law-abiding lenses for Aeson, using
7482microlens.")
7483 (license license:expat)))
7484
dddbc90c
RV
7485(define-public ghc-microlens-ghc
7486 (package
7487 (name "ghc-microlens-ghc")
027beb55 7488 (version "0.4.10")
dddbc90c
RV
7489 (source
7490 (origin
7491 (method url-fetch)
7492 (uri (string-append
7493 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7494 version
7495 ".tar.gz"))
7496 (sha256
7497 (base32
027beb55 7498 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
7499 (build-system haskell-build-system)
7500 (inputs `(("ghc-microlens" ,ghc-microlens)))
7501 (home-page "https://github.com/monadfix/microlens")
7502 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7503 (description "This library provides everything that @code{microlens}
7504provides plus instances to make @code{each}, @code{at}, and @code{ix}
7505usable with arrays, @code{ByteString}, and containers. This package is
7506a part of the @uref{http://hackage.haskell.org/package/microlens,
7507microlens} family; see the readme
7508@uref{https://github.com/aelve/microlens#readme, on Github}.")
7509 (license license:bsd-3)))
7510
7511(define-public ghc-microlens-mtl
7512 (package
7513 (name "ghc-microlens-mtl")
7514 (version "0.1.11.1")
7515 (source
7516 (origin
7517 (method url-fetch)
7518 (uri (string-append
7519 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7520 version
7521 ".tar.gz"))
7522 (sha256
7523 (base32
7524 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7525 (build-system haskell-build-system)
7526 (inputs
7527 `(("ghc-microlens" ,ghc-microlens)
7528 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7529 (home-page "https://github.com/monadfix/microlens")
7530 (synopsis
7531 "@code{microlens} support for Reader/Writer/State from mtl")
7532 (description
7533 "This package contains functions (like @code{view} or @code{+=}) which
7534work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7535mtl package. This package is a part of the
7536@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7537readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7538 (license license:bsd-3)))
7539
7540(define-public ghc-microlens-platform
7541 (package
7542 (name "ghc-microlens-platform")
85decc1f 7543 (version "0.3.11")
dddbc90c
RV
7544 (source
7545 (origin
7546 (method url-fetch)
7547 (uri (string-append
7548 "https://hackage.haskell.org/package/"
7549 "microlens-platform/microlens-platform-" version ".tar.gz"))
7550 (sha256
7551 (base32
85decc1f 7552 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
7553 (build-system haskell-build-system)
7554 (inputs
7555 `(("ghc-hashable" ,ghc-hashable)
7556 ("ghc-microlens" ,ghc-microlens)
7557 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7558 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7559 ("ghc-microlens-th" ,ghc-microlens-th)
7560 ("ghc-unordered-containers" ,ghc-unordered-containers)
7561 ("ghc-vector" ,ghc-vector)))
7562 (home-page "https://github.com/monadfix/microlens")
7563 (synopsis "Feature-complete microlens")
7564 (description
7565 "This package exports a module which is the recommended starting point
7566for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7567you aren't trying to keep your dependencies minimal. By importing
7568@code{Lens.Micro.Platform} you get all functions and instances from
7569@uref{http://hackage.haskell.org/package/microlens, microlens},
7570@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7571@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7572@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7573well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7574minor and major versions of @code{microlens-platform} are incremented whenever
7575the minor and major versions of any other @code{microlens} package are
7576incremented, so you can depend on the exact version of
7577@code{microlens-platform} without specifying the version of @code{microlens}
7578you need. This package is a part of the
7579@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7580readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7581 (license license:bsd-3)))
7582
7583(define-public ghc-microlens-th
7584 (package
7585 (name "ghc-microlens-th")
7ae52867 7586 (version "0.4.2.3")
dddbc90c
RV
7587 (source
7588 (origin
7589 (method url-fetch)
7590 (uri (string-append "https://hackage.haskell.org/package/"
7591 "microlens-th-" version "/"
7592 "microlens-th-" version ".tar.gz"))
7593 (sha256
7594 (base32
7ae52867 7595 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 7596 (build-system haskell-build-system)
7ae52867
TS
7597 (arguments
7598 `(#:cabal-revision
7599 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
7600 (inputs `(("ghc-microlens" ,ghc-microlens)
7601 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7602 (home-page
7603 "https://github.com/aelve/microlens")
7604 (synopsis "Automatic generation of record lenses for
7605@code{ghc-microlens}")
7606 (description "This Haskell package lets you automatically generate lenses
7607for data types; code was extracted from the lens package, and therefore
7608generated lenses are fully compatible with ones generated by lens (and can be
7609used both from lens and microlens).")
7610 (license license:bsd-3)))
7611
7612(define-public ghc-missingh
7613 (package
7614 (name "ghc-missingh")
641207cb 7615 (version "1.4.1.0")
dddbc90c
RV
7616 (source
7617 (origin
7618 (method url-fetch)
7619 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7620 "MissingH-" version ".tar.gz"))
7621 (sha256
7622 (base32
641207cb 7623 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
7624 (build-system haskell-build-system)
7625 ;; Tests require the unmaintained testpack package, which depends on the
7626 ;; outdated QuickCheck version 2.7, which can no longer be built with
7627 ;; recent versions of GHC and Haskell libraries.
7628 (arguments '(#:tests? #f))
7629 (inputs
7630 `(("ghc-network" ,ghc-network)
7631 ("ghc-hunit" ,ghc-hunit)
7632 ("ghc-regex-compat" ,ghc-regex-compat)
7633 ("ghc-hslogger" ,ghc-hslogger)
7634 ("ghc-random" ,ghc-random)
7635 ("ghc-old-time" ,ghc-old-time)
7636 ("ghc-old-locale" ,ghc-old-locale)))
7637 (native-inputs
7638 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7639 ("ghc-quickcheck" ,ghc-quickcheck)
7640 ("ghc-hunit" ,ghc-hunit)))
f1841ccf
TGR
7641 ;; ‘Official’ <http://software.complete.org/missingh> redirects to a 404.
7642 (home-page "https://github.com/haskell-hvr/missingh")
dddbc90c
RV
7643 (synopsis "Large utility library")
7644 (description
7645 "MissingH is a library of all sorts of utility functions for Haskell
7646programmers. It is written in pure Haskell and thus should be extremely
7647portable and easy to use.")
7648 (license license:bsd-3)))
7649
7650(define-public ghc-mmap
7651 (package
7652 (name "ghc-mmap")
7653 (version "0.5.9")
7654 (source (origin
7655 (method url-fetch)
7656 (uri (string-append "https://hackage.haskell.org/package/"
7657 "mmap/mmap-" version ".tar.gz"))
7658 (sha256
7659 (base32
7660 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7661 (build-system haskell-build-system)
7662 (home-page "https://hackage.haskell.org/package/mmap")
7663 (synopsis "Memory mapped files for Haskell")
7664 (description
7665 "This library provides a wrapper to @code{mmap}, allowing files or
7666devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7667@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7668do on-demand loading.")
7669 (license license:bsd-3)))
7670
7671(define-public ghc-mmorph
7672 (package
7673 (name "ghc-mmorph")
e0389704 7674 (version "1.1.3")
dddbc90c
RV
7675 (source
7676 (origin
7677 (method url-fetch)
7678 (uri (string-append
7679 "https://hackage.haskell.org/package/mmorph/mmorph-"
7680 version
7681 ".tar.gz"))
7682 (sha256
7683 (base32
e0389704 7684 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7685 (build-system haskell-build-system)
7686 (inputs
7687 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7688 (home-page "https://hackage.haskell.org/package/mmorph")
7689 (synopsis "Monad morphisms")
7690 (description
7691 "This library provides monad morphism utilities, most commonly used for
7692manipulating monad transformer stacks.")
7693 (license license:bsd-3)))
7694
7695(define-public ghc-mockery
7696 (package
7697 (name "ghc-mockery")
7698 (version "0.3.5")
7699 (source (origin
7700 (method url-fetch)
7701 (uri (string-append "https://hackage.haskell.org/package/"
7702 "mockery/mockery-" version ".tar.gz"))
7703 (sha256
7704 (base32
7705 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7706 (build-system haskell-build-system)
7707 (inputs
7708 `(("ghc-temporary" ,ghc-temporary)
7709 ("ghc-logging-facade" ,ghc-logging-facade)
7710 ("ghc-base-compat" ,ghc-base-compat)))
7711 (native-inputs
7712 `(("ghc-hspec" ,ghc-hspec)
7713 ("hspec-discover" ,hspec-discover)))
7714 (home-page "https://hackage.haskell.org/package/mockery")
7715 (synopsis "Support functions for automated testing")
7716 (description
7717 "The mockery package provides support functions for automated testing.")
7718 (license license:expat)))
7719
7720(define-public ghc-monad-control
7721 (package
7722 (name "ghc-monad-control")
7723 (version "1.0.2.3")
7724 (source
7725 (origin
7726 (method url-fetch)
7727 (uri (string-append
7728 "https://hackage.haskell.org/package/monad-control"
7729 "/monad-control-" version ".tar.gz"))
7730 (sha256
7731 (base32
7732 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7733 (build-system haskell-build-system)
7734 (inputs
7735 `(("ghc-transformers-base" ,ghc-transformers-base)
7736 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7737 (home-page "https://github.com/basvandijk/monad-control")
7738 (synopsis "Monad transformers to lift control operations like exception
7739catching")
7740 (description "This package defines the type class @code{MonadBaseControl},
7741a subset of @code{MonadBase} into which generic control operations such as
7742@code{catch} can be lifted from @code{IO} or any other base monad.")
7743 (license license:bsd-3)))
7744
7745(define-public ghc-monad-logger
7746 (package
7747 (name "ghc-monad-logger")
26980aae 7748 (version "0.3.30")
dddbc90c
RV
7749 (source
7750 (origin
7751 (method url-fetch)
7752 (uri (string-append "https://hackage.haskell.org/package/"
7753 "monad-logger-" version "/"
7754 "monad-logger-" version ".tar.gz"))
7755 (sha256
7756 (base32
26980aae 7757 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7758 (build-system haskell-build-system)
7759 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7760 ("ghc-stm-chans" ,ghc-stm-chans)
7761 ("ghc-lifted-base" ,ghc-lifted-base)
7762 ("ghc-resourcet" ,ghc-resourcet)
7763 ("ghc-conduit" ,ghc-conduit)
7764 ("ghc-conduit-extra" ,ghc-conduit-extra)
7765 ("ghc-fast-logger" ,ghc-fast-logger)
7766 ("ghc-transformers-base" ,ghc-transformers-base)
7767 ("ghc-monad-control" ,ghc-monad-control)
7768 ("ghc-monad-loops" ,ghc-monad-loops)
7769 ("ghc-blaze-builder" ,ghc-blaze-builder)
7770 ("ghc-exceptions" ,ghc-exceptions)))
7771 (home-page "https://github.com/kazu-yamamoto/logger")
7772 (synopsis "Provides a class of monads which can log messages for Haskell")
7773 (description "This Haskell package uses a monad transformer approach
7774for logging.
7775
7776This package provides Template Haskell functions for determining source
7777code locations of messages.")
7778 (license license:expat)))
7779
7780(define-public ghc-monad-loops
7781 (package
7782 (name "ghc-monad-loops")
7783 (version "0.4.3")
7784 (source
7785 (origin
7786 (method url-fetch)
7787 (uri (string-append "https://hackage.haskell.org/package/"
7788 "monad-loops-" version "/"
7789 "monad-loops-" version ".tar.gz"))
7790 (sha256
7791 (base32
7792 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7793 (build-system haskell-build-system)
7794 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7795 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7796 (home-page "https://github.com/mokus0/monad-loops")
7797 (synopsis "Monadic loops for Haskell")
7798 (description "This Haskell package provides some useful control
7799operators for looping.")
7800 (license license:public-domain)))
7801
7802(define-public ghc-monad-par
7803 (package
7804 (name "ghc-monad-par")
7805 (version "0.3.4.8")
7806 (source
7807 (origin
7808 (method url-fetch)
7809 (uri (string-append "https://hackage.haskell.org/package/"
7810 "monad-par-" version "/"
7811 "monad-par-" version ".tar.gz"))
faac56f3 7812 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7813 (sha256
7814 (base32
7815 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7816 (build-system haskell-build-system)
7817 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7818 ("ghc-abstract-deque" ,ghc-abstract-deque)
7819 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7820 ("ghc-mwc-random" ,ghc-mwc-random)
7821 ("ghc-parallel" ,ghc-parallel)))
7822 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7823 ("ghc-hunit" ,ghc-hunit)
7824 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7825 ("ghc-test-framework-quickcheck2"
7826 ,ghc-test-framework-quickcheck2)
7827 ("ghc-test-framework" ,ghc-test-framework)
7828 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7829 (home-page "https://github.com/simonmar/monad-par")
7830 (synopsis "Haskell library for parallel programming based on a monad")
7831 (description "The @code{Par} monad offers an API for parallel
7832programming. The library works for parallelising both pure and @code{IO}
7833computations, although only the pure version is deterministic. The default
7834implementation provides a work-stealing scheduler and supports forking tasks
7835that are much lighter weight than IO-threads.")
7836 (license license:bsd-3)))
7837
7838(define-public ghc-monad-par-extras
7839 (package
7840 (name "ghc-monad-par-extras")
7841 (version "0.3.3")
7842 (source
7843 (origin
7844 (method url-fetch)
7845 (uri (string-append "https://hackage.haskell.org/package/"
7846 "monad-par-extras-" version "/"
7847 "monad-par-extras-" version ".tar.gz"))
7848 (sha256
7849 (base32
7850 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7851 (build-system haskell-build-system)
7852 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7853 ("ghc-cereal" ,ghc-cereal)
7854 ("ghc-random" ,ghc-random)))
7855 (home-page "https://github.com/simonmar/monad-par")
7856 (synopsis "Combinators and extra features for Par monads for Haskell")
7857 (description "This Haskell package provides additional data structures,
7858and other added capabilities layered on top of the @code{Par} monad.")
7859 (license license:bsd-3)))
7860
dddbc90c
RV
7861(define-public ghc-monadrandom
7862 (package
7863 (name "ghc-monadrandom")
7864 (version "0.5.1.1")
7865 (source
7866 (origin
7867 (method url-fetch)
7868 (uri (string-append "https://hackage.haskell.org/package/"
7869 "MonadRandom-" version "/"
7870 "MonadRandom-" version ".tar.gz"))
7871 (sha256
7872 (base32
7873 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7874 (build-system haskell-build-system)
7875 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7876 ("ghc-primitive" ,ghc-primitive)
7877 ("ghc-fail" ,ghc-fail)
7878 ("ghc-random" ,ghc-random)))
7879 (home-page "https://github.com/byorgey/MonadRandom")
7880 (synopsis "Random-number generation monad for Haskell")
7881 (description "This Haskell package provides support for computations
7882which consume random values.")
7883 (license license:bsd-3)))
7884
7885(define-public ghc-monads-tf
7886 (package
7887 (name "ghc-monads-tf")
7888 (version "0.1.0.3")
7889 (source
7890 (origin
7891 (method url-fetch)
7892 (uri (string-append
7893 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7894 version ".tar.gz"))
7895 (sha256
7896 (base32
7897 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7898 (build-system haskell-build-system)
7899 (home-page "https://hackage.haskell.org/package/monads-tf")
7900 (synopsis "Monad classes, using type families")
7901 (description
7902 "Monad classes using type families, with instances for various monad transformers,
7903inspired by the paper 'Functional Programming with Overloading and Higher-Order
7904Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7905the @code{mtl-tf} package.")
7906 (license license:bsd-3)))
7907
7908(define-public ghc-mono-traversable
7909 (package
7910 (name "ghc-mono-traversable")
23bb445b 7911 (version "1.0.13.0")
dddbc90c
RV
7912 (source
7913 (origin
7914 (method url-fetch)
7915 (uri (string-append "https://hackage.haskell.org/package/"
7916 "mono-traversable-" version "/"
7917 "mono-traversable-" version ".tar.gz"))
7918 (sha256
7919 (base32
23bb445b 7920 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7921 (build-system haskell-build-system)
7922 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7923 ("ghc-hashable" ,ghc-hashable)
7924 ("ghc-vector" ,ghc-vector)
7925 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7926 ("ghc-split" ,ghc-split)))
7927 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7928 ("ghc-hunit" ,ghc-hunit)
7929 ("ghc-quickcheck" ,ghc-quickcheck)
7930 ("ghc-semigroups" ,ghc-semigroups)
7931 ("ghc-foldl" ,ghc-foldl)))
7932 (home-page "https://github.com/snoyberg/mono-traversable")
7933 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7934containers")
7935 (description "This Haskell package provides Monomorphic variants of the
7936Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7937basic typeclasses, you understand mono-traversable. In addition to what
7938you are used to, it adds on an IsSequence typeclass and has code for marking
7939data structures as non-empty.")
7940 (license license:expat)))
7941
471e77cf
TS
7942(define-public ghc-monoid-extras
7943 (package
7944 (name "ghc-monoid-extras")
7945 (version "0.5.1")
7946 (source
7947 (origin
7948 (method url-fetch)
7949 (uri (string-append "https://hackage.haskell.org/package/"
7950 "monoid-extras/monoid-extras-" version ".tar.gz"))
7951 (sha256
7952 (base32
7953 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7954 (build-system haskell-build-system)
7955 (inputs
7956 `(("ghc-groups" ,ghc-groups)
7957 ("ghc-semigroups" ,ghc-semigroups)
7958 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7959 (arguments
7960 `(#:cabal-revision
7961 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7962 (home-page "https://hackage.haskell.org/package/monoid-extras")
7963 (synopsis "Various extra monoid-related definitions and utilities")
7964 (description "This package provides various extra monoid-related
7965definitions and utilities, such as monoid actions, monoid coproducts,
7966semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7967\"cut\" monoids.")
7968 (license license:bsd-3)))
7969
4759b617
JS
7970(define-public ghc-mtl-compat
7971 (package
7972 (name "ghc-mtl-compat")
7973 (version "0.2.2")
7974 (source
7975 (origin
7976 (method url-fetch)
7977 (uri (string-append
7978 "mirror://hackage/package/mtl-compat/mtl-compat-"
7979 version
7980 ".tar.gz"))
7981 (sha256
7982 (base32
7983 "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
7984 (build-system haskell-build-system)
7985 (home-page
7986 "https://github.com/haskell-compat/mtl-compat")
7987 (synopsis
7988 "Backported Control.Monad.Except module from mtl")
7989 (description
7990 "This package backports the Control.Monad.Except module from mtl (if
7991using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
7992and the MonadError class.
7993
7994This package should only be used if there is a need to use the
7995Control.Monad.Except module specifically. If you just want the mtl class
7996instances for ExceptT, use transformers-compat instead, since mtl-compat does
7997nothing but reexport the instances from that package.
7998
7999Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
8000module defined in this package exports all of ExceptT's monad class instances.
8001Therefore, you may have to declare @code{import Control.Monad.Except ()} at
8002the top of your file to get all of the ExceptT instances in scope.")
8003 (license license:bsd-3)))
8004
dddbc90c
RV
8005(define-public ghc-murmur-hash
8006 (package
8007 (name "ghc-murmur-hash")
8008 (version "0.1.0.9")
8009 (source
8010 (origin
8011 (method url-fetch)
8012 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
8013 "/murmur-hash-" version ".tar.gz"))
8014 (sha256
8015 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
8016 (build-system haskell-build-system)
8017 (home-page "https://github.com/nominolo/murmur-hash")
8018 (synopsis "MurmurHash2 implementation for Haskell")
8019 (description
8020 "This package provides an implementation of MurmurHash2, a good, fast,
8021general-purpose, non-cryptographic hashing function. See
8022@url{https://sites.google.com/site/murmurhash/} for details. This
8023implementation is pure Haskell, so it might be a bit slower than a C FFI
8024binding.")
8025 (license license:bsd-3)))
8026
8027(define-public ghc-mwc-random
8028 (package
8029 (name "ghc-mwc-random")
33268e2c 8030 (version "0.14.0.0")
dddbc90c
RV
8031 (source
8032 (origin
8033 (method url-fetch)
8034 (uri (string-append "https://hackage.haskell.org/package/"
8035 "mwc-random-" version "/"
8036 "mwc-random-" version ".tar.gz"))
8037 (sha256
8038 (base32
33268e2c 8039 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
8040 (build-system haskell-build-system)
8041 (inputs
8042 `(("ghc-primitive" ,ghc-primitive)
8043 ("ghc-vector" ,ghc-vector)
8044 ("ghc-math-functions" ,ghc-math-functions)))
8045 (arguments
8046 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8047 (native-inputs
8048 `(("ghc-hunit" ,ghc-hunit)
8049 ("ghc-quickcheck" ,ghc-quickcheck)
8050 ("ghc-test-framework" ,ghc-test-framework)
8051 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8052 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8053 (home-page "https://github.com/bos/mwc-random")
8054 (synopsis "Random number generation library for Haskell")
8055 (description "This Haskell package contains code for generating
8056high quality random numbers that follow either a uniform or normal
8057distribution. The generated numbers are suitable for use in
8058statistical applications.
8059
8060The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8061multiply-with-carry generator, which has a period of 2^{8222} and
8062fares well in tests of randomness. It is also extremely fast,
8063between 2 and 3 times faster than the Mersenne Twister.")
8064 (license license:bsd-3)))
8065
8066(define-public ghc-nats
8067 (package
8068 (name "ghc-nats")
8069 (version "1.1.2")
8070 (source
8071 (origin
8072 (method url-fetch)
8073 (uri (string-append
8074 "https://hackage.haskell.org/package/nats/nats-"
8075 version
8076 ".tar.gz"))
8077 (sha256
8078 (base32
8079 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
8080 (build-system haskell-build-system)
8081 (arguments `(#:haddock? #f))
8082 (inputs
8083 `(("ghc-hashable" ,ghc-hashable)))
8084 (home-page "https://hackage.haskell.org/package/nats")
8085 (synopsis "Natural numbers")
8086 (description "This library provides the natural numbers for Haskell.")
8087 (license license:bsd-3)))
8088
8089(define-public ghc-nats-bootstrap
8090 (package
8091 (inherit ghc-nats)
8092 (name "ghc-nats-bootstrap")
8093 (inputs
8094 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
8095 (properties '((hidden? #t)))))
8096
52915062
EF
8097(define-public ghc-ncurses
8098 (package
8099 (name "ghc-ncurses")
8100 (version "0.2.16")
8101 (source
8102 (origin
8103 (method url-fetch)
8104 (uri (string-append
8105 "https://hackage.haskell.org/package/ncurses/ncurses-"
8106 version ".tar.gz"))
8107 (sha256
8108 (base32
8109 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
8110 (build-system haskell-build-system)
8111 (arguments
54a5fd07
TS
8112 '(#:extra-directories ("ncurses")
8113 #:phases
52915062
EF
8114 (modify-phases %standard-phases
8115 (add-before 'build 'fix-includes
8116 (lambda _
8117 (substitute* '("cbits/hsncurses-shim.h"
8118 "lib/UI/NCurses.chs"
8119 "lib/UI/NCurses/Enums.chs"
8120 "lib/UI/NCurses/Panel.chs")
8121 (("<ncursesw/") "<"))
8122 #t)))
8123 #:cabal-revision
8124 ("1"
8125 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
8126 (inputs `(("ncurses" ,ncurses)))
8127 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
8128 (home-page "https://john-millikin.com/software/haskell-ncurses/")
8129 (synopsis "Modernised bindings to GNU ncurses")
8130 (description "GNU ncurses is a library for creating command-line application
8131with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
8132ncurses.")
8133 (license license:gpl3)))
8134
dddbc90c
RV
8135(define-public ghc-network
8136 (package
8137 (name "ghc-network")
d4473202 8138 (version "2.8.0.1")
534d6caa 8139 (outputs '("out" "static" "doc"))
dddbc90c
RV
8140 (source
8141 (origin
8142 (method url-fetch)
8143 (uri (string-append
8144 "https://hackage.haskell.org/package/network/network-"
8145 version
8146 ".tar.gz"))
8147 (sha256
8148 (base32
d4473202 8149 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
8150 (build-system haskell-build-system)
8151 ;; The regression tests depend on an unpublished module.
8152 (arguments `(#:tests? #f))
8153 (native-inputs
8154 `(("ghc-hunit" ,ghc-hunit)
8155 ("ghc-doctest" ,ghc-doctest)
8156 ("ghc-test-framework" ,ghc-test-framework)
8157 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
8158 (home-page "https://github.com/haskell/network")
8159 (synopsis "Low-level networking interface")
8160 (description
8161 "This package provides a low-level networking interface.")
8162 (license license:bsd-3)))
4780db2c 8163
30eebbe6
TS
8164(define-public ghc-network-bsd
8165 (package
8166 (name "ghc-network-bsd")
8167 (version "2.8.0.0")
8168 (source
8169 (origin
8170 (method url-fetch)
8171 (uri (string-append "https://hackage.haskell.org/package/"
8172 "network-bsd/network-bsd-" version ".tar.gz"))
8173 (sha256
8174 (base32
8175 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
8176 (build-system haskell-build-system)
8177 (inputs
8178 `(("ghc-network" ,ghc-network)))
8179 (home-page "https://github.com/haskell/network-bsd")
8180 (synopsis "POSIX network database (<netdb.h>) API")
8181 (description "This package provides Haskell bindings to the the POSIX
8182network database (<netdb.h>) API.")
8183 (license license:bsd-3)))
8184
096781a1
TS
8185(define-public ghc-network-byte-order
8186 (package
8187 (name "ghc-network-byte-order")
8188 (version "0.1.1.1")
8189 (source
8190 (origin
8191 (method url-fetch)
8192 (uri (string-append "https://hackage.haskell.org/package/"
8193 "network-byte-order/network-byte-order-"
8194 version ".tar.gz"))
8195 (sha256
8196 (base32
8197 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
8198 (build-system haskell-build-system)
8199 (native-inputs
8200 `(("ghc-doctest" ,ghc-doctest)))
3ef91e15 8201 (home-page "https://hackage.haskell.org/package/network-byte-order")
096781a1
TS
8202 (synopsis "Network byte order utilities")
8203 (description "This library provides peek and poke functions for network
8204byte order.")
8205 (license license:bsd-3)))
8206
dddbc90c
RV
8207(define-public ghc-network-info
8208 (package
8209 (name "ghc-network-info")
8210 (version "0.2.0.10")
8211 (source
8212 (origin
8213 (method url-fetch)
8214 (uri (string-append "https://hackage.haskell.org/package/"
8215 "network-info-" version "/"
8216 "network-info-" version ".tar.gz"))
8217 (sha256
8218 (base32
8219 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
8220 (build-system haskell-build-system)
8221 (home-page "https://github.com/jystic/network-info")
8222 (synopsis "Access the local computer's basic network configuration")
8223 (description "This Haskell library provides simple read-only access to the
8224local computer's networking configuration. It is currently capable of
8225getting a list of all the network interfaces and their respective
8226IPv4, IPv6 and MAC addresses.")
8227 (license license:bsd-3)))
8228
8229(define-public ghc-network-uri
8230 (package
8231 (name "ghc-network-uri")
8232 (version "2.6.1.0")
534d6caa 8233 (outputs '("out" "static" "doc"))
dddbc90c
RV
8234 (source
8235 (origin
8236 (method url-fetch)
8237 (uri (string-append
8238 "https://hackage.haskell.org/package/network-uri/network-uri-"
8239 version
8240 ".tar.gz"))
8241 (sha256
8242 (base32
8243 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
8244 (build-system haskell-build-system)
8245 (arguments
8246 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
8247 (inputs
8248 `(("ghc-network" ,ghc-network)))
8249 (native-inputs
8250 `(("ghc-hunit" ,ghc-hunit)))
8251 (home-page
8252 "https://github.com/haskell/network-uri")
8253 (synopsis "Library for URI manipulation")
8254 (description "This package provides an URI manipulation interface. In
8255@code{network-2.6} the @code{Network.URI} module was split off from the
8256@code{network} package into this package.")
8257 (license license:bsd-3)))
8258
8259(define-public ghc-newtype-generics
8260 (package
8261 (name "ghc-newtype-generics")
c07e16dd 8262 (version "0.5.4")
dddbc90c
RV
8263 (source
8264 (origin
8265 (method url-fetch)
8266 (uri (string-append "https://hackage.haskell.org/package/"
8267 "newtype-generics/newtype-generics-"
8268 version ".tar.gz"))
8269 (sha256
8270 (base32
c07e16dd 8271 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
8272 (build-system haskell-build-system)
8273 (native-inputs
8274 `(("ghc-hspec" ,ghc-hspec)
8275 ("hspec-discover" ,hspec-discover)))
702a1012 8276 (home-page "https://github.com/sjakobi/newtype-generics")
dddbc90c
RV
8277 (synopsis "Typeclass and set of functions for working with newtypes")
8278 (description "The @code{Newtype} typeclass represents the packing and
8279unpacking of a newtype, and allows you to operate under that newtype with
8280functions such as @code{ala}. Generics support was added in version 0.4,
8281making this package a full replacement for the original newtype package,
8282and an alternative to newtype-th.")
8283 (license license:bsd-3)))
8284
6b652f5a
JS
8285(define-public ghc-non-negative
8286 (package
8287 (name "ghc-non-negative")
8288 (version "0.1.2")
8289 (source
8290 (origin
8291 (method url-fetch)
8292 (uri
8293 (string-append
8294 "https://hackage.haskell.org/package/non-negative/non-negative-"
8295 version ".tar.gz"))
8296 (sha256
8297 (base32
8298 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
8299 (build-system haskell-build-system)
8300 (inputs
8301 `(("ghc-semigroups" ,ghc-semigroups)
8302 ("ghc-utility-ht" ,ghc-utility-ht)
8303 ("ghc-quickcheck" ,ghc-quickcheck)))
8304 (home-page "https://hackage.haskell.org/package/non-negative")
8305 (synopsis "Non-negative numbers class")
8306 (description "This library provides a class for non-negative numbers,
8307a wrapper which can turn any ordered numeric type into a member of that
8308class, and a lazy number type for non-negative numbers (a generalization
8309of Peano numbers).")
8310 (license license:gpl3+)))
8311
49bcca84
ASM
8312(define-public ghc-nonce
8313 (package
8314 (name "ghc-nonce")
8315 (version "1.0.7")
8316 (source
8317 (origin
8318 (method url-fetch)
8319 (uri (string-append
8320 "https://hackage.haskell.org/package/nonce/"
8321 "nonce-" version ".tar.gz"))
8322 (sha256
8323 (base32
8324 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
8325 (build-system haskell-build-system)
8326 (inputs
8327 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
8328 ("ghc-entropy" ,ghc-entropy)
8329 ("ghc-unliftio" ,ghc-unliftio)
8330 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8331 (home-page "https://github.com/prowdsponsor/nonce")
8332 (synopsis "Generate cryptographic nonces in Haskell")
8333 (description
8334 "A nonce is an arbitrary number used only once in a cryptographic
8335communication. This package contain helper functions for generating nonces.
8336There are many kinds of nonces used in different situations. It's not
8337guaranteed that by using the nonces from this package you won't have any
8338security issues. Please make sure that the nonces generated via this
8339package are usable on your design.")
8340 (license license:bsd-3)))
8341
194a82e6
TS
8342(define-public ghc-numeric-extras
8343 (package
8344 (name "ghc-numeric-extras")
8345 (version "0.1")
8346 (source
8347 (origin
8348 (method url-fetch)
8349 (uri (string-append "https://hackage.haskell.org/package/"
8350 "numeric-extras/numeric-extras-"
8351 version ".tar.gz"))
8352 (sha256
8353 (base32
8354 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
8355 (build-system haskell-build-system)
8356 (home-page "https://github.com/ekmett/numeric-extras")
8357 (synopsis "Useful tools from the C standard library")
8358 (description "This library provides some useful tools from the C
8359standard library.")
8360 (license license:bsd-3)))
8361
dddbc90c
RV
8362(define-public ghc-objectname
8363 (package
8364 (name "ghc-objectname")
8365 (version "1.1.0.1")
8366 (source
8367 (origin
8368 (method url-fetch)
8369 (uri (string-append
8370 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
8371 version
8372 ".tar.gz"))
8373 (sha256
8374 (base32
8375 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
8376 (build-system haskell-build-system)
8377 (home-page "https://hackage.haskell.org/package/ObjectName")
8378 (synopsis "Helper library for Haskell OpenGL")
8379 (description "This tiny package contains the class ObjectName, which
8380corresponds to the general notion of explicitly handled identifiers for API
8381objects, e.g. a texture object name in OpenGL or a buffer object name in
8382OpenAL.")
8383 (license license:bsd-3)))
8384
8385(define-public ghc-old-locale
8386 (package
8387 (name "ghc-old-locale")
8388 (version "1.0.0.7")
8389 (source
8390 (origin
8391 (method url-fetch)
8392 (uri (string-append
8393 "https://hackage.haskell.org/package/old-locale/old-locale-"
8394 version
8395 ".tar.gz"))
8396 (sha256
8397 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8398 (build-system haskell-build-system)
8399 (arguments
8400 `(#:cabal-revision
8401 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8402 (home-page "https://hackage.haskell.org/package/old-locale")
8403 (synopsis "Adapt to locale conventions")
8404 (description
8405 "This package provides the ability to adapt to locale conventions such as
8406date and time formats.")
8407 (license license:bsd-3)))
8408
8409(define-public ghc-old-time
8410 (package
8411 (name "ghc-old-time")
8412 (version "1.1.0.3")
8413 (source
8414 (origin
8415 (method url-fetch)
8416 (uri (string-append
8417 "https://hackage.haskell.org/package/old-time/old-time-"
8418 version
8419 ".tar.gz"))
8420 (sha256
8421 (base32
8422 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8423 (build-system haskell-build-system)
8424 (arguments
8425 `(#:cabal-revision
8426 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8427 (inputs
8428 `(("ghc-old-locale" ,ghc-old-locale)))
8429 (home-page "https://hackage.haskell.org/package/old-time")
8430 (synopsis "Time compatibility library for Haskell")
8431 (description "Old-time is a package for backwards compatibility with the
8432old @code{time} library. For new projects, the newer
8433@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8434 (license license:bsd-3)))
8435
8436(define-public ghc-opengl
8437 (package
8438 (name "ghc-opengl")
79a06910 8439 (version "3.0.3.0")
dddbc90c
RV
8440 (source
8441 (origin
8442 (method url-fetch)
8443 (uri (string-append
8444 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8445 version
8446 ".tar.gz"))
8447 (sha256
8448 (base32
79a06910 8449 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 8450 (build-system haskell-build-system)
79a06910
TS
8451 (arguments
8452 `(#:cabal-revision
8453 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
8454 (inputs
8455 `(("ghc-objectname" ,ghc-objectname)
8456 ("ghc-gluraw" ,ghc-gluraw)
8457 ("ghc-statevar" ,ghc-statevar)
8458 ("ghc-openglraw" ,ghc-openglraw)))
228d2901 8459 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
8460 (synopsis "Haskell bindings for the OpenGL graphics system")
8461 (description "This package provides Haskell bindings for the OpenGL
8462graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8463version 1.3).")
8464 (license license:bsd-3)))
8465
8466(define-public ghc-openglraw
8467 (package
8468 (name "ghc-openglraw")
15ebc815 8469 (version "3.3.3.0")
dddbc90c
RV
8470 (source
8471 (origin
8472 (method url-fetch)
8473 (uri (string-append
8474 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8475 version
8476 ".tar.gz"))
8477 (sha256
8478 (base32
15ebc815 8479 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c 8480 (build-system haskell-build-system)
54a5fd07
TS
8481 (arguments
8482 `(#:extra-directories ("glu")))
dddbc90c
RV
8483 (inputs
8484 `(("ghc-half" ,ghc-half)
8485 ("ghc-fixed" ,ghc-fixed)
8486 ("glu" ,glu)))
228d2901 8487 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
8488 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8489 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8490graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8491of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8492offers access to all necessary functions, tokens and types plus a general
8493facility for loading extension entries. The module hierarchy closely mirrors
8494the naming structure of the OpenGL extensions, making it easy to find the
8495right module to import. All API entries are loaded dynamically, so no special
8496C header files are needed for building this package. If an API entry is not
8497found at runtime, a userError is thrown.")
8498 (license license:bsd-3)))
8499
8500(define-public ghc-operational
8501 (package
8502 (name "ghc-operational")
8503 (version "0.2.3.5")
8504 (source
8505 (origin
8506 (method url-fetch)
8507 (uri (string-append "https://hackage.haskell.org/package/operational/"
8508 "operational-" version ".tar.gz"))
8509 (sha256
8510 (base32
8511 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8512 (build-system haskell-build-system)
8513 (inputs
8514 `(("ghc-random" ,ghc-random)))
8515 (home-page "http://wiki.haskell.org/Operational")
8516 (synopsis "Implementation of difficult monads made easy with operational semantics")
8517 (description
8518 "This library makes it easy to implement monads with tricky control
8519flow. This is useful for: writing web applications in a sequential style,
8520programming games with a uniform interface for human and AI players and easy
8521replay capababilities, implementing fast parser monads, designing monadic
8522DSLs, etc.")
8523 (license license:bsd-3)))
8524
6f1477d2
JS
8525(define-public ghc-optional-args
8526 (package
8527 (name "ghc-optional-args")
8528 (version "1.0.2")
8529 (source
8530 (origin
8531 (method url-fetch)
8532 (uri (string-append
8533 "mirror://hackage/package/optional-args/optional-args-"
8534 version
8535 ".tar.gz"))
8536 (sha256
8537 (base32
8538 "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"))))
8539 (build-system haskell-build-system)
8540 (home-page
8541 "http://hackage.haskell.org/package/optional-args")
8542 (synopsis "Optional function arguments")
8543 (description
8544 "This library provides a type for specifying @code{Optional} function
8545arguments.")
8546 (license license:bsd-3)))
8547
dddbc90c
RV
8548(define-public ghc-options
8549 (package
8550 (name "ghc-options")
8551 (version "1.2.1.1")
8552 (source
8553 (origin
8554 (method url-fetch)
8555 (uri (string-append
8556 "https://hackage.haskell.org/package/options/options-"
8557 version ".tar.gz"))
8558 (sha256
8559 (base32
8560 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8561 (build-system haskell-build-system)
24cf2a8b
TS
8562 (arguments
8563 `(#:phases
8564 (modify-phases %standard-phases
8565 (add-before 'configure 'update-constraints
8566 (lambda _
8567 (substitute* "options.cabal"
8568 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8569 #t)))))
dddbc90c
RV
8570 (inputs
8571 `(("ghc-monads-tf" ,ghc-monads-tf)
8572 ("ghc-chell" ,ghc-chell)
8573 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8574 (home-page "https://john-millikin.com/software/haskell-options/")
8575 (synopsis "Powerful and easy-to-use command-line option parser")
8576 (description
8577 "The @code{options} package lets library and application developers
8578easily work with command-line options.")
8579 (license license:expat)))
8580
8581;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8582(define ghc-options-bootstrap
8583 (package
8584 (name "ghc-options-bootstrap")
8585 (version "1.2.1.1")
8586 (source
8587 (origin
8588 (method url-fetch)
8589 (uri (string-append
8590 "https://hackage.haskell.org/package/options/options-"
8591 version ".tar.gz"))
8592 (sha256
8593 (base32
8594 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8595 (build-system haskell-build-system)
8596 (arguments
8597 `(#:tests? #f))
8598 (inputs
8599 `(("ghc-monads-tf" ,ghc-monads-tf)))
8600 (home-page "https://john-millikin.com/software/haskell-options/")
8601 (synopsis "Powerful and easy-to-use command-line option parser")
8602 (description
8603 "The @code{options} package lets library and application developers
8604easily work with command-line options.")
8605 (license license:expat)))
8606
8607
8608(define-public ghc-optparse-applicative
8609 (package
8610 (name "ghc-optparse-applicative")
74bf6965 8611 (version "0.14.3.0")
dddbc90c
RV
8612 (source
8613 (origin
8614 (method url-fetch)
8615 (uri (string-append
8616 "https://hackage.haskell.org/package/optparse-applicative"
8617 "/optparse-applicative-" version ".tar.gz"))
8618 (sha256
8619 (base32
74bf6965 8620 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8621 (build-system haskell-build-system)
74bf6965
TS
8622 (arguments
8623 `(#:cabal-revision
8624 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8625 (inputs
8626 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8627 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8628 (native-inputs
8629 `(("ghc-quickcheck" ,ghc-quickcheck)))
8630 (home-page "https://github.com/pcapriotti/optparse-applicative")
8631 (synopsis "Utilities and combinators for parsing command line options")
8632 (description "This package provides utilities and combinators for parsing
8633command line options in Haskell.")
8634 (license license:bsd-3)))
8635
d56c8120
NG
8636(define-public ghc-jira-wiki-markup
8637 (package
8638 (name "ghc-jira-wiki-markup")
8639 (version "1.0.0")
8640 (source
8641 (origin
8642 (method url-fetch)
8643 (uri (string-append
8644 "https://hackage.haskell.org/package/jira-wiki-markup/"
8645 "jira-wiki-markup-" version ".tar.gz"))
8646 (sha256
8647 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8648 (build-system haskell-build-system)
8649 (native-inputs
8650 `(("ghc-tasty" ,ghc-tasty)
8651 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8652 (home-page "https://github.com/tarleb/jira-wiki-markup")
8653 (synopsis "Handle Jira wiki markup")
8654 (description
8655 "Parse jira wiki text into an abstract syntax tree for easy transformation
8656to other formats.")
8657 (license license:expat)))
8658
20690771
NG
8659(define-public ghc-emojis
8660 (package
8661 (name "ghc-emojis")
8662 (version "0.1")
8663 (source
8664 (origin
8665 (method url-fetch)
8666 (uri (string-append
8667 "https://hackage.haskell.org/package/emojis/"
8668 "emojis-" version ".tar.gz"))
8669 (sha256
8670 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8671 (build-system haskell-build-system)
8672 (native-inputs
8673 `(("ghc-hunit" ,ghc-hunit)))
8674 (home-page "https://github.com/jgm/emojis#readme")
8675 (synopsis "Conversion between emoji characters and their names.")
8676 (description
8677 "This package provides functions for converting emoji names to emoji
8678characters and vice versa.
8679
8680How does it differ from the @code{emoji} package?
8681@itemize
8682@item It supports a fuller range of emojis, including all those supported by
8683GitHub
8684@item It supports lookup of emoji aliases from emoji
8685@item It uses Text rather than String
8686@item It has a lighter dependency footprint: in particular, it does not
8687require aeson
8688@item It does not require TemplateHaskell
8689@end itemize")
8690 (license license:bsd-3)))
8691
e90a06fc
NG
8692(define-public ghc-text-conversions
8693 (package
8694 (name "ghc-text-conversions")
8695 (version "0.3.0")
8696 (source
8697 (origin
8698 (method url-fetch)
8699 (uri (string-append
8700 "https://hackage.haskell.org/package/text-conversions/"
8701 "text-conversions-" version ".tar.gz"))
8702 (sha256
8703 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8704 (build-system haskell-build-system)
8705 (inputs
8706 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8707 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8708 ("ghc-errors" ,ghc-errors)))
8709 (native-inputs
8710 `(("ghc-hspec" ,ghc-hspec)
27b09f3a 8711 ("hspec-discover" ,hspec-discover)))
e90a06fc
NG
8712 (home-page "https://github.com/cjdev/text-conversions#readme")
8713 (synopsis "Safe conversions between textual types")
8714 (description "Safe conversions between textual types")
8715 (license license:isc)))
8716
ba7cbae3
NG
8717(define-public ghc-doclayout
8718 (package
8719 (name "ghc-doclayout")
8720 (version "0.3")
8721 (source
8722 (origin
8723 (method url-fetch)
8724 (uri (string-append
8725 "https://hackage.haskell.org/package/doclayout/"
8726 "doclayout-" version ".tar.gz"))
8727 (sha256
8728 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8729 (build-system haskell-build-system)
8730 (inputs
8731 `(("ghc-safe" ,ghc-safe)))
8732 (native-inputs
8733 `(("ghc-tasty" ,ghc-tasty)
8734 ("ghc-tasty-golden" ,ghc-tasty-golden)
8735 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8736 (home-page "https://github.com/jgm/doclayout")
8737 (synopsis "Pretty-printing library for laying out text documents")
8738 (description
8739 "doclayout is a pretty-printing library for laying out text documents,
8740with several features not present in pretty-printing libraries designed for
8741code. It was designed for use in @code{Pandoc}.")
8742 (license license:bsd-3)))
8743
dddbc90c
RV
8744(define-public ghc-pandoc
8745 (package
8746 (name "ghc-pandoc")
d9b1567a 8747 (version "2.7.3")
dddbc90c
RV
8748 (source
8749 (origin
8750 (method url-fetch)
8751 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8752 version ".tar.gz"))
d9b1567a
TS
8753 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8754 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8755 (sha256
8756 (base32
d9b1567a 8757 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8758 (build-system haskell-build-system)
dddbc90c
RV
8759 (inputs
8760 `(("ghc-aeson" ,ghc-aeson)
8761 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8762 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8763 ("ghc-blaze-html" ,ghc-blaze-html)
8764 ("ghc-blaze-markup" ,ghc-blaze-markup)
8765 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8766 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8767 ("ghc-diff" ,ghc-diff)
8768 ("ghc-doctemplates" ,ghc-doctemplates)
8769 ("ghc-executable-path" ,ghc-executable-path)
8770 ("ghc-glob" ,ghc-glob)
8771 ("ghc-haddock-library" ,ghc-haddock-library)
8772 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8773 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8774 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8775 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8776 ("ghc-http" ,ghc-http)
8777 ("ghc-http-client" ,ghc-http-client)
8778 ("ghc-http-client-tls" ,ghc-http-client-tls)
8779 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8780 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8781 ("ghc-juicypixels" ,ghc-juicypixels)
8782 ("ghc-network" ,ghc-network)
8783 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8784 ("ghc-pandoc-types" ,ghc-pandoc-types)
8785 ("ghc-random" ,ghc-random)
8786 ("ghc-scientific" ,ghc-scientific)
8787 ("ghc-sha" ,ghc-sha)
8788 ("ghc-skylighting" ,ghc-skylighting)
8789 ("ghc-split" ,ghc-split)
8790 ("ghc-syb" ,ghc-syb)
8791 ("ghc-tagsoup" ,ghc-tagsoup)
8792 ("ghc-temporary" ,ghc-temporary)
8793 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8794 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8795 ("ghc-unordered-containers" ,ghc-unordered-containers)
8796 ("ghc-vector" ,ghc-vector)
8797 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8798 ("ghc-zip-archive" ,ghc-zip-archive)
8799 ("ghc-zlib" ,ghc-zlib)))
8800 (native-inputs
8801 `(("ghc-tasty" ,ghc-tasty)
8802 ("ghc-tasty-golden" ,ghc-tasty-golden)
8803 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8804 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8805 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8806 ("ghc-quickcheck" ,ghc-quickcheck)
8807 ("ghc-hunit" ,ghc-hunit)))
8808 (home-page "https://pandoc.org")
8809 (synopsis "Conversion between markup formats")
8810 (description
8811 "Pandoc is a Haskell library for converting from one markup format to
8812another, and a command-line tool that uses this library. It can read and
8813write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8814LaTeX, DocBook, and many more.
8815
8816Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8817definition lists, tables, and other features. A compatibility mode is
8818provided for those who need a drop-in replacement for Markdown.pl.")
8819 (license license:gpl2+)))
8820
8821(define-public ghc-pandoc-citeproc
8822 (package
8823 (name "ghc-pandoc-citeproc")
2da02d09 8824 (version "0.16.2")
dddbc90c
RV
8825 (source
8826 (origin
8827 (method url-fetch)
8828 (uri (string-append "https://hackage.haskell.org/package/"
8829 "pandoc-citeproc/pandoc-citeproc-"
8830 version ".tar.gz"))
8831 (sha256
8832 (base32
2da02d09 8833 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8834 (build-system haskell-build-system)
8835 (arguments
8836 `(#:phases
8837 (modify-phases %standard-phases
8838 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8839 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8840 (add-before 'configure 'patch-tests
8841 (lambda _
8842 (substitute* "tests/test-pandoc-citeproc.hs"
8843 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8844 "let allTests = citeprocTests"))))
8845 ;; Tests need to be run after installation.
8846 (delete 'check)
8847 (add-after 'install 'post-install-check
8848 (assoc-ref %standard-phases 'check)))))
8849 (inputs
8850 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8851 ("ghc-pandoc" ,ghc-pandoc)
8852 ("ghc-tagsoup" ,ghc-tagsoup)
8853 ("ghc-aeson" ,ghc-aeson)
8854 ("ghc-vector" ,ghc-vector)
8855 ("ghc-xml-conduit" ,ghc-xml-conduit)
8856 ("ghc-unordered-containers" ,ghc-unordered-containers)
8857 ("ghc-data-default" ,ghc-data-default)
8858 ("ghc-setenv" ,ghc-setenv)
8859 ("ghc-split" ,ghc-split)
8860 ("ghc-yaml" ,ghc-yaml)
8861 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8862 ("ghc-rfc5051" ,ghc-rfc5051)
8863 ("ghc-syb" ,ghc-syb)
8864 ("ghc-old-locale" ,ghc-old-locale)
8865 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8866 ("ghc-attoparsec" ,ghc-attoparsec)
8867 ("ghc-temporary" ,ghc-temporary)))
8868 (home-page "https://github.com/jgm/pandoc-citeproc")
8869 (synopsis "Library for using pandoc with citeproc")
8870 (description
8871 "The @code{pandoc-citeproc} library exports functions for using the
8872citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8873rendering bibliographic reference citations into a variety of styles using a
8874macro language called @dfn{Citation Style Language} (CSL). This package also
8875contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8876and also has a mode for converting bibliographic databases a YAML format
8877suitable for inclusion in pandoc YAML metadata.")
8878 (license license:bsd-3)))
8879
8880(define-public ghc-pandoc-types
8881 (package
8882 (name "ghc-pandoc-types")
0eaa88c8 8883 (version "1.17.6.1")
dddbc90c
RV
8884 (source (origin
8885 (method url-fetch)
8886 (uri (string-append "https://hackage.haskell.org/package/"
8887 "pandoc-types/pandoc-types-"
8888 version ".tar.gz"))
8889 (sha256
8890 (base32
0eaa88c8 8891 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8892 (build-system haskell-build-system)
8893 (inputs
8894 `(("ghc-syb" ,ghc-syb)
8895 ("ghc-aeson" ,ghc-aeson)
8896 ("ghc-string-qq" ,ghc-string-qq)))
8897 (native-inputs
8898 `(("ghc-quickcheck" ,ghc-quickcheck)
8899 ("ghc-test-framework" ,ghc-test-framework)
8900 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8901 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8902 ("ghc-hunit" ,ghc-hunit)))
d48b5c8a 8903 (home-page "https://johnmacfarlane.net/pandoc")
dddbc90c
RV
8904 (synopsis "Types for representing a structured document")
8905 (description
8906 "This module defines the @code{Pandoc} data structure, which is used by
8907pandoc to represent structured documents. It also provides functions for
8908building up, manipulating and serialising @code{Pandoc} structures.")
8909 (license license:bsd-3)))
8910
8911(define-public ghc-parallel
8912 (package
8913 (name "ghc-parallel")
8914 (version "3.2.2.0")
534d6caa 8915 (outputs '("out" "static" "doc"))
dddbc90c
RV
8916 (source
8917 (origin
8918 (method url-fetch)
8919 (uri (string-append
8920 "https://hackage.haskell.org/package/parallel/parallel-"
8921 version
8922 ".tar.gz"))
8923 (sha256
8924 (base32
8925 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8926 (build-system haskell-build-system)
8927 (home-page "https://hackage.haskell.org/package/parallel")
8928 (synopsis "Parallel programming library")
8929 (description
8930 "This package provides a library for parallel programming.")
8931 (license license:bsd-3)))
8932
8933(define-public ghc-parsec-numbers
8934 (package
8935 (name "ghc-parsec-numbers")
8936 (version "0.1.0")
8937 (source
8938 (origin
8939 (method url-fetch)
8940 (uri (string-append "https://hackage.haskell.org/package/"
8941 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8942 (sha256
8943 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8944 (build-system haskell-build-system)
8945 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8946 (synopsis "Utilities for parsing numbers from strings")
8947 (description
8948 "This package provides the number parsers without the need to use a large
8949(and unportable) token parser.")
8950 (license license:bsd-3)))
8951
8952(define-public ghc-parser-combinators
8953 (package
8954 (name "ghc-parser-combinators")
2f173160 8955 (version "1.1.0")
dddbc90c
RV
8956 (source
8957 (origin
8958 (method url-fetch)
8959 (uri (string-append "https://hackage.haskell.org/package/"
8960 "parser-combinators/parser-combinators-"
8961 version ".tar.gz"))
8962 (sha256
8963 (base32
2f173160 8964 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8965 (build-system haskell-build-system)
8966 (home-page "https://github.com/mrkkrp/parser-combinators")
8967 (synopsis "Commonly useful parser combinators")
8968 (description
8969 "This is a lightweight package providing commonly useful parser
8970combinators.")
8971 (license license:bsd-3)))
8972
8973(define-public ghc-parsers
8974 (package
8975 (name "ghc-parsers")
6818f970 8976 (version "0.12.10")
dddbc90c
RV
8977 (source
8978 (origin
8979 (method url-fetch)
8980 (uri (string-append
8981 "https://hackage.haskell.org/package/parsers/parsers-"
8982 version
8983 ".tar.gz"))
8984 (sha256
8985 (base32
6818f970 8986 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8987 (build-system haskell-build-system)
8988 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8989 ; -package attoparsec-0.13.0.1"
8990 (inputs
8991 `(("ghc-base-orphans" ,ghc-base-orphans)
8992 ("ghc-attoparsec" ,ghc-attoparsec)
8993 ("ghc-scientific" ,ghc-scientific)
8994 ("ghc-charset" ,ghc-charset)
8995 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8996 (home-page "https://github.com/ekmett/parsers/")
8997 (synopsis "Parsing combinators")
8998 (description "This library provides convenient combinators for working
8999with and building parsing combinator libraries. Given a few simple instances,
9000you get access to a large number of canned definitions. Instances exist for
9001the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
9002@code{Text.Read}.")
9003 (license license:bsd-3)))
9004
9005(define-public ghc-path
9006 (package
9007 (name "ghc-path")
9008 (version "0.6.1")
9009 (source
9010 (origin
9011 (method url-fetch)
9012 (uri (string-append
9013 "https://hackage.haskell.org/package/path/path-"
9014 version
9015 ".tar.gz"))
9016 (sha256
9017 (base32
9018 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
9019 (build-system haskell-build-system)
9020 (arguments
9021 ;; TODO: There are some Windows-related tests and modules that need to be
9022 ;; danced around.
9023 `(#:tests? #f
9024 #:cabal-revision
9025 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
9026 (inputs
9027 `(("ghc-aeson" ,ghc-aeson)
9028 ("ghc-exceptions" ,ghc-exceptions)
9029 ("ghc-hashable" ,ghc-hashable)))
9030 (native-inputs
9031 `(("ghc-hspec" ,ghc-hspec)
9032 ("ghc-quickcheck" ,ghc-quickcheck)
9033 ("ghc-genvalidity" ,ghc-genvalidity)
9034 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
9035 ("ghc-hspec" ,ghc-hspec)
9036 ("ghc-validity" ,ghc-validity)))
9037 (home-page
3ef91e15 9038 "https://hackage.haskell.org/package/path")
dddbc90c
RV
9039 (synopsis "Support for well-typed paths")
9040 (description "This package introduces a type for paths upholding useful
9041invariants.")
9042 (license license:bsd-3)))
9043
9044(define-public ghc-path-io
9045 (package
9046 (name "ghc-path-io")
a06613ea 9047 (version "1.4.2")
dddbc90c
RV
9048 (source
9049 (origin
9050 (method url-fetch)
9051 (uri (string-append
9052 "https://hackage.haskell.org/package/path-io/path-io-"
9053 version
9054 ".tar.gz"))
9055 (sha256
9056 (base32
a06613ea 9057 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
9058 (build-system haskell-build-system)
9059 (inputs
9060 `(("ghc-dlist" ,ghc-dlist)
9061 ("ghc-exceptions" ,ghc-exceptions)
9062 ("ghc-path" ,ghc-path)
9063 ("ghc-transformers-base" ,ghc-transformers-base)
9064 ("ghc-unix-compat" ,ghc-unix-compat)
9065 ("ghc-temporary" ,ghc-temporary)))
9066 (native-inputs
9067 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
9068 (home-page
9069 "https://github.com/mrkkrp/path-io")
9070 (synopsis "Functions for manipulating well-typed paths")
9071 (description "This package provides an interface to the @code{directory}
9072package for users of @code{path}. It also implements some missing stuff like
9073recursive scanning and copying of directories, working with temporary
9074files/directories, and more.")
9075 (license license:bsd-3)))
9076
9077(define-public ghc-paths
9078 (package
9079 (name "ghc-paths")
9a8adeb1 9080 (version "0.1.0.12")
534d6caa 9081 (outputs '("out" "static" "doc"))
dddbc90c
RV
9082 (source
9083 (origin
9084 (method url-fetch)
9085 (uri (string-append
9086 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
9087 version
9088 ".tar.gz"))
9089 (sha256
9090 (base32
9a8adeb1 9091 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
9092 (build-system haskell-build-system)
9093 (home-page "https://github.com/simonmar/ghc-paths")
9094 (synopsis
9095 "Knowledge of GHC's installation directories")
9096 (description
9097 "Knowledge of GHC's installation directories.")
9098 (license license:bsd-3)))
9099
9100(define-public ghc-patience
9101 (package
9102 (name "ghc-patience")
484476f3 9103 (version "0.3")
dddbc90c
RV
9104 (source
9105 (origin
9106 (method url-fetch)
9107 (uri (string-append
9108 "https://hackage.haskell.org/package/patience/patience-"
9109 version ".tar.gz"))
9110 (sha256
9111 (base32
484476f3 9112 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
9113 (build-system haskell-build-system)
9114 (home-page "https://hackage.haskell.org/package/patience")
9115 (synopsis "Patience diff and longest increasing subsequence")
9116 (description
9117 "This library implements the 'patience diff' algorithm, as well as the
9118patience algorithm for the longest increasing subsequence problem.
9119Patience diff computes the difference between two lists, for example the lines
9120of two versions of a source file. It provides a good balance between
9121performance, nice output for humans, and simplicity of implementation.")
9122 (license license:bsd-3)))
9123
25a221a8
JS
9124(define-public ghc-pattern-arrows
9125 (package
9126 (name "ghc-pattern-arrows")
9127 (version "0.0.2")
9128 (source
9129 (origin
9130 (method url-fetch)
9131 (uri (string-append
9132 "mirror://hackage/package/pattern-arrows/pattern-arrows-"
9133 version
9134 ".tar.gz"))
9135 (sha256
9136 (base32
9137 "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
9138 (build-system haskell-build-system)
9139 (home-page
9140 "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
9141 (synopsis "Arrows for Pretty Printing")
9142 (description
9143 "A library for generating concise pretty printers based on precedence
9144rules.")
9145 (license license:expat)))
9146
dddbc90c
RV
9147(define-public ghc-pcre-light
9148 (package
9149 (name "ghc-pcre-light")
9150 (version "0.4.0.4")
9151 (source
9152 (origin
9153 (method url-fetch)
9154 (uri (string-append
9155 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
9156 version
9157 ".tar.gz"))
9158 (sha256
9159 (base32
9160 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
9161 (build-system haskell-build-system)
9162 (inputs
9163 `(("pcre" ,pcre)))
9164 (native-inputs
9165 `(("pkg-config" ,pkg-config)))
9166 (home-page "https://github.com/Daniel-Diaz/pcre-light")
9167 (synopsis "Haskell library for Perl 5 compatible regular expressions")
9168 (description "This package provides a small, efficient, and portable regex
9169library for Perl 5 compatible regular expressions. The PCRE library is a set
9170of functions that implement regular expression pattern matching using the same
9171syntax and semantics as Perl 5.")
9172 (license license:bsd-3)))
9173
9174(define-public ghc-persistent
9175 (package
9176 (name "ghc-persistent")
8c9697a9 9177 (version "2.10.4")
dddbc90c
RV
9178 (source
9179 (origin
9180 (method url-fetch)
8c9697a9
ASM
9181 (uri (string-append
9182 "https://hackage.haskell.org/package/persistent/"
9183 "persistent-" version ".tar.gz"))
dddbc90c
RV
9184 (sha256
9185 (base32
8c9697a9 9186 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
dddbc90c 9187 (build-system haskell-build-system)
8c9697a9
ASM
9188 (inputs
9189 `(("ghc-aeson" ,ghc-aeson)
9190 ("ghc-attoparsec" ,ghc-attoparsec)
9191 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9192 ("ghc-blaze-html" ,ghc-blaze-html)
9193 ("ghc-conduit" ,ghc-conduit)
9194 ("ghc-fast-logger" ,ghc-fast-logger)
9195 ("ghc-http-api-data" ,ghc-http-api-data)
9196 ("ghc-monad-logger" ,ghc-monad-logger)
9197 ("ghc-path-pieces" ,ghc-path-pieces)
9198 ("ghc-resource-pool" ,ghc-resource-pool)
9199 ("ghc-resourcet" ,ghc-resourcet)
9200 ("ghc-scientific" ,ghc-scientific)
9201 ("ghc-silently" ,ghc-silently)
9202 ("ghc-unliftio-core" ,ghc-unliftio-core)
9203 ("ghc-unliftio" ,ghc-unliftio)
9204 ("ghc-unordered-containers"
9205 ,ghc-unordered-containers)
9206 ("ghc-vector" ,ghc-vector)))
dddbc90c
RV
9207 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9208 (home-page "https://www.yesodweb.com/book/persistent")
9209 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9210 (description "This Haskell package allows Haskell programs to access data
9211storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
9212way.")
9213 (license license:expat)))
9214
9215(define-public ghc-persistent-sqlite
9216 (package
9217 (name "ghc-persistent-sqlite")
78858787 9218 (version "2.10.5.2")
dddbc90c
RV
9219 (source
9220 (origin
9221 (method url-fetch)
78858787
ASM
9222 (uri (string-append
9223 "https://hackage.haskell.org/package/persistent-sqlite/"
9224 "persistent-sqlite-" version ".tar.gz"))
dddbc90c
RV
9225 (sha256
9226 (base32
78858787 9227 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
dddbc90c 9228 (build-system haskell-build-system)
78858787
ASM
9229 (inputs
9230 `(("ghc-persistent" ,ghc-persistent)
9231 ("ghc-aeson" ,ghc-aeson)
9232 ("ghc-conduit" ,ghc-conduit)
9233 ("ghc-microlens-th" ,ghc-microlens-th)
9234 ("ghc-monad-logger" ,ghc-monad-logger)
9235 ("ghc-resource-pool" ,ghc-resource-pool)
9236 ("ghc-resourcet" ,ghc-resourcet)
9237 ("ghc-unliftio-core" ,ghc-unliftio-core)
9238 ("ghc-unordered-containers"
9239 ,ghc-unordered-containers)))
9240 (native-inputs
9241 `(("ghc-persistent-template"
9242 ,ghc-persistent-template)
9243 ("ghc-persistent-test" ,ghc-persistent-test)
9244 ("ghc-exceptions" ,ghc-exceptions)
9245 ("ghc-fast-logger" ,ghc-fast-logger)
9246 ("ghc-hspec" ,ghc-hspec)
9247 ("ghc-hunit" ,ghc-hunit)
9248 ("ghc-quickcheck" ,ghc-quickcheck)
9249 ("ghc-system-fileio" ,ghc-system-fileio)
9250 ("ghc-system-filepath" ,ghc-system-filepath)
9251 ("ghc-temporary" ,ghc-temporary)))
dddbc90c
RV
9252 (home-page
9253 "https://www.yesodweb.com/book/persistent")
9254 (synopsis "Backend for the persistent library using sqlite3")
9255 (description "This Haskell package includes a thin sqlite3 wrapper based
9256on the direct-sqlite package, as well as the entire C library, so there are no
9257system dependencies.")
9258 (license license:expat)))
9259
9260(define-public ghc-persistent-template
9261 (package
9262 (name "ghc-persistent-template")
d5378e98 9263 (version "2.8.0")
dddbc90c
RV
9264 (source
9265 (origin
9266 (method url-fetch)
d5378e98
ASM
9267 (uri (string-append
9268 "https://hackage.haskell.org/package/persistent-template/"
9269 "persistent-template-" version ".tar.gz"))
dddbc90c
RV
9270 (sha256
9271 (base32
d5378e98 9272 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
dddbc90c 9273 (build-system haskell-build-system)
d5378e98
ASM
9274 (inputs
9275 `(("ghc-persistent" ,ghc-persistent)
9276 ("ghc-aeson" ,ghc-aeson)
9277 ("ghc-http-api-data" ,ghc-http-api-data)
9278 ("ghc-monad-control" ,ghc-monad-control)
9279 ("ghc-monad-logger" ,ghc-monad-logger)
9280 ("ghc-path-pieces" ,ghc-path-pieces)
9281 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
9282 ("ghc-unordered-containers"
9283 ,ghc-unordered-containers)))
9284 (native-inputs
9285 `(("ghc-hspec" ,ghc-hspec)
9286 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
9287 (home-page "https://www.yesodweb.com/book/persistent")
9288 (synopsis "Type-safe, non-relational, multi-backend persistence")
9289 (description "This Haskell package provides interfaces and helper
9290functions for the ghc-persistent package.")
9291 (license license:expat)))
9292
ce32f7c7
ASM
9293(define-public ghc-persistent-test
9294 (package
9295 (name "ghc-persistent-test")
9296 (version "2.0.3.1")
9297 (source
9298 (origin
9299 (method url-fetch)
9300 (uri (string-append
9301 "https://hackage.haskell.org/package/persistent-test/"
9302 "persistent-test-" version ".tar.gz"))
9303 (sha256
9304 (base32
9305 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
9306 (build-system haskell-build-system)
9307 (inputs
9308 `(("ghc-aeson" ,ghc-aeson)
9309 ("ghc-blaze-html" ,ghc-blaze-html)
9310 ("ghc-conduit" ,ghc-conduit)
9311 ("ghc-monad-control" ,ghc-monad-control)
9312 ("ghc-monad-logger" ,ghc-monad-logger)
9313 ("ghc-path-pieces" ,ghc-path-pieces)
9314 ("ghc-persistent" ,ghc-persistent)
9315 ("ghc-persistent-template" ,ghc-persistent-template)
9316 ("ghc-random" ,ghc-random)
9317 ("ghc-resourcet" ,ghc-resourcet)
9318 ("ghc-transformers-base" ,ghc-transformers-base)
9319 ("ghc-unliftio" ,ghc-unliftio)
9320 ("ghc-unliftio-core" ,ghc-unliftio-core)
9321 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9322 (native-inputs
9323 `(("ghc-quickcheck" ,ghc-quickcheck)
9324 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9325 ("ghc-hspec" ,ghc-hspec)
9326 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
9327 ("ghc-hunit" ,ghc-hunit)))
9328 (home-page "https://www.yesodweb.com/book/persistent")
9329 (synopsis "Tests for the Persistent database library")
9330 (description
9331 "This is only for use in developing libraries that should conform to
9332the persistent interface, not for users of the persistent suite of database
9333libraries.")
9334 (license license:expat)))
9335
0fb34235
JS
9336(define-public ghc-pgp-wordlist
9337 (package
9338 (name "ghc-pgp-wordlist")
9339 (version "0.1.0.3")
9340 (source
9341 (origin
9342 (method url-fetch)
9343 (uri (string-append
9344 "mirror://hackage/package/pgp-wordlist/pgp-wordlist-"
9345 version
9346 ".tar.gz"))
9347 (sha256
9348 (base32
9349 "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg"))))
9350 (build-system haskell-build-system)
9351 (inputs
9352 `(("ghc-vector" ,ghc-vector)))
9353 (native-inputs
9354 `(("ghc-hunit" ,ghc-hunit)
9355 ("ghc-tasty" ,ghc-tasty)
9356 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9357 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9358 ("ghc-doctest" ,ghc-doctest)))
9359 (home-page
9360 "https://github.com/quchen/pgp-wordlist")
9361 (synopsis
9362 "Translate between binary data and a human-readable collection of words")
9363 (description
9364 "The PGP Word List consists of two phonetic alphabets, each with one word
9365per possible byte value. A string of bytes is translated with these
9366alphabets, alternating between them at each byte.
9367
9368The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway
9369spellbind headwaters\", for example.
9370
9371For further information, see
9372@url{http://en.wikipedia.org/wiki/PGP_word_list}.")
9373 (license license:bsd-3)))
9374
4639fa32
ASM
9375(define-public ghc-pipes
9376 (package
9377 (name "ghc-pipes")
9378 (version "4.3.13")
9379 (source
9380 (origin
9381 (method url-fetch)
9382 (uri (string-append
9383 "https://hackage.haskell.org/package/pipes/"
9384 "pipes-" version ".tar.gz"))
9385 (sha256
9386 (base32
9387 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
9388 (build-system haskell-build-system)
9389 (inputs
9390 `(("ghc-exceptions" ,ghc-exceptions)
9391 ("ghc-mmorph" ,ghc-mmorph)
9392 ("ghc-void" ,ghc-void)
9393 ("ghc-semigroups" ,ghc-semigroups)))
9394 (native-inputs
9395 `(("ghc-quickcheck" ,ghc-quickcheck)
9396 ("ghc-test-framework" ,ghc-test-framework)
9397 ("ghc-test-framework-quickcheck2"
9398 ,ghc-test-framework-quickcheck2)))
9399 (home-page
9400 "https://hackage.haskell.org/package/pipes")
9401 (synopsis "Compositional pipelines")
9402 (description
9403 "A clean and powerful stream processing library that lets you build
9404and connect reusable streaming components. Advantages over traditional streaming
9405libraries:
9406@itemize
9407@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
9408and @code{yield}
9409@item Blazing fast: Implementation tuned for speed, including shortcut fusion
9410@item Lightweight Dependency: pipes is small and compiles very rapidly, including
9411dependencies
9412@item Elegant semantics: Use practical category theory
9413@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
9414@item Bidirectionality: Implement duplex channels
9415@end itemize")
9416 (license license:bsd-3)))
9417
451775a5
ASM
9418(define-public ghc-pointedlist
9419 (package
9420 (name "ghc-pointedlist")
9421 (version "0.6.1")
9422 (source
9423 (origin
9424 (method url-fetch)
9425 (uri (string-append
9426 "https://hackage.haskell.org/package/pointedlist/"
9427 "pointedlist-" version ".tar.gz"))
9428 (sha256
9429 (base32
9430 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
9431 (build-system haskell-build-system)
9432 (home-page
3ef91e15 9433 "https://hackage.haskell.org/package/pointedlist")
451775a5
ASM
9434 (synopsis
9435 "Zipper-like comonad which works as a list, tracking a position")
9436 (description
9437 "A PointedList tracks the position in a non-empty list which works
9438similarly to a zipper. A current item is always required, and therefore
9439the list may never be empty. A circular PointedList wraps around to the
9440other end when progressing past the actual edge.")
9441 (license license:bsd-3)))
9442
dddbc90c
RV
9443(define-public ghc-polyparse
9444 (package
9445 (name "ghc-polyparse")
9822b9ca 9446 (version "1.12.1")
dddbc90c
RV
9447 (source
9448 (origin
9449 (method url-fetch)
9450 (uri (string-append
9451 "https://hackage.haskell.org/package/polyparse/polyparse-"
9452 version
9453 ".tar.gz"))
9454 (sha256
9455 (base32
9822b9ca 9456 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
9457 (build-system haskell-build-system)
9458 (home-page
9459 "http://code.haskell.org/~malcolm/polyparse/")
9460 (synopsis
9461 "Alternative parser combinator libraries")
9462 (description
9463 "This package provides a variety of alternative parser combinator
9464libraries, including the original HuttonMeijer set. The Poly sets have
9465features like good error reporting, arbitrary token type, running state, lazy
9466parsing, and so on. Finally, Text.Parse is a proposed replacement for the
9467standard Read class, for better deserialisation of Haskell values from
9468Strings.")
9469 (license license:lgpl2.1)))
9470
9471(define-public ghc-pqueue
9472 (package
9473 (name "ghc-pqueue")
142415b0 9474 (version "1.4.1.2")
dddbc90c
RV
9475 (source
9476 (origin
9477 (method url-fetch)
9478 (uri (string-append "https://hackage.haskell.org/package/"
9479 "pqueue/pqueue-" version ".tar.gz"))
9480 (sha256
9481 (base32
142415b0 9482 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
9483 (build-system haskell-build-system)
9484 (native-inputs
9485 `(("ghc-quickcheck" ,ghc-quickcheck)))
9486 (home-page "https://hackage.haskell.org/package/pqueue")
9487 (synopsis "Reliable, persistent, fast priority queues")
9488 (description
9489 "This package provides a fast, reliable priority queue implementation
9490based on a binomial heap.")
9491 (license license:bsd-3)))
9492
9493(define-public ghc-prelude-extras
9494 (package
9495 (name "ghc-prelude-extras")
9496 (version "0.4.0.3")
9497 (source
9498 (origin
9499 (method url-fetch)
9500 (uri (string-append
9501 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
9502 version
9503 ".tar.gz"))
9504 (sha256
9505 (base32
9506 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
9507 (build-system haskell-build-system)
9508 (home-page "https://github.com/ekmett/prelude-extras")
9509 (synopsis "Higher order versions of Prelude classes")
9510 (description "This library provides higher order versions of
9511@code{Prelude} classes to ease programming with polymorphic recursion and
9512reduce @code{UndecidableInstances}.")
9513 (license license:bsd-3)))
9514
9515(define-public ghc-prettyclass
9516 (package
9517 (name "ghc-prettyclass")
9518 (version "1.0.0.0")
9519 (source
9520 (origin
9521 (method url-fetch)
9522 (uri (string-append "https://hackage.haskell.org/package/"
9523 "prettyclass/prettyclass-" version ".tar.gz"))
9524 (sha256
9525 (base32
9526 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9527 (build-system haskell-build-system)
3ef91e15 9528 (home-page "https://hackage.haskell.org/package/prettyclass")
dddbc90c
RV
9529 (synopsis "Pretty printing class similar to Show")
9530 (description "This package provides a pretty printing class similar
9531to @code{Show}, based on the HughesPJ pretty printing library. It
9532provides the pretty printing class and instances for the Prelude
9533types.")
9534 (license license:bsd-3)))
9535
2fad2bf7
JS
9536(define-public ghc-prettyprinter
9537 (package
9538 (name "ghc-prettyprinter")
9539 (version "1.2.1.1")
9540 (source
9541 (origin
9542 (method url-fetch)
9543 (uri (string-append
9544 "mirror://hackage/package/prettyprinter/prettyprinter-"
9545 version
9546 ".tar.gz"))
9547 (sha256
9548 (base32 "1p9c3q55hba4c0zyxc624g5df7wgsclpsmd8wqpdnmib882q9d1v"))))
9549 (build-system haskell-build-system)
9550 (native-inputs
9551 `(("ghc-doctest" ,ghc-doctest)
9552 ("ghc-pgp-wordlist" ,ghc-pgp-wordlist)
9553 ("ghc-tasty" ,ghc-tasty)
9554 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9555 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9556 (home-page "https://github.com/quchen/prettyprinter")
9557 (synopsis
9558 "Modern, easy to use, well-documented, extensible pretty-printer")
9559 (description
9560 "A prettyprinter/text rendering engine. Easy to use, well-documented,
9561ANSI terminal backend exists, HTML backend is trivial to implement, no name
9562clashes, @code{Text}-based, extensible.")
9563 (license license:bsd-2)))
9564
2496e49f
JS
9565(define-public ghc-prettyprinter-1.6
9566 (package
9567 (inherit ghc-prettyprinter)
9568 (version "1.6.1")
9569 (source
9570 (origin
9571 (method url-fetch)
9572 (uri (string-append
9573 "mirror://hackage/package/prettyprinter/prettyprinter-"
9574 version
9575 ".tar.gz"))
9576 (sha256
9577 (base32 "10fphxh8lvdaw7i8jyllwmj87w02db92mf99zfw5vddp9mv6b5rz"))))
9578 (inputs
9579 `(("ghc-quickckeck-instances" , ghc-quickcheck-instances)
9580 ,@(package-inputs ghc-prettyprinter)))))
9581
b4f24d66
JS
9582(define-public ghc-prettyprinter-ansi-terminal
9583 (package
9584 (name "ghc-prettyprinter-ansi-terminal")
9585 (version "1.1.1.2")
9586 (source
9587 (origin
9588 (method url-fetch)
9589 (uri (string-append
9590 "mirror://hackage/package/prettyprinter-ansi-terminal/"
9591 "prettyprinter-ansi-terminal-" version ".tar.gz"))
9592 (sha256
9593 (base32 "0ha6vz707qzb5ky7kdsnw2zgphg2dnxrpbrxy8gaw119vwhb9q6k"))))
9594 (build-system haskell-build-system)
9595 (inputs
9596 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9597 ("ghc-prettyprinter" ,ghc-prettyprinter-1.6)))
9598 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
9599 (home-page
9600 "https://github.com/quchen/prettyprinter")
9601 (synopsis
9602 "ANSI terminal backend for the prettyprinter package")
9603 (description "ANSI terminal backend for the prettyprinter package.")
9604 (license license:bsd-2)))
9605
dddbc90c
RV
9606(define-public ghc-pretty-hex
9607 (package
9608 (name "ghc-pretty-hex")
9609 (version "1.0")
9610 (source
9611 (origin
9612 (method url-fetch)
9613 (uri (string-append "https://hackage.haskell.org/package/"
9614 "pretty-hex-" version "/"
9615 "pretty-hex-" version ".tar.gz"))
9616 (sha256
9617 (base32
9618 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9619 (build-system haskell-build-system)
9620 (home-page "https://github.com/GaloisInc/hexdump")
9621 (synopsis "Haskell library for hex dumps of ByteStrings")
9622 (description "This Haskell library generates pretty hex dumps of
9623ByteStrings in the style of other common *nix hex dump tools.")
9624 (license license:bsd-3)))
9625
9626(define-public ghc-pretty-show
9627 (package
9628 (name "ghc-pretty-show")
7683a084 9629 (version "1.9.5")
dddbc90c
RV
9630 (source
9631 (origin
9632 (method url-fetch)
9633 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9634 "pretty-show-" version ".tar.gz"))
9635 (sha256
9636 (base32
7683a084 9637 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
9638 (build-system haskell-build-system)
9639 (inputs
9640 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9641 ("ghc-happy" ,ghc-happy)))
702a1012 9642 (home-page "https://wiki.github.com/yav/pretty-show")
dddbc90c
RV
9643 (synopsis "Tools for working with derived `Show` instances")
9644 (description
9645 "This package provides a library and an executable for working with
9646derived @code{Show} instances. By using the library, derived @code{Show}
9647instances can be parsed into a generic data structure. The @code{ppsh} tool
9648uses the library to produce human-readable versions of @code{Show} instances,
9649which can be quite handy for debugging Haskell programs. We can also render
9650complex generic values into an interactive Html page, for easier
9651examination.")
9652 (license license:expat)))
9653
f011e3d6
JS
9654(define-public ghc-pretty-simple
9655 (package
9656 (name "ghc-pretty-simple")
9657 (version "2.2.0.1")
9658 (source
9659 (origin
9660 (method url-fetch)
9661 (uri (string-append
9662 "mirror://hackage/package/pretty-simple/"
9663 "pretty-simple-" version ".tar.gz"))
9664 (sha256
9665 (base32 "0wsi9235ihm15s145lxi7325vv2k4bhighc5m88kn1lk0pl81aqq"))))
9666 (build-system haskell-build-system)
9667 (inputs
9668 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9669 ("ghc-glob" ,ghc-glob)
9670 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
9671 ("ghc-aeson" ,ghc-aeson)))
9672 (native-inputs
9673 `(("ghc-doctest" ,ghc-doctest)))
9674 (home-page "https://github.com/cdepillabout/pretty-simple")
9675 (synopsis "Pretty printer for data types with a 'Show' instance")
9676 (description
9677 "Pretty-simple is a pretty printer for Haskell data types that have a
9678Show instance.")
9679 (license license:bsd-3)))
9680
dddbc90c
RV
9681(define-public ghc-primitive
9682 (package
9683 (name "ghc-primitive")
9684 (version "0.6.4.0")
534d6caa 9685 (outputs '("out" "static" "doc"))
dddbc90c
RV
9686 (source
9687 (origin
9688 (method url-fetch)
9689 (uri (string-append
9690 "https://hackage.haskell.org/package/primitive/primitive-"
9691 version
9692 ".tar.gz"))
9693 (sha256
9694 (base32
9695 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9696 (build-system haskell-build-system)
6cf0daa4
TS
9697 (arguments
9698 `(#:cabal-revision
9699 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
9700 (home-page
9701 "https://github.com/haskell/primitive")
9702 (synopsis "Primitive memory-related operations")
9703 (description
9704 "This package provides various primitive memory-related operations.")
9705 (license license:bsd-3)))
9706
21f5b9a9
JS
9707(define-public ghc-process-extras
9708 (package
9709 (name "ghc-process-extras")
9710 (version "0.7.4")
9711 (source
9712 (origin
9713 (method url-fetch)
9714 (uri
9715 (string-append
9716 "https://hackage.haskell.org/package/process-extras/"
9717 "process-extras-" version ".tar.gz"))
9718 (sha256
9719 (base32
9720 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9721 (build-system haskell-build-system)
9722 (inputs
9723 `(("ghc-data-default" ,ghc-data-default)
9724 ("ghc-generic-deriving" ,ghc-generic-deriving)
9725 ("ghc-hunit" ,ghc-hunit)
9726 ("ghc-listlike" ,ghc-listlike)))
9727 (home-page "https://github.com/seereason/process-extras")
9728 (synopsis "Extra tools for managing processes")
f74b6983 9729 (description "This package extends
21f5b9a9
JS
9730@url{http://hackage.haskell.org/package/process}. It allows you to read
9731process input and output as ByteStrings or Text, or write your own
9732ProcessOutput instance. It also provides lazy process input and output,
9733and a ProcessMaker class for more flexibility in the process creation
9734API.")
9735 (license license:expat)))
9736
dddbc90c
RV
9737(define-public ghc-profunctors
9738 (package
9739 (name "ghc-profunctors")
899b5297 9740 (version "5.3")
dddbc90c
RV
9741 (source
9742 (origin
9743 (method url-fetch)
9744 (uri (string-append
9745 "https://hackage.haskell.org/package/profunctors/profunctors-"
9746 version
9747 ".tar.gz"))
9748 (sha256
9749 (base32
899b5297 9750 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 9751 (build-system haskell-build-system)
dddbc90c
RV
9752 (inputs
9753 `(("ghc-base-orphans" ,ghc-base-orphans)
9754 ("ghc-bifunctors" ,ghc-bifunctors)
9755 ("ghc-comonad" ,ghc-comonad)
9756 ("ghc-contravariant" ,ghc-contravariant)
9757 ("ghc-distributive" ,ghc-distributive)
9758 ("ghc-semigroups" ,ghc-semigroups)
9759 ("ghc-tagged" ,ghc-tagged)))
9760 (home-page "https://github.com/ekmett/profunctors/")
9761 (synopsis "Profunctors for Haskell")
9762 (description "This library provides profunctors for Haskell.")
9763 (license license:bsd-3)))
9764
fbe32d46
ASM
9765(define-public ghc-project-template
9766 (package
9767 (name "ghc-project-template")
9768 (version "0.2.0.1")
9769 (source
9770 (origin
9771 (method url-fetch)
9772 (uri (string-append
9773 "https://hackage.haskell.org/package/project-template/project-template-"
9774 version ".tar.gz"))
9775 (sha256
9776 (base32
9777 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9778 (build-system haskell-build-system)
9779 (inputs
9780 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9781 ("ghc-conduit" ,ghc-conduit)
9782 ("ghc-conduit-extra" ,ghc-conduit-extra)
9783 ("ghc-resourcet" ,ghc-resourcet)))
9784 (native-inputs
9785 `(("ghc-hspec" ,ghc-hspec)
9786 ("hspec-discover" ,hspec-discover)
9787 ("ghc-quickcheck" ,ghc-quickcheck)))
9788 (arguments
9789 `(#:cabal-revision
9790 ("1"
9791 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9792 (home-page "https://github.com/fpco/haskell-ide")
9793 (synopsis "Specify Haskell project templates and generate files")
9794 (description
9795 "Haskell library for both generating and consuming project templates.
9796
9797ost IDEs provide the concept of a project template: instead of writing all
9798of the code for a project from scratch, you select a template, answer a few
9799questions, and a bunch of files are automatically generated.
9800
9801project-template tries to provide a canonical Haskell library for implementing
9802the ideal templating system.")
9803 (license license:bsd-3)))
9804
8a6e745d
JS
9805(define-public ghc-protolude
9806 (package
9807 (name "ghc-protolude")
9808 (version "0.2.3")
9809 (source
9810 (origin
9811 (method url-fetch)
9812 (uri (string-append
9813 "mirror://hackage/package/protolude/protolude-"
9814 version
9815 ".tar.gz"))
9816 (sha256
9817 (base32
9818 "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj"))))
9819 (build-system haskell-build-system)
9820 (inputs
9821 `(("ghc-async" ,ghc-async)
9822 ("ghc-hashable" ,ghc-hashable)
9823 ("ghc-mtl-compat" ,ghc-mtl-compat)
9824 ("ghc-transformers-compat" ,ghc-transformers-compat)))
9825 (home-page "https://github.com/protolude/protolude")
9826 (synopsis "Sensible set of defaults for writing custom Preludes")
9827 (description
9828 "Protolude gives you sensible defaults for writing custom Preludes to
9829replace the standard one provided by GHC.")
9830 (license license:expat)))
9831
cf123e32
MB
9832(define-public ghc-psqueue
9833 (package
9834 (name "ghc-psqueue")
9835 (version "1.1.0.1")
9836 (source (origin
9837 (method url-fetch)
9838 (uri (string-append "mirror://hackage/package/PSQueue-"
9839 version "/PSQueue-" version ".tar.gz"))
9840 (sha256
9841 (base32
9842 "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza"))))
9843 (build-system haskell-build-system)
9844 (home-page "https://hackage.haskell.org/package/PSQueue")
9845 (synopsis "Priority search queue")
9846 (description
9847 "A @dfn{priority search queue} efficiently supports the operations of
9848both a search tree and a priority queue. A @code{Binding} is a product of
9849a key and a priority. Bindings can be inserted, deleted, modified and queried
9850in logarithmic time, and the binding with the least priority can be retrieved
9851in constant time. A queue can be built from a list of bindings, sorted by
9852keys, in linear time.")
9853 (license license:bsd-3)))
9854
dddbc90c
RV
9855(define-public ghc-psqueues
9856 (package
9857 (name "ghc-psqueues")
5d133942 9858 (version "0.2.7.2")
dddbc90c
RV
9859 (source
9860 (origin
9861 (method url-fetch)
9862 (uri (string-append "https://hackage.haskell.org/package/"
9863 "psqueues-" version "/"
9864 "psqueues-" version ".tar.gz"))
9865 (sha256
9866 (base32
5d133942 9867 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
9868 (build-system haskell-build-system)
9869 (inputs
9870 `(("ghc-hashable" ,ghc-hashable)))
9871 (native-inputs
9872 `(("ghc-hunit" ,ghc-hunit)
9873 ("ghc-quickcheck" ,ghc-quickcheck)
9874 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
9875 ("ghc-tasty" ,ghc-tasty)
9876 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9877 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
9878 (home-page "https://github.com/jaspervdj/psqueues")
9879 (synopsis "Pure priority search queues")
9880 (description "The psqueues package provides
9881@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9882three different flavors:
9883
9884@itemize
9885@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9886fast insertion, deletion and lookup. This implementation is based on Ralf
9887Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9888Implementation Technique for Priority Search Queues}.
9889
9890Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9891PSQueue} library, although it is considerably faster and provides a slightly
9892different API.
9893
9894@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9895key type to @code{Int} and uses a
9896@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9897with an additional min-heap property.
9898
9899@item @code{HashPSQ k p v} is a fairly straightforward extension
9900of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9901@code{IntPSQ}. If there are any hash collisions, it uses an
9902@code{OrdPSQ} to resolve those. The performance of this implementation
9903is comparable to that of @code{IntPSQ}, but it is more widely
9904applicable since the keys are not restricted to @code{Int},
9905but rather to any @code{Hashable} datatype.
9906@end itemize
9907
9908Each of the three implementations provides the same API, so they can
9909be used interchangeably.
9910
9911Typical applications of Priority Search Queues include:
9912
9913@itemize
9914@item Caches, and more specifically LRU Caches;
9915@item Schedulers;
9916@item Pathfinding algorithms, such as Dijkstra's and A*.
9917@end itemize")
9918 (license license:bsd-3)))
b1dbc9f5
ASM
9919
9920(define-public ghc-pwstore-fast
9921 (package
9922 (name "ghc-pwstore-fast")
9923 (version "2.4.4")
9924 (source
9925 (origin
9926 (method url-fetch)
9927 (uri (string-append
9928 "https://hackage.haskell.org/package/pwstore-fast/"
9929 "pwstore-fast-" version ".tar.gz"))
9930 (sha256
9931 (base32
9932 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9933 (build-system haskell-build-system)
9934 (inputs
9935 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9936 ("ghc-cryptohash" ,ghc-cryptohash)
9937 ("ghc-random" ,ghc-random)
9938 ("ghc-byteable" ,ghc-byteable)))
9939 (home-page "https://github.com/PeterScott/pwstore")
9940 (synopsis "Secure password storage")
9941 (description
9942 "To store passwords securely, they should be salted, then hashed with
9943a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9944details. It uses the cryptohash package for speed; if you need a pure
9945Haskell library, pwstore-purehaskell has the exact same API, but uses only
9946pure Haskell. It is about 25 times slower than this package, but still quite
9947usable.")
9948 (license license:bsd-3)))
dddbc90c
RV
9949
9950(define-public ghc-random
9951 (package
9952 (name "ghc-random")
9953 (version "1.1")
534d6caa 9954 (outputs '("out" "static" "doc"))
dddbc90c
RV
9955 (source
9956 (origin
9957 (method url-fetch)
9958 (uri (string-append
9959 "https://hackage.haskell.org/package/random/random-"
9960 version
9961 ".tar.gz"))
9962 (sha256
9963 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9964 (build-system haskell-build-system)
9965 (home-page "https://hackage.haskell.org/package/random")
9966 (synopsis "Random number library")
9967 (description "This package provides a basic random number generation
9968library, including the ability to split random number generators.")
9969 (license license:bsd-3)))
9970
9971(define-public ghc-raw-strings-qq
9972 (package
9973 (name "ghc-raw-strings-qq")
9974 (version "1.1")
9975 (source
9976 (origin
9977 (method url-fetch)
9978 (uri (string-append "https://hackage.haskell.org/package/"
9979 "raw-strings-qq/raw-strings-qq-"
9980 version ".tar.gz"))
9981 (sha256
9982 (base32
9983 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9984 (build-system haskell-build-system)
9985 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9986 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9987 (synopsis "Raw string literals for Haskell")
9988 (description
9989 "This package provides a quasiquoter for raw string literals, i.e. string
9990literals that don't recognise the standard escape sequences. Basically, they
9991make your code more readable by freeing you from the responsibility to escape
9992backslashes. They are useful when working with regular expressions,
9993DOS/Windows paths and markup languages (such as XML).")
9994 (license license:bsd-3)))
9995
9996(define-public ghc-readable
9997 (package
9998 (name "ghc-readable")
9999 (version "0.3.1")
10000 (source
10001 (origin
10002 (method url-fetch)
10003 (uri (string-append "https://hackage.haskell.org/package/"
10004 "readable/readable-" version ".tar.gz"))
10005 (sha256
10006 (base32
10007 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
10008 (build-system haskell-build-system)
10009 (home-page "https://github.com/mightybyte/readable")
10010 (synopsis "Type class for reading from Text and ByteString")
10011 (description "This package provides a @code{Readable} type class for
10012reading data types from @code{ByteString} and @code{Text}. It also
10013includes efficient implementations for common data types.")
10014 (license license:bsd-3)))
10015
10016(define-public ghc-rebase
10017 (package
10018 (name "ghc-rebase")
8d2ae3fe 10019 (version "1.3.1.1")
dddbc90c
RV
10020 (source
10021 (origin
10022 (method url-fetch)
10023 (uri (string-append "https://hackage.haskell.org/package/"
10024 "rebase-" version "/"
10025 "rebase-" version ".tar.gz"))
10026 (sha256
10027 (base32
8d2ae3fe 10028 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
10029 (build-system haskell-build-system)
10030 (inputs `(("ghc-hashable" ,ghc-hashable)
10031 ("ghc-vector" ,ghc-vector)
10032 ("ghc-unordered-containers" ,ghc-unordered-containers)
10033 ("ghc-scientific" ,ghc-scientific)
10034 ("ghc-uuid" ,ghc-uuid)
10035 ("ghc-dlist" ,ghc-dlist)
10036 ("ghc-void" ,ghc-void)
10037 ("ghc-bifunctors" ,ghc-bifunctors)
10038 ("ghc-profunctors" ,ghc-profunctors)
10039 ("ghc-contravariant" ,ghc-contravariant)
10040 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
10041 ("ghc-semigroups" ,ghc-semigroups)
10042 ("ghc-either" ,ghc-either)
10043 ("ghc-fail" ,ghc-fail)
10044 ("ghc-base-prelude" ,ghc-base-prelude)))
10045 (home-page "https://github.com/nikita-volkov/rebase")
10046 (synopsis "Progressive alternative to the base package
10047for Haskell")
10048 (description "This Haskell package is intended for those who are
10049tired of keeping long lists of dependencies to the same essential libraries
10050in each package as well as the endless imports of the same APIs all over again.
10051
10052It also supports the modern tendencies in the language.
10053
10054To solve those problems this package does the following:
10055
10056@itemize
10057@item Reexport the original APIs under the @code{Rebase} namespace.
10058
10059@item Export all the possible non-conflicting symbols from the
10060@code{Rebase.Prelude} module.
10061
10062@item Give priority to the modern practices in the conflicting cases.
10063@end itemize
10064
10065The policy behind the package is only to reexport the non-ambiguous and
10066non-controversial APIs, which the community has obviously settled on.
10067The package is intended to rapidly evolve with the contribution from
10068the community, with the missing features being added with pull-requests.")
10069 (license license:expat)))
10070
10071(define-public ghc-reducers
10072 (package
10073 (name "ghc-reducers")
10074 (version "3.12.3")
10075 (source
10076 (origin
10077 (method url-fetch)
10078 (uri (string-append
10079 "https://hackage.haskell.org/package/reducers/reducers-"
10080 version
10081 ".tar.gz"))
10082 (sha256
10083 (base32
10084 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
10085 (build-system haskell-build-system)
10086 (inputs
10087 `(("ghc-fingertree" ,ghc-fingertree)
10088 ("ghc-hashable" ,ghc-hashable)
10089 ("ghc-unordered-containers" ,ghc-unordered-containers)
10090 ("ghc-semigroupoids" ,ghc-semigroupoids)
10091 ("ghc-semigroups" ,ghc-semigroups)))
10092 (home-page "https://github.com/ekmett/reducers/")
10093 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
10094 (description "This library provides various semigroups, specialized
10095containers and a general map/reduce framework for Haskell.")
10096 (license license:bsd-3)))
10097
10098(define-public ghc-refact
10099 (package
10100 (name "ghc-refact")
10101 (version "0.3.0.2")
10102 (source
10103 (origin
10104 (method url-fetch)
10105 (uri (string-append "https://hackage.haskell.org/package/"
10106 "refact/refact-"
10107 version ".tar.gz"))
10108 (sha256
10109 (base32
10110 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
10111 (build-system haskell-build-system)
3ef91e15 10112 (home-page "https://hackage.haskell.org/package/refact")
dddbc90c
RV
10113 (synopsis "Specify refactorings to perform with apply-refact")
10114 (description
10115 "This library provides a datatype which can be interpreted by
10116@code{apply-refact}. It exists as a separate library so that applications can
10117specify refactorings without depending on GHC.")
10118 (license license:bsd-3)))
10119
10120(define-public ghc-reflection
10121 (package
10122 (name "ghc-reflection")
d215f1cc 10123 (version "2.1.5")
dddbc90c
RV
10124 (source
10125 (origin
10126 (method url-fetch)
10127 (uri (string-append
10128 "https://hackage.haskell.org/package/reflection/reflection-"
10129 version
10130 ".tar.gz"))
10131 (sha256
10132 (base32
d215f1cc 10133 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
10134 (build-system haskell-build-system)
10135 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
10136 (native-inputs
10137 `(("ghc-hspec" ,ghc-hspec)
10138 ("ghc-quickcheck" ,ghc-quickcheck)
10139 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
10140 (home-page "https://github.com/ekmett/reflection")
10141 (synopsis "Reify arbitrary terms into types that can be reflected back
10142into terms")
10143 (description "This package addresses the 'configuration problem' which is
10144propagating configurations that are available at run-time, allowing multiple
10145configurations to coexist without resorting to mutable global variables or
10146@code{System.IO.Unsafe.unsafePerformIO}.")
10147 (license license:bsd-3)))
10148
10149(define-public ghc-regex
10150 (package
10151 (name "ghc-regex")
b9a5e634 10152 (version "1.0.2.0")
dddbc90c
RV
10153 (source
10154 (origin
10155 (method url-fetch)
10156 (uri (string-append "https://hackage.haskell.org/package/regex/"
10157 "regex-" version ".tar.gz"))
10158 (sha256
10159 (base32
b9a5e634 10160 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
10161 (build-system haskell-build-system)
10162 (arguments
10163 `(#:phases
10164 (modify-phases %standard-phases
10165 (add-after 'unpack 'relax-dependencies
10166 (lambda _
10167 (substitute* "regex.cabal"
10168 (("base-compat.*>=.*0.6.*")
10169 "base-compat >= 0.6\n")
10170 (("template-haskell.*>=.*2.7.*")
10171 "template-haskell >= 2.7\n"))
10172 #t)))))
10173 (inputs
10174 `(("ghc-base-compat" ,ghc-base-compat)
10175 ("ghc-hashable" ,ghc-hashable)
10176 ("ghc-regex-base" ,ghc-regex-base)
10177 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10178 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
10179 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
10180 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
10181 ("ghc-unordered-containers" ,ghc-unordered-containers)
10182 ("ghc-utf8-string" ,ghc-utf8-string)))
10183 (home-page "http://regex.uk")
10184 (synopsis "Toolkit for regex-base")
10185 (description
10186 "This package provides a regular expression toolkit for @code{regex-base}
10187with compile-time checking of regular expression syntax, data types for
10188matches and captures, a text replacement toolkit, portable options, high-level
10189AWK-like tools for building text processing apps, regular expression macros
10190with parsers and test bench, comprehensive documentation, tutorials and
10191copious examples.")
10192 (license license:bsd-3)))
10193
10194(define-public ghc-regex-applicative
10195 (package
10196 (name "ghc-regex-applicative")
30f60e42 10197 (version "0.3.3.1")
dddbc90c
RV
10198 (source
10199 (origin
10200 (method url-fetch)
10201 (uri (string-append
10202 "https://hackage.haskell.org/package/regex-applicative/"
10203 "regex-applicative-" version ".tar.gz"))
10204 (sha256
10205 (base32
30f60e42 10206 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
10207 (build-system haskell-build-system)
10208 (inputs
10209 `(("ghc-smallcheck" ,ghc-smallcheck)
10210 ("ghc-tasty" ,ghc-tasty)
10211 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10212 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10213 (home-page "https://github.com/feuerbach/regex-applicative")
10214 (synopsis "Regex-based parsing with applicative interface")
10215 (description
10216 "@code{regex-applicative} is a Haskell library for parsing using
10217regular expressions. Parsers can be built using Applicative interface.")
10218 (license license:expat)))
10219
10220(define-public ghc-regex-base
10221 (package
10222 (name "ghc-regex-base")
10223 (version "0.93.2")
10224 (source
10225 (origin
10226 (method url-fetch)
10227 (uri (string-append
10228 "https://hackage.haskell.org/package/regex-base/regex-base-"
10229 version
10230 ".tar.gz"))
10231 (sha256
10232 (base32
10233 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
10234 (build-system haskell-build-system)
10235 (home-page
10236 "https://sourceforge.net/projects/lazy-regex")
10237 (synopsis "Replaces/Enhances Text.Regex")
10238 (description "@code{Text.Regex.Base} provides the interface API for
10239regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
10240 (license license:bsd-3)))
10241
10242(define-public ghc-regex-compat
10243 (package
10244 (name "ghc-regex-compat")
10245 (version "0.95.1")
10246 (source
10247 (origin
10248 (method url-fetch)
10249 (uri (string-append
10250 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
10251 version
10252 ".tar.gz"))
10253 (sha256
10254 (base32
10255 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
10256 (build-system haskell-build-system)
10257 (inputs
10258 `(("ghc-regex-base" ,ghc-regex-base)
10259 ("ghc-regex-posix" ,ghc-regex-posix)))
10260 (home-page "https://sourceforge.net/projects/lazy-regex")
10261 (synopsis "Replaces/Enhances Text.Regex")
10262 (description "This library provides one module layer over
10263@code{regex-posix} to replace @code{Text.Regex}.")
10264 (license license:bsd-3)))
10265
10266(define-public ghc-regex-compat-tdfa
10267 (package
10268 (name "ghc-regex-compat-tdfa")
10269 (version "0.95.1.4")
10270 (source
10271 (origin
10272 (method url-fetch)
10273 (uri (string-append
10274 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
10275 version ".tar.gz"))
10276 (sha256
10277 (base32
10278 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
10279 (build-system haskell-build-system)
10280 (inputs
10281 `(("ghc-regex-base" ,ghc-regex-base)
10282 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10283 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
10284 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
10285 (description
10286 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
10287@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
10288This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
10289this problem.")
10290 (license license:bsd-3)))
10291
ddd79836
MB
10292(define-public ghc-regex-pcre
10293 (package
10294 (name "ghc-regex-pcre")
10295 (version "0.94.4")
10296 (source (origin
10297 (method url-fetch)
10298 (uri (string-append "https://hackage.haskell.org/package/"
10299 "regex-pcre/regex-pcre-" version ".tar.gz"))
10300 (sha256
10301 (base32
10302 "1h16w994g9s62iwkdqa7bar2n9cfixmkzz2rm8svm960qr57valf"))))
10303 (build-system haskell-build-system)
10304 (inputs
10305 `(("ghc-regex-base" ,ghc-regex-base)
10306 ("pcre" ,pcre)))
10307 (home-page "https://hackage.haskell.org/package/regex-pcre")
10308 (synopsis "Enhancement of the builtin Text.Regex library")
10309 (description
10310 "This package is an enhancement of the @code{Text.Regex} library.
10311It wraps the @code{PCRE} C library providing Perl-compatible regular
10312expressions.")
10313 (license license:bsd-3)))
10314
dddbc90c
RV
10315(define-public ghc-regex-pcre-builtin
10316 (package
10317 (name "ghc-regex-pcre-builtin")
ee946143 10318 (version "0.94.5.8.8.35")
dddbc90c
RV
10319 (source (origin
10320 (method url-fetch)
10321 (uri (string-append "https://hackage.haskell.org/package/"
10322 "regex-pcre-builtin/regex-pcre-builtin-"
10323 version ".tar.gz"))
10324 (sha256
10325 (base32
ee946143 10326 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
10327 (build-system haskell-build-system)
10328 (inputs
10329 `(("ghc-regex-base" ,ghc-regex-base)))
4723766b 10330 (home-page "https://hackage.haskell.org/package/regex-pcre-builtin")
dddbc90c
RV
10331 (synopsis "Enhancement of the builtin Text.Regex library")
10332 (description
10333 "This package is an enhancement of the @code{Text.Regex} library,
10334providing the PCRE backend to accompany regex-base, with bundled code from
10335@url{https://www.pcre.org}.")
10336 (license license:bsd-3)))
10337
10338(define-public ghc-regex-posix
10339 (package
10340 (name "ghc-regex-posix")
10341 (version "0.95.2")
10342 (source
10343 (origin
10344 (method url-fetch)
10345 (uri (string-append
10346 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
10347 version
10348 ".tar.gz"))
10349 (sha256
10350 (base32
10351 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
10352 (build-system haskell-build-system)
10353 (inputs
10354 `(("ghc-regex-base" ,ghc-regex-base)))
10355 (home-page "https://sourceforge.net/projects/lazy-regex")
10356 (synopsis "POSIX regular expressions for Haskell")
10357 (description "This library provides the POSIX regex backend used by the
10358Haskell library @code{regex-base}.")
10359 (license license:bsd-3)))
10360
10361(define-public ghc-regex-tdfa
10362 (package
10363 (name "ghc-regex-tdfa")
ce684db0 10364 (version "1.2.3.2")
dddbc90c
RV
10365 (source
10366 (origin
10367 (method url-fetch)
10368 (uri (string-append
10369 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
10370 version ".tar.gz"))
10371 (sha256
10372 (base32
ce684db0 10373 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
10374 (build-system haskell-build-system)
10375 (inputs
10376 `(("ghc-regex-base" ,ghc-regex-base)))
90b74c6f 10377 (home-page "https://github.com/haskell-hvr/regex-tdfa")
dddbc90c
RV
10378 (synopsis "POSIX extended regular expressions in Haskell.")
10379 (description
10380 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
10381extended regular expressions. It is a \"tagged\" DFA regex engine. It is
10382inspired by libtre.")
10383 (license license:bsd-3)))
10384
10385(define-public ghc-regex-tdfa-text
10386 (package
10387 (name "ghc-regex-tdfa-text")
10388 (version "1.0.0.3")
10389 (source
10390 (origin
10391 (method url-fetch)
10392 (uri (string-append
10393 "https://hackage.haskell.org/package/regex-tdfa-text/"
10394 "regex-tdfa-text-" version ".tar.gz"))
10395 (sha256
10396 (base32
10397 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
10398 (build-system haskell-build-system)
10399 (inputs
10400 `(("ghc-regex-base" ,ghc-regex-base)
10401 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10402 (home-page
3ef91e15 10403 "https://hackage.haskell.org/package/regex-tdfa-text")
dddbc90c
RV
10404 (synopsis "Text interface for regex-tdfa")
10405 (description
10406 "This provides an extra text interface for regex-tdfa.")
10407 (license license:bsd-3)))
10408
798a2df4
JS
10409(define-public ghc-repline
10410 (package
10411 (name "ghc-repline")
10412 (version "0.2.0.0")
10413 (source
10414 (origin
10415 (method url-fetch)
10416 (uri (string-append
10417 "mirror://hackage/package/repline/repline-"
10418 version
10419 ".tar.gz"))
10420 (sha256
10421 (base32
10422 "1ph21kbbanlcs8n5lwk16g9vqkb98mkbz5mzwrp8j2rls2921izc"))))
10423 (build-system haskell-build-system)
10424 (home-page "https://github.com/sdiehl/repline")
10425 (synopsis "Haskeline wrapper for GHCi-like REPL interfaces")
10426 (description
10427 "Haskeline wrapper for GHCi-like REPL interfaces. Composable with
10428normal mtl transformers.")
10429 (license license:expat)))
10430
6c0858dd
JS
10431(define-public ghc-repline-0.3
10432 (package
10433 (inherit ghc-repline)
10434 (version "0.3.0.0")
10435 (source
10436 (origin
10437 (method url-fetch)
10438 (uri (string-append
10439 "mirror://hackage/package/repline/repline-"
10440 version
10441 ".tar.gz"))
10442 (sha256
10443 (base32
10444 "0niihfyggg2qisadg7w49cr5k5qyyynia93iip0ng2bbmzwi88g8"))))
10445 (inputs
10446 `(("ghc-exceptions" ,ghc-exceptions)
10447 ("ghc-haskeline" ,ghc-haskeline-0.8)))))
10448
dddbc90c
RV
10449(define-public ghc-rerebase
10450 (package
10451 (name "ghc-rerebase")
cdec7b8c 10452 (version "1.3.1.1")
dddbc90c
RV
10453 (source
10454 (origin
10455 (method url-fetch)
10456 (uri (string-append
10457 "https://hackage.haskell.org/package/rerebase/rerebase-"
10458 version ".tar.gz"))
10459 (sha256
10460 (base32
cdec7b8c 10461 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
10462 (build-system haskell-build-system)
10463 (inputs
10464 `(("ghc-rebase" ,ghc-rebase)))
10465 (home-page "https://github.com/nikita-volkov/rerebase")
10466 (synopsis "Reexports from ``base'' with many other standard libraries")
10467 (description "A rich drop-in replacement for @code{base}. For details and
10468documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
10469the project's home page}.")
10470 (license license:expat)))
10471
10472(define-public ghc-resolv
10473 (package
10474 (name "ghc-resolv")
87309478 10475 (version "0.1.1.2")
dddbc90c
RV
10476 (source
10477 (origin
10478 (method url-fetch)
10479 (uri (string-append
10480 "https://hackage.haskell.org/package/resolv/resolv-"
10481 version ".tar.gz"))
10482 (sha256
10483 (base32
87309478 10484 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
10485 (build-system haskell-build-system)
10486 (arguments
87309478
TS
10487 `(#:phases
10488 (modify-phases %standard-phases
10489 (add-before 'configure 'update-constraints
10490 (lambda _
10491 (substitute* "resolv.cabal"
10492 (("tasty >= 1\\.1 && < 1\\.2")
10493 "tasty >= 1.1 && < 1.3"))
10494 #t)))))
dddbc90c
RV
10495 (inputs
10496 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
10497 (native-inputs
10498 `(("ghc-tasty" ,ghc-tasty)
10499 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
10500 (home-page "https://github.com/haskell/hackage-security")
10501 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
10502 (description "This package implements an API for accessing the
10503@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
10504resolver service via the standard @code{libresolv} system library (whose
10505API is often available directly via the standard @code{libc} C library) on
10506Unix systems.")
10507 (license license:gpl3)))
10508
10509(define-public ghc-resource-pool
10510 (package
10511 (name "ghc-resource-pool")
10512 (version "0.2.3.2")
10513 (source
10514 (origin
10515 (method url-fetch)
10516 (uri (string-append "https://hackage.haskell.org/package/"
10517 "resource-pool-" version "/"
10518 "resource-pool-" version ".tar.gz"))
10519 (sha256
10520 (base32
10521 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
10522 (build-system haskell-build-system)
10523 (inputs `(("ghc-hashable" ,ghc-hashable)
10524 ("ghc-monad-control" ,ghc-monad-control)
10525 ("ghc-transformers-base" ,ghc-transformers-base)
10526 ("ghc-vector" ,ghc-vector)))
10527 (home-page "https://github.com/bos/pool")
10528 (synopsis "Striped resource pooling implementation in Haskell")
10529 (description "This Haskell package provides striped pooling abstraction
10530for managing flexibly-sized collections of resources such as database
10531connections.")
10532 (license license:bsd-3)))
10533
10534(define-public ghc-resourcet
10535 (package
10536 (name "ghc-resourcet")
9ac341ac 10537 (version "1.2.2")
dddbc90c
RV
10538 (source
10539 (origin
10540 (method url-fetch)
10541 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
10542 "resourcet-" version ".tar.gz"))
10543 (sha256
10544 (base32
9ac341ac 10545 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
10546 (build-system haskell-build-system)
10547 (inputs
10548 `(("ghc-transformers-base" ,ghc-transformers-base)
10549 ("ghc-monad-control" ,ghc-monad-control)
10550 ("ghc-transformers-compat" ,ghc-transformers-compat)
10551 ("ghc-mmorph" ,ghc-mmorph)
10552 ("ghc-exceptions" ,ghc-exceptions)
10553 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10554 (native-inputs
10555 `(("ghc-lifted-base" ,ghc-lifted-base)
10556 ("ghc-hspec" ,ghc-hspec)))
10557 (home-page "https://github.com/snoyberg/conduit")
10558 (synopsis "Deterministic allocation and freeing of scarce resources")
10559 (description "ResourceT is a monad transformer which creates a region of
10560code where you can safely allocate resources.")
10561 (license license:bsd-3)))
10562
b9debc37
TS
10563(define-public ghc-retry
10564 (package
10565 (name "ghc-retry")
10566 (version "0.8.1.0")
10567 (source
10568 (origin
10569 (method url-fetch)
10570 (uri (string-append "https://hackage.haskell.org/package/"
10571 "retry/retry-" version ".tar.gz"))
10572 (sha256
10573 (base32
10574 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
10575 (build-system haskell-build-system)
10576 (inputs
10577 `(("ghc-exceptions" ,ghc-exceptions)
10578 ("ghc-random" ,ghc-random)))
10579 (native-inputs
10580 `(("ghc-hunit" ,ghc-hunit)
10581 ("ghc-tasty" ,ghc-tasty)
10582 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10583 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
10584 ("ghc-hedgehog" ,ghc-hedgehog)))
702a1012 10585 (home-page "https://github.com/Soostone/retry")
b9debc37
TS
10586 (synopsis "Retry combinators for monadic actions that may fail")
10587 (description "This package exposes combinators that can wrap
10588arbitrary monadic actions. They run the action and potentially retry
10589running it with some configurable delay for a configurable number of
10590times. The purpose is to make it easier to work with IO and especially
10591network IO actions that often experience temporary failure and warrant
10592retrying of the original action. For example, a database query may time
10593out for a while, in which case we should hang back for a bit and retry
10594the query instead of simply raising an exception.")
10595 (license license:bsd-3)))
10596
dddbc90c
RV
10597(define-public ghc-rfc5051
10598 (package
10599 (name "ghc-rfc5051")
ec42ab7c 10600 (version "0.1.0.4")
dddbc90c
RV
10601 (source
10602 (origin
10603 (method url-fetch)
10604 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
10605 "rfc5051-" version ".tar.gz"))
10606 (sha256
10607 (base32
ec42ab7c 10608 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
10609 (build-system haskell-build-system)
10610 (home-page "https://hackage.haskell.org/package/rfc5051")
10611 (synopsis "Simple unicode collation as per RFC5051")
10612 (description
10613 "This library implements @code{unicode-casemap}, the simple, non
10614locale-sensitive unicode collation algorithm described in RFC 5051. Proper
10615unicode collation can be done using @code{text-icu}, but that is a big
10616dependency that depends on a large C library, and @code{rfc5051} might be
10617better for some purposes.")
10618 (license license:bsd-3)))
10619
10620(define-public ghc-rio
10621 (package
10622 (name "ghc-rio")
8bda2fa7 10623 (version "0.1.12.0")
dddbc90c
RV
10624 (source
10625 (origin
10626 (method url-fetch)
10627 (uri (string-append
10628 "https://hackage.haskell.org/package/rio/rio-"
10629 version ".tar.gz"))
10630 (sha256
10631 (base32
8bda2fa7 10632 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
10633 (build-system haskell-build-system)
10634 (inputs
10635 `(("ghc-exceptions" ,ghc-exceptions)
10636 ("ghc-hashable" ,ghc-hashable)
10637 ("ghc-microlens" ,ghc-microlens)
10638 ("ghc-primitive" ,ghc-primitive)
10639 ("ghc-typed-process" ,ghc-typed-process)
10640 ("ghc-unliftio" ,ghc-unliftio)
10641 ("ghc-unordered-containers" ,ghc-unordered-containers)
10642 ("ghc-vector" ,ghc-vector)))
10643 (native-inputs
10644 `(("ghc-hspec" ,ghc-hspec)
10645 ("hspec-discover" ,hspec-discover)))
10646 (home-page "https://github.com/commercialhaskell/rio#readme")
10647 (synopsis "A standard library for Haskell")
10648 (description "This package works as a prelude replacement for Haskell,
10649providing more functionality and types out of the box than the standard
10650prelude (such as common data types like @code{ByteString} and
10651@code{Text}), as well as removing common ``gotchas'', like partial
10652functions and lazy I/O. The guiding principle here is:
10653@itemize
10654@item If something is safe to use in general and has no expected naming
10655conflicts, expose it.
10656@item If something should not always be used, or has naming conflicts,
10657expose it from another module in the hierarchy.
10658@end itemize")
10659 (license license:expat)))
10660
10661(define-public ghc-safe
10662 (package
10663 (name "ghc-safe")
10664 (version "0.3.17")
10665 (source
10666 (origin
10667 (method url-fetch)
10668 (uri (string-append
10669 "https://hackage.haskell.org/package/safe/safe-"
10670 version
10671 ".tar.gz"))
10672 (sha256
10673 (base32
10674 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
10675 (build-system haskell-build-system)
10676 (native-inputs
10677 `(("ghc-quickcheck" ,ghc-quickcheck)))
10678 (home-page "https://github.com/ndmitchell/safe#readme")
10679 (synopsis "Library of safe (exception free) functions")
10680 (description "This library provides wrappers around @code{Prelude} and
10681@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
10682exceptions.")
10683 (license license:bsd-3)))
10684
10685(define-public ghc-safe-exceptions
10686 (package
10687 (name "ghc-safe-exceptions")
10688 (version "0.1.7.0")
10689 (source
10690 (origin
10691 (method url-fetch)
10692 (uri (string-append "https://hackage.haskell.org/package/"
10693 "safe-exceptions/safe-exceptions-"
10694 version ".tar.gz"))
10695 (sha256
10696 (base32
10697 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
10698 (build-system haskell-build-system)
10699 (arguments
10700 '(#:cabal-revision
10701 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
10702 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10703 (native-inputs
10704 `(("ghc-hspec" ,ghc-hspec)
10705 ("ghc-void" ,ghc-void)
10706 ("hspec-discover" ,hspec-discover)))
10707 (home-page "https://github.com/fpco/safe-exceptions")
10708 (synopsis "Safe, consistent, and easy exception handling")
10709 (description "Runtime exceptions - as exposed in @code{base} by the
10710@code{Control.Exception} module - have long been an intimidating part of the
10711Haskell ecosystem. This package is intended to overcome this. It provides a
10712safe and simple API on top of the existing exception handling machinery. The
10713API is equivalent to the underlying implementation in terms of power but
10714encourages best practices to minimize the chances of getting the exception
10715handling wrong.")
10716 (license license:expat)))
10717
10718(define-public ghc-safeio
10719 (package
10720 (name "ghc-safeio")
10721 (version "0.0.5.0")
10722 (source
10723 (origin
10724 (method url-fetch)
10725 (uri (string-append "https://hackage.haskell.org/package/safeio/"
10726 "safeio-" version ".tar.gz"))
10727 (sha256
10728 (base32
10729 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
10730 (build-system haskell-build-system)
10731 (inputs
10732 `(("ghc-conduit" ,ghc-conduit)
10733 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10734 ("ghc-exceptions" ,ghc-exceptions)
10735 ("ghc-resourcet" ,ghc-resourcet)))
10736 (native-inputs
10737 `(("ghc-hunit" ,ghc-hunit)
10738 ("ghc-test-framework" ,ghc-test-framework)
10739 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10740 ("ghc-test-framework-th" ,ghc-test-framework-th)))
10741 (home-page "https://github.com/luispedro/safeio")
10742 (synopsis "Write output to disk atomically")
10743 (description
10744 "This package implements utilities to perform atomic output so as to
10745avoid the problem of partial intermediate files.")
10746 (license license:expat)))
10747
10748(define-public ghc-safesemaphore
10749 (package
10750 (name "ghc-safesemaphore")
10751 (version "0.10.1")
10752 (source
10753 (origin
10754 (method url-fetch)
10755 (uri (string-append "https://hackage.haskell.org/package/"
10756 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
10757 (sha256
10758 (base32
10759 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10760 (build-system haskell-build-system)
10761 (native-inputs
10762 `(("ghc-hunit" ,ghc-hunit)))
10763 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10764 (synopsis "Exception safe semaphores")
10765 (description "This library provides exception safe semaphores that can be
10766used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10767are not exception safe and can be broken by @code{killThread}.")
10768 (license license:bsd-3)))
10769
10770(define-public ghc-sandi
10771 (package
10772 (name "ghc-sandi")
b867c2b0 10773 (version "0.5")
dddbc90c
RV
10774 (source
10775 (origin
10776 (method url-fetch)
10777 (uri (string-append
10778 "https://hackage.haskell.org/package/sandi/sandi-"
10779 version ".tar.gz"))
10780 (sha256
10781 (base32
b867c2b0 10782 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
10783 (build-system haskell-build-system)
10784 (inputs
10785 `(("ghc-stringsearch" ,ghc-stringsearch)
10786 ("ghc-conduit" ,ghc-conduit)
10787 ("ghc-exceptions" ,ghc-exceptions)
10788 ("ghc-hunit" ,ghc-hunit)
10789 ("ghc-tasty" ,ghc-tasty)
10790 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10791 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10792 ("ghc-tasty-th" ,ghc-tasty-th)))
10793 (home-page "https://hackage.haskell.org/package/sandi")
10794 (synopsis "Data encoding library")
10795 (description "Reasonably fast data encoding library.")
10796 (license license:bsd-3)))
10797
4da75228
ASM
10798(define-public ghc-say
10799 (package
10800 (name "ghc-say")
10801 (version "0.1.0.1")
10802 (source
10803 (origin
10804 (method url-fetch)
10805 (uri (string-append
10806 "https://hackage.haskell.org/package/say/say-"
10807 version
10808 ".tar.gz"))
10809 (sha256
10810 (base32
10811 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10812 (build-system haskell-build-system)
10813 (native-inputs
10814 `(("ghc-hspec" ,ghc-hspec)
10815 ("hspec-discover" ,hspec-discover)
10816 ("ghc-unliftio" ,ghc-unliftio)))
10817 (home-page "https://github.com/fpco/say")
10818 (synopsis
10819 "Send textual messages to a Handle in a thread-friendly way")
10820 (description
10821 "A thread safe API to write a line of textual data to a Handle, such
10822as sending some messages to the terminal - that has the following properties:
10823@itemize
10824@item Properly handle character encoding settings on the Handle
10825@item For reasonably sized messages, ensure that the entire message is written
10826 in one chunk to avoid interleaving data with other threads
10827@item Avoid unnecessary memory allocations and copies
10828@item Minimize locking.
10829@end itemize")
10830 (license license:expat)))
10831
dddbc90c
RV
10832(define-public ghc-scientific
10833 (package
10834 (name "ghc-scientific")
10835 (version "0.3.6.2")
10836 (source
10837 (origin
10838 (method url-fetch)
10839 (uri (string-append
10840 "https://hackage.haskell.org/package/scientific/scientific-"
10841 version
10842 ".tar.gz"))
10843 (sha256
10844 (base32
10845 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10846 (build-system haskell-build-system)
10847 (inputs
10848 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10849 ("ghc-hashable" ,ghc-hashable)
10850 ("ghc-primitive" ,ghc-primitive)))
10851 (native-inputs
10852 `(("ghc-tasty" ,ghc-tasty)
10853 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10854 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10855 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10856 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10857 ("ghc-smallcheck" ,ghc-smallcheck)
10858 ("ghc-quickcheck" ,ghc-quickcheck)))
10859 (home-page "https://github.com/basvandijk/scientific")
10860 (synopsis "Numbers represented using scientific notation")
10861 (description "This package provides @code{Data.Scientific}, which provides
10862the number type @code{Scientific}. Scientific numbers are arbitrary precision
10863and space efficient. They are represented using
10864@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10865notation}.")
10866 (license license:bsd-3)))
10867
10868(define-public ghc-scientific-bootstrap
10869 (package
10870 (inherit ghc-scientific)
10871 (name "ghc-scientific-bootstrap")
10872 (arguments `(#:tests? #f))
10873 (inputs
10874 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10875 ("ghc-hashable" ,ghc-hashable)
10876 ("ghc-primitive" ,ghc-primitive)))
10877 (native-inputs '())
799d8d3c 10878 (properties '((hidden? #t)))))
dddbc90c
RV
10879
10880(define-public ghc-sdl
10881 (package
10882 (name "ghc-sdl")
10883 (version "0.6.7.0")
10884 (source
10885 (origin
10886 (method url-fetch)
10887 (uri (string-append
10888 "https://hackage.haskell.org/package/SDL/SDL-"
10889 version
10890 ".tar.gz"))
10891 (sha256
10892 (base32
10893 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10894 (build-system haskell-build-system)
10895 (inputs
10896 `(("sdl" ,sdl)))
10897 (home-page "https://hackage.haskell.org/package/SDL")
10898 (synopsis "LibSDL for Haskell")
10899 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10900multimedia library designed to provide low level access to audio, keyboard,
10901mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10902by MPEG playback software, emulators, and many popular games, including the
10903award winning Linux port of \"Civilization: Call To Power.\"")
10904 (license license:bsd-3)))
10905
1874cdc1
RV
10906(define-public ghc-sdl2
10907 (package
10908 (name "ghc-sdl2")
145148ca 10909 (version "2.5.0.0")
1874cdc1
RV
10910 (source
10911 (origin
10912 (method url-fetch)
10913 (uri (string-append "https://hackage.haskell.org/package/"
10914 "sdl2/sdl2-" version ".tar.gz"))
10915 (sha256
10916 (base32
145148ca 10917 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
10918 (build-system haskell-build-system)
10919 (arguments '(#:tests? #f)) ; tests require graphical environment
10920 (inputs
10921 `(("ghc-exceptions" ,ghc-exceptions)
10922 ("ghc-linear" ,ghc-linear)
10923 ("ghc-statevar" ,ghc-statevar)
10924 ("ghc-vector" ,ghc-vector)
10925 ("sdl2" ,sdl2)))
10926 (native-inputs
10927 `(("ghc-weigh" ,ghc-weigh)
10928 ("pkg-config" ,pkg-config)))
35437dbf 10929 (home-page "https://hackage.haskell.org/package/sdl2")
1874cdc1
RV
10930 (synopsis "High- and low-level bindings to the SDL library")
10931 (description
10932 "This package contains bindings to the SDL 2 library, in both high- and
10933low-level forms. The @code{SDL} namespace contains high-level bindings, where
10934enumerations are split into sum types, and we perform automatic
10935error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10936translation of the C API into Haskell FFI calls. As such, this does not
10937contain sum types nor error checking. Thus this namespace is suitable for
10938building your own abstraction over SDL, but is not recommended for day-to-day
10939programming.")
10940 (license license:bsd-3)))
10941
10942(define-public ghc-sdl2-image
10943 (package
10944 (name "ghc-sdl2-image")
10945 (version "2.0.0")
10946 (source
10947 (origin
10948 (method url-fetch)
10949 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10950 "sdl2-image-" version ".tar.gz"))
10951 (sha256
10952 (base32
10953 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10954 (build-system haskell-build-system)
10955 (inputs
10956 `(("ghc-sdl2" ,ghc-sdl2)
10957 ("sdl2-image" ,sdl2-image)))
10958 (native-inputs
10959 `(("pkg-config" ,pkg-config)))
3ef91e15 10960 (home-page "https://hackage.haskell.org/package/sdl2-image")
1874cdc1
RV
10961 (synopsis "Bindings to SDL2_image")
10962 (description "This package provides Haskell bindings to
10963@code{SDL2_image}.")
10964 (license license:expat)))
10965
10966(define-public ghc-sdl2-mixer
10967 (package
10968 (name "ghc-sdl2-mixer")
10969 (version "1.1.0")
10970 (source
10971 (origin
10972 (method url-fetch)
10973 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10974 "sdl2-mixer-" version ".tar.gz"))
10975 (sha256
10976 (base32
10977 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10978 (build-system haskell-build-system)
10979 (inputs
10980 `(("ghc-data-default-class" ,ghc-data-default-class)
10981 ("ghc-lifted-base" ,ghc-lifted-base)
10982 ("ghc-monad-control" ,ghc-monad-control)
10983 ("ghc-sdl2" ,ghc-sdl2)
10984 ("ghc-vector" ,ghc-vector)
10985 ("sdl2-mixer" ,sdl2-mixer)))
10986 (native-inputs
10987 `(("pkg-config" ,pkg-config)))
3ef91e15 10988 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
1874cdc1
RV
10989 (synopsis "Bindings to SDL2 mixer")
10990 (description "This package provides Haskell bindings to
10991@code{SDL2_mixer}.")
10992 (license license:bsd-3)))
10993
dddbc90c
RV
10994(define-public ghc-sdl-image
10995 (package
10996 (name "ghc-sdl-image")
10997 (version "0.6.2.0")
10998 (source
10999 (origin
11000 (method url-fetch)
11001 (uri (string-append
11002 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
11003 version
11004 ".tar.gz"))
11005 (sha256
11006 (base32
11007 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
11008 (build-system haskell-build-system)
11009 (arguments
11010 `(#:configure-flags
11011 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
11012 (sdl-image-include (string-append sdl-image "/include/SDL")))
11013 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
11014 (inputs
11015 `(("ghc-sdl" ,ghc-sdl)
11016 ("sdl-image" ,sdl-image)))
11017 (home-page "https://hackage.haskell.org/package/SDL-image")
11018 (synopsis "Haskell bindings to libSDL_image")
11019 (description "SDL_image is an image file loading library. It loads images
11020as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
11021PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
11022 (license license:bsd-3)))
11023
11024(define-public ghc-sdl-mixer
11025 (package
11026 (name "ghc-sdl-mixer")
11027 (version "0.6.3.0")
11028 (source
11029 (origin
11030 (method url-fetch)
11031 (uri (string-append
11032 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
11033 version
11034 ".tar.gz"))
11035 (sha256
11036 (base32
11037 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
11038 (build-system haskell-build-system)
11039 (arguments
11040 `(#:configure-flags
11041 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
11042 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
11043 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
11044 (inputs
11045 `(("ghc-sdl" ,ghc-sdl)
11046 ("sdl-mixer" ,sdl-mixer)))
11047 (home-page "https://hackage.haskell.org/package/SDL-mixer")
11048 (synopsis "Haskell bindings to libSDL_mixer")
11049 (description "SDL_mixer is a sample multi-channel audio mixer library. It
11050supports any number of simultaneously playing channels of 16 bit stereo audio,
11051plus a single channel of music, mixed by the popular MikMod MOD, Timidity
11052MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
11053 (license license:bsd-3)))
11054
11055(define-public ghc-securemem
11056 (package
11057 (name "ghc-securemem")
11058 (version "0.1.10")
11059 (source
11060 (origin
11061 (method url-fetch)
11062 (uri (string-append "https://hackage.haskell.org/package/"
11063 "securemem-" version "/"
11064 "securemem-" version ".tar.gz"))
11065 (sha256
11066 (base32
11067 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
11068 (build-system haskell-build-system)
11069 (inputs `(("ghc-byteable" ,ghc-byteable)
11070 ("ghc-memory" ,ghc-memory)))
11071 (home-page "https://github.com/vincenthz/hs-securemem")
11072 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
11073Haskell")
11074 (description "SecureMem is similar to ByteString, except that it provides
11075a memory chunk that will be auto-scrubbed after it run out of scope.")
11076 (license license:bsd-3)))
11077
3cf7219c
JS
11078(define-public ghc-semialign
11079 (package
11080 (name "ghc-semialign")
11081 (version "1")
11082 (source
11083 (origin
11084 (method url-fetch)
11085 (uri (string-append
11086 "https://hackage.haskell.org/package/semialign/semialign-"
11087 version
11088 ".tar.gz"))
11089 (sha256
11090 (base32
11091 "004x0a80sqqdgvsyk4z0nasxpi6z3g1d8kgwj804bj9ka8dlc75m"))))
11092 (build-system haskell-build-system)
11093 (inputs
11094 `(("ghc-these" ,ghc-these)
11095 ("ghc-base-compat" ,ghc-base-compat)
11096 ("ghc-hashable" ,ghc-hashable)
11097 ("ghc-tagged" ,ghc-tagged)
11098 ("ghc-unordered-containers" ,ghc-unordered-containers)
11099 ("ghc-vector" ,ghc-vector)
11100 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11101 (arguments
11102 `(#:cabal-revision
11103 ("1"
11104 "0qnqnyfng4kwy2h2anrcy5id2ijnawava3zcc5h5b8ri1y6ks6zi")))
11105 (home-page
11106 "https://github.com/isomorphism/these")
11107 (synopsis
11108 "Align and Zip type-classes from the common Semialign ancestor ")
11109 (description
11110 "The major use of @code{These} of this is provided by the
11111@code{align} member of @code{Semialign} class, representing a
11112generalized notion of \"zipping with padding\" that combines
11113structures without truncating to the size of the smaller input. It
11114turns out that @code{zip} operation fits well the @code{Semialign}
11115class, forming lattice-like structure.")
11116 (license license:bsd-3)))
11117
dddbc90c
RV
11118(define-public ghc-semigroupoids
11119 (package
11120 (name "ghc-semigroupoids")
a8aaadf2 11121 (version "5.3.3")
dddbc90c
RV
11122 (source
11123 (origin
11124 (method url-fetch)
11125 (uri (string-append
11126 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
11127 version
11128 ".tar.gz"))
11129 (sha256
11130 (base32
a8aaadf2 11131 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 11132 (build-system haskell-build-system)
dddbc90c
RV
11133 (inputs
11134 `(("ghc-base-orphans" ,ghc-base-orphans)
11135 ("ghc-transformers-compat" ,ghc-transformers-compat)
11136 ("ghc-bifunctors" ,ghc-bifunctors)
11137 ("ghc-comonad" ,ghc-comonad)
11138 ("ghc-contravariant" ,ghc-contravariant)
11139 ("ghc-distributive" ,ghc-distributive)
11140 ("ghc-hashable" ,ghc-hashable)
11141 ("ghc-semigroups" ,ghc-semigroups)
11142 ("ghc-tagged" ,ghc-tagged)
11143 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11144 (native-inputs
11145 `(("cabal-doctest" ,cabal-doctest)
11146 ("ghc-doctest" ,ghc-doctest)))
11147 (home-page "https://github.com/ekmett/semigroupoids")
11148 (synopsis "Semigroupoids operations for Haskell")
11149 (description "This library provides a wide array of (semi)groupoids and
11150operations for working with them. A @code{Semigroupoid} is a @code{Category}
11151without the requirement of identity arrows for every object in the category.
11152A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
11153Finally, to work with these weaker structures it is beneficial to have
11154containers that can provide stronger guarantees about their contents, so
11155versions of @code{Traversable} and @code{Foldable} that can be folded with
11156just a @code{Semigroup} are added.")
11157 (license license:bsd-3)))
11158
11159(define-public ghc-semigroups
11160 (package
11161 (name "ghc-semigroups")
11162 (version "0.18.5")
11163 (source
11164 (origin
11165 (method url-fetch)
11166 (uri (string-append
11167 "https://hackage.haskell.org/package/semigroups/semigroups-"
11168 version
11169 ".tar.gz"))
11170 (sha256
11171 (base32
11172 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
11173 (build-system haskell-build-system)
11174 (inputs
11175 `(("ghc-nats" ,ghc-nats)
11176 ("ghc-tagged" ,ghc-tagged)
11177 ("ghc-unordered-containers" ,ghc-unordered-containers)
11178 ("ghc-hashable" ,ghc-hashable)))
11179 (home-page "https://github.com/ekmett/semigroups/")
11180 (synopsis "Semigroup operations for Haskell")
11181 (description "This package provides semigroups for Haskell. In
11182mathematics, a semigroup is an algebraic structure consisting of a set
11183together with an associative binary operation. A semigroup generalizes a
11184monoid in that there might not exist an identity element. It
11185also (originally) generalized a group (a monoid with all inverses) to a type
11186where every element did not have to have an inverse, thus the name
11187semigroup.")
11188 (license license:bsd-3)))
11189
11190(define-public ghc-semigroups-bootstrap
11191 (package
11192 (inherit ghc-semigroups)
11193 (name "ghc-semigroups-bootstrap")
11194 (inputs
11195 `(("ghc-nats" ,ghc-nats-bootstrap)
11196 ("ghc-tagged" ,ghc-tagged)
11197 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
11198 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11199 (properties '((hidden? #t)))))
dddbc90c 11200
47c526df
JS
11201(define-public ghc-serialise
11202 (package
11203 (name "ghc-serialise")
11204 (version "0.2.1.0")
11205 (source
11206 (origin
11207 (method url-fetch)
11208 (uri (string-append
11209 "mirror://hackage/package/serialise/serialise-"
11210 version
11211 ".tar.gz"))
11212 (sha256
11213 (base32
11214 "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4"))))
11215 (build-system haskell-build-system)
11216 (inputs
11217 `(("ghc-cborg" ,ghc-cborg)
11218 ("ghc-half" ,ghc-half)
11219 ("ghc-hashable" ,ghc-hashable)
11220 ("ghc-primitive" ,ghc-primitive)
11221 ("ghc-unordered-containers" ,ghc-unordered-containers)
11222 ("ghc-vector" ,ghc-vector)))
11223 (native-inputs
11224 `(("ghc-quickcheck" ,ghc-quickcheck)
11225 ("ghc-tasty" ,ghc-tasty)
11226 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11227 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11228 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
11229 (arguments
11230 `(#:cabal-revision
11231 ("1" "1rknhad1i8bpknsnphmcmb6dnb48c2p2c13ia2qqch3hkhsvfpr6")))
11232 (home-page "https://github.com/well-typed/cborg")
11233 (synopsis "Binary serialisation library for Haskell values")
11234 (description
11235 "This package (formerly binary-serialise-cbor) provides pure,
11236efficient serialization of Haskell values directly into ByteStrings for
11237storage or transmission purposes. By providing a set of type class instances,
11238you can also serialise any custom data type you have as well.
11239
11240The underlying binary format used is the 'Concise Binary Object
11241Representation', or CBOR, specified in RFC 7049. As a result, serialised
11242Haskell values have implicit structure outside of the Haskell program itself,
11243meaning they can be inspected or analyzed without custom tools.
11244
11245An implementation of the standard bijection between CBOR and JSON is
11246provided by the https://hackage.haskell.org/package/cborg-json
11247package. Also see https://hackage.haskell.org/package/cbor-tool for a
11248convenient command-line utility for working with CBOR data.")
11249 (license license:bsd-3)))
11250
dddbc90c
RV
11251(define-public ghc-setenv
11252 (package
11253 (name "ghc-setenv")
11254 (version "0.1.1.3")
11255 (source
11256 (origin
11257 (method url-fetch)
11258 (uri (string-append
11259 "https://hackage.haskell.org/package/setenv/setenv-"
11260 version
11261 ".tar.gz"))
11262 (sha256
11263 (base32
11264 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
11265 (build-system haskell-build-system)
11266 (home-page "https://hackage.haskell.org/package/setenv")
11267 (synopsis "Library for setting environment variables")
11268 (description "This package provides a Haskell library for setting
11269environment variables.")
11270 (license license:expat)))
11271
11272(define-public ghc-setlocale
11273 (package
11274 (name "ghc-setlocale")
9d7cfc9b 11275 (version "1.0.0.9")
dddbc90c
RV
11276 (source (origin
11277 (method url-fetch)
11278 (uri (string-append
11279 "https://hackage.haskell.org/package/setlocale-"
11280 version "/setlocale-" version ".tar.gz"))
11281 (sha256
11282 (base32
9d7cfc9b 11283 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
11284 (build-system haskell-build-system)
11285 (home-page "https://hackage.haskell.org/package/setlocale")
11286 (synopsis "Haskell bindings to setlocale")
11287 (description "This package provides Haskell bindings to the
11288@code{setlocale} C function.")
11289 (license license:bsd-3)))
11290
11291(define-public ghc-shakespeare
11292 (package
11293 (name "ghc-shakespeare")
f680955f 11294 (version "2.0.22")
dddbc90c
RV
11295 (source
11296 (origin
11297 (method url-fetch)
11298 (uri (string-append "https://hackage.haskell.org/package/"
11299 "shakespeare-" version "/"
11300 "shakespeare-" version ".tar.gz"))
11301 (sha256
11302 (base32
f680955f 11303 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
11304 (build-system haskell-build-system)
11305 (inputs `(("ghc-aeson" ,ghc-aeson)
11306 ("ghc-blaze-markup" ,ghc-blaze-markup)
11307 ("ghc-blaze-html" ,ghc-blaze-html)
11308 ("ghc-exceptions" ,ghc-exceptions)
11309 ("ghc-vector" ,ghc-vector)
11310 ("ghc-unordered-containers" ,ghc-unordered-containers)
11311 ("ghc-scientific" ,ghc-scientific)))
11312 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11313 ("ghc-hunit" ,ghc-hunit)
11314 ("hspec-discover" ,hspec-discover)))
11315 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
11316 (synopsis "Family of type-safe template languages for Haskell")
11317 (description "This Haskell package provides a family of type-safe
11318templates with simple variable interpolation. Shakespeare templates can
11319be used inline with a quasi-quoter or in an external file and it
11320interpolates variables according to the type being inserted.")
11321 (license license:expat)))
11322
11323(define-public ghc-shelly
11324 (package
11325 (name "ghc-shelly")
11326 (version "1.8.1")
11327 (source
11328 (origin
11329 (method url-fetch)
11330 (uri (string-append
11331 "https://hackage.haskell.org/package/shelly/shelly-"
11332 version ".tar.gz"))
11333 (sha256
11334 (base32
11335 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
11336 (build-system haskell-build-system)
11337 (inputs
11338 `(("ghc-unix-compat" ,ghc-unix-compat)
11339 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11340 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
11341 ("ghc-monad-control" ,ghc-monad-control)
11342 ("ghc-lifted-base" ,ghc-lifted-base)
11343 ("ghc-lifted-async" ,ghc-lifted-async)
11344 ("ghc-exceptions" ,ghc-exceptions)
11345 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11346 ("ghc-async" ,ghc-async)
11347 ("ghc-transformers-base" ,ghc-transformers-base)
11348 ("ghc-hunit" ,ghc-hunit)
11349 ("ghc-hspec" ,ghc-hspec)
11350 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
11351 (home-page "https://github.com/yesodweb/Shelly.hs")
11352 (synopsis "Shell-like (systems) programming in Haskell")
11353 (description
11354 "Shelly provides convenient systems programming in Haskell, similar in
11355spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
11356 (license license:bsd-3)))
11357
11358(define-public ghc-silently
11359 (package
11360 (name "ghc-silently")
544bb369 11361 (version "1.2.5.1")
dddbc90c
RV
11362 (source
11363 (origin
11364 (method url-fetch)
11365 (uri (string-append
11366 "https://hackage.haskell.org/package/silently/silently-"
11367 version
11368 ".tar.gz"))
11369 (sha256
11370 (base32
544bb369 11371 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
11372 (build-system haskell-build-system)
11373 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
11374 ;; (inputs
11375 ;; `(("ghc-temporary" ,ghc-temporary)))
11376 (home-page "https://github.com/hspec/silently")
11377 (synopsis "Prevent writing to stdout")
11378 (description "This package provides functions to prevent or capture
11379writing to stdout and other handles.")
11380 (license license:bsd-3)))
11381
11382(define-public ghc-simple-reflect
11383 (package
11384 (name "ghc-simple-reflect")
11385 (version "0.3.3")
11386 (source
11387 (origin
11388 (method url-fetch)
11389 (uri (string-append
11390 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
11391 version
11392 ".tar.gz"))
11393 (sha256
11394 (base32
11395 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
11396 (build-system haskell-build-system)
11397 (home-page
11398 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
11399 (synopsis
11400 "Simple reflection of expressions containing variables")
11401 (description
11402 "This package allows simple reflection of expressions containing
11403variables. Reflection here means that a Haskell expression is turned into a
11404string. The primary aim of this package is teaching and understanding; there
11405are no options for manipulating the reflected expressions beyond showing
11406them.")
11407 (license license:bsd-3)))
11408
11409(define-public ghc-simple-sendfile
11410 (package
11411 (name "ghc-simple-sendfile")
08f54390 11412 (version "0.2.30")
dddbc90c
RV
11413 (source
11414 (origin
11415 (method url-fetch)
11416 (uri (string-append "https://hackage.haskell.org/package/"
11417 "simple-sendfile-" version "/"
11418 "simple-sendfile-" version ".tar.gz"))
11419 (sha256
11420 (base32
08f54390 11421 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
11422 (build-system haskell-build-system)
11423 (inputs
11424 `(("ghc-conduit" ,ghc-conduit)
11425 ("ghc-conduit-extra" ,ghc-conduit-extra)
11426 ("ghc-network" ,ghc-network)
11427 ("ghc-resourcet" ,ghc-resourcet)))
11428 (native-inputs
11429 `(("ghc-hspec" ,ghc-hspec)
11430 ("hspec-discover" ,hspec-discover)))
11431 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
11432 (synopsis "Cross platform library for the sendfile system call")
11433 (description "This library tries to call minimum system calls which
11434are the bottleneck of web servers.")
11435 (license license:bsd-3)))
11436
06966c05
TS
11437(define-public ghc-size-based
11438 (package
11439 (name "ghc-size-based")
11440 (version "0.1.2.0")
11441 (source
11442 (origin
11443 (method url-fetch)
11444 (uri (string-append "https://hackage.haskell.org/package/"
11445 "size-based/size-based-" version ".tar.gz"))
11446 (sha256
11447 (base32
11448 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
11449 (build-system haskell-build-system)
11450 (inputs
11451 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
11452 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
11453 ("ghc-semigroups" ,ghc-semigroups)))
11454 (arguments
11455 `(#:cabal-revision
11456 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
11457 (home-page "https://hackage.haskell.org/package/size-based")
11458 (synopsis "Sized functors for size-based enumerations")
11459 (description "This library provides a framework for size-based
11460enumerations.")
11461 (license license:bsd-3)))
11462
dddbc90c
RV
11463(define-public ghc-skylighting-core
11464 (package
11465 (name "ghc-skylighting-core")
1826c2a8 11466 (version "0.8.2.1")
dddbc90c
RV
11467 (source (origin
11468 (method url-fetch)
11469 (uri (string-append "https://hackage.haskell.org/package/"
11470 "skylighting-core/skylighting-core-"
11471 version ".tar.gz"))
11472 (sha256
11473 (base32
1826c2a8 11474 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
11475 (build-system haskell-build-system)
11476 (inputs
11477 `(("ghc-aeson" ,ghc-aeson)
11478 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11479 ("ghc-attoparsec" ,ghc-attoparsec)
11480 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
11481 ("ghc-blaze-html" ,ghc-blaze-html)
11482 ("ghc-case-insensitive" ,ghc-case-insensitive)
11483 ("ghc-colour" ,ghc-colour)
11484 ("ghc-hxt" ,ghc-hxt)
11485 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
11486 ("ghc-safe" ,ghc-safe)
11487 ("ghc-utf8-string" ,ghc-utf8-string)))
11488 (native-inputs
11489 `(("ghc-diff" ,ghc-diff)
11490 ("ghc-hunit" ,ghc-hunit)
11491 ("ghc-pretty-show" ,ghc-pretty-show)
11492 ("ghc-quickcheck" ,ghc-quickcheck)
11493 ("ghc-tasty" ,ghc-tasty)
11494 ("ghc-tasty-golden" ,ghc-tasty-golden)
11495 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11496 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11497 (home-page "https://github.com/jgm/skylighting")
11498 (synopsis "Syntax highlighting library")
11499 (description "Skylighting is a syntax highlighting library with support
11500for over one hundred languages. It derives its tokenizers from XML syntax
11501definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
11502supported by that framework can be added. An optional command-line program is
11503provided. Skylighting is intended to be the successor to highlighting-kate.")
11504 (license license:gpl2)))
11505
11506(define-public ghc-skylighting
11507 (package
11508 (inherit ghc-skylighting-core)
11509 (name "ghc-skylighting")
36c940cf 11510 (version "0.8.2.1")
dddbc90c
RV
11511 (source (origin
11512 (method url-fetch)
11513 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
11514 version "/skylighting-" version ".tar.gz"))
11515 (sha256
11516 (base32
36c940cf 11517 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
11518 (inputs
11519 `(("ghc-skylighting-core" ,ghc-skylighting-core)
11520 ,@(package-inputs ghc-skylighting-core)))))
11521
11522(define-public ghc-smallcheck
11523 (package
11524 (name "ghc-smallcheck")
11525 (version "1.1.5")
11526 (source
11527 (origin
11528 (method url-fetch)
11529 (uri (string-append
11530 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
11531 version
11532 ".tar.gz"))
11533 (sha256
11534 (base32
11535 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
11536 (build-system haskell-build-system)
11537 (inputs
11538 `(("ghc-logict" ,ghc-logict)))
11539 (home-page
11540 "https://github.com/feuerbach/smallcheck")
11541 (synopsis "Property-based testing library")
a84be333 11542 (description "SmallCheck is a testing library that verifies
dddbc90c
RV
11543properties for all test cases up to some depth. The test cases are generated
11544automatically by SmallCheck.")
11545 (license license:bsd-3)))
11546
11547(define-public ghc-socks
11548 (package
11549 (name "ghc-socks")
ab761e9d 11550 (version "0.6.1")
dddbc90c
RV
11551 (source (origin
11552 (method url-fetch)
11553 (uri (string-append "https://hackage.haskell.org/package/"
11554 "socks/socks-" version ".tar.gz"))
11555 (sha256
11556 (base32
ab761e9d 11557 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
11558 (build-system haskell-build-system)
11559 (inputs
11560 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 11561 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
11562 ("ghc-network" ,ghc-network)))
11563 (home-page "https://github.com/vincenthz/hs-socks")
11564 (synopsis "SOCKS proxy (version 5) implementation")
11565 (description
11566 "This library provides a SOCKS proxy (version 5) implementation.")
11567 (license license:bsd-3)))
11568
081d85d6
TS
11569(define-public ghc-sop-core
11570 (package
11571 (name "ghc-sop-core")
11572 (version "0.4.0.0")
11573 (source
11574 (origin
11575 (method url-fetch)
11576 (uri (string-append "https://hackage.haskell.org/package/"
11577 "sop-core/sop-core-" version ".tar.gz"))
11578 (sha256
11579 (base32
11580 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
11581 (build-system haskell-build-system)
3ef91e15 11582 (home-page "https://hackage.haskell.org/package/sop-core")
081d85d6
TS
11583 (synopsis "True Sums of Products")
11584 (description "This package provides an implementation of
11585@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
11586is the main module of this library and contains more detailed
11587documentation. The main use case of this package is to serve as the
11588core of @url{https://hackage.haskell.org/package/generics-sop,
11589generics-sop}.")
11590 (license license:bsd-3)))
11591
4c77a1a0
JS
11592(define-public ghc-special-values
11593 (package
11594 (name "ghc-special-values")
11595 (version "0.1.0.0")
11596 (source
11597 (origin
11598 (method url-fetch)
11599 (uri (string-append
11600 "https://hackage.haskell.org/package/special-values/"
11601 "special-values-" version ".tar.gz"))
11602 (sha256
11603 (base32
11604 "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w"))))
11605 (build-system haskell-build-system)
11606 (inputs
11607 `(("ghc-scientific" ,ghc-scientific)
11608 ("ghc-ieee754" ,ghc-ieee754)
11609 ("ghc-nats" ,ghc-nats)))
11610 (home-page
11611 "https://github.com/minad/special-values#readme")
11612 (synopsis "Typeclass providing special values")
11613 (description
11614 "Special values are provided by a SpecialValues typeclass. Those can be
11615used for example by QuickCheck, see quickcheck-special." )
11616 (license license:expat)))
11617
dddbc90c
RV
11618(define-public ghc-split
11619 (package
11620 (name "ghc-split")
11621 (version "0.2.3.3")
534d6caa 11622 (outputs '("out" "static" "doc"))
dddbc90c
RV
11623 (source
11624 (origin
11625 (method url-fetch)
11626 (uri (string-append
11627 "https://hackage.haskell.org/package/split/split-"
11628 version
11629 ".tar.gz"))
11630 (sha256
11631 (base32
11632 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
11633 (build-system haskell-build-system)
9bbc21a7
TS
11634 (arguments
11635 `(#:cabal-revision
11636 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
11637 (native-inputs
11638 `(("ghc-quickcheck" ,ghc-quickcheck)))
11639 (home-page "https://hackage.haskell.org/package/split")
11640 (synopsis "Combinator library for splitting lists")
11641 (description "This package provides a collection of Haskell functions for
11642splitting lists into parts, akin to the @code{split} function found in several
11643mainstream languages.")
11644 (license license:bsd-3)))
11645
7799d17f 11646(define-public ghc-splitmix
49367c92 11647 (package
7799d17f 11648 (name "ghc-splitmix")
49367c92
TS
11649 (version "0.0.3")
11650 (source
11651 (origin
11652 (method url-fetch)
11653 (uri (string-append "https://hackage.haskell.org/package/"
11654 "splitmix/splitmix-" version ".tar.gz"))
11655 (sha256
11656 (base32
11657 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 11658 (build-system haskell-build-system)
49367c92
TS
11659 (inputs
11660 `(("ghc-random" ,ghc-random)))
7799d17f
TS
11661 (native-inputs
11662 `(("ghc-hunit" ,ghc-hunit)
11663 ("ghc-async" ,ghc-async)
11664 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
11665 ("ghc-tf-random" ,ghc-tf-random)
11666 ("ghc-vector" ,ghc-vector)))
92a79fee 11667 (home-page "https://hackage.haskell.org/package/splitmix")
49367c92
TS
11668 (synopsis "Fast and splittable pseudorandom number generator")
11669 (description "This package provides a Pure Haskell implementation of the
11670SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
11671pseudorandom number generator that is quite fast: 9 64-bit
11672arithmetic/logical operations per 64 bits generated. SplitMix is tested
11673with two standard statistical test suites (DieHarder and TestU01, this
11674implementation only using the former) and it appears to be adequate for
11675\"everyday\" use, such as Monte Carlo algorithms and randomized data
11676structures where speed is important. In particular, it @strong{should not
11677be used for cryptographic or security applications}, because generated
11678sequences of pseudorandom values are too predictable (the mixing functions
11679are easily inverted, and two successive outputs suffice to reconstruct the
11680internal state).")
11681 (license license:bsd-3)))
11682
7799d17f
TS
11683(define-public ghc-splitmix-bootstrap
11684 (package
11685 (inherit ghc-splitmix)
11686 (name "ghc-splitmix-bootstrap")
11687 (arguments `(#:tests? #f))
11688 (native-inputs '())
11689 (properties '((hidden? #t)))))
11690
a152258b
JS
11691(define-public ghc-spoon
11692 (package
11693 (name "ghc-spoon")
11694 (version "0.3.1")
11695 (source
11696 (origin
11697 (method url-fetch)
11698 (uri (string-append
11699 "https://hackage.haskell.org/package/spoon/spoon-"
11700 version
11701 ".tar.gz"))
11702 (sha256
11703 (base32
11704 "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"))))
11705 (build-system haskell-build-system)
11706 (arguments
11707 `(#:cabal-revision
11708 ("1"
11709 "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74")))
11710 (home-page
11711 "http://hackage.haskell.org/package/spoon")
11712 (synopsis
11713 "Catch errors thrown from pure computations")
11714 (description
11715 "Takes an error-throwing expression and puts it back in the Maybe it
11716belongs in.
11717
11718Note that this suffers from the
11719@url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.")
11720 (license license:bsd-3)))
11721
dddbc90c
RV
11722(define-public ghc-statevar
11723 (package
11724 (name "ghc-statevar")
19419709 11725 (version "1.2")
dddbc90c
RV
11726 (source
11727 (origin
11728 (method url-fetch)
11729 (uri (string-append
11730 "https://hackage.haskell.org/package/StateVar/StateVar-"
11731 version
11732 ".tar.gz"))
11733 (sha256
11734 (base32
19419709 11735 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
11736 (build-system haskell-build-system)
11737 (home-page "https://hackage.haskell.org/package/StateVar")
11738 (synopsis "State variables for Haskell")
11739 (description "This package provides state variables, which are references
11740in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
11741 (license license:bsd-3)))
11742
11743(define-public ghc-statistics
11744 (package
11745 (name "ghc-statistics")
60e78e68 11746 (version "0.15.1.1")
dddbc90c
RV
11747 (source
11748 (origin
11749 (method url-fetch)
11750 (uri (string-append "https://hackage.haskell.org/package/"
11751 "statistics-" version "/"
11752 "statistics-" version ".tar.gz"))
11753 (sha256
11754 (base32
60e78e68 11755 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
11756 (build-system haskell-build-system)
11757 (arguments
60e78e68 11758 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
11759 #:tests? #f))
11760 (inputs
11761 `(("ghc-aeson" ,ghc-aeson)
60e78e68 11762 ("ghc-async" ,ghc-async)
dddbc90c 11763 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 11764 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
11765 ("ghc-math-functions" ,ghc-math-functions)
11766 ("ghc-monad-par" ,ghc-monad-par)
11767 ("ghc-mwc-random" ,ghc-mwc-random)
11768 ("ghc-primitive" ,ghc-primitive)
11769 ("ghc-vector" ,ghc-vector)
11770 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
11771 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
11772 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
11773 (native-inputs
11774 `(("ghc-hunit" ,ghc-hunit)
11775 ("ghc-quickcheck" ,ghc-quickcheck)
11776 ("ghc-ieee754" ,ghc-ieee754)
11777 ("ghc-test-framework" ,ghc-test-framework)
11778 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11779 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11780 (home-page "https://github.com/bos/mwc-random")
11781 (synopsis "Haskell library of statistical types, data, and functions")
11782 (description "This library provides a number of common functions
11783and types useful in statistics. We focus on high performance, numerical
11784robustness, and use of good algorithms. Where possible, we provide references
11785to the statistical literature.
11786
11787The library's facilities can be divided into four broad categories:
11788
11789@itemize
11790@item Working with widely used discrete and continuous probability
11791distributions. (There are dozens of exotic distributions in use; we focus
11792on the most common.)
11793
11794@item Computing with sample data: quantile estimation, kernel density
11795estimation, histograms, bootstrap methods, significance testing,
11796and regression and autocorrelation analysis.
11797
11798@item Random variate generation under several different distributions.
11799
11800@item Common statistical tests for significant differences between samples.
11801@end itemize")
11802 (license license:bsd-2)))
11803
11804(define-public ghc-stm-chans
11805 (package
11806 (name "ghc-stm-chans")
11807 (version "3.0.0.4")
11808 (source
11809 (origin
11810 (method url-fetch)
11811 (uri (string-append "https://hackage.haskell.org/package/"
11812 "stm-chans-" version "/"
11813 "stm-chans-" version ".tar.gz"))
11814 (sha256
11815 (base32
11816 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
11817 (build-system haskell-build-system)
11818 (home-page "https://hackage.haskell.org/package/stm-chans")
11819 (synopsis "Additional types of channels for ghc-stm")
11820 (description "This Haskell package offers a collection of channel types,
11821similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
11822features.")
11823 (license license:bsd-3)))
11824
11825(define-public ghc-stm-conduit
11826 (package
11827 (name "ghc-stm-conduit")
cd518e95 11828 (version "4.0.1")
dddbc90c
RV
11829 (source
11830 (origin
11831 (method url-fetch)
11832 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
11833 "stm-conduit-" version ".tar.gz"))
11834 (sha256
11835 (base32
cd518e95 11836 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
11837 (build-system haskell-build-system)
11838 (inputs
11839 `(("ghc-stm-chans" ,ghc-stm-chans)
11840 ("ghc-cereal" ,ghc-cereal)
11841 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
11842 ("ghc-conduit" ,ghc-conduit)
11843 ("ghc-conduit-extra" ,ghc-conduit-extra)
11844 ("ghc-exceptions" ,ghc-exceptions)
11845 ("ghc-resourcet" ,ghc-resourcet)
11846 ("ghc-async" ,ghc-async)
11847 ("ghc-monad-loops" ,ghc-monad-loops)
11848 ("ghc-unliftio" ,ghc-unliftio)))
11849 (native-inputs
11850 `(("ghc-doctest" ,ghc-doctest)
11851 ("ghc-quickcheck" ,ghc-quickcheck)
11852 ("ghc-hunit" ,ghc-hunit)
11853 ("ghc-test-framework" ,ghc-test-framework)
11854 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11855 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11856 (home-page "https://github.com/cgaebel/stm-conduit")
11857 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
11858 (description
11859 "This package provides two simple conduit wrappers around STM channels: a
11860source and a sink.")
11861 (license license:bsd-3)))
11862
11863(define-public ghc-stmonadtrans
11864 (package
11865 (name "ghc-stmonadtrans")
11866 (version "0.4.3")
11867 (source
11868 (origin
11869 (method url-fetch)
11870 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
11871 "/STMonadTrans-" version ".tar.gz"))
11872 (sha256
11873 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
11874 (build-system haskell-build-system)
11875 (home-page "https://hackage.haskell.org/package/STMonadTrans")
11876 (synopsis "Monad transformer version of the ST monad")
11877 (description
11878 "This package provides a monad transformer version of the @code{ST} monad
11879for strict state threads.")
11880 (license license:bsd-3)))
11881
11882(define-public ghc-storable-complex
11883 (package
11884 (name "ghc-storable-complex")
4a35e3c3 11885 (version "0.2.3.0")
dddbc90c
RV
11886 (source
11887 (origin
11888 (method url-fetch)
11889 (uri (string-append
11890 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
11891 version ".tar.gz"))
11892 (sha256
4a35e3c3 11893 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 11894 (build-system haskell-build-system)
4a35e3c3
TS
11895 (inputs
11896 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
11897 (home-page "https://github.com/cartazio/storable-complex")
11898 (synopsis "Haskell Storable instance for Complex")
11899 (description "This package provides a Haskell library including a
11900Storable instance for Complex which is binary compatible with C99, C++
11901and Fortran complex data types.")
11902 (license license:bsd-3)))
11903
ad80074a
JS
11904(define-public ghc-storable-record
11905 (package
11906 (name "ghc-storable-record")
11907 (version "0.0.4")
11908 (source
11909 (origin
11910 (method url-fetch)
11911 (uri
11912 (string-append
11913 "https://hackage.haskell.org/package/storable-record/"
11914 "storable-record-" version ".tar.gz"))
11915 (sha256
11916 (base32
11917 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
11918 (build-system haskell-build-system)
11919 (inputs
11920 `(("ghc-semigroups" ,ghc-semigroups)
11921 ("ghc-utility-ht" ,ghc-utility-ht)
11922 ("ghc-storablevector" ,ghc-storablevector)
11923 ("ghc-timeit" ,ghc-timeit)))
11924 (home-page "https://hackage.haskell.org/package/storable-record")
11925 (synopsis "Elegant definition of Storable instances for records")
11926 (description "With this package you can build a Storable instance of
11927a record type from Storable instances of its elements in an elegant way.
11928It does not do any magic, just a bit arithmetic to compute the right
11929offsets, that would be otherwise done manually or by a preprocessor like
11930C2HS. There is no guarantee that the generated memory layout is
11931compatible with that of a corresponding C struct. However, the module
11932generates the smallest layout that is possible with respect to the
11933alignment of the record elements.")
11934 (license license:bsd-3)))
11935
55f4c653
JS
11936(define-public ghc-storable-tuple
11937 (package
11938 (name "ghc-storable-tuple")
11939 (version "0.0.3.3")
11940 (source
11941 (origin
11942 (method url-fetch)
11943 (uri
11944 (string-append
11945 "https://hackage.haskell.org/package/storable-tuple/"
11946 "storable-tuple-" version ".tar.gz"))
11947 (sha256
11948 (base32
11949 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11950 (build-system haskell-build-system)
11951 (inputs
11952 `(("ghc-storable-record" ,ghc-storable-record)
11953 ("ghc-utility-ht" ,ghc-utility-ht)
11954 ("ghc-base-orphans" ,ghc-base-orphans)))
11955 (home-page "https://hackage.haskell.org/package/storable-tuple")
11956 (synopsis "Storable instance for pairs and triples")
11957 (description "This package provides a Storable instance for pairs
11958and triples which should be binary compatible with C99 and C++. The
11959only purpose of this package is to provide a standard location for this
11960instance so that other packages needing this instance can play nicely
11961together.")
11962 (license license:bsd-3)))
11963
bc06ca45
JS
11964(define-public ghc-storablevector
11965 (package
11966 (name "ghc-storablevector")
11967 (version "0.2.13")
11968 (source
11969 (origin
11970 (method url-fetch)
11971 (uri
11972 (string-append
11973 "https://hackage.haskell.org/package/storablevector/storablevector-"
11974 version ".tar.gz"))
11975 (sha256
11976 (base32
11977 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11978 (build-system haskell-build-system)
11979 (inputs
11980 `(("ghc-non-negative" ,ghc-non-negative)
11981 ("ghc-utility-ht" ,ghc-utility-ht)
11982 ("ghc-semigroups" ,ghc-semigroups)
11983 ("ghc-unsafe" ,ghc-unsafe)
11984 ("ghc-quickcheck" ,ghc-quickcheck)
11985 ("ghc-syb" ,ghc-syb)))
228d2901 11986 (home-page "https://wiki.haskell.org/Storable_Vector")
bc06ca45
JS
11987 (synopsis "Fast, packed, strict storable arrays with a list interface")
11988 (description "This library provides fast, packed, strict storable
11989arrays with a list interface, a chunky lazy list interface with variable
11990chunk size and an interface for write access via the ST monad. This is
11991much like bytestring and binary but can be used for every
11992@code{Foreign.Storable.Storable} type. See also
11993@url{http://hackage.haskell.org/package/vector}, a library with a
11994similar intention.
11995
11996This library does not do advanced fusion optimization, since especially
11997for lazy vectors this would either be incorrect or not applicable. See
11998@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
11999a library that provides fusion with lazy lists.")
12000 (license license:bsd-3)))
12001
dddbc90c
RV
12002(define-public ghc-streaming-commons
12003 (package
12004 (name "ghc-streaming-commons")
12005 (version "0.2.1.1")
12006 (source
12007 (origin
12008 (method url-fetch)
12009 (uri (string-append "https://hackage.haskell.org/package/"
12010 "streaming-commons/streaming-commons-"
12011 version ".tar.gz"))
12012 (sha256
12013 (base32
12014 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
12015 (build-system haskell-build-system)
12016 (inputs
12017 `(("ghc-async" ,ghc-async)
12018 ("ghc-blaze-builder" ,ghc-blaze-builder)
12019 ("ghc-network" ,ghc-network)
12020 ("ghc-random" ,ghc-random)
12021 ("ghc-zlib" ,ghc-zlib)))
12022 (native-inputs
12023 `(("ghc-quickcheck" ,ghc-quickcheck)
12024 ("ghc-hspec" ,ghc-hspec)
12025 ("hspec-discover" ,hspec-discover)))
12026 (home-page "https://hackage.haskell.org/package/streaming-commons")
12027 (synopsis "Conduit and pipes needed by some streaming data libraries")
12028 (description "This package provides low-dependency functionality commonly
12029needed by various Haskell streaming data libraries, such as @code{conduit} and
12030@code{pipe}s.")
12031 (license license:expat)))
12032
12033(define-public ghc-strict
12034 (package
12035 (name "ghc-strict")
12036 (version "0.3.2")
12037 (source
12038 (origin
12039 (method url-fetch)
12040 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
12041 version ".tar.gz"))
12042 (sha256
12043 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
12044 (build-system haskell-build-system)
12045 (home-page "https://hackage.haskell.org/package/strict")
12046 (synopsis "Strict data types and String IO")
12047 (description
12048 "This package provides strict versions of some standard Haskell data
12049types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
12050IO operations.")
12051 (license license:bsd-3)))
12052
12053(define-public ghc-stringbuilder
12054 (package
12055 (name "ghc-stringbuilder")
12056 (version "0.5.1")
12057 (source
12058 (origin
12059 (method url-fetch)
12060 (uri (string-append
12061 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
12062 version
12063 ".tar.gz"))
12064 (sha256
12065 (base32
12066 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
12067 (build-system haskell-build-system)
12068 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
12069 ; enabled
12070 (home-page "https://hackage.haskell.org/package/stringbuilder")
12071 (synopsis "Writer monad for multi-line string literals")
12072 (description "This package provides a writer monad for multi-line string
12073literals.")
12074 (license license:expat)))
12075
12076(define-public ghc-string-qq
12077 (package
12078 (name "ghc-string-qq")
4d6fddc3 12079 (version "0.0.4")
dddbc90c
RV
12080 (source
12081 (origin
12082 (method url-fetch)
12083 (uri (string-append
12084 "https://hackage.haskell.org/package/string-qq/string-qq-"
12085 version
12086 ".tar.gz"))
12087 (sha256
12088 (base32
4d6fddc3 12089 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 12090 (build-system haskell-build-system)
4d6fddc3
TS
12091 (native-inputs
12092 `(("ghc-hunit" ,ghc-hunit)))
3ef91e15 12093 (home-page "https://hackage.haskell.org/package/string-qq")
dddbc90c
RV
12094 (synopsis
12095 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
12096 (description
12097 "This package provides a quasiquoter for non-interpolated strings, texts
12098and bytestrings.")
12099 (license license:public-domain)))
12100
12101(define-public ghc-stringsearch
12102 (package
12103 (name "ghc-stringsearch")
12104 (version "0.3.6.6")
12105 (source
12106 (origin
12107 (method url-fetch)
12108 (uri (string-append
12109 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
12110 version
12111 ".tar.gz"))
12112 (sha256
12113 (base32
12114 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
12115 (build-system haskell-build-system)
e2303abb
TS
12116 (arguments
12117 `(#:cabal-revision
12118 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
12119 (home-page "https://bitbucket.org/dafis/stringsearch")
12120 (synopsis "Fast searching, splitting and replacing of ByteStrings")
12121 (description "This package provides several functions to quickly search
12122for substrings in strict or lazy @code{ByteStrings}. It also provides
12123functions for breaking or splitting on substrings and replacing all
12124occurrences of a substring (the first in case of overlaps) with another.")
12125 (license license:bsd-3)))
12126
dcf3f8f4
TS
12127(define-public ghc-svg-builder
12128 (package
12129 (name "ghc-svg-builder")
12130 (version "0.1.1")
12131 (source
12132 (origin
12133 (method url-fetch)
12134 (uri (string-append "https://hackage.haskell.org/package/"
12135 "svg-builder/svg-builder-" version ".tar.gz"))
12136 (sha256
12137 (base32
12138 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
12139 (build-system haskell-build-system)
12140 (inputs
12141 `(("ghc-blaze-builder" ,ghc-blaze-builder)
12142 ("ghc-hashable" ,ghc-hashable)
12143 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12144 (arguments
12145 `(#:cabal-revision
12146 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
12147 (home-page "https://github.com/diagrams/svg-builder.git")
12148 (synopsis "Domain-specific language for building Scalable Vector Graphics")
12149 (description "Easy-to-write domain-specific language (DSL) for
12150building Scalable Vector Graphics (SVG).")
12151 (license license:bsd-3)))
12152
dddbc90c
RV
12153(define-public ghc-syb
12154 (package
12155 (name "ghc-syb")
07d65eef 12156 (version "0.7.1")
534d6caa 12157 (outputs '("out" "static" "doc"))
dddbc90c
RV
12158 (source
12159 (origin
12160 (method url-fetch)
12161 (uri (string-append
12162 "https://hackage.haskell.org/package/syb/syb-"
12163 version
12164 ".tar.gz"))
12165 (sha256
12166 (base32
07d65eef 12167 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
12168 (build-system haskell-build-system)
12169 (inputs
12170 `(("ghc-hunit" ,ghc-hunit)))
12171 (home-page
12172 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
12173 (synopsis "Scrap Your Boilerplate")
12174 (description "This package contains the generics system described in the
12175/Scrap Your Boilerplate/ papers (see
12176@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
12177defines the @code{Data} class of types permitting folding and unfolding of
12178constructor applications, instances of this class for primitive types, and a
12179variety of traversals.")
12180 (license license:bsd-3)))
12181
12182(define-public ghc-system-fileio
12183 (package
12184 (name "ghc-system-fileio")
dcfb99d4 12185 (version "0.3.16.4")
dddbc90c
RV
12186 (source
12187 (origin
12188 (method url-fetch)
12189 (uri (string-append
12190 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12191 version ".tar.gz"))
12192 (sha256
12193 (base32
dcfb99d4 12194 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 12195 (build-system haskell-build-system)
dcfb99d4
TS
12196 (arguments
12197 `(#:phases
12198 (modify-phases %standard-phases
12199 (add-before 'configure 'update-constraints
12200 (lambda _
12201 (substitute* "system-fileio.cabal"
12202 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
12203 #t)))))
dddbc90c
RV
12204 (inputs
12205 `(("ghc-system-filepath" ,ghc-system-filepath)
12206 ("ghc-chell" ,ghc-chell)
12207 ("ghc-temporary" ,ghc-temporary)))
12208 (home-page "https://github.com/fpco/haskell-filesystem")
12209 (synopsis "Consistent file system interaction across GHC versions")
12210 (description
12211 "This is a small wrapper around the directory, unix, and Win32 packages,
12212for use with system-filepath. It provides a consistent API to the various
12213versions of these packages distributed with different versions of GHC.
12214In particular, this library supports working with POSIX files that have paths
12215which can't be decoded in the current locale encoding.")
12216 (license license:expat)))
12217
12218;; See ghc-system-filepath-bootstrap. In addition this package depends on
12219;; ghc-system-filepath.
12220(define ghc-system-fileio-bootstrap
12221 (package
12222 (name "ghc-system-fileio-bootstrap")
12223 (version "0.3.16.3")
12224 (source
12225 (origin
12226 (method url-fetch)
12227 (uri (string-append
12228 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12229 version ".tar.gz"))
12230 (sha256
12231 (base32
12232 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
12233 (build-system haskell-build-system)
12234 (arguments
12235 `(#:tests? #f))
12236 (inputs
12237 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
12238 ("ghc-temporary" ,ghc-temporary)))
12239 (home-page "https://github.com/fpco/haskell-filesystem")
12240 (synopsis "Consistent file system interaction across GHC versions")
12241 (description
12242 "This is a small wrapper around the directory, unix, and Win32 packages,
12243for use with system-filepath. It provides a consistent API to the various
12244versions of these packages distributed with different versions of GHC.
12245In particular, this library supports working with POSIX files that have paths
12246which can't be decoded in the current locale encoding.")
12247 (license license:expat)))
12248
12249
12250(define-public ghc-system-filepath
12251 (package
12252 (name "ghc-system-filepath")
12253 (version "0.4.14")
12254 (source
12255 (origin
12256 (method url-fetch)
12257 (uri (string-append
12258 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12259 version ".tar.gz"))
12260 (sha256
12261 (base32
12262 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12263 (build-system haskell-build-system)
12264 ;; FIXME: One of the tests fails:
12265 ;; [ FAIL ] tests.validity.posix
12266 ;; note: seed=7310214548328823169
12267 ;; *** Failed! Falsifiable (after 24 tests):
12268 ;; 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"
12269 (arguments `(#:tests? #f))
12270 (inputs
12271 `(("ghc-chell" ,ghc-chell)
12272 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
12273 ("ghc-quickcheck" ,ghc-quickcheck)))
12274 (home-page "https://github.com/fpco/haskell-filesystem")
12275 (synopsis "High-level, byte-based file and directory path manipulations")
12276 (description
12277 "Provides a FilePath datatype and utility functions for operating on it.
12278Unlike the filepath package, this package does not simply reuse String,
12279increasing type safety.")
12280 (license license:expat)))
12281
12282;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
12283;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
12284;; which depends on ghc-chell and ghc-chell-quickcheck.
12285;; Therefore we bootstrap it with tests disabled.
12286(define ghc-system-filepath-bootstrap
12287 (package
12288 (name "ghc-system-filepath-bootstrap")
12289 (version "0.4.14")
12290 (source
12291 (origin
12292 (method url-fetch)
12293 (uri (string-append
12294 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12295 version ".tar.gz"))
12296 (sha256
12297 (base32
12298 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12299 (build-system haskell-build-system)
12300 (arguments
12301 `(#:tests? #f))
12302 (inputs
12303 `(("ghc-quickcheck" ,ghc-quickcheck)))
12304 (home-page "https://github.com/fpco/haskell-filesystem")
12305 (synopsis "High-level, byte-based file and directory path manipulations")
12306 (description
12307 "Provides a FilePath datatype and utility functions for operating on it.
12308Unlike the filepath package, this package does not simply reuse String,
12309increasing type safety.")
12310 (license license:expat)))
12311
12312
12313(define-public ghc-tagged
12314 (package
12315 (name "ghc-tagged")
f0f3756a 12316 (version "0.8.6")
dddbc90c
RV
12317 (source
12318 (origin
12319 (method url-fetch)
12320 (uri (string-append
12321 "https://hackage.haskell.org/package/tagged/tagged-"
12322 version
12323 ".tar.gz"))
12324 (sha256
12325 (base32
f0f3756a 12326 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
12327 (build-system haskell-build-system)
12328 (arguments
12329 `(#:cabal-revision
f0f3756a 12330 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
12331 (inputs
12332 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12333 (home-page "https://hackage.haskell.org/package/tagged")
12334 (synopsis "Haskell phantom types to avoid passing dummy arguments")
12335 (description "This library provides phantom types for Haskell 98, to avoid
12336having to unsafely pass dummy arguments.")
12337 (license license:bsd-3)))
12338
12339(define-public ghc-tar
12340 (package
12341 (name "ghc-tar")
ec83929f 12342 (version "0.5.1.1")
dddbc90c
RV
12343 (source
12344 (origin
12345 (method url-fetch)
12346 (uri (string-append
12347 "https://hackage.haskell.org/package/tar/tar-"
12348 version ".tar.gz"))
12349 (sha256
12350 (base32
ec83929f 12351 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
12352 (build-system haskell-build-system)
12353 ;; FIXME: 2/24 tests fail.
12354 (arguments `(#:tests? #f))
12355 (inputs
12356 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
12357 ("ghc-quickcheck" ,ghc-quickcheck)
12358 ("ghc-tasty" ,ghc-tasty)
12359 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12360 (home-page "https://hackage.haskell.org/package/tar")
12361 (synopsis "Reading, writing and manipulating \".tar\" archive files")
12362 (description
12363 "This library is for working with \\\"@.tar@\\\" archive files.
12364It can read and write a range of common variations of the tar archive format
12365including V7, POSIX USTAR and GNU formats. It provides support for packing and
12366unpacking portable archives. This makes it suitable for distribution but not
12367backup because details like file ownership and exact permissions are not
12368preserved. It also provides features for random access to archive content using
12369an index.")
12370 (license license:bsd-3)))
12371
f8d17902
TS
12372(define-public ghc-tar-conduit
12373 (package
12374 (name "ghc-tar-conduit")
12375 (version "0.3.2")
12376 (source
12377 (origin
12378 (method url-fetch)
12379 (uri (string-append "https://hackage.haskell.org/package/"
12380 "tar-conduit/tar-conduit-" version ".tar.gz"))
12381 (sha256
12382 (base32
12383 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
12384 (build-system haskell-build-system)
12385 (inputs
12386 `(("ghc-conduit" ,ghc-conduit)
12387 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
12388 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
12389 (native-inputs
12390 `(("ghc-quickcheck" ,ghc-quickcheck)
12391 ("ghc-conduit-extra" ,ghc-conduit-extra)
12392 ("ghc-hspec" ,ghc-hspec)
12393 ("ghc-hspec" ,ghc-hspec)
12394 ("ghc-weigh" ,ghc-weigh)))
12395 (home-page "https://github.com/snoyberg/tar-conduit#readme")
12396 (synopsis "Extract and create tar files using conduit for streaming")
12397 (description "This library provides a conduit-based, streaming
12398interface for extracting and creating tar files.")
12399 (license license:expat)))
12400
dddbc90c
RV
12401(define-public ghc-temporary
12402 (package
12403 (name "ghc-temporary")
12404 (version "1.3")
12405 (source
12406 (origin
12407 (method url-fetch)
12408 (uri (string-append
12409 "https://hackage.haskell.org/package/temporary/temporary-"
12410 version
12411 ".tar.gz"))
12412 (sha256
12413 (base32
12414 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
12415 (build-system haskell-build-system)
12416 (inputs
12417 `(("ghc-exceptions" ,ghc-exceptions)
12418 ("ghc-random" ,ghc-random)))
12419 (native-inputs
12420 `(("ghc-base-compat" ,ghc-base-compat)
12421 ("ghc-tasty" ,ghc-tasty)
12422 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12423 (home-page "https://www.github.com/batterseapower/temporary")
12424 (synopsis "Temporary file and directory support")
12425 (description "The functions for creating temporary files and directories
12426in the Haskelll base library are quite limited. This library just repackages
12427the Cabal implementations of its own temporary file and folder functions so
12428that you can use them without linking against Cabal or depending on it being
12429installed.")
12430 (license license:bsd-3)))
12431
12432(define-public ghc-temporary-rc
12433 (package
12434 (name "ghc-temporary-rc")
12435 (version "1.2.0.3")
12436 (source
12437 (origin
12438 (method url-fetch)
12439 (uri (string-append
12440 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
12441 version
12442 ".tar.gz"))
12443 (sha256
12444 (base32
12445 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
12446 (build-system haskell-build-system)
12447 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
12448 (home-page
12449 "https://www.github.com/feuerbach/temporary")
12450 (synopsis
12451 "Portable temporary file and directory support")
12452 (description
12453 "The functions for creating temporary files and directories in the base
12454library are quite limited. The unixutils package contains some good ones, but
12455they aren't portable to Windows. This library just repackages the Cabal
12456implementations of its own temporary file and folder functions so that you can
12457use them without linking against Cabal or depending on it being installed.
12458This is a better maintained fork of the \"temporary\" package.")
12459 (license license:bsd-3)))
12460
12461(define-public ghc-terminal-size
12462 (package
12463 (name "ghc-terminal-size")
12464 (version "0.3.2.1")
12465 (source (origin
12466 (method url-fetch)
12467 (uri (string-append
12468 "https://hackage.haskell.org/package/terminal-size/"
12469 "terminal-size-" version ".tar.gz"))
12470 (sha256
12471 (base32
12472 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
12473 (build-system haskell-build-system)
12474 (home-page "https://hackage.haskell.org/package/terminal-size")
12475 (synopsis "Get terminal window height and width")
12476 (description "Get terminal window height and width without ncurses
12477dependency.")
12478 (license license:bsd-3)))
12479
12480(define-public ghc-texmath
12481 (package
12482 (name "ghc-texmath")
7fec7e66 12483 (version "0.11.3")
dddbc90c
RV
12484 (source (origin
12485 (method url-fetch)
12486 (uri (string-append "https://hackage.haskell.org/package/"
12487 "texmath/texmath-" version ".tar.gz"))
12488 (sha256
12489 (base32
7fec7e66 12490 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
12491 (build-system haskell-build-system)
12492 (inputs
12493 `(("ghc-syb" ,ghc-syb)
12494 ("ghc-network-uri" ,ghc-network-uri)
12495 ("ghc-split" ,ghc-split)
12496 ("ghc-temporary" ,ghc-temporary)
12497 ("ghc-utf8-string" ,ghc-utf8-string)
12498 ("ghc-xml" ,ghc-xml)
12499 ("ghc-pandoc-types" ,ghc-pandoc-types)))
12500 (home-page "https://github.com/jgm/texmath")
12501 (synopsis "Conversion between formats used to represent mathematics")
12502 (description
12503 "The texmath library provides functions to read and write TeX math,
12504presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
12505Office). Support is also included for converting math formats to pandoc's
12506native format (allowing conversion, via pandoc, to a variety of different
12507markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
12508it can parse and apply LaTeX macros.")
12509 (license license:gpl2+)))
12510
12511(define-public ghc-text-binary
12512 (package
12513 (name "ghc-text-binary")
12514 (version "0.2.1.1")
12515 (source
12516 (origin
12517 (method url-fetch)
12518 (uri (string-append "https://hackage.haskell.org/package/"
12519 "text-binary/text-binary-"
12520 version ".tar.gz"))
12521 (sha256
12522 (base32
12523 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
12524 (build-system haskell-build-system)
12525 (home-page "https://github.com/kawu/text-binary")
12526 (synopsis "Binary instances for text types")
12527 (description
12528 "This package provides a compatibility layer providing @code{Binary}
12529instances for strict and lazy text types for versions older than 1.2.1 of the
12530text package.")
12531 (license license:bsd-2)))
12532
714e5605
JS
12533(define-public ghc-text-manipulate
12534 (package
12535 (name "ghc-text-manipulate")
12536 (version "0.2.0.1")
12537 (source
12538 (origin
12539 (method url-fetch)
12540 (uri (string-append
12541 "https://hackage.haskell.org/package/text-manipulate"
12542 "/text-manipulate-"
12543 version
12544 ".tar.gz"))
12545 (sha256
12546 (base32
12547 "0bwxyjj3ll45srxhsp2ihikgqglvjc6m02ixr8xpvyqwkcfwgsg0"))))
12548 (build-system haskell-build-system)
12549 (native-inputs
12550 `(("ghc-tasty" ,ghc-tasty)
12551 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12552 (home-page
12553 "https://github.com/brendanhay/text-manipulate")
12554 (synopsis
12555 "Case conversion, word boundary manipulation, and textual subjugation")
12556 (description
12557 "Manipulate identifiers and structurally non-complex pieces of text by
12558delimiting word boundaries via a combination of whitespace,
12559control-characters, and case-sensitivity.
12560
12561Has support for common idioms like casing of programmatic variable names,
12562taking, dropping, and splitting by word, and modifying the first character of
12563a piece of text.
12564
12565Caution: this library makes heavy use of the text library's internal loop
12566optimisation framework. Since internal modules are not guaranteed to have a
12567stable API there is potential for build breakage when the text dependency is
12568upgraded. Consider yourself warned!")
12569 (license license:mpl2.0)))
12570
bdc877c4
TS
12571(define-public ghc-text-metrics
12572 (package
12573 (name "ghc-text-metrics")
12574 (version "0.3.0")
12575 (source
12576 (origin
12577 (method url-fetch)
12578 (uri (string-append "https://hackage.haskell.org/package/"
12579 "text-metrics/text-metrics-" version ".tar.gz"))
12580 (sha256
12581 (base32
12582 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
12583 (build-system haskell-build-system)
12584 (inputs
12585 `(("ghc-vector" ,ghc-vector)))
12586 (native-inputs
12587 `(("ghc-quickcheck" ,ghc-quickcheck)
12588 ("ghc-hspec" ,ghc-hspec)))
12589 (arguments
12590 `(#:cabal-revision
12591 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
12592 (home-page "https://github.com/mrkkrp/text-metrics")
12593 (synopsis "Calculate various string metrics efficiently")
12594 (description "This library provides tools to calculate various
12595string metrics efficiently.")
12596 (license license:bsd-3)))
12597
dddbc90c
RV
12598(define-public ghc-tf-random
12599 (package
12600 (name "ghc-tf-random")
12601 (version "0.5")
534d6caa 12602 (outputs '("out" "static" "doc"))
dddbc90c
RV
12603 (source
12604 (origin
12605 (method url-fetch)
12606 (uri (string-append
12607 "https://hackage.haskell.org/package/tf-random/tf-random-"
12608 version
12609 ".tar.gz"))
12610 (sha256
12611 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
12612 (build-system haskell-build-system)
12613 (inputs
12614 `(("ghc-primitive" ,ghc-primitive)
12615 ("ghc-random" ,ghc-random)))
12616 (home-page "https://hackage.haskell.org/package/tf-random")
12617 (synopsis "High-quality splittable pseudorandom number generator")
12618 (description "This package contains an implementation of a high-quality
12619splittable pseudorandom number generator. The generator is based on a
12620cryptographic hash function built on top of the ThreeFish block cipher. See
12621the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
12622Hashing\" by Claessen, Pałka for details and the rationale of the design.")
12623 (license license:bsd-3)))
12624
12625(define-public ghc-th-abstraction
12626 (package
12627 (name "ghc-th-abstraction")
1188eabb 12628 (version "0.3.1.0")
dddbc90c
RV
12629 (source
12630 (origin
12631 (method url-fetch)
12632 (uri (string-append "https://hackage.haskell.org/package/"
12633 "th-abstraction/th-abstraction-"
12634 version ".tar.gz"))
12635 (sha256
12636 (base32
1188eabb 12637 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
12638 (build-system haskell-build-system)
12639 (home-page "https://github.com/glguy/th-abstraction")
12640 (synopsis "Nicer interface for reified information about data types")
12641 (description
12642 "This package normalizes variations in the interface for inspecting
12643datatype information via Template Haskell so that packages and support a
12644single, easier to use informational datatype while supporting many versions of
12645Template Haskell.")
12646 (license license:isc)))
12647
12648(define-public ghc-th-expand-syns
12649 (package
12650 (name "ghc-th-expand-syns")
8c766600 12651 (version "0.4.5.0")
dddbc90c
RV
12652 (source (origin
12653 (method url-fetch)
12654 (uri (string-append "https://hackage.haskell.org/package/"
12655 "th-expand-syns/th-expand-syns-"
12656 version ".tar.gz"))
12657 (sha256
12658 (base32
8c766600 12659 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
12660 (build-system haskell-build-system)
12661 (inputs
12662 `(("ghc-syb" ,ghc-syb)))
12663 (home-page "https://hackage.haskell.org/package/th-expand-syns")
12664 (synopsis "Expands type synonyms in Template Haskell ASTs")
12665 (description
12666 "This package enables users to expand type synonyms in Template Haskell
12667@dfn{abstract syntax trees} (ASTs).")
12668 (license license:bsd-3)))
12669
12670(define-public ghc-th-lift
12671 (package
12672 (name "ghc-th-lift")
bd76b20a 12673 (version "0.8.0.1")
dddbc90c
RV
12674 (source (origin
12675 (method url-fetch)
12676 (uri (string-append "https://hackage.haskell.org/package/"
12677 "th-lift/th-lift-" version ".tar.gz"))
12678 (sha256
12679 (base32
bd76b20a 12680 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
12681 (build-system haskell-build-system)
12682 (inputs
12683 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
12684 (home-page "https://github.com/mboes/th-lift")
12685 (synopsis "Derive Template Haskell's Lift class for datatypes")
12686 (description
12687 "This is a Haskell library to derive Template Haskell's Lift class for
12688datatypes.")
12689 (license license:bsd-3)))
12690
12691(define-public ghc-th-lift-instances
12692 (package
12693 (name "ghc-th-lift-instances")
d3db399e 12694 (version "0.1.14")
dddbc90c
RV
12695 (source
12696 (origin
12697 (method url-fetch)
12698 (uri (string-append "https://hackage.haskell.org/package/"
12699 "th-lift-instances/th-lift-instances-"
12700 version ".tar.gz"))
12701 (sha256
12702 (base32
d3db399e 12703 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
12704 (build-system haskell-build-system)
12705 (inputs
12706 `(("ghc-th-lift" ,ghc-th-lift)
12707 ("ghc-vector" ,ghc-vector)
12708 ("ghc-quickcheck" ,ghc-quickcheck)))
12709 (home-page "https://github.com/bennofs/th-lift-instances/")
12710 (synopsis "Lift instances for template-haskell for common data types.")
12711 (description "Most data types in the Haskell platform do not have Lift
12712instances. This package provides orphan instances for @code{containers},
12713@code{text}, @code{bytestring} and @code{vector}.")
12714 (license license:bsd-3)))
12715
12716(define-public ghc-th-orphans
12717 (package
12718 (name "ghc-th-orphans")
882b23e2 12719 (version "0.13.9")
dddbc90c
RV
12720 (source (origin
12721 (method url-fetch)
12722 (uri (string-append "https://hackage.haskell.org/package/"
12723 "th-orphans/th-orphans-" version ".tar.gz"))
12724 (sha256
12725 (base32
882b23e2 12726 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
12727 (build-system haskell-build-system)
12728 (inputs
12729 `(("ghc-th-lift" ,ghc-th-lift)
12730 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
12731 ("ghc-th-reify-many" ,ghc-th-reify-many)
12732 ("ghc-generic-deriving" ,ghc-generic-deriving)))
12733 (native-inputs
12734 `(("ghc-hspec" ,ghc-hspec)))
12735 (home-page "https://hackage.haskell.org/package/th-orphans")
12736 (synopsis "Orphan instances for TH datatypes")
12737 (description
12738 "This package provides orphan instances for Template Haskell datatypes. In particular,
12739instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
12740and @code{Eq} instances. These instances used to live in the haskell-src-meta
12741package, and that's where the version number started.")
12742 (license license:bsd-3)))
12743
20c440ea
JS
12744(define-public ghc-these
12745 (package
12746 (name "ghc-these")
12747 (version "1.0.1")
12748 (source
12749 (origin
12750 (method url-fetch)
12751 (uri (string-append
12752 "https://hackage.haskell.org/package/these/these-"
12753 version
12754 ".tar.gz"))
12755 (sha256
12756 (base32
12757 "1k0pi65g7cm9hzdw6my6bzz2zvddkmj1qs45ymqmi316bpiixk3r"))))
12758 (build-system haskell-build-system)
12759 (inputs
12760 `(("ghc-base-compat" ,ghc-base-compat)
12761 ("ghc-hashable" ,ghc-hashable)
12762 ("ghc-aeson" ,ghc-aeson)
12763 ("ghc-unordered-containers" ,ghc-unordered-containers)
12764 ("ghc-assoc" ,ghc-assoc)
12765 ("ghc-semigroupoids" ,ghc-semigroupoids)
12766 ("ghc-quickcheck" ,ghc-quickcheck)))
12767 (arguments
12768 `(#:cabal-revision
12769 ("1"
12770 "0923r86fnmgpx0msm68aszirh2n19nn5bccgjxfh2146jw4z7w3z")))
12771 (home-page
12772 "https://github.com/isomorphism/these")
12773 (synopsis "Either-or-both data type")
12774 (description
12775 "This package provides a data type @code{These a b} which can
12776hold a value of either type or values of each type. This is usually
12777thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
12778\"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
12779as \"inner join\").
12780
12781@code{data These a b = This a | That b | These a b}
12782
12783Since version 1, this package was split into parts:
12784
12785@itemize
12786@item
12787https://hackage.haskell.org/package/semialign For @code{Align} and
12788@code{Zip} type-classes.
12789@item
12790https://hackage.haskell.org/package/semialign-indexed For
12791@code{SemialignWithIndex} class, providing @code{ialignWith} and
12792@code{izipWith}
12793@item
12794https://hackage.haskell.org/package/these-lens For lens combinators.
12795@item
12796http://hackage.haskell.org/package/monad-chronicle For transformers
12797variant of @code{These}.
12798@end itemize")
12799 (license license:bsd-3)))
12800
dddbc90c
RV
12801(define-public ghc-threads
12802 (package
12803 (name "ghc-threads")
12804 (version "0.5.1.6")
12805 (source
12806 (origin
12807 (method url-fetch)
12808 (uri (string-append "https://hackage.haskell.org/package/"
12809 "threads/threads-" version ".tar.gz"))
12810 (sha256
12811 (base32
12812 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
12813 (build-system haskell-build-system)
12814 (native-inputs
12815 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
12816 ("ghc-hunit" ,ghc-hunit)
12817 ("ghc-test-framework" ,ghc-test-framework)
12818 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
12819 (home-page "https://github.com/basvandijk/threads")
12820 (synopsis "Fork threads and wait for their result")
12821 (description "This package provides functions to fork threads and
12822wait for their result, whether it's an exception or a normal value.
12823Besides waiting for the termination of a single thread this package also
12824provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
12825package is similar to the @code{threadmanager}, @code{async} and
12826@code{spawn} packages. The advantages of this package are:
12827
dddbc90c
RV
12828@itemize
12829@item Simpler API.
12830@item More efficient in both space and time.
12831@item No space-leak when forking a large number of threads.
12832@item Correct handling of asynchronous exceptions.
12833@item GHC specific functionality like @code{forkOn} and
12834@code{forkIOWithUnmask}.
12835@end itemize")
12836 (license license:bsd-3)))
12837
12838(define-public ghc-th-reify-many
12839 (package
12840 (name "ghc-th-reify-many")
32d4a6ae 12841 (version "0.1.9")
dddbc90c
RV
12842 (source (origin
12843 (method url-fetch)
12844 (uri (string-append "https://hackage.haskell.org/package/"
12845 "th-reify-many/th-reify-many-"
12846 version ".tar.gz"))
12847 (sha256
12848 (base32
32d4a6ae 12849 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
12850 (build-system haskell-build-system)
12851 (inputs
12852 `(("ghc-safe" ,ghc-safe)
12853 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
12854 (home-page "https://github.com/mgsloan/th-reify-many")
12855 (synopsis "Recurseively reify template haskell datatype info")
12856 (description
12857 "th-reify-many provides functions for recursively reifying top level
12858declarations. The main intended use case is for enumerating the names of
12859datatypes reachable from an initial datatype, and passing these names to some
12860function which generates instances.")
12861 (license license:bsd-3)))
12862
75cfc9a2
TS
12863(define-public ghc-time-compat
12864 (package
12865 (name "ghc-time-compat")
12866 (version "1.9.2.2")
12867 (source
12868 (origin
12869 (method url-fetch)
12870 (uri (string-append "https://hackage.haskell.org/package/"
12871 "time-compat/time-compat-" version ".tar.gz"))
12872 (sha256
12873 (base32
12874 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
12875 (build-system haskell-build-system)
12876 (inputs
12877 `(("ghc-base-orphans" ,ghc-base-orphans)))
12878 (native-inputs
12879 `(("ghc-hunit" ,ghc-hunit)
12880 ("ghc-base-compat" ,ghc-base-compat)
12881 ("ghc-quickcheck" ,ghc-quickcheck)
12882 ("ghc-tagged" ,ghc-tagged)
12883 ("ghc-tasty" ,ghc-tasty)
12884 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12885 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12886 (arguments
12887 `(#:cabal-revision
12888 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
12889 (home-page "https://github.com/phadej/time-compat")
12890 (synopsis "Compatibility package for time")
a8d73e69 12891 (description "This package tries to compat as many @code{time}
75cfc9a2
TS
12892features as possible.")
12893 (license license:bsd-3)))
12894
dddbc90c
RV
12895(define-public ghc-time-locale-compat
12896 (package
12897 (name "ghc-time-locale-compat")
12898 (version "0.1.1.5")
12899 (source
12900 (origin
12901 (method url-fetch)
12902 (uri (string-append "https://hackage.haskell.org/package/"
12903 "time-locale-compat/time-locale-compat-"
12904 version ".tar.gz"))
12905 (sha256
12906 (base32
12907 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
12908 (build-system haskell-build-system)
12909 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
12910 (home-page "https://github.com/khibino/haskell-time-locale-compat")
12911 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
12912 (description "This package contains a wrapped name module for
12913@code{TimeLocale}.")
12914 (license license:bsd-3)))
12915
c022a4d4
TS
12916(define-public ghc-time-manager
12917 (package
12918 (name "ghc-time-manager")
12919 (version "0.0.0")
12920 (source
12921 (origin
12922 (method url-fetch)
12923 (uri (string-append "https://hackage.haskell.org/package/"
12924 "time-manager/time-manager-" version ".tar.gz"))
12925 (sha256
12926 (base32
12927 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
12928 (build-system haskell-build-system)
12929 (inputs
12930 `(("ghc-auto-update" ,ghc-auto-update)))
12931 (home-page "https://github.com/yesodweb/wai")
12932 (synopsis "Scalable timer")
12933 (description "This library contains scalable timer functions provided by a
12934timer manager.")
12935 (license license:expat)))
12936
7bbfa392
JS
12937(define-public ghc-timeit
12938 (package
12939 (name "ghc-timeit")
12940 (version "2.0")
12941 (source
12942 (origin
12943 (method url-fetch)
12944 (uri
12945 (string-append
12946 "https://hackage.haskell.org/package/timeit/timeit-"
12947 version ".tar.gz"))
12948 (sha256
12949 (base32
12950 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
12951 (build-system haskell-build-system)
12952 (home-page "https://github.com/merijn/timeit")
12953 (synopsis "Time monadic computations with an IO base")
12954 (description "This package provides a simple wrapper to show the
12955used CPU time of monadic computation with an IO base.")
12956 (license license:bsd-3)))
12957
2ed8bd2d
JS
12958(define-public ghc-timezone-series
12959 (package
12960 (name "ghc-timezone-series")
12961 (version "0.1.9")
12962 (source
12963 (origin
12964 (method url-fetch)
12965 (uri
12966 (string-append
12967 "mirror://hackage/package/timezone-series/timezone-series-"
12968 version ".tar.gz"))
12969 (sha256
12970 (base32
12971 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
12972 (build-system haskell-build-system)
12973 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12974 (synopsis "Enhanced timezone handling for Time")
12975 (description
12976 "This package endows @code{Data.Time}, from the time package, with several
12977data types and functions for enhanced processing of timezones. For one way to
12978create timezone series, see the ghc-timezone-olson package.")
12979 (license license:bsd-3)))
12980
ff0f5786
JS
12981(define-public ghc-timezone-olson
12982 (package
12983 (name "ghc-timezone-olson")
12984 (version "0.1.9")
12985 (source
12986 (origin
12987 (method url-fetch)
12988 (uri
12989 (string-append
12990 "mirror://hackage/package/timezone-olson/timezone-olson-"
12991 version ".tar.gz"))
12992 (sha256
12993 (base32
12994 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
12995 (build-system haskell-build-system)
12996 (inputs
12997 `(("ghc-timezone-series" ,ghc-timezone-series)
12998 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
12999 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
13000 (synopsis "Parser and renderer for binary Olson timezone files")
13001 (description
13002 "A parser and renderer for binary Olson timezone files whose format
13003is specified by the tzfile(5) man page on Unix-like systems. For more
13004information about this format, see
13005@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
13006are provided for converting the parsed data into @code{TimeZoneSeries}
13007objects from the timezone-series package.")
13008 (license license:bsd-3)))
13009
dddbc90c
RV
13010(define-public ghc-tldr
13011 (package
13012 (name "ghc-tldr")
871ceb31 13013 (version "0.4.0.2")
dddbc90c
RV
13014 (source
13015 (origin
13016 (method url-fetch)
13017 (uri (string-append
13018 "https://hackage.haskell.org/package/tldr/tldr-"
13019 version
13020 ".tar.gz"))
13021 (sha256
13022 (base32
871ceb31 13023 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
13024 (build-system haskell-build-system)
13025 (inputs
13026 `(("ghc-cmark" ,ghc-cmark)
13027 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13028 ("ghc-typed-process" ,ghc-typed-process)
13029 ("ghc-semigroups" ,ghc-semigroups)))
13030 (native-inputs
13031 `(("ghc-tasty" ,ghc-tasty)
13032 ("ghc-tasty-golden" ,ghc-tasty-golden)))
13033 (home-page "https://github.com/psibi/tldr-hs#readme")
13034 (synopsis "Haskell tldr client")
13035 (description "This package provides the @command{tldr} command and a
13036Haskell client library allowing users to update and view @code{tldr} pages
13037from a shell. The @code{tldr} pages are a community effort to simplify the
13038man pages with practical examples.")
13039 (license license:bsd-3)))
13040
460e4e42
JS
13041(define-public ghc-transformers
13042 (package
13043 (name "ghc-transformers")
13044 (version "0.5.6.2")
13045 (source
13046 (origin
13047 (method url-fetch)
13048 (uri (string-append
13049 "mirror://hackage/package/transformers/transformers-"
13050 version
13051 ".tar.gz"))
13052 (sha256
13053 (base32
13054 "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
13055 (build-system haskell-build-system)
13056 (home-page
13057 "http://hackage.haskell.org/package/transformers")
13058 (synopsis "Concrete functor and monad transformers")
13059 (description
13060 "Transformers provides functor and monad transformers, inspired by the
13061paper \"Functional Programming with Overloading and Higher-Order
13062Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
130631995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
13064
13065This package contains:
13066@itemize
13067@item the monad transformer class (in @code{Control.Monad.Trans.Class})
13068@item concrete functor and monad transformers, each with associated operations
13069and functions to lift operations associated with other transformers.
13070@end itemize
13071
13072This package can be used on its own in portable Haskell code, in which case
13073operations need to be manually lifted through transformer stacks (see
13074@code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
13075used with the non-portable monad classes in the mtl or monads-tf packages,
13076which automatically lift operations introduced by monad transformers through
13077other transformers.")
13078 (license license:bsd-3)))
13079
dddbc90c
RV
13080(define-public ghc-transformers-base
13081 (package
13082 (name "ghc-transformers-base")
13083 (version "0.4.5.2")
13084 (source
13085 (origin
13086 (method url-fetch)
13087 (uri (string-append
13088 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
13089 version
13090 ".tar.gz"))
13091 (sha256
13092 (base32
13093 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
13094 (build-system haskell-build-system)
13095 (inputs
13096 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
13097 (home-page
13098 "https://hackage.haskell.org/package/transformers-compat")
13099 (synopsis
13100 "Backported transformer library")
13101 (description
13102 "Backported versions of types that were added to transformers in
13103transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
13104compatibility to run on old versions of the platform.")
13105 (license license:bsd-3)))
13106
13107(define-public ghc-transformers-compat
13108 (package
13109 (name "ghc-transformers-compat")
1c9c4d58 13110 (version "0.6.5")
dddbc90c
RV
13111 (source
13112 (origin
13113 (method url-fetch)
13114 (uri (string-append
13115 "https://hackage.haskell.org/package/transformers-compat"
13116 "/transformers-compat-" version ".tar.gz"))
13117 (sha256
13118 (base32
1c9c4d58 13119 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
13120 (build-system haskell-build-system)
13121 (home-page "https://github.com/ekmett/transformers-compat/")
13122 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
13123 (description "This package includes backported versions of types that were
13124added to transformers in transformers 0.3 and 0.4 for users who need strict
13125transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
13126but also need those types.")
13127 (license license:bsd-3)))
13128
13129(define-public ghc-tree-diff
13130 (package
13131 (name "ghc-tree-diff")
b4e26067 13132 (version "0.1")
dddbc90c
RV
13133 (source
13134 (origin
13135 (method url-fetch)
13136 (uri (string-append
13137 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
13138 version
13139 ".tar.gz"))
13140 (sha256
13141 (base32
b4e26067 13142 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 13143 (build-system haskell-build-system)
dddbc90c
RV
13144 (inputs
13145 `(("ghc-aeson" ,ghc-aeson)
13146 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13147 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13148 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 13149 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 13150 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
13151 ("ghc-parsers" ,ghc-parsers)
13152 ("ghc-quickcheck" ,ghc-quickcheck)
13153 ("ghc-scientific" ,ghc-scientific)
13154 ("ghc-tagged" ,ghc-tagged)
13155 ("ghc-unordered-containers" ,ghc-unordered-containers)
13156 ("ghc-uuid-types" ,ghc-uuid-types)
13157 ("ghc-vector" ,ghc-vector)))
13158 (native-inputs
13159 `(("ghc-base-compat" ,ghc-base-compat)
13160 ("ghc-quickcheck" ,ghc-quickcheck)
13161 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13162 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13163 ("ghc-trifecta" ,ghc-trifecta)
13164 ("ghc-tasty" ,ghc-tasty)
13165 ("ghc-tasty-golden" ,ghc-tasty-golden)
13166 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13167 (home-page "https://github.com/phadej/tree-diff")
13168 (synopsis "Compute difference between (expression) trees")
13169 (description "This Haskell library provides a function for computing
13170the difference between (expression) trees. It also provides a way to
13171compute the difference between arbitrary abstract datatypes (ADTs) using
13172@code{Generics}-derivable helpers.")
13173 (license license:bsd-3)))
13174
13175(define-public ghc-trifecta
13176 (package
13177 (name "ghc-trifecta")
13178 (version "2")
13179 (source (origin
13180 (method url-fetch)
13181 (uri (string-append
13182 "https://hackage.haskell.org/package/trifecta/"
13183 "trifecta-" version ".tar.gz"))
13184 (sha256
13185 (base32
13186 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
13187 (build-system haskell-build-system)
5ffe8cfd
TS
13188 (arguments
13189 `(#:tests? #f ; doctest suite fails to build on i686
13190 #:cabal-revision
13191 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
13192 (inputs
13193 `(("ghc-reducers" ,ghc-reducers)
13194 ("ghc-semigroups" ,ghc-semigroups)
13195 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13196 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13197 ("ghc-blaze-builder" ,ghc-blaze-builder)
13198 ("ghc-blaze-html" ,ghc-blaze-html)
13199 ("ghc-blaze-markup" ,ghc-blaze-markup)
13200 ("ghc-charset" ,ghc-charset)
13201 ("ghc-comonad" ,ghc-comonad)
13202 ("ghc-fingertree" ,ghc-fingertree)
13203 ("ghc-hashable" ,ghc-hashable)
13204 ("ghc-lens" ,ghc-lens)
13205 ("ghc-parsers" ,ghc-parsers)
13206 ("ghc-profunctors" ,ghc-profunctors)
13207 ("ghc-unordered-containers" ,ghc-unordered-containers)
13208 ("ghc-utf8-string" ,ghc-utf8-string)))
13209 (native-inputs
13210 `(("cabal-doctest" ,cabal-doctest)
13211 ("ghc-doctest" ,ghc-doctest)
13212 ("ghc-quickcheck" ,ghc-quickcheck)))
13213 (home-page "https://github.com/ekmett/trifecta/")
13214 (synopsis "Parser combinator library with convenient diagnostics")
13215 (description "Trifecta is a modern parser combinator library for Haskell,
13216with slicing and Clang-style colored diagnostics.")
13217 (license license:bsd-3)))
13218
13219(define-public ghc-tuple-th
13220 (package
13221 (name "ghc-tuple-th")
13222 (version "0.2.5")
13223 (source
13224 (origin
13225 (method url-fetch)
13226 (uri (string-append "https://hackage.haskell.org/package/"
13227 "tuple-th-" version "/"
13228 "tuple-th-" version ".tar.gz"))
13229 (sha256
13230 (base32
13231 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
13232 (build-system haskell-build-system)
13233 (home-page "https://github.com/DanielSchuessler/tuple-th")
13234 (synopsis "Generate utility functions for tuples of statically known size
13235for Haskell")
13236 (description "This Haskell package contains Template Haskell functions for
13237generating functions similar to those in @code{Data.List} for tuples of
13238statically known size.")
13239 (license license:bsd-3)))
13240
9f776fe2
JS
13241(define-public ghc-turtle
13242 (package
13243 (name "ghc-turtle")
13244 (version "1.5.15")
13245 (source
13246 (origin
13247 (method url-fetch)
13248 (uri (string-append
13249 "mirror://hackage/package/turtle/turtle-"
13250 version
13251 ".tar.gz"))
13252 (sha256
13253 (base32
13254 "0yckgsc2a4g5x867gni80ldp226bsnhncfbil4ql6v2zwm4r8p7f"))))
13255 (build-system haskell-build-system)
13256 (inputs
13257 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13258 ("ghc-async" ,ghc-async)
13259 ("ghc-clock" ,ghc-clock)
13260 ("ghc-exceptions" ,ghc-exceptions)
13261 ("ghc-foldl" ,ghc-foldl)
13262 ("ghc-hostname" ,ghc-hostname)
13263 ("ghc-managed" ,ghc-managed)
13264 ("ghc-semigroups" ,ghc-semigroups)
13265 ("ghc-system-filepath" ,ghc-system-filepath)
13266 ("ghc-system-fileio" ,ghc-system-fileio)
13267 ("ghc-streaming-commons" ,ghc-streaming-commons)
13268 ("ghc-temporary" ,ghc-temporary)
13269 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13270 ("ghc-optional-args" ,ghc-optional-args)
13271 ("ghc-unix-compat" ,ghc-unix-compat)))
13272 (native-inputs
13273 `(("ghc-doctest" ,ghc-doctest)
13274 ("ghc-fail" ,ghc-fail)))
13275 (arguments
13276 `(#:cabal-revision
13277 ("1" "02q1rv7zx31xz9wnmcqwd4w3iw7623p07iyi21zr0cqlignic5pg")))
13278 (home-page
13279 "http://hackage.haskell.org/package/turtle")
13280 (synopsis "Shell programming, Haskell-style")
13281 (description
13282 "Turtle is a reimplementation of the Unix command line environment in
13283Haskell so that you can use Haskell as both a shell and a scripting
13284language. Features include:
13285
13286@itemize
13287@item Batteries included: Command an extended suite of predefined utilities.
13288@item Interoperability: You can still run external shell commands.
13289@item Portability: Works on Windows, OS X, and Linux.
13290@item Exception safety: Safely acquire and release resources.
13291@item Streaming: Transform or fold command output in constant space.
13292@item Patterns: Use typed regular expressions that can parse structured values.
13293@item Formatting: Type-safe printf-style text formatting.
13294@item Modern: Supports text and system-filepath.
13295@end itemize
13296
13297Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a
13298quick-start guide. Turtle is designed to be beginner-friendly, but as a
13299result lacks certain features, like tracing commands. If you feel comfortable
13300using turtle then you should also check out the Shelly library which provides
13301similar functionality.")
13302 (license license:bsd-3)))
13303
dddbc90c
RV
13304(define-public ghc-typed-process
13305 (package
13306 (name "ghc-typed-process")
72fb84a5 13307 (version "0.2.6.0")
dddbc90c
RV
13308 (source
13309 (origin
13310 (method url-fetch)
13311 (uri (string-append "https://hackage.haskell.org/package/"
13312 "typed-process/typed-process-"
13313 version ".tar.gz"))
13314 (sha256
13315 (base32
72fb84a5 13316 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
13317 (build-system haskell-build-system)
13318 (inputs
72fb84a5
TS
13319 `(("ghc-async" ,ghc-async)
13320 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
13321 (native-inputs
13322 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
13323 ("ghc-hspec" ,ghc-hspec)
13324 ("hspec-discover" ,hspec-discover)
13325 ("ghc-temporary" ,ghc-temporary)))
13326 (home-page "https://haskell-lang.org/library/typed-process")
13327 (synopsis "Run external processes with strong typing of streams")
13328 (description
13329 "This library provides the ability to launch and interact with external
13330processes. It wraps around the @code{process} library, and intends to improve
13331upon it.")
13332 (license license:expat)))
13333
d392f803
AG
13334(define-public ghc-unagi-chan
13335 (package
13336 (name "ghc-unagi-chan")
13337 (version "0.4.1.2")
13338 (source
13339 (origin
13340 (method url-fetch)
13341 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
13342 "/unagi-chan-" version ".tar.gz"))
13343 (sha256
13344 (base32
13345 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
13346 (build-system haskell-build-system)
13347 (inputs
13348 `(("ghc-atomic-primops" ,ghc-atomic-primops)
13349 ("ghc-primitive" ,ghc-primitive)))
13350 (arguments
13351 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
13352 #:cabal-revision
13353 ("1"
13354 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
3ef91e15 13355 (home-page "https://hackage.haskell.org/package/unagi-chan")
d392f803
AG
13356 (synopsis "Fast concurrent queues with a Chan-like API, and more")
13357 (description
13358 "This library provides implementations of concurrent FIFO queues (for
13359both general boxed and primitive unboxed values) that are fast, perform well
13360under contention, and offer a Chan-like interface. The library may be of
13361limited usefulness outside of x86 architectures where the fetch-and-add
13362instruction is not available.")
13363 (license license:bsd-3)))
13364
dddbc90c
RV
13365(define-public ghc-unbounded-delays
13366 (package
13367 (name "ghc-unbounded-delays")
13368 (version "0.1.1.0")
13369 (source
13370 (origin
13371 (method url-fetch)
13372 (uri (string-append
13373 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
13374 version
13375 ".tar.gz"))
13376 (sha256
13377 (base32
13378 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
13379 (build-system haskell-build-system)
13380 (home-page "https://github.com/basvandijk/unbounded-delays")
13381 (synopsis "Unbounded thread delays and timeouts")
13382 (description "The @code{threadDelay} and @code{timeout} functions from the
13383Haskell base library use the bounded @code{Int} type for specifying the delay
13384or timeout period. This package provides alternative functions which use the
13385unbounded @code{Integer} type.")
13386 (license license:bsd-3)))
13387
13388(define-public ghc-unexceptionalio
13389 (package
13390 (name "ghc-unexceptionalio")
13391 (version "0.4.0")
13392 (source
13393 (origin
13394 (method url-fetch)
13395 (uri (string-append "https://hackage.haskell.org/package/"
13396 "unexceptionalio-" version "/" "unexceptionalio-"
13397 version ".tar.gz"))
13398 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
13399 (build-system haskell-build-system)
13400 (home-page "https://github.com/singpolyma/unexceptionalio")
13401 (synopsis "IO without any non-error, synchronous exceptions")
13402 (description "When you've caught all the exceptions that can be
13403handled safely, this is what you're left with.")
13404 (license license:isc)))
13405
b69d4aa7
TS
13406(define-public ghc-unicode-transforms
13407 (package
13408 (name "ghc-unicode-transforms")
13409 (version "0.3.6")
13410 (source
13411 (origin
13412 (method url-fetch)
13413 (uri (string-append "https://hackage.haskell.org/package/"
13414 "unicode-transforms/unicode-transforms-"
13415 version ".tar.gz"))
13416 (sha256
13417 (base32
13418 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
13419 (build-system haskell-build-system)
13420 (inputs
13421 `(("ghc-bitarray" ,ghc-bitarray)))
13422 (native-inputs
13423 `(("ghc-quickcheck" ,ghc-quickcheck)
13424 ("ghc-getopt-generics" ,ghc-getopt-generics)
13425 ("ghc-split" ,ghc-split)))
13426 (home-page "https://github.com/composewell/unicode-transforms")
13427 (synopsis "Unicode normalization")
13428 (description "This library provides tools for fast Unicode 12.1.0
13429normalization in Haskell (normalization forms C, KC, D, and KD).")
13430 (license license:bsd-3)))
13431
dddbc90c
RV
13432(define-public ghc-union-find
13433 (package
13434 (name "ghc-union-find")
13435 (version "0.2")
13436 (source (origin
13437 (method url-fetch)
13438 (uri (string-append
13439 "https://hackage.haskell.org/package/union-find/union-find-"
13440 version ".tar.gz"))
13441 (sha256
13442 (base32
13443 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
13444 (build-system haskell-build-system)
13445 (home-page "https://github.com/nominolo/union-find")
13446 (synopsis "Efficient union and equivalence testing of sets")
13447 (description
13448 "The Union/Find algorithm implements these operations in (effectively)
13449constant-time:
13450@enumerate
13451@item Check whether two elements are in the same equivalence class.
13452@item Create a union of two equivalence classes.
13453@item Look up the descriptor of the equivalence class.
13454@end enumerate\n")
13455 (license license:bsd-3)))
13456
13457(define-public ghc-uniplate
13458 (package
13459 (name "ghc-uniplate")
13460 (version "1.6.12")
13461 (source
13462 (origin
13463 (method url-fetch)
13464 (uri (string-append
13465 "https://hackage.haskell.org/package/uniplate/uniplate-"
13466 version
13467 ".tar.gz"))
13468 (sha256
13469 (base32
13470 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
13471 (build-system haskell-build-system)
13472 (inputs
13473 `(("ghc-syb" ,ghc-syb)
13474 ("ghc-hashable" ,ghc-hashable)
13475 ("ghc-unordered-containers" ,ghc-unordered-containers)))
f5d88758 13476 (home-page "https://github.com/ndmitchell/uniplate")
dddbc90c
RV
13477 (synopsis "Simple, concise and fast generic operations")
13478 (description "Uniplate is a library for writing simple and concise generic
13479operations. Uniplate has similar goals to the original Scrap Your Boilerplate
13480work, but is substantially simpler and faster.")
13481 (license license:bsd-3)))
13482
13483(define-public ghc-unix-compat
13484 (package
13485 (name "ghc-unix-compat")
bc82e9f5 13486 (version "0.5.2")
dddbc90c
RV
13487 (source
13488 (origin
13489 (method url-fetch)
13490 (uri (string-append
13491 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
13492 version
13493 ".tar.gz"))
13494 (sha256
13495 (base32
bc82e9f5 13496 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
13497 (build-system haskell-build-system)
13498 (home-page
13499 "https://github.com/jystic/unix-compat")
13500 (synopsis "Portable POSIX-compatibility layer")
13501 (description
13502 "This package provides portable implementations of parts of the unix
13503package. This package re-exports the unix package when available. When it
13504isn't available, portable implementations are used.")
13505 (license license:bsd-3)))
13506
13507(define-public ghc-unix-time
13508 (package
13509 (name "ghc-unix-time")
fad9cff2 13510 (version "0.4.7")
dddbc90c
RV
13511 (source
13512 (origin
13513 (method url-fetch)
13514 (uri (string-append
13515 "https://hackage.haskell.org/package/unix-time/unix-time-"
13516 version
13517 ".tar.gz"))
13518 (sha256
13519 (base32
fad9cff2 13520 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
13521 (build-system haskell-build-system)
13522 (arguments
13523 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
13524 ; is weird, that should be provided by GHC 7.10.2.
13525 (inputs
13526 `(("ghc-old-time" ,ghc-old-time)
13527 ("ghc-old-locale" ,ghc-old-locale)))
13528 (home-page "https://hackage.haskell.org/package/unix-time")
13529 (synopsis "Unix time parser/formatter and utilities")
13530 (description "This library provides fast parsing and formatting utilities
13531for Unix time in Haskell.")
13532 (license license:bsd-3)))
13533
13534(define-public ghc-unliftio
13535 (package
13536 (name "ghc-unliftio")
a4084db1 13537 (version "0.2.12")
dddbc90c
RV
13538 (source
13539 (origin
13540 (method url-fetch)
13541 (uri (string-append
13542 "https://hackage.haskell.org/package/unliftio/unliftio-"
13543 version
13544 ".tar.gz"))
13545 (sha256
13546 (base32
a4084db1 13547 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
13548 (build-system haskell-build-system)
13549 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
13550 (inputs
13551 `(("ghc-async" ,ghc-async)
13552 ("ghc-unliftio-core" ,ghc-unliftio-core)))
13553 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
13554 (home-page "https://github.com/fpco/unliftio")
13555 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
13556IO (batteries included)")
13557 (description "This Haskell package provides the core @code{MonadUnliftIO}
13558typeclass, a number of common instances, and a collection of common functions
13559working with it.")
13560 (license license:expat)))
13561
13562(define-public ghc-unliftio-core
13563 (package
13564 (name "ghc-unliftio-core")
2ae42618 13565 (version "0.1.2.0")
dddbc90c
RV
13566 (source
13567 (origin
13568 (method url-fetch)
13569 (uri (string-append "https://hackage.haskell.org/package/"
13570 "unliftio-core-" version "/"
13571 "unliftio-core-" version ".tar.gz"))
13572 (sha256
13573 (base32
2ae42618 13574 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
13575 (build-system haskell-build-system)
13576 (arguments
13577 `(#:cabal-revision
2ae42618 13578 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
13579 (home-page
13580 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
13581 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
13582 (description "This Haskell package provides the core @code{MonadUnliftIO}
13583typeclass, instances for base and transformers, and basic utility
13584functions.")
13585 (license license:expat)))
13586
13587(define-public ghc-unordered-containers
13588 (package
13589 (name "ghc-unordered-containers")
ca01f8d3 13590 (version "0.2.10.0")
534d6caa 13591 (outputs '("out" "static" "doc"))
dddbc90c
RV
13592 (source
13593 (origin
13594 (method url-fetch)
13595 (uri (string-append
13596 "https://hackage.haskell.org/package/unordered-containers"
13597 "/unordered-containers-" version ".tar.gz"))
13598 (sha256
13599 (base32
ca01f8d3 13600 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
13601 (build-system haskell-build-system)
13602 (inputs
13603 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
13604 ("ghc-hunit" ,ghc-hunit)
13605 ("ghc-quickcheck" ,ghc-quickcheck)
13606 ("ghc-test-framework" ,ghc-test-framework)
13607 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13608 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13609 ("ghc-hashable" ,ghc-hashable)))
13610 (home-page
13611 "https://github.com/tibbe/unordered-containers")
13612 (synopsis
13613 "Efficient hashing-based container types")
13614 (description
13615 "Efficient hashing-based container types. The containers have been
13616optimized for performance critical use, both in terms of large data quantities
13617and high speed.")
13618 (license license:bsd-3)))
13619
13620(define-public ghc-unordered-containers-bootstrap
13621 (package
13622 (inherit ghc-unordered-containers)
13623 (name "ghc-unordered-containers-bootstrap")
13624 (arguments `(#:tests? #f))
13625 (inputs
13626 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 13627 (properties '((hidden? #t)))))
dddbc90c 13628
a52f4c57
JS
13629(define-public ghc-unsafe
13630 (package
13631 (name "ghc-unsafe")
13632 (version "0.0")
13633 (source
13634 (origin
13635 (method url-fetch)
13636 (uri
13637 (string-append
13638 "https://hackage.haskell.org/package/unsafe/unsafe-"
13639 version ".tar.gz"))
13640 (sha256
13641 (base32
13642 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
13643 (build-system haskell-build-system)
13644 (home-page "https://hackage.haskell.org/package/unsafe")
13645 (synopsis "Unified interface to unsafe functions")
13646 (description "Safe Haskell introduced the notion of safe and unsafe
13647modules. In order to make as many as possible modules ``safe'', the
13648well-known unsafe functions were moved to distinguished modules. This
13649makes it hard to write packages that work with both old and new versions
13650of GHC. This package provides a single module System.Unsafe that
13651exports the unsafe functions from the base package. It provides them in
13652a style ready for qualification, that is, you should import them by
13653@code{import qualified System.Unsafe as Unsafe}.")
13654 (license license:bsd-3)))
13655
dddbc90c
RV
13656(define-public ghc-uri-bytestring
13657 (package
13658 (name "ghc-uri-bytestring")
d35ffd39 13659 (version "0.3.2.2")
dddbc90c
RV
13660 (source
13661 (origin
13662 (method url-fetch)
13663 (uri (string-append "https://hackage.haskell.org/package/"
13664 "uri-bytestring-" version "/"
13665 "uri-bytestring-" version ".tar.gz"))
13666 (sha256
13667 (base32
d35ffd39 13668 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
13669 (build-system haskell-build-system)
13670 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
13671 ("ghc-blaze-builder" ,ghc-blaze-builder)
13672 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 13673 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
13674 ("ghc-tasty" ,ghc-tasty)
13675 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
13676 ("ghc-hedgehog" ,ghc-hedgehog)
13677 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 13678 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 13679 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 13680 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
13681 (home-page "https://github.com/Soostone/uri-bytestring")
13682 (synopsis "Haskell URI parsing as ByteStrings")
13683 (description "This Haskell package aims to be an RFC3986 compliant URI
13684parser that uses ByteStrings for parsing and representing the URI data.")
13685 (license license:bsd-3)))
13686
d7ad0823
JS
13687(define-public ghc-utf8-light
13688 (package
13689 (name "ghc-utf8-light")
13690 (version "0.4.2")
13691 (source
13692 (origin
13693 (method url-fetch)
13694 (uri (string-append
13695 "mirror://hackage/package/utf8-light/utf8-light-"
13696 version
13697 ".tar.gz"))
13698 (sha256
13699 (base32
13700 "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
13701 (build-system haskell-build-system)
13702 (home-page
13703 "http://hackage.haskell.org/package/utf8-light")
13704 (synopsis "Lightweight unicode support for Haskell")
13705 (description
13706 "This package profides a class for encoding and decoding UTF8 strings
13707with instances for several common types. It also includes several functions
13708for working with UTF8. It aims to be lightweight, depending only on Base and
13709including only one module.")
13710 (license license:bsd-3)))
13711
dddbc90c
RV
13712(define-public ghc-utf8-string
13713 (package
13714 (name "ghc-utf8-string")
13715 (version "1.0.1.1")
13716 (source
13717 (origin
13718 (method url-fetch)
13719 (uri (string-append
13720 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
13721 version
13722 ".tar.gz"))
13723 (sha256
13724 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
13725 (build-system haskell-build-system)
13726 (arguments
13727 `(#:cabal-revision
13728 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
13729 (home-page "https://github.com/glguy/utf8-string/")
13730 (synopsis "Support for reading and writing UTF8 Strings")
13731 (description
13732 "A UTF8 layer for Strings. The utf8-string package provides operations
13733for encoding UTF8 strings to Word8 lists and back, and for reading and writing
13734UTF8 without truncation.")
13735 (license license:bsd-3)))
13736
13737(define-public ghc-utility-ht
13738 (package
13739 (name "ghc-utility-ht")
13740 (version "0.0.14")
13741 (home-page "https://hackage.haskell.org/package/utility-ht")
13742 (source
13743 (origin
13744 (method url-fetch)
13745 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
13746 (sha256
13747 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
13748 (build-system haskell-build-system)
13749 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
13750 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
13751 (description "This package includes Hakell modules providing various
13752helper functions for Lists, Maybes, Tuples, Functions.")
13753 (license license:bsd-3)))
13754
13755(define-public ghc-uuid
13756 (package
13757 (name "ghc-uuid")
13758 (version "1.3.13")
13759 (source
13760 (origin
13761 (method url-fetch)
13762 (uri (string-append "https://hackage.haskell.org/package/"
13763 "uuid-" version "/"
13764 "uuid-" version ".tar.gz"))
13765 (sha256
13766 (base32
13767 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
13768 (build-system haskell-build-system)
13769 (arguments
13770 `(#:cabal-revision
13771 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
13772 #:phases
13773 (modify-phases %standard-phases
13774 (add-before 'configure 'strip-test-framework-constraints
13775 (lambda _
13776 (substitute* "uuid.cabal"
13777 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
13778 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
13779 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13780 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13781 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13782 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
13783 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
13784 ("ghc-entropy" ,ghc-entropy)
13785 ("ghc-network-info" ,ghc-network-info)
13786 ("ghc-random" ,ghc-random)
13787 ("ghc-uuid-types" ,ghc-uuid-types)))
13788 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13789 ("ghc-quickcheck" ,ghc-quickcheck)
13790 ("ghc-tasty" ,ghc-tasty)
13791 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13792 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13793 (home-page "https://github.com/hvr/uuid")
13794 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
13795 (description "This Haskell library provides utilities creating, comparing,
13796parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
13797 (license license:bsd-3)))
13798
13799(define-public ghc-uuid-types
13800 (package
13801 (name "ghc-uuid-types")
13802 (version "1.0.3")
13803 (source
13804 (origin
13805 (method url-fetch)
13806 (uri (string-append "https://hackage.haskell.org/package/"
13807 "uuid-types-" version "/"
13808 "uuid-types-" version ".tar.gz"))
13809 (sha256
13810 (base32
13811 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
13812 (build-system haskell-build-system)
13813 (arguments
13814 `(#:phases
13815 (modify-phases %standard-phases
13816 (add-before 'configure 'strip-test-framework-constraints
13817 (lambda _
13818 (substitute* "uuid-types.cabal"
13819 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
13820 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
13821 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13822 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13823 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13824 (inputs `(("ghc-hashable" ,ghc-hashable)
13825 ("ghc-random" ,ghc-random)))
13826 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13827 ("ghc-quickcheck" ,ghc-quickcheck)
13828 ("ghc-tasty" ,ghc-tasty)
13829 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13830 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13831 (home-page "https://github.com/hvr/uuid")
13832 (synopsis "Haskell type definitions for UUIDs")
13833 (description "This Haskell library contains type definitions for
13834@dfn{Universally Unique Identifiers} or
13835@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
13836functions.")
13837 (license license:bsd-3)))
13838
13839(define-public ghc-validation
13840 (package
13841 (name "ghc-validation")
08397fde 13842 (version "1.1")
dddbc90c
RV
13843 (source
13844 (origin
13845 (method url-fetch)
13846 (uri (string-append
13847 "mirror://hackage/package/validation/validation-"
13848 version
13849 ".tar.gz"))
13850 (sha256
13851 (base32
08397fde 13852 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
13853 (build-system haskell-build-system)
13854 (arguments
13855 `(#:cabal-revision
08397fde 13856 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
13857 (inputs
13858 `(("ghc-semigroups" ,ghc-semigroups)
13859 ("ghc-semigroupoids" ,ghc-semigroupoids)
13860 ("ghc-bifunctors" ,ghc-bifunctors)
13861 ("ghc-lens" ,ghc-lens)))
13862 (native-inputs
13863 `(("ghc-hedgehog" ,ghc-hedgehog)
13864 ("ghc-hunit" ,ghc-hunit)))
13865 (home-page "https://github.com/qfpl/validation")
13866 (synopsis
13867 "Data-type like Either but with an accumulating Applicative")
13868 (description
13869 "A data-type like Either but with differing properties and type-class
13870instances.
13871
13872Library support is provided for this different representation, including
13873@code{lens}-related functions for converting between each and abstracting over
13874their similarities.
13875
13876The @code{Validation} data type is isomorphic to @code{Either}, but has an
13877instance of @code{Applicative} that accumulates on the error side. That is to
13878say, if two (or more) errors are encountered, they are appended using a
13879@{Semigroup} operation.
13880
13881As a consequence of this @code{Applicative} instance, there is no
13882corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
13883example of, \"An applicative functor that is not a monad.\"")
13884 (license license:bsd-3)))
13885
13886(define-public ghc-validity
13887 (package
13888 (name "ghc-validity")
3f1ba75d 13889 (version "0.9.0.2")
dddbc90c
RV
13890 (source
13891 (origin
13892 (method url-fetch)
13893 (uri (string-append
13894 "https://hackage.haskell.org/package/validity/validity-"
13895 version
13896 ".tar.gz"))
13897 (sha256
13898 (base32
3f1ba75d 13899 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
13900 (build-system haskell-build-system)
13901 (native-inputs `(("ghc-hspec" ,ghc-hspec)
13902 ("hspec-discover" ,hspec-discover)))
13903 (home-page
13904 "https://github.com/NorfairKing/validity")
13905 (synopsis "Validity typeclass")
13906 (description
13907 "Values of custom types usually have invariants imposed upon them. This
13908package provides the @code{Validity} type class, which makes these invariants
13909explicit by providing a function to check whether the invariants hold.")
13910 (license license:expat)))
13911
13912(define-public ghc-vault
13913 (package
13914 (name "ghc-vault")
b40a436e 13915 (version "0.3.1.3")
dddbc90c
RV
13916 (source
13917 (origin
13918 (method url-fetch)
13919 (uri (string-append
13920 "https://hackage.haskell.org/package/vault/vault-"
13921 version
13922 ".tar.gz"))
13923 (sha256
13924 (base32
b40a436e 13925 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
13926 (build-system haskell-build-system)
13927 (inputs
13928 `(("ghc-unordered-containers" ,ghc-unordered-containers)
13929 ("ghc-hashable" ,ghc-hashable)
b40a436e 13930 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
13931 (home-page
13932 "https://github.com/HeinrichApfelmus/vault")
13933 (synopsis "Persistent store for arbitrary values")
13934 (description "This package provides vaults for Haskell. A vault is a
13935persistent store for values of arbitrary types. It's like having first-class
13936access to the storage space behind @code{IORefs}. The data structure is
13937analogous to a bank vault, where you can access different bank boxes with
13938different keys; hence the name. Also provided is a @code{locker} type,
13939representing a store for a single element.")
13940 (license license:bsd-3)))
13941
13942(define-public ghc-vector
13943 (package
13944 (name "ghc-vector")
3ad67f6b 13945 (version "0.12.0.3")
534d6caa 13946 (outputs '("out" "static" "doc"))
dddbc90c
RV
13947 (source
13948 (origin
13949 (method url-fetch)
13950 (uri (string-append
13951 "https://hackage.haskell.org/package/vector/vector-"
13952 version
13953 ".tar.gz"))
13954 (sha256
13955 (base32
3ad67f6b 13956 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
13957 (build-system haskell-build-system)
13958 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
13959 ;; disabled for now.
13960 (arguments
3ad67f6b 13961 `(#:tests? #f))
dddbc90c
RV
13962 (inputs
13963 `(("ghc-primitive" ,ghc-primitive)
13964 ("ghc-random" ,ghc-random)
13965 ("ghc-quickcheck" ,ghc-quickcheck)
13966 ;; ("ghc-hunit" ,ghc-hunit)
13967 ;; ("ghc-test-framework" ,ghc-test-framework)
13968 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13969 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13970 ))
13971 (home-page "https://github.com/haskell/vector")
13972 (synopsis "Efficient Arrays")
13973 (description "This library provides an efficient implementation of
13974Int-indexed arrays (both mutable and immutable), with a powerful loop
13975optimisation framework.")
13976 (license license:bsd-3)))
13977
13978(define-public ghc-vector-algorithms
13979 (package
13980 (name "ghc-vector-algorithms")
e71f316f 13981 (version "0.8.0.1")
dddbc90c
RV
13982 (source
13983 (origin
13984 (method url-fetch)
13985 (uri (string-append "https://hackage.haskell.org/package/"
13986 "vector-algorithms-" version "/"
13987 "vector-algorithms-" version ".tar.gz"))
13988 (sha256
13989 (base32
e71f316f 13990 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
13991 (build-system haskell-build-system)
13992 (inputs
13993 `(("ghc-vector" ,ghc-vector)))
13994 (native-inputs
13995 `(("ghc-quickcheck" ,ghc-quickcheck)))
13996 (home-page "https://github.com/bos/math-functions")
13997 (synopsis "Algorithms for vector arrays in Haskell")
13998 (description "This Haskell library algorithms for vector arrays.")
13999 (license license:bsd-3)))
14000
14001(define-public ghc-vector-binary-instances
14002 (package
14003 (name "ghc-vector-binary-instances")
ca0701ef 14004 (version "0.2.5.1")
dddbc90c
RV
14005 (source
14006 (origin
14007 (method url-fetch)
14008 (uri (string-append
14009 "https://hackage.haskell.org/package/"
14010 "vector-binary-instances/vector-binary-instances-"
14011 version ".tar.gz"))
14012 (sha256
14013 (base32
ca0701ef 14014 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 14015 (build-system haskell-build-system)
dddbc90c
RV
14016 (inputs
14017 `(("ghc-vector" ,ghc-vector)))
14018 (native-inputs
14019 `(("ghc-tasty" ,ghc-tasty)
14020 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14021 (home-page "https://github.com/bos/vector-binary-instances")
14022 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
14023 (description "This library provides instances of @code{Binary} for the
14024types defined in the @code{vector} package, making it easy to serialize
14025vectors to and from disk. We use the generic interface to vectors, so all
14026vector types are supported. Specific instances are provided for unboxed,
14027boxed and storable vectors.")
14028 (license license:bsd-3)))
14029
14030(define-public ghc-vector-builder
14031 (package
14032 (name "ghc-vector-builder")
1fc05441 14033 (version "0.3.8")
dddbc90c
RV
14034 (source
14035 (origin
14036 (method url-fetch)
14037 (uri (string-append "https://hackage.haskell.org/package/"
14038 "vector-builder-" version "/"
14039 "vector-builder-" version ".tar.gz"))
14040 (sha256
14041 (base32
1fc05441 14042 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
14043 (build-system haskell-build-system)
14044 (inputs `(("ghc-vector" ,ghc-vector)
14045 ("ghc-semigroups" ,ghc-semigroups)
14046 ("ghc-base-prelude" ,ghc-base-prelude)))
14047 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
14048 ("ghc-tasty" ,ghc-tasty)
14049 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14050 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
14051 ("ghc-hunit" ,ghc-hunit)
14052 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
14053 ("ghc-rerebase" ,ghc-rerebase)))
14054 (home-page "https://github.com/nikita-volkov/vector-builder")
14055 (synopsis "Vector builder for Haskell")
14056 (description "This Haskell package provides an API for constructing vectors.
14057It provides the composable @code{Builder} abstraction, which has instances of the
14058@code{Monoid} and @code{Semigroup} classes.
14059
14060You would first use the @code{Builder} abstraction to specify the structure of
14061the vector; then you can execute the builder to actually produce the
14062vector. ")
14063 (license license:expat)))
14064
14065(define-public ghc-vector-th-unbox
14066 (package
14067 (name "ghc-vector-th-unbox")
63056e61 14068 (version "0.2.1.7")
dddbc90c
RV
14069 (source
14070 (origin
14071 (method url-fetch)
14072 (uri (string-append "https://hackage.haskell.org/package/"
14073 "vector-th-unbox-" version "/"
14074 "vector-th-unbox-" version ".tar.gz"))
14075 (sha256
14076 (base32
63056e61 14077 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
14078 (build-system haskell-build-system)
14079 (inputs
14080 `(("ghc-vector" ,ghc-vector)
14081 ("ghc-data-default" ,ghc-data-default)))
14082 (home-page "https://github.com/liyang/vector-th-unbox")
14083 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
14084 (description "This Haskell library provides a Template Haskell
14085deriver for unboxed vectors, given a pair of coercion functions to
14086and from some existing type with an Unbox instance.")
14087 (license license:bsd-3)))
14088
14089(define-public ghc-void
14090 (package
14091 (name "ghc-void")
51889121 14092 (version "0.7.3")
dddbc90c
RV
14093 (source
14094 (origin
14095 (method url-fetch)
14096 (uri (string-append
14097 "https://hackage.haskell.org/package/void/void-"
14098 version
14099 ".tar.gz"))
14100 (sha256
14101 (base32
51889121 14102 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
14103 (build-system haskell-build-system)
14104 (inputs
14105 `(("ghc-semigroups" ,ghc-semigroups)
14106 ("ghc-hashable" ,ghc-hashable)))
14107 (home-page "https://github.com/ekmett/void")
14108 (synopsis
14109 "Logically uninhabited data type")
14110 (description
14111 "A Haskell 98 logically uninhabited data type, used to indicate that a
14112given term should not exist.")
14113 (license license:bsd-3)))
14114
14115(define-public ghc-wave
14116 (package
14117 (name "ghc-wave")
1631a0f7 14118 (version "0.2.0")
dddbc90c
RV
14119 (source (origin
14120 (method url-fetch)
14121 (uri (string-append
14122 "https://hackage.haskell.org/package/wave/wave-"
14123 version
14124 ".tar.gz"))
14125 (sha256
14126 (base32
1631a0f7 14127 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
14128 (build-system haskell-build-system)
14129 (arguments
14130 '(#:phases
14131 (modify-phases %standard-phases
14132 (add-before 'configure 'update-constraints
14133 (lambda _
14134 (substitute* "wave.cabal"
14135 (("temporary.* < 1\\.3")
14136 "temporary >= 1.1 && < 1.4")))))))
14137 (inputs
14138 `(("ghc-cereal" ,ghc-cereal)
14139 ("ghc-data-default-class"
14140 ,ghc-data-default-class)
14141 ("ghc-quickcheck" ,ghc-quickcheck)
14142 ("ghc-temporary" ,ghc-temporary)))
14143 (native-inputs
14144 `(("hspec-discover" ,hspec-discover)
14145 ("ghc-hspec" ,ghc-hspec)))
14146 (home-page "https://github.com/mrkkrp/wave")
14147 (synopsis "Work with WAVE and RF64 files in Haskell")
14148 (description "This package allows you to work with WAVE and RF64
14149files in Haskell.")
14150 (license license:bsd-3)))
14151
14152(define-public ghc-wcwidth
14153 (package
14154 (name "ghc-wcwidth")
14155 (version "0.0.2")
14156 (source
14157 (origin
14158 (method url-fetch)
14159 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
14160 version ".tar.gz"))
14161 (sha256
14162 (base32
14163 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
14164 (build-system haskell-build-system)
14165 (inputs
14166 `(("ghc-setlocale" ,ghc-setlocale)
14167 ("ghc-utf8-string" ,ghc-utf8-string)
14168 ("ghc-attoparsec" ,ghc-attoparsec)))
14169 (home-page "https://github.com/solidsnack/wcwidth/")
14170 (synopsis "Haskell bindings to wcwidth")
14171 (description "This package provides Haskell bindings to your system's
14172native wcwidth and a command line tool to examine the widths assigned by it.
14173The command line tool can compile a width table to Haskell code that assigns
14174widths to the Char type.")
14175 (license license:bsd-3)))
14176
14177(define-public ghc-wcwidth-bootstrap
14178 (package
14179 (inherit ghc-wcwidth)
14180 (name "ghc-wcwidth-bootstrap")
14181 (inputs
14182 `(("ghc-setlocale" ,ghc-setlocale)
14183 ("ghc-utf8-string" ,ghc-utf8-string)
14184 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 14185 (properties '((hidden? #t)))))
dddbc90c
RV
14186
14187(define-public ghc-weigh
14188 (package
14189 (name "ghc-weigh")
b6d9777f 14190 (version "0.0.14")
dddbc90c
RV
14191 (source
14192 (origin
14193 (method url-fetch)
14194 (uri (string-append "https://hackage.haskell.org/package/weigh/"
14195 "weigh-" version ".tar.gz"))
14196 (sha256
14197 (base32
b6d9777f 14198 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
14199 (build-system haskell-build-system)
14200 (inputs
14201 `(("ghc-split" ,ghc-split)
14202 ("ghc-temporary" ,ghc-temporary)))
14203 (home-page "https://github.com/fpco/weigh#readme")
14204 (synopsis "Measure allocations of a Haskell functions/values")
14205 (description "This package provides tools to measure the memory usage of a
14206Haskell value or function.")
14207 (license license:bsd-3)))
14208
14209(define-public ghc-wl-pprint
14210 (package
14211 (name "ghc-wl-pprint")
14212 (version "1.2.1")
14213 (source (origin
14214 (method url-fetch)
14215 (uri (string-append
14216 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
14217 version ".tar.gz"))
14218 (sha256
14219 (base32
14220 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
14221 (build-system haskell-build-system)
14222 (home-page "https://hackage.haskell.org/package/wl-pprint")
14223 (synopsis "Wadler/Leijen pretty printer")
14224 (description
14225 "This is a pretty printing library based on Wadler's paper @i{A Prettier
14226Printer}. This version allows the library user to declare overlapping
14227instances of the @code{Pretty} class.")
14228 (license license:bsd-3)))
14229
14230(define-public ghc-wl-pprint-annotated
14231 (package
14232 (name "ghc-wl-pprint-annotated")
14233 (version "0.1.0.1")
14234 (source
14235 (origin
14236 (method url-fetch)
14237 (uri (string-append
14238 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
14239 version
14240 ".tar.gz"))
14241 (sha256
14242 (base32
14243 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
14244 (build-system haskell-build-system)
14245 (native-inputs
14246 `(("ghc-tasty" ,ghc-tasty)
14247 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
14248 (home-page
14249 "https://github.com/minad/wl-pprint-annotated#readme")
14250 (synopsis
14251 "Wadler/Leijen pretty printer with annotation support")
14252 (description
14253 "Annotations are useful for coloring. This is a limited version of
14254@code{wl-pprint-extras} without support for point effects and without the free
14255monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
14256Compared to @code{annotated-wl-pprint} this library provides a slightly
14257modernized interface.")
14258 (license license:bsd-3)))
14259
14260(define-public ghc-wl-pprint-text
14261 (package
14262 (name "ghc-wl-pprint-text")
14263 (version "1.2.0.0")
14264 (source
14265 (origin
14266 (method url-fetch)
14267 (uri (string-append
14268 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
14269 version ".tar.gz"))
14270 (sha256
14271 (base32
14272 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
14273 (build-system haskell-build-system)
14274 (inputs
14275 `(("ghc-base-compat" ,ghc-base-compat)))
14276 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
14277 (synopsis "Wadler/Leijen Pretty Printer for Text values")
14278 (description
14279 "A clone of wl-pprint for use with the text library.")
14280 (license license:bsd-3)))
14281
14282(define-public ghc-word8
14283 (package
14284 (name "ghc-word8")
14285 (version "0.1.3")
14286 (source
14287 (origin
14288 (method url-fetch)
14289 (uri (string-append
14290 "https://hackage.haskell.org/package/word8/word8-"
14291 version
14292 ".tar.gz"))
14293 (sha256
14294 (base32
14295 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
14296 (build-system haskell-build-system)
14297 (native-inputs
14298 `(("ghc-hspec" ,ghc-hspec)
14299 ("hspec-discover" ,hspec-discover)))
14300 (home-page "https://hackage.haskell.org/package/word8")
14301 (synopsis "Word8 library for Haskell")
14302 (description "Word8 library to be used with @code{Data.ByteString}.")
14303 (license license:bsd-3)))
14304
14305(define-public ghc-x11
14306 (package
14307 (name "ghc-x11")
6c4581a3 14308 (version "1.9.1")
dddbc90c
RV
14309 (source
14310 (origin
14311 (method url-fetch)
14312 (uri (string-append "https://hackage.haskell.org/package/X11/"
14313 "X11-" version ".tar.gz"))
14314 (sha256
6c4581a3 14315 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c 14316 (build-system haskell-build-system)
54a5fd07
TS
14317 (arguments
14318 `(#:extra-directories
14319 ("libx11" "libxrandr" "libxinerama" "libxscrnsaver")))
dddbc90c
RV
14320 (inputs
14321 `(("libx11" ,libx11)
14322 ("libxrandr" ,libxrandr)
14323 ("libxinerama" ,libxinerama)
14324 ("libxscrnsaver" ,libxscrnsaver)
14325 ("ghc-data-default" ,ghc-data-default)))
14326 (home-page "https://github.com/haskell-pkg-janitors/X11")
14327 (synopsis "Bindings to the X11 graphics library")
14328 (description
14329 "This package provides Haskell bindings to the X11 graphics library. The
14330bindings are a direct translation of the C bindings.")
14331 (license license:bsd-3)))
14332
14333(define-public ghc-x11-xft
14334 (package
14335 (name "ghc-x11-xft")
14336 (version "0.3.1")
14337 (source
14338 (origin
14339 (method url-fetch)
14340 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
14341 "X11-xft-" version ".tar.gz"))
14342 (sha256
14343 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
54a5fd07
TS
14344 (arguments
14345 `(#:extra-directories ("libx11" "libxft" "xorgproto")))
dddbc90c
RV
14346 (inputs
14347 `(("ghc-x11" ,ghc-x11)
14348 ("ghc-utf8-string" ,ghc-utf8-string)
14349 ("libx11" ,libx11)
14350 ("libxft" ,libxft)
14351 ("xorgproto" ,xorgproto)))
14352 (native-inputs
14353 `(("pkg-config" ,pkg-config)))
14354 (build-system haskell-build-system)
14355 (home-page "https://hackage.haskell.org/package/X11-xft")
14356 (synopsis "Bindings to Xft")
14357 (description
14358 "Bindings to the Xft, X Free Type interface library, and some Xrender
14359parts.")
14360 (license license:lgpl2.1)))
14361
14362(define-public ghc-xdg-basedir
14363 (package
14364 (name "ghc-xdg-basedir")
14365 (version "0.2.2")
14366 (source
14367 (origin
14368 (method url-fetch)
14369 (uri (string-append
14370 "https://hackage.haskell.org/package/xdg-basedir/"
14371 "xdg-basedir-" version ".tar.gz"))
14372 (sha256
14373 (base32
14374 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
14375 (build-system haskell-build-system)
702a1012 14376 (home-page "https://github.com/willdonnelly/xdg-basedir")
dddbc90c
RV
14377 (synopsis "XDG Base Directory library for Haskell")
14378 (description "This package provides a library implementing the XDG Base Directory spec.")
14379 (license license:bsd-3)))
14380
14381(define-public ghc-xml
14382 (package
14383 (name "ghc-xml")
14384 (version "1.3.14")
14385 (source
14386 (origin
14387 (method url-fetch)
14388 (uri (string-append
14389 "https://hackage.haskell.org/package/xml/xml-"
14390 version
14391 ".tar.gz"))
14392 (sha256
14393 (base32
14394 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
14395 (build-system haskell-build-system)
2b62f5d0 14396 (home-page "https://github.com/GaloisInc/xml")
dddbc90c
RV
14397 (synopsis "Simple XML library for Haskell")
14398 (description "This package provides a simple XML library for Haskell.")
14399 (license license:bsd-3)))
14400
14401(define-public ghc-xml-conduit
14402 (package
14403 (name "ghc-xml-conduit")
14404 (version "1.8.0.1")
14405 (source
14406 (origin
14407 (method url-fetch)
14408 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
14409 "xml-conduit-" version ".tar.gz"))
14410 (sha256
14411 (base32
14412 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
14413 (build-system haskell-build-system)
14414 (inputs
14415 `(("ghc-conduit" ,ghc-conduit)
14416 ("ghc-conduit-extra" ,ghc-conduit-extra)
14417 ("ghc-doctest" ,ghc-doctest)
14418 ("ghc-resourcet" ,ghc-resourcet)
14419 ("ghc-xml-types" ,ghc-xml-types)
14420 ("ghc-attoparsec" ,ghc-attoparsec)
14421 ("ghc-data-default-class" ,ghc-data-default-class)
14422 ("ghc-blaze-markup" ,ghc-blaze-markup)
14423 ("ghc-blaze-html" ,ghc-blaze-html)
14424 ("ghc-monad-control" ,ghc-monad-control)
14425 ("ghc-hspec" ,ghc-hspec)
14426 ("ghc-hunit" ,ghc-hunit)))
14427 (home-page "https://github.com/snoyberg/xml")
14428 (synopsis "Utilities for dealing with XML with the conduit package")
14429 (description
14430 "This package provides pure-Haskell utilities for dealing with XML with
14431the @code{conduit} package.")
14432 (license license:expat)))
14433
14434(define-public ghc-xml-types
14435 (package
14436 (name "ghc-xml-types")
14437 (version "0.3.6")
14438 (source
14439 (origin
14440 (method url-fetch)
14441 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
14442 "xml-types-" version ".tar.gz"))
14443 (sha256
14444 (base32
14445 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
14446 (build-system haskell-build-system)
14447 (home-page "https://john-millikin.com/software/haskell-xml/")
14448 (synopsis "Basic types for representing XML")
14449 (description "This package provides basic types for representing XML
14450documents.")
14451 (license license:expat)))
14452
14453(define-public ghc-yaml
14454 (package
14455 (name "ghc-yaml")
b58e5b84 14456 (version "0.11.1.2")
dddbc90c
RV
14457 (source (origin
14458 (method url-fetch)
14459 (uri (string-append "https://hackage.haskell.org/package/"
14460 "yaml/yaml-" version ".tar.gz"))
14461 (sha256
14462 (base32
b58e5b84 14463 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 14464 (build-system haskell-build-system)
dddbc90c
RV
14465 (inputs
14466 `(("ghc-conduit" ,ghc-conduit)
14467 ("ghc-resourcet" ,ghc-resourcet)
14468 ("ghc-aeson" ,ghc-aeson)
14469 ("ghc-unordered-containers" ,ghc-unordered-containers)
14470 ("ghc-vector" ,ghc-vector)
14471 ("ghc-attoparsec" ,ghc-attoparsec)
14472 ("ghc-scientific" ,ghc-scientific)
14473 ("ghc-semigroups" ,ghc-semigroups)
14474 ("ghc-temporary" ,ghc-temporary)
14475 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
14476 ("ghc-base-compat" ,ghc-base-compat)
14477 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
14478 (native-inputs
14479 `(("ghc-hspec" ,ghc-hspec)
14480 ("ghc-hunit" ,ghc-hunit)
14481 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
14482 ("ghc-mockery" ,ghc-mockery)
14483 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
14484 (home-page "https://github.com/snoyberg/yaml/")
14485 (synopsis "Parsing and rendering YAML documents")
14486 (description
14487 "This package provides a library to parse and render YAML documents.")
14488 (license license:bsd-3)))
14489
14490(define-public ghc-zip-archive
14491 (package
14492 (name "ghc-zip-archive")
93c1fdd3 14493 (version "0.4.1")
dddbc90c
RV
14494 (source
14495 (origin
14496 (method url-fetch)
14497 (uri (string-append
14498 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
14499 version
14500 ".tar.gz"))
14501 (sha256
14502 (base32
93c1fdd3 14503 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 14504 (build-system haskell-build-system)
93c1fdd3
TS
14505 (arguments
14506 `(#:phases
14507 (modify-phases %standard-phases
14508 (add-before 'check 'set-PATH-for-tests
14509 (lambda* (#:key inputs #:allow-other-keys)
14510 (let ((unzip (assoc-ref inputs "unzip"))
14511 (which (assoc-ref inputs "which"))
14512 (path (getenv "PATH")))
14513 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
14514 #t))))))
dddbc90c
RV
14515 (inputs
14516 `(("ghc-digest" ,ghc-digest)
14517 ("ghc-temporary" ,ghc-temporary)
14518 ("ghc-zlib" ,ghc-zlib)))
14519 (native-inputs
14520 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
14521 ("unzip" ,unzip)
14522 ("which" ,which)))
dddbc90c
RV
14523 (home-page "https://hackage.haskell.org/package/zip-archive")
14524 (synopsis "Zip archive library for Haskell")
14525 (description "The zip-archive library provides functions for creating,
14526modifying, and extracting files from zip archives in Haskell.")
14527 (license license:bsd-3)))
14528
14529(define-public ghc-zlib
14530 (package
14531 (name "ghc-zlib")
bf12089a 14532 (version "0.6.2.1")
534d6caa 14533 (outputs '("out" "static" "doc"))
dddbc90c
RV
14534 (source
14535 (origin
14536 (method url-fetch)
14537 (uri (string-append
14538 "https://hackage.haskell.org/package/zlib/zlib-"
14539 version
14540 ".tar.gz"))
14541 (sha256
14542 (base32
bf12089a 14543 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
14544 (build-system haskell-build-system)
14545 (arguments
54a5fd07
TS
14546 `(#:extra-directories ("zlib")
14547 #:phases
dddbc90c
RV
14548 (modify-phases %standard-phases
14549 (add-before 'configure 'strip-test-framework-constraints
14550 (lambda _
14551 (substitute* "zlib.cabal"
14552 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
14553 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
14554 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
14555 (inputs `(("zlib" ,zlib)))
14556 (native-inputs
14557 `(("ghc-quickcheck" ,ghc-quickcheck)
14558 ("ghc-tasty" ,ghc-tasty)
14559 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14560 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14561 (home-page "https://hackage.haskell.org/package/zlib")
14562 (synopsis
14563 "Compression and decompression in the gzip and zlib formats")
14564 (description
14565 "This package provides a pure interface for compressing and decompressing
14566streams of data represented as lazy @code{ByteString}s. It uses the zlib C
14567library so it has high performance. It supports the @code{zlib}, @code{gzip}
14568and @code{raw} compression formats. It provides a convenient high level API
14569suitable for most tasks and for the few cases where more control is needed it
14570provides access to the full zlib feature set.")
bbf8bf31 14571 (license license:bsd-3)))
14e41996
RV
14572
14573(define-public ghc-zlib-bindings
14574 (package
14575 (name "ghc-zlib-bindings")
14576 (version "0.1.1.5")
14577 (source
14578 (origin
14579 (method url-fetch)
14580 (uri (string-append "https://hackage.haskell.org/package/"
14581 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
14582 (sha256
14583 (base32
14584 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
14585 (build-system haskell-build-system)
14586 (inputs
14587 `(("ghc-zlib" ,ghc-zlib)))
14588 (native-inputs
14589 `(("ghc-hspec" ,ghc-hspec)
14590 ("ghc-quickcheck" ,ghc-quickcheck)))
14591 (arguments
14592 `(#:cabal-revision
14593 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
14594 (home-page "https://github.com/snapframework/zlib-bindings")
14595 (synopsis "Low-level bindings to the @code{zlib} package")
14596 (description "This package provides low-level bindings to the
14597@code{zlib} package.")
14598 (license license:bsd-3)))
8428e92c
TS
14599
14600(define-public ghc-zstd
14601 (package
14602 (name "ghc-zstd")
14603 (version "0.1.1.2")
14604 (source
14605 (origin
14606 (method url-fetch)
14607 (uri (string-append "https://hackage.haskell.org/package/"
14608 "zstd/zstd-" version ".tar.gz"))
14609 (sha256
14610 (base32
14611 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
14612 (build-system haskell-build-system)
14613 (native-inputs
14614 `(("ghc-quickcheck" ,ghc-quickcheck)
14615 ("ghc-test-framework" ,ghc-test-framework)
14616 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
14617 (home-page "https://github.com/luispedro/hs-zstd")
14618 (synopsis "Haskell bindings to the Zstandard compression algorithm")
14619 (description "This library provides Haskell bindings to the
14620Zstandard compression algorithm, a fast lossless compression algorithm
14621targeting real-time compression scenarios at zlib-level and better
14622compression ratios.")
14623 (license license:bsd-3)))