gnu: ghc-unliftio: Add "doc" output.
[jackhill/guix/guix.git] / gnu / packages / haskell-xyz.scm
CommitLineData
6b34d01c 1;;; GNU Guix --- Functional package management for GNU
dddbc90c
RV
2;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch>
3;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
4;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
5;;; Copyright © 2015, 2019 Eric Bavier <bavier@member.fsf.org>
6;;; Copyright © 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
3c986a7d 7;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
799d8d3c 8;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
dddbc90c
RV
9;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
10;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
11;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
12;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
13;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
14;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
15;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
16;;; Copyright © 2018 Tonton <tonton@riseup.net>
17;;; Copyright © 2018, 2019 Timothy Sample <samplet@ngyro.com>
18;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
19;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com>
6b34d01c 20;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
dddbc90c 21;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
82c36002 22;;; Copyright © 2019,2020 John Soo <jsoo1@asu.edu>
e405912c 23;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
9ad9ec2e 24;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
4639fa32 25;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
84436be0 26;;; Copyright © 2020 JoJo <jo@jo.zone>
ba7cbae3 27;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
fbe32d46 28;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
6b34d01c
RV
29;;;
30;;; This file is part of GNU Guix.
31;;;
32;;; GNU Guix is free software; you can redistribute it and/or modify it
33;;; under the terms of the GNU General Public License as published by
34;;; the Free Software Foundation; either version 3 of the License, or (at
35;;; your option) any later version.
36;;;
37;;; GNU Guix is distributed in the hope that it will be useful, but
38;;; WITHOUT ANY WARRANTY; without even the implied warranty of
39;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40;;; GNU General Public License for more details.
41;;;
42;;; You should have received a copy of the GNU General Public License
43;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
44
45(define-module (gnu packages haskell-xyz)
46 #:use-module (gnu packages)
dddbc90c
RV
47 #:use-module (gnu packages base)
48 #:use-module (gnu packages compression)
49 #:use-module (gnu packages emacs)
dddbc90c
RV
50 #:use-module (gnu packages gl)
51 #:use-module (gnu packages graphviz)
52 #:use-module (gnu packages gtk)
53 #:use-module (gnu packages haskell-apps)
efb96749 54 #:use-module (gnu packages haskell-check)
dddbc90c
RV
55 #:use-module (gnu packages haskell-crypto)
56 #:use-module (gnu packages haskell-web)
57 #:use-module (gnu packages libffi)
58 #:use-module (gnu packages linux)
e3ee8023 59 #:use-module (gnu packages llvm)
dddbc90c
RV
60 #:use-module (gnu packages lua)
61 #:use-module (gnu packages maths)
49e29df5 62 #:use-module (gnu packages ncurses)
dddbc90c
RV
63 #:use-module (gnu packages pcre)
64 #:use-module (gnu packages pkg-config)
65 #:use-module (gnu packages sdl)
0c2d6fc2 66 #:use-module (gnu packages web)
dddbc90c
RV
67 #:use-module (gnu packages xml)
68 #:use-module (gnu packages xorg)
6b34d01c
RV
69 #:use-module (guix build-system haskell)
70 #:use-module (guix download)
dddbc90c 71 #:use-module (guix git-download)
4780db2c 72 #:use-module (guix utils)
6b34d01c
RV
73 #:use-module ((guix licenses) #:prefix license:)
74 #:use-module (guix packages))
75
dddbc90c 76(define-public ghc-abstract-deque
efb96749 77 (package
dddbc90c
RV
78 (name "ghc-abstract-deque")
79 (version "0.3")
efb96749
RV
80 (source
81 (origin
82 (method url-fetch)
83 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
84 "abstract-deque-" version "/"
85 "abstract-deque-" version ".tar.gz"))
efb96749
RV
86 (sha256
87 (base32
dddbc90c 88 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 89 (build-system haskell-build-system)
dddbc90c
RV
90 (inputs `(("ghc-random" ,ghc-random)))
91 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
92 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
93 (description "This Haskell package provides an abstract interface to
94highly-parameterizable queues/deques.
95
96Background: There exists a feature space for queues that extends between:
efb96749
RV
97
98@itemize
dddbc90c
RV
99@item Simple, single-ended, non-concurrent, bounded queues
100
101@item Double-ended, thread-safe, growable queues with important points
102in between (such as the queues used for work stealing).
efb96749
RV
103@end itemize
104
dddbc90c
RV
105This package includes an interface for Deques that allows the programmer
106to use a single API for all of the above, while using the type system to
107select an efficient implementation given the requirements (using type families).
efb96749 108
dddbc90c
RV
109This package also includes a simple reference implementation based on
110@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
111 (license license:bsd-3)))
112
dddbc90c 113(define-public ghc-abstract-par
658dbc7f 114 (package
dddbc90c
RV
115 (name "ghc-abstract-par")
116 (version "0.3.3")
658dbc7f
RV
117 (source
118 (origin
119 (method url-fetch)
120 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
121 "abstract-par-" version "/"
122 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
123 (sha256
124 (base32
dddbc90c
RV
125 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
126 (build-system haskell-build-system)
127 (home-page "https://github.com/simonmar/monad-par")
128 (synopsis "Abstract parallelization interface for Haskell")
129 (description "This Haskell package is an abstract interface
130only. It provides a number of type clasess, but not an
131implementation. The type classes separate different levels
132of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
133module for more details.")
134 (license license:bsd-3)))
135
d8b88d74
TS
136(define-public ghc-active
137 (package
138 (name "ghc-active")
139 (version "0.2.0.14")
140 (source
141 (origin
142 (method url-fetch)
143 (uri (string-append "https://hackage.haskell.org/package/"
144 "active/active-" version ".tar.gz"))
145 (sha256
146 (base32
147 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
148 (build-system haskell-build-system)
149 (inputs
150 `(("ghc-vector" ,ghc-vector)
151 ("ghc-semigroups" ,ghc-semigroups)
152 ("ghc-semigroupoids" ,ghc-semigroupoids)
153 ("ghc-lens" ,ghc-lens)
154 ("ghc-linear" ,ghc-linear)))
155 (native-inputs
156 `(("ghc-quickcheck" ,ghc-quickcheck)))
157 (home-page "https://hackage.haskell.org/package/active")
158 (synopsis "Abstractions for animation")
159 (description "This package defines an @code{Active} abstraction for
160time-varying values with finite start and end times. It is used for
161describing animations within the
162@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
163diagrams framework}.")
164 (license license:bsd-3)))
165
dddbc90c
RV
166(define-public ghc-adjunctions
167 (package
168 (name "ghc-adjunctions")
169 (version "4.4")
170 (source
171 (origin
172 (method url-fetch)
173 (uri (string-append
174 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
175 version
176 ".tar.gz"))
177 (sha256
178 (base32
179 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f 180 (build-system haskell-build-system)
a78262be
TS
181 (arguments
182 `(#:cabal-revision
183 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
658dbc7f 184 (inputs
dddbc90c
RV
185 `(("ghc-profunctors" ,ghc-profunctors)
186 ("ghc-comonad" ,ghc-comonad)
187 ("ghc-contravariant" ,ghc-contravariant)
188 ("ghc-distributive" ,ghc-distributive)
189 ("ghc-free" ,ghc-free)
190 ("ghc-tagged" ,ghc-tagged)
191 ("ghc-semigroupoids" ,ghc-semigroupoids)
192 ("ghc-semigroups" ,ghc-semigroups)
193 ("ghc-transformers-compat" ,ghc-transformers-compat)
194 ("ghc-void" ,ghc-void)))
658dbc7f 195 (native-inputs
dddbc90c
RV
196 `(("ghc-generic-deriving" ,ghc-generic-deriving)
197 ("ghc-hspec" ,ghc-hspec)
198 ("hspec-discover" ,hspec-discover)))
199 (home-page "https://github.com/ekmett/adjunctions/")
200 (synopsis "Adjunctions and representable functors")
201 (description "This library provides adjunctions and representable functors
202for Haskell.")
203 (license license:bsd-3)))
204
205(define-public ghc-aeson-compat
206 (package
207 (name "ghc-aeson-compat")
0bafb755 208 (version "0.3.9")
dddbc90c
RV
209 (source
210 (origin
211 (method url-fetch)
212 (uri (string-append "https://hackage.haskell.org/package/"
213 "aeson-compat-" version "/"
214 "aeson-compat-" version ".tar.gz"))
215 (sha256
216 (base32
0bafb755 217 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
218 (build-system haskell-build-system)
219 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
220 (inputs `(("ghc-base-compat" ,ghc-base-compat)
221 ("ghc-aeson" ,ghc-aeson)
222 ("ghc-attoparsec" ,ghc-attoparsec)
223 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
224 ("ghc-exceptions" ,ghc-exceptions)
225 ("ghc-hashable" ,ghc-hashable)
226 ("ghc-scientific" ,ghc-scientific)
227 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
228 ("ghc-unordered-containers" ,ghc-unordered-containers)
229 ("ghc-vector" ,ghc-vector)
230 ("ghc-tagged" ,ghc-tagged)
231 ("ghc-semigroups" ,ghc-semigroups)
232 ("ghc-nats" ,ghc-nats)))
233 (home-page "https://github.com/phadej/aeson-compat")
234 (synopsis "Compatibility layer for ghc-aeson")
235 (description "This Haskell package provides compatibility layer for
236ghc-aeson.")
237 (license license:bsd-3)))
238
cbc6f861
TS
239(define-public ghc-aeson-diff
240 (package
241 (name "ghc-aeson-diff")
242 (version "1.1.0.7")
243 (source
244 (origin
245 (method url-fetch)
246 (uri (string-append "https://hackage.haskell.org/package/"
247 "aeson-diff/aeson-diff-" version ".tar.gz"))
248 (sha256
249 (base32
250 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
251 (build-system haskell-build-system)
252 (inputs
253 `(("ghc-aeson" ,ghc-aeson)
254 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
255 ("ghc-hashable" ,ghc-hashable)
256 ("ghc-scientific" ,ghc-scientific)
257 ("ghc-unordered-containers" ,ghc-unordered-containers)
258 ("ghc-vector" ,ghc-vector)
259 ("ghc-semigroups" ,ghc-semigroups)
260 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
261 (native-inputs
262 `(("ghc-quickcheck" ,ghc-quickcheck)
263 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
264 ("ghc-glob" ,ghc-glob)
265 ("ghc-quickcheck" ,ghc-quickcheck)
266 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
267 ("ghc-quickcheck" ,ghc-quickcheck)
268 ("ghc-doctest" ,ghc-doctest)
269 ("hlint" ,hlint)))
270 (home-page "https://github.com/thsutton/aeson-diff")
271 (synopsis "Extract and apply patches to JSON documents")
272 (description "This is a small library for working with changes to JSON
273documents. It includes a library and two command-line executables in the
274style of the @command{diff} and @command{patch} commands available on many
275systems.")
276 (license license:bsd-3)))
277
dddbc90c
RV
278(define-public ghc-alex
279 (package
280 (name "ghc-alex")
281 (version "3.2.4")
282 (source
283 (origin
284 (method url-fetch)
285 (uri (string-append
286 "https://hackage.haskell.org/package/alex/alex-"
287 version
288 ".tar.gz"))
289 (sha256
290 (base32
291 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
292 (build-system haskell-build-system)
658dbc7f 293 (arguments
dddbc90c
RV
294 `(#:phases
295 (modify-phases %standard-phases
296 (add-before 'check 'set-check-variables
297 (lambda _
298 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
299 (getenv "PATH")))
300 (setenv "alex_datadir" (string-append (getcwd) "/data"))
301 #t)))))
302 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
303 (native-inputs
304 `(("which" ,which)))
305 (home-page "https://www.haskell.org/alex/")
306 (synopsis
307 "Tool for generating lexical analysers in Haskell")
308 (description
309 "Alex is a tool for generating lexical analysers in Haskell. It takes a
310description of tokens based on regular expressions and generates a Haskell
311module containing code for scanning text efficiently. It is similar to the
312tool lex or flex for C/C++.")
658dbc7f
RV
313 (license license:bsd-3)))
314
dddbc90c 315(define-public ghc-alsa-core
7b01a977 316 (package
dddbc90c
RV
317 (name "ghc-alsa-core")
318 (version "0.5.0.1")
319 (source
320 (origin
321 (method url-fetch)
322 (uri (string-append
323 "mirror://hackage/package/alsa-core/alsa-core-"
324 version
325 ".tar.gz"))
326 (sha256
327 (base32
328 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
329 (build-system haskell-build-system)
54a5fd07
TS
330 (arguments
331 `(#:extra-directories ("alsa-lib")))
dddbc90c
RV
332 (inputs
333 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
334 ("alsa-lib" ,alsa-lib)))
335 (native-inputs
336 `(("pkg-config" ,pkg-config)))
228d2901 337 (home-page "https://wiki.haskell.org/ALSA")
dddbc90c
RV
338 (synopsis "Binding to the ALSA Library API (Exceptions)")
339 (description "This package provides access to ALSA infrastructure, that is
340needed by both alsa-seq and alsa-pcm.")
341 (license license:bsd-3)))
342
f2ed1e6d
JS
343(define-public ghc-alsa-mixer
344 (package
345 (name "ghc-alsa-mixer")
346 (version "0.3.0")
347 (source
348 (origin
349 (method url-fetch)
350 (uri
351 (string-append
352 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
353 version ".tar.gz"))
354 (sha256
355 (base32
356 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
357 (build-system haskell-build-system)
358 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
359 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
360 (home-page "https://github.com/ttuegel/alsa-mixer")
361 (synopsis "Bindings to the ALSA simple mixer API")
362 (description
363 "This package provides bindings to the ALSA simple mixer API.")
364 (license license:bsd-3)))
365
dddbc90c
RV
366(define-public ghc-annotated-wl-pprint
367 (package
368 (name "ghc-annotated-wl-pprint")
369 (version "0.7.0")
370 (source
371 (origin
372 (method url-fetch)
373 (uri (string-append
374 "https://hackage.haskell.org/package/annotated-wl-pprint"
375 "/annotated-wl-pprint-" version
376 ".tar.gz"))
377 (sha256
378 (base32
379 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
380 (build-system haskell-build-system)
381 (home-page
382 "https://github.com/david-christiansen/annotated-wl-pprint")
383 (synopsis
384 "The Wadler/Leijen Pretty Printer, with annotation support")
385 (description "This is a modified version of wl-pprint, which was based on
386Wadler's paper \"A Prettier Printer\". This version allows the library user
387to annotate the text with semantic information, which can later be rendered in
388a variety of ways.")
389 (license license:bsd-3)))
390
391(define-public ghc-ansi-terminal
392 (package
393 (name "ghc-ansi-terminal")
f1b4a73f 394 (version "0.9.1")
dddbc90c
RV
395 (source
396 (origin
397 (method url-fetch)
398 (uri (string-append
399 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
400 version
401 ".tar.gz"))
402 (sha256
403 (base32
f1b4a73f 404 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
405 (build-system haskell-build-system)
406 (inputs
407 `(("ghc-colour" ,ghc-colour)))
408 (home-page "https://github.com/feuerbach/ansi-terminal")
409 (synopsis "ANSI terminal support for Haskell")
410 (description "This package provides ANSI terminal support for Haskell. It
411allows cursor movement, screen clearing, color output showing or hiding the
412cursor, and changing the title.")
413 (license license:bsd-3)))
414
415(define-public ghc-ansi-wl-pprint
416 (package
417 (name "ghc-ansi-wl-pprint")
c38746eb 418 (version "0.6.9")
7b01a977
RV
419 (source
420 (origin
421 (method url-fetch)
422 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 423 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
424 version ".tar.gz"))
425 (sha256
426 (base32
c38746eb 427 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
428 (build-system haskell-build-system)
429 (inputs
dddbc90c
RV
430 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
431 (home-page "https://github.com/ekmett/ansi-wl-pprint")
432 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
433 (description "This is a pretty printing library based on Wadler's paper
434\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
435colored output using the ansi-terminal package.")
436 (license license:bsd-3)))
437
438(define-public ghc-appar
439 (package
440 (name "ghc-appar")
1159d1a5 441 (version "0.1.8")
dddbc90c
RV
442 (source
443 (origin
444 (method url-fetch)
445 (uri (string-append
446 "https://hackage.haskell.org/package/appar/appar-"
447 version
448 ".tar.gz"))
449 (sha256
450 (base32
1159d1a5 451 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
452 (build-system haskell-build-system)
453 (home-page
454 "https://hackage.haskell.org/package/appar")
455 (synopsis "Simple applicative parser")
456 (description "This package provides a simple applicative parser in Parsec
457style.")
458 (license license:bsd-3)))
459
af369394
JS
460(define-public ghc-assoc
461 (package
462 (name "ghc-assoc")
463 (version "1.0.1")
464 (source
465 (origin
466 (method url-fetch)
467 (uri (string-append
468 "https://hackage.haskell.org/package/assoc/assoc-"
469 version
470 ".tar.gz"))
471 (sha256
472 (base32
473 "1m9n4vp190bvn2wcrd4ggfwa9pi93jp0zgx02mdgywn2zfidw020"))))
474 (build-system haskell-build-system)
475 (inputs
476 `(("ghc-bifunctors" ,ghc-bifunctors)
477 ("ghc-tagged" ,ghc-tagged)))
478 (home-page
479 "http://hackage.haskell.org/package/assoc")
480 (synopsis
481 "Swap and assoc: Symmetric and Semigroupy Bifunctors")
482 (description
483 "Provides generalisations of @code{swap :: (a,b) -> (b,a)} and
484@code{assoc :: ((a,b),c) -> (a,(b,c))} to @code{Bifunctor}s supporting
485similar operations (e.g. @code{Either}, @code{These}).")
486 (license license:bsd-3)))
487
dddbc90c
RV
488(define-public ghc-async
489 (package
490 (name "ghc-async")
048ef066 491 (version "2.2.2")
dddbc90c
RV
492 (source
493 (origin
494 (method url-fetch)
495 (uri (string-append
496 "https://hackage.haskell.org/package/async/async-"
497 version
498 ".tar.gz"))
499 (sha256
500 (base32
048ef066 501 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
502 (build-system haskell-build-system)
503 (inputs
504 `(("ghc-hashable" ,ghc-hashable)
505 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
506 ("ghc-test-framework" ,ghc-test-framework)
507 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
508 (home-page "https://github.com/simonmar/async")
509 (synopsis "Library to run IO operations asynchronously")
510 (description "Async provides a library to run IO operations
511asynchronously, and wait for their results. It is a higher-level interface
512over threads in Haskell, in which @code{Async a} is a concurrent thread that
513will eventually deliver a value of type @code{a}.")
7b01a977
RV
514 (license license:bsd-3)))
515
9ad9ec2e
AG
516(define-public ghc-atomic-primops
517 (package
518 (name "ghc-atomic-primops")
af16c6b0 519 (version "0.8.3")
9ad9ec2e
AG
520 (source
521 (origin
522 (method url-fetch)
523 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
524 "/atomic-primops-" version ".tar.gz"))
525 (sha256
526 (base32
af16c6b0 527 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
9ad9ec2e
AG
528 (build-system haskell-build-system)
529 (inputs `(("ghc-primitive" ,ghc-primitive)))
530 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
531 (synopsis "Safe approach to CAS and other atomic ops")
532 (description
533 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
534use safely, because pointer equality is a highly unstable property in Haskell.
535This library provides a safer method based on the concept of @code{Ticket}s.")
536 (license license:bsd-3)))
537
dddbc90c 538(define-public ghc-atomic-write
79fcc5e5 539 (package
dddbc90c 540 (name "ghc-atomic-write")
c09d1e62 541 (version "0.2.0.6")
79fcc5e5
RV
542 (source
543 (origin
544 (method url-fetch)
dddbc90c
RV
545 (uri (string-append
546 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
547 version
548 ".tar.gz"))
79fcc5e5
RV
549 (sha256
550 (base32
c09d1e62 551 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
552 (build-system haskell-build-system)
553 (inputs
554 `(("ghc-temporary" ,ghc-temporary)
555 ("ghc-unix-compat" ,ghc-unix-compat)))
556 (native-inputs
557 `(("ghc-temporary" ,ghc-temporary)
558 ("ghc-unix-compat" ,ghc-unix-compat)
559 ("ghc-hspec" ,ghc-hspec)
560 ("hspec-discover" ,hspec-discover)))
561 (home-page "https://github.com/stackbuilders/atomic-write")
562 (synopsis "Atomically write to a file")
563 (description
564 "Atomically write to a file on POSIX-compliant systems while preserving
565permissions. @code{mv} is an atomic operation. This makes it simple to write
566to a file atomically just by using the @code{mv} operation. However, this
567will destroy the permissions on the original file. This library preserves
568permissions while atomically writing to a file.")
569 (license license:expat)))
570
b7250901
JS
571(define-public ghc-atomic-write-0.2.0.7
572 (package
573 (inherit ghc-atomic-write)
574 (version "0.2.0.7")
575 (source
576 (origin
577 (inherit (package-source ghc-atomic-write))
578 (uri (string-append
579 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
580 version
581 ".tar.gz"))
582 (sha256
583 (base32
584 "03cn3ii74h0w3g4h78xsx9v2sn58r3qsr2dbdwq340xwhiwcgxdm"))))))
585
dddbc90c
RV
586(define-public ghc-attoparsec
587 (package
588 (name "ghc-attoparsec")
511c3204 589 (version "0.13.2.3")
dddbc90c
RV
590 (source
591 (origin
592 (method url-fetch)
593 (uri (string-append
594 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
595 version
596 ".tar.gz"))
597 (sha256
598 (base32
511c3204 599 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 600 (build-system haskell-build-system)
79fcc5e5 601 (arguments
dddbc90c
RV
602 `(#:phases
603 (modify-phases %standard-phases
604 (add-after 'unpack 'patch-for-newer-quickcheck
605 (lambda _
606 (substitute* "attoparsec.cabal"
607 (("QuickCheck >= 2\\.7 && < 2\\.10")
608 "QuickCheck >= 2.7 && < 2.12"))
609 ;; This test fails because of the newer QuickCheck:
610 ;; <https://github.com/bos/attoparsec/issues/134>.
611 (substitute* "tests/QC/ByteString.hs"
612 ((", testProperty \"satisfyWith\" satisfyWith")
613 "")))))))
614 (inputs
615 `(("ghc-scientific" ,ghc-scientific)))
616 (native-inputs
617 `(("ghc-tasty" ,ghc-tasty)
618 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
619 ("ghc-quickcheck" ,ghc-quickcheck)
620 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
621 ("ghc-vector" ,ghc-vector)))
622 (home-page "https://github.com/bos/attoparsec")
623 (synopsis "Fast combinator parsing for bytestrings and text")
624 (description "This library provides a fast parser combinator library,
625aimed particularly at dealing efficiently with network protocols and
626complicated text/binary file formats.")
79fcc5e5
RV
627 (license license:bsd-3)))
628
dddbc90c 629(define-public ghc-attoparsec-bootstrap
6b34d01c 630 (package
dddbc90c
RV
631 (inherit ghc-attoparsec)
632 (name "ghc-attoparsec-bootstrap")
633 (arguments `(#:tests? #f))
634 (inputs
635 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
636 (native-inputs '())
799d8d3c 637 (properties '((hidden? #t)))))
dddbc90c
RV
638
639(define-public ghc-attoparsec-iso8601
640 (package
641 (name "ghc-attoparsec-iso8601")
97f267c8 642 (version "1.0.1.0")
6b34d01c
RV
643 (source
644 (origin
645 (method url-fetch)
646 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
647 "attoparsec-iso8601-" version "/"
648 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
649 (sha256
650 (base32
97f267c8 651 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 652 (build-system haskell-build-system)
dddbc90c
RV
653 (arguments
654 `(#:cabal-revision
97f267c8 655 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
656 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
657 ("ghc-base-compat" ,ghc-base-compat)))
658 (home-page "https://github.com/bos/aeson")
659 (synopsis "Parse ISO 8601 dates")
660 (description "Haskell library for parsing of ISO 8601 dates, originally
661from aeson.")
6b34d01c 662 (license license:bsd-3)))
b57e99f5 663
dddbc90c 664(define-public ghc-auto-update
b57e99f5 665 (package
dddbc90c 666 (name "ghc-auto-update")
11b1b6cd 667 (version "0.1.6")
dddbc90c
RV
668 (source
669 (origin
670 (method url-fetch)
671 (uri (string-append
672 "https://hackage.haskell.org/package/auto-update/auto-update-"
673 version
674 ".tar.gz"))
675 (sha256
676 (base32
11b1b6cd 677 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 678 (build-system haskell-build-system)
11b1b6cd
TS
679 (native-inputs
680 `(("ghc-hspec" ,ghc-hspec)
681 ("ghc-hunit" ,ghc-hunit)
682 ("ghc-retry" ,ghc-retry)
683 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
684 (home-page "https://github.com/yesodweb/wai")
685 (synopsis "Efficiently run periodic, on-demand actions")
686 (description "This library provides mechanisms to efficiently run
687periodic, on-demand actions in Haskell.")
688 (license license:expat)))
689
690(define-public ghc-aws
691 (package
692 (name "ghc-aws")
693 (version "0.20")
b57e99f5
RV
694 (source
695 (origin
696 (method url-fetch)
697 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
698 "aws-" version "/aws-" version ".tar.gz"))
699 (sha256 (base32
700 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
701 (build-system haskell-build-system)
702 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
703 (inputs
704 `(("ghc-aeson" ,ghc-aeson)
705 ("ghc-attoparsec" ,ghc-attoparsec)
706 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
707 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
708 ("ghc-blaze-builder" ,ghc-blaze-builder)
709 ("ghc-byteable" ,ghc-byteable)
710 ("ghc-case-insensitive" ,ghc-case-insensitive)
711 ("ghc-cereal" ,ghc-cereal)
712 ("ghc-conduit" ,ghc-conduit)
713 ("ghc-conduit-extra" ,ghc-conduit-extra)
714 ("ghc-cryptonite" ,ghc-cryptonite)
715 ("ghc-data-default" ,ghc-data-default)
716 ("ghc-http-conduit" ,ghc-http-conduit)
717 ("ghc-http-types" ,ghc-http-types)
718 ("ghc-lifted-base" ,ghc-lifted-base)
719 ("ghc-monad-control" ,ghc-monad-control)
720 ("ghc-network" ,ghc-network)
721 ("ghc-old-locale" ,ghc-old-locale)
722 ("ghc-safe" ,ghc-safe)
723 ("ghc-scientific" ,ghc-scientific)
724 ("ghc-tagged" ,ghc-tagged)
725 ("ghc-unordered-containers" ,ghc-unordered-containers)
726 ("ghc-utf8-string" ,ghc-utf8-string)
727 ("ghc-vector" ,ghc-vector)
728 ("ghc-xml-conduit" ,ghc-xml-conduit)))
729 (native-inputs
730 `(("ghc-quickcheck" ,ghc-quickcheck)
731 ("ghc-errors" ,ghc-errors)
732 ("ghc-http-client" ,ghc-http-client)
733 ("ghc-http-client-tls" ,ghc-http-client-tls)
734 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
735 ("ghc-tasty" ,ghc-tasty)
736 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
737 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
738 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
739 (home-page "https://github.com/aristidb/aws")
740 (synopsis "Amazon Web Services for Haskell")
741 (description "This package attempts to provide support for using
742Amazon Web Services like S3 (storage), SQS (queuing) and others to
743Haskell programmers. The ultimate goal is to support all Amazon
744Web Services.")
745 (license license:bsd-3)))
746
747(define-public ghc-base16-bytestring
748 (package
749 (name "ghc-base16-bytestring")
750 (version "0.1.1.6")
751 (source
752 (origin
753 (method url-fetch)
754 (uri (string-append
755 "https://hackage.haskell.org/package/base16-bytestring/"
756 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
757 (sha256
758 (base32
dddbc90c 759 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 760 (build-system haskell-build-system)
dddbc90c
RV
761 (home-page "https://github.com/bos/base16-bytestring")
762 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
763 (description
764 "This package provides a Haskell library for working with base16-encoded
765data quickly and efficiently, using the ByteString type.")
b57e99f5 766 (license license:bsd-3)))
bbf8bf31 767
dddbc90c 768(define-public ghc-base64-bytestring
bbf8bf31 769 (package
dddbc90c
RV
770 (name "ghc-base64-bytestring")
771 (version "1.0.0.2")
bbf8bf31
RV
772 (source
773 (origin
774 (method url-fetch)
dddbc90c
RV
775 (uri (string-append
776 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
777 version
778 ".tar.gz"))
779 (sha256
780 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
781 (build-system haskell-build-system)
782 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
783 (home-page "https://github.com/bos/base64-bytestring")
784 (synopsis "Base64 encoding and decoding for ByteStrings")
785 (description "This library provides fast base64 encoding and decoding for
786Haskell @code{ByteString}s.")
787 (license license:bsd-3)))
788
789(define-public ghc-base-compat
790 (package
791 (name "ghc-base-compat")
4daaa371 792 (version "0.10.5")
dddbc90c
RV
793 (source
794 (origin
795 (method url-fetch)
796 (uri (string-append
797 "https://hackage.haskell.org/package/base-compat/base-compat-"
798 version
799 ".tar.gz"))
bbf8bf31
RV
800 (sha256
801 (base32
4daaa371 802 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31 803 (build-system haskell-build-system)
e2b021df 804 (outputs '("out" "static" "doc"))
bbf8bf31 805 (native-inputs
dddbc90c
RV
806 `(("ghc-quickcheck" ,ghc-quickcheck)
807 ("ghc-hspec" ,ghc-hspec)
808 ("hspec-discover" ,hspec-discover)))
809 (home-page "https://hackage.haskell.org/package/base-compat")
810 (synopsis "Haskell compiler compatibility library")
811 (description "This library provides functions available in later versions
812of base to a wider range of compilers, without requiring the use of CPP
813pragmas in your code.")
814 (license license:bsd-3)))
815
f9d78c7f
TS
816(define-public ghc-base-compat-batteries
817 (package
818 (name "ghc-base-compat-batteries")
819 (version "0.10.5")
820 (source
821 (origin
822 (method url-fetch)
823 (uri (string-append "https://hackage.haskell.org/package/"
824 "base-compat-batteries/base-compat-batteries-"
825 version ".tar.gz"))
826 (sha256
827 (base32
828 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
829 (build-system haskell-build-system)
830 (inputs
831 `(("ghc-base-compat" ,ghc-base-compat)))
832 (native-inputs
833 `(("ghc-hspec" ,ghc-hspec)
834 ("ghc-quickcheck" ,ghc-quickcheck)
835 ("hspec-discover" ,hspec-discover)))
836 (arguments
837 `(#:cabal-revision
838 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
3ef91e15 839 (home-page "https://hackage.haskell.org/package/base-compat-batteries")
f9d78c7f
TS
840 (synopsis "base-compat with extra batteries")
841 (description "This library provides functions available in later
842versions of @code{base} to a wider range of compilers, without requiring
843you to use CPP pragmas in your code. This package provides the same API
844as the @code{base-compat} library, but depends on compatibility
845packages (such as @code{semigroups}) to offer a wider support window
846than @code{base-compat}, which has no dependencies.")
847 (license license:expat)))
848
dddbc90c
RV
849(define-public ghc-basement
850 (package
851 (name "ghc-basement")
8b56c1fd 852 (version "0.0.11")
dddbc90c
RV
853 (source
854 (origin
855 (method url-fetch)
856 (uri (string-append "https://hackage.haskell.org/package/"
857 "basement/basement-" version ".tar.gz"))
858 (sha256
859 (base32
8b56c1fd 860 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c 861 (build-system haskell-build-system)
05f7f8be 862 (outputs '("out" "static" "doc"))
dddbc90c
RV
863 (home-page "https://github.com/haskell-foundation/foundation")
864 (synopsis "Basic primitives for Foundation starter pack")
865 (description
866 "This package contains basic primitives for the Foundation set of
867packages.")
868 (license license:bsd-3)))
869
870(define-public ghc-base-orphans
871 (package
872 (name "ghc-base-orphans")
780477fb 873 (version "0.8.1")
dddbc90c
RV
874 (source
875 (origin
876 (method url-fetch)
877 (uri (string-append
878 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
879 version
880 ".tar.gz"))
881 (sha256
882 (base32
780477fb 883 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
884 (build-system haskell-build-system)
885 (native-inputs
886 `(("ghc-quickcheck" ,ghc-quickcheck)
887 ("ghc-hspec" ,ghc-hspec)
888 ("hspec-discover" ,hspec-discover)))
889 (home-page "https://hackage.haskell.org/package/base-orphans")
890 (synopsis "Orphan instances for backwards compatibility")
891 (description "This package defines orphan instances that mimic instances
892available in later versions of base to a wider (older) range of compilers.")
893 (license license:bsd-3)))
894
895(define-public ghc-base-prelude
896 (package
897 (name "ghc-base-prelude")
898 (version "1.3")
899 (source
900 (origin
901 (method url-fetch)
902 (uri (string-append "https://hackage.haskell.org/package/"
903 "base-prelude-" version "/"
904 "base-prelude-" version ".tar.gz"))
905 (sha256
906 (base32
907 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
908 (build-system haskell-build-system)
3d7ee2f8 909 (outputs '("out" "static" "doc"))
dddbc90c
RV
910 (home-page "https://github.com/nikita-volkov/base-prelude")
911 (synopsis "The most complete prelude formed solely from the Haskell's base
912package")
913 (description "This Haskell package aims to reexport all the non-conflicting
914and most general definitions from the \"base\" package.
915
916This includes APIs for applicatives, arrows, monoids, foldables, traversables,
917exceptions, generics, ST, MVars and STM.
918
919This package will never have any dependencies other than \"base\".
920
921Versioning policy:
922
923The versioning policy of this package deviates from PVP in the sense
924that its exports in part are transitively determined by the version of \"base\".
925Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
926the bounds of \"base\" as well.")
927 (license license:expat)))
928
929(define-public ghc-base-unicode-symbols
930 (package
931 (name "ghc-base-unicode-symbols")
932 (version "0.2.3")
933 (source
934 (origin
935 (method url-fetch)
936 (uri (string-append
937 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
938 version
939 ".tar.gz"))
940 (sha256
941 (base32
942 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
943 (build-system haskell-build-system)
228d2901 944 (home-page "https://wiki.haskell.org/Unicode-symbols")
dddbc90c
RV
945 (synopsis "Unicode alternatives for common functions and operators")
946 (description "This package defines new symbols for a number of functions,
947operators and types in the base package. All symbols are documented with
948their actual definition and information regarding their Unicode code point.
949They should be completely interchangeable with their definitions. For
950further Unicode goodness you can enable the @code{UnicodeSyntax}
951@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
952language extension}. This extension enables Unicode characters to be used to
953stand for certain ASCII character sequences, i.e. → instead of @code{->},
954∀ instead of @code{forall} and many others.")
955 (license license:bsd-3)))
956
ec8491b0
ASM
957(define-public ghc-basic-prelude
958 (package
959 (name "ghc-basic-prelude")
960 (version "0.7.0")
961 (source
962 (origin
963 (method url-fetch)
964 (uri (string-append
965 "https://hackage.haskell.org/package/basic-prelude/"
966 "basic-prelude-" version ".tar.gz"))
967 (sha256
968 (base32
969 "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
970 (build-system haskell-build-system)
971 (inputs
972 `(("ghc-hashable" ,ghc-hashable)
973 ("ghc-unordered-containers"
974 ,ghc-unordered-containers)
975 ("ghc-vector" ,ghc-vector)))
976 (home-page "https://github.com/snoyberg/basic-prelude#readme")
977 (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
978 (description
979 "The premise of basic-prelude is that there are a lot of very commonly
980desired features missing from the standard Prelude, such as commonly used
981operators (<$> and >=>, for instance) and imports for common datatypes
982(e.g., ByteString and Vector). At the same time, there are lots of other
983components which are more debatable, such as providing polymorphic versions
984of common functions.
985
986So basic-prelude is intended to give a common foundation for a number of
987alternate preludes. The package provides two modules: CorePrelude provides
988the common ground for other preludes to build on top of, while BasicPrelude
989exports CorePrelude together with commonly used list functions to provide a
990drop-in replacement for the standard Prelude.
991
992Users wishing to have an improved Prelude can use BasicPrelude. Developers
993wishing to create a new prelude should use CorePrelude.")
994 (license license:expat)))
995
dddbc90c
RV
996(define-public ghc-bifunctors
997 (package
998 (name "ghc-bifunctors")
0beaec66 999 (version "5.5.5")
dddbc90c
RV
1000 (source
1001 (origin
1002 (method url-fetch)
1003 (uri (string-append
1004 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
1005 version
1006 ".tar.gz"))
1007 (sha256
1008 (base32
0beaec66 1009 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
1010 (build-system haskell-build-system)
1011 (inputs
1012 `(("ghc-base-orphans" ,ghc-base-orphans)
1013 ("ghc-comonad" ,ghc-comonad)
1014 ("ghc-th-abstraction" ,ghc-th-abstraction)
1015 ("ghc-transformers-compat" ,ghc-transformers-compat)
1016 ("ghc-tagged" ,ghc-tagged)
1017 ("ghc-semigroups" ,ghc-semigroups)))
1018 (native-inputs
1019 `(("ghc-hspec" ,ghc-hspec)
1020 ("hspec-discover" ,hspec-discover)
1021 ("ghc-quickcheck" ,ghc-quickcheck)))
1022 (home-page "https://github.com/ekmett/bifunctors/")
1023 (synopsis "Bifunctors for Haskell")
1024 (description "This package provides bifunctors for Haskell.")
1025 (license license:bsd-3)))
1026
1027(define-public ghc-bindings-dsl
1028 (package
1029 (name "ghc-bindings-dsl")
1030 (version "1.0.25")
1031 (source
1032 (origin
1033 (method url-fetch)
1034 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
1035 "bindings-DSL-" version ".tar.gz"))
1036 (sha256
1037 (base32
1038 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
1039 (build-system haskell-build-system)
1040 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
1041 (synopsis "FFI domain specific language, on top of hsc2hs")
1042 (description
1043 "This is a set of macros to be used when writing Haskell FFI. They were
1044designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
1045extract from them all Haskell code needed to mimic such interfaces. All
1046Haskell names used are automatically derived from C names, structures are
1047mapped to Haskell instances of @code{Storable}, and there are also macros you
1048can use with C code to help write bindings to inline functions or macro
1049functions.")
1050 (license license:bsd-3)))
1051
64f42786
TS
1052(define-public ghc-bitarray
1053 (package
1054 (name "ghc-bitarray")
1055 (version "0.0.1.1")
1056 (source
1057 (origin
1058 (method url-fetch)
1059 (uri (string-append "https://hackage.haskell.org/package/"
1060 "bitarray/bitarray-" version ".tar.gz"))
1061 (sha256
1062 (base32
1063 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
1064 (build-system haskell-build-system)
1065 (arguments
1066 `(#:cabal-revision
1067 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
1068 (home-page "https://hackage.haskell.org/package/bitarray")
1069 (synopsis "Mutable and immutable bit arrays")
1070 (description "The package provides mutable and immutable bit arrays.")
1071 (license license:bsd-3)))
1072
dddbc90c
RV
1073(define-public ghc-blaze-builder
1074 (package
1075 (name "ghc-blaze-builder")
1076 (version "0.4.1.0")
1077 (source
1078 (origin
1079 (method url-fetch)
1080 (uri (string-append
1081 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
1082 version
1083 ".tar.gz"))
1084 (sha256
1085 (base32
1086 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
1087 (build-system haskell-build-system)
1088 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
1089 (inputs
1090 `(("ghc-utf8-string" ,ghc-utf8-string)))
1091 (home-page "https://github.com/lpsmith/blaze-builder")
1092 (synopsis "Efficient buffered output")
1093 (description "This library provides an implementation of the older
1094@code{blaze-builder} interface in terms of the new builder that shipped with
1095@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1096bridge to the new builder, so that code that uses the old interface can
1097interoperate with code that uses the new implementation.")
1098 (license license:bsd-3)))
1099
1100(define-public ghc-blaze-markup
1101 (package
1102 (name "ghc-blaze-markup")
7d30fcf3 1103 (version "0.8.2.3")
dddbc90c
RV
1104 (source
1105 (origin
1106 (method url-fetch)
1107 (uri (string-append "https://hackage.haskell.org/package/"
1108 "blaze-markup/blaze-markup-"
1109 version ".tar.gz"))
1110 (sha256
1111 (base32
7d30fcf3 1112 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
1113 (build-system haskell-build-system)
1114 (arguments
1115 `(#:phases
1116 (modify-phases %standard-phases
1117 (add-before 'configure 'update-constraints
1118 (lambda _
1119 (substitute* "blaze-markup.cabal"
1120 (("tasty >= 1\\.0 && < 1\\.1")
1121 "tasty >= 1.0 && < 1.2")))))))
1122 (inputs
1123 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1124 (native-inputs
1125 `(("ghc-hunit" ,ghc-hunit)
1126 ("ghc-quickcheck" ,ghc-quickcheck)
1127 ("ghc-tasty" ,ghc-tasty)
1128 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1129 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1130 (home-page "https://jaspervdj.be/blaze")
1131 (synopsis "Fast markup combinator library for Haskell")
1132 (description "This library provides core modules of a markup combinator
1133library for Haskell.")
1134 (license license:bsd-3)))
1135
1136(define-public ghc-bloomfilter
1137 (package
1138 (name "ghc-bloomfilter")
1139 (version "2.0.1.0")
1140 (source
1141 (origin
1142 (method url-fetch)
1143 (uri (string-append "https://hackage.haskell.org/package/"
1144 "bloomfilter/bloomfilter-" version ".tar.gz"))
1145 (sha256
1146 (base32
1147 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1148 (build-system haskell-build-system)
1149 (native-inputs
1150 `(("ghc-quickcheck" ,ghc-quickcheck)
1151 ("ghc-random" ,ghc-random)
1152 ("ghc-test-framework" ,ghc-test-framework)
1153 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1154 (home-page "https://github.com/bos/bloomfilter")
1155 (synopsis "Pure and impure Bloom filter implementations")
1156 (description "This package provides both mutable and immutable Bloom
1157filter data types, along with a family of hash functions and an easy-to-use
1158interface.")
1159 (license license:bsd-3)))
1160
1161(define-public ghc-boxes
1162 (package
1163 (name "ghc-boxes")
1164 (version "0.1.5")
1165 (source
1166 (origin
1167 (method url-fetch)
1168 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1169 version ".tar.gz"))
1170 (sha256
1171 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1172 (build-system haskell-build-system)
1173 (inputs
1174 `(("ghc-split" ,ghc-split)
1175 ("ghc-quickcheck" ,ghc-quickcheck)))
1176 (home-page "https://hackage.haskell.org/package/boxes")
1177 (synopsis "2D text pretty-printing library")
1178 (description
1179 "Boxes is a pretty-printing library for laying out text in two dimensions,
1180using a simple box model.")
1181 (license license:bsd-3)))
1182
1183(define-public ghc-byteable
1184 (package
1185 (name "ghc-byteable")
1186 (version "0.1.1")
1187 (source (origin
1188 (method url-fetch)
1189 (uri (string-append "https://hackage.haskell.org/package/"
1190 "byteable/byteable-" version ".tar.gz"))
1191 (sha256
1192 (base32
1193 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1194 (build-system haskell-build-system)
1195 (home-page "https://github.com/vincenthz/hs-byteable")
1196 (synopsis "Type class for sequence of bytes")
1197 (description
1198 "This package provides an abstract class to manipulate sequence of bytes.
1199The use case of this class is abstracting manipulation of types that are just
1200wrapping a bytestring with stronger and more meaniful name.")
1201 (license license:bsd-3)))
1202
1203(define-public ghc-byteorder
1204 (package
1205 (name "ghc-byteorder")
1206 (version "1.0.4")
1207 (source
1208 (origin
1209 (method url-fetch)
1210 (uri (string-append
1211 "https://hackage.haskell.org/package/byteorder/byteorder-"
1212 version
1213 ".tar.gz"))
1214 (sha256
1215 (base32
1216 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1217 (build-system haskell-build-system)
1218 (home-page
1219 "http://community.haskell.org/~aslatter/code/byteorder")
1220 (synopsis
1221 "Exposes the native endianness of the system")
1222 (description
1223 "This package is for working with the native byte-ordering of the
1224system.")
1225 (license license:bsd-3)))
1226
1227(define-public ghc-bytes
1228 (package
1229 (name "ghc-bytes")
1230 (version "0.15.5")
1231 (source
1232 (origin
1233 (method url-fetch)
1234 (uri
1235 (string-append "https://hackage.haskell.org/package/bytes-"
1236 version "/bytes-"
1237 version ".tar.gz"))
1238 (file-name (string-append name "-" version ".tar.gz"))
1239 (sha256
1240 (base32
1241 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1242 (build-system haskell-build-system)
1243 (inputs `(("ghc-cereal" ,ghc-cereal)
1244 ("cabal-doctest" ,cabal-doctest)
1245 ("ghc-doctest" ,ghc-doctest)
1246 ("ghc-scientific" ,ghc-scientific)
1247 ("ghc-transformers-compat" ,ghc-transformers-compat)
1248 ("ghc-unordered-containers" ,ghc-unordered-containers)
1249 ("ghc-void" ,ghc-void)
1250 ("ghc-vector" ,ghc-vector)))
1251 (synopsis "Serialization between @code{binary} and @code{cereal}")
1252 (description "This package provides a simple compatibility shim that lets
1253you work with both @code{binary} and @code{cereal} with one chunk of
1254serialization code.")
1255 (home-page "https://hackage.haskell.org/package/bytes")
1256 (license license:bsd-3)))
1257
1258(define-public ghc-bytestring-builder
1259 (package
1260 (name "ghc-bytestring-builder")
13ac8a7f 1261 (version "0.10.8.2.0")
dddbc90c
RV
1262 (source
1263 (origin
1264 (method url-fetch)
1265 (uri (string-append
1266 "https://hackage.haskell.org/package/bytestring-builder"
1267 "/bytestring-builder-" version ".tar.gz"))
1268 (sha256
1269 (base32
13ac8a7f 1270 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1271 (build-system haskell-build-system)
1272 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1273 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1274 (synopsis "The new bytestring builder, packaged outside of GHC")
1275 (description "This package provides the bytestring builder that is
1276debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1277Compatibility package for older packages.")
1278 (license license:bsd-3)))
1279
1280(define-public ghc-bytestring-handle
1281 (package
1282 (name "ghc-bytestring-handle")
1283 (version "0.1.0.6")
1284 (source
1285 (origin
1286 (method url-fetch)
1287 (uri (string-append
1288 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1289 version ".tar.gz"))
1290 (sha256
1291 (base32
1292 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1293 (build-system haskell-build-system)
1294 (arguments
853748c4
TS
1295 `(#:cabal-revision
1296 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1297 #:phases
dddbc90c
RV
1298 (modify-phases %standard-phases
1299 (add-before 'configure 'update-constraints
1300 (lambda _
1301 (substitute* "bytestring-handle.cabal"
1302 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1303 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1304 (inputs
1305 `(("ghc-hunit" ,ghc-hunit)
1306 ("ghc-quickcheck" ,ghc-quickcheck)
1307 ("ghc-test-framework" ,ghc-test-framework)
1308 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1309 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1310 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1311 (synopsis "ByteString-backed Handles")
1312 (description "ByteString-backed Handles") ; There is no description
1313 (license license:bsd-3)))
1314
1315(define-public ghc-bytestring-lexing
1316 (package
1317 (name "ghc-bytestring-lexing")
1318 (version "0.5.0.2")
1319 (source
1320 (origin
1321 (method url-fetch)
1322 (uri (string-append "https://hackage.haskell.org/package/"
1323 "bytestring-lexing/bytestring-lexing-"
1324 version ".tar.gz"))
1325 (sha256
1326 (base32
1327 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1328 (build-system haskell-build-system)
1329 (home-page "http://code.haskell.org/~wren/")
1330 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1331 (description
1332 "This package provides tools to parse and produce literals efficiently
1333from strict or lazy bytestrings.")
1334 (license license:bsd-2)))
1335
1336(define-public ghc-bzlib-conduit
1337 (package
1338 (name "ghc-bzlib-conduit")
5fba8d6d 1339 (version "0.3.0.2")
dddbc90c
RV
1340 (source
1341 (origin
1342 (method url-fetch)
1343 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1344 "bzlib-conduit-" version ".tar.gz"))
1345 (sha256
1346 (base32
5fba8d6d 1347 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1348 (build-system haskell-build-system)
1349 (inputs
1350 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1351 ("ghc-conduit" ,ghc-conduit)
1352 ("ghc-data-default-class" ,ghc-data-default-class)
1353 ("ghc-resourcet" ,ghc-resourcet)))
1354 (native-inputs
1355 `(("ghc-hspec" ,ghc-hspec)
1356 ("ghc-random" ,ghc-random)))
1357 (home-page "https://github.com/snoyberg/bzlib-conduit")
1358 (synopsis "Streaming compression/decompression via conduits")
1359 (description
1360 "This package provides Haskell bindings to bzlib and Conduit support for
1361streaming compression and decompression.")
1362 (license license:bsd-3)))
1363
1364(define-public ghc-c2hs
1365 (package
1366 (name "ghc-c2hs")
1367 (version "0.28.6")
1368 (source
1369 (origin
1370 (method url-fetch)
1371 (uri (string-append
1372 "https://hackage.haskell.org/package/c2hs/c2hs-"
1373 version
1374 ".tar.gz"))
1375 (sha256
1376 (base32
1377 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1378 (build-system haskell-build-system)
1379 (inputs
1380 `(("ghc-language-c" ,ghc-language-c)
1381 ("ghc-dlist" ,ghc-dlist)))
1382 (native-inputs
1383 `(("ghc-test-framework" ,ghc-test-framework)
1384 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1385 ("ghc-hunit" ,ghc-hunit)
a723d36d 1386 ("ghc-shelly" ,ghc-shelly)))
dddbc90c 1387 (arguments
bfebc598 1388 `(#:phases
dddbc90c
RV
1389 (modify-phases %standard-phases
1390 (add-before 'check 'set-cc
1391 ;; add a cc executable in the path, needed for some tests to pass
1392 (lambda* (#:key inputs #:allow-other-keys)
1393 (let ((gcc (assoc-ref inputs "gcc"))
1394 (tmpbin (tmpnam))
1395 (curpath (getenv "PATH")))
1396 (mkdir-p tmpbin)
1397 (symlink (which "gcc") (string-append tmpbin "/cc"))
1398 (setenv "PATH" (string-append tmpbin ":" curpath)))
1399 #t))
1400 (add-after 'check 'remove-cc
1401 ;; clean the tmp dir made in 'set-cc
1402 (lambda _
1403 (let* ((cc-path (which "cc"))
1404 (cc-dir (dirname cc-path)))
1405 (delete-file-recursively cc-dir)
1406 #t))))))
1407 (home-page "https://github.com/haskell/c2hs")
1408 (synopsis "Create Haskell bindings to C libraries")
1409 (description "C->Haskell assists in the development of Haskell bindings to
1410C libraries. It extracts interface information from C header files and
1411generates Haskell code with foreign imports and marshaling. Unlike writing
1412foreign imports by hand (or using hsc2hs), this ensures that C functions are
1413imported with the correct Haskell types.")
1414 (license license:gpl2)))
1415
1416(define-public ghc-cairo
1417 (package
1418 (name "ghc-cairo")
1419 (version "0.13.5.0")
1420 (source
1421 (origin
1422 (method url-fetch)
1423 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1424 "cairo-" version ".tar.gz"))
1425 (sha256
1426 (base32
1427 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1428 (build-system haskell-build-system)
1429 (arguments
1430 `(#:modules ((guix build haskell-build-system)
1431 (guix build utils)
1432 (ice-9 match)
1433 (srfi srfi-26))
1434 #:phases
1435 (modify-phases %standard-phases
1436 ;; FIXME: This is a copy of the standard configure phase with a tiny
1437 ;; difference: this package needs the -package-db flag to be passed
1438 ;; to "runhaskell" in addition to the "configure" action, because it
1439 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1440 ;; this option the Setup.hs file cannot be evaluated. The
1441 ;; haskell-build-system should be changed to pass "-package-db" to
1442 ;; "runhaskell" in any case.
1443 (replace 'configure
1444 (lambda* (#:key outputs inputs tests? (configure-flags '())
1445 #:allow-other-keys)
1446 (let* ((out (assoc-ref outputs "out"))
1447 (name-version (strip-store-file-name out))
1448 (input-dirs (match inputs
1449 (((_ . dir) ...)
1450 dir)
1451 (_ '())))
1452 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1453 (params (append `(,(string-append "--prefix=" out))
1454 `(,(string-append "--libdir=" out "/lib"))
1455 `(,(string-append "--bindir=" out "/bin"))
1456 `(,(string-append
1457 "--docdir=" out
1458 "/share/doc/" name-version))
1459 '("--libsubdir=$compiler/$pkg-$version")
1460 '("--package-db=../package.conf.d")
1461 '("--global")
1462 `(,@(map
1463 (cut string-append "--extra-include-dirs=" <>)
1464 (search-path-as-list '("include") input-dirs)))
1465 `(,@(map
1466 (cut string-append "--extra-lib-dirs=" <>)
1467 (search-path-as-list '("lib") input-dirs)))
1468 (if tests?
1469 '("--enable-tests")
1470 '())
1471 configure-flags)))
1472 (unsetenv "GHC_PACKAGE_PATH")
1473 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1474 "Setup.hs" "configure" params)
1475 (setenv "GHC_PACKAGE_PATH" ghc-path)
1476 #t))))))
1477 (inputs
1478 `(("ghc-utf8-string" ,ghc-utf8-string)
1479 ("cairo" ,cairo)))
1480 (native-inputs
1481 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1482 ("pkg-config" ,pkg-config)))
1483 (home-page "http://projects.haskell.org/gtk2hs/")
1484 (synopsis "Haskell bindings to the Cairo vector graphics library")
1485 (description
1486 "Cairo is a library to render high quality vector graphics. There exist
1487various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1488documents, amongst others.")
1489 (license license:bsd-3)))
1490
1491(define-public ghc-call-stack
1492 (package
1493 (name "ghc-call-stack")
1494 (version "0.1.0")
1495 (source
1496 (origin
1497 (method url-fetch)
1498 (uri (string-append "https://hackage.haskell.org/package/"
1499 "call-stack/call-stack-"
1500 version ".tar.gz"))
1501 (sha256
1502 (base32
1503 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1504 (build-system haskell-build-system)
1505 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1506 (home-page "https://github.com/sol/call-stack#readme")
1507 (synopsis "Use GHC call-stacks in a backward compatible way")
1508 (description "This package provides a compatibility layer for using GHC
1509call stacks with different versions of the compiler.")
1510 (license license:expat)))
1511
1512;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1513;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1514(define-public ghc-call-stack-boot
1515 (hidden-package
1516 (package
1517 (inherit ghc-call-stack)
1518 (arguments '(#:tests? #f))
1519 (inputs '()))))
1520
1521(define-public ghc-case-insensitive
1522 (package
1523 (name "ghc-case-insensitive")
1524 (version "1.2.0.11")
534d6caa 1525 (outputs '("out" "static" "doc"))
dddbc90c
RV
1526 (source
1527 (origin
1528 (method url-fetch)
1529 (uri (string-append
1530 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1531 version
1532 ".tar.gz"))
1533 (sha256
1534 (base32
1535 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1536 (build-system haskell-build-system)
1537 ;; these inputs are necessary to use this library
1538 (inputs
1539 `(("ghc-hashable" ,ghc-hashable)))
1540 (arguments
1541 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1542 (home-page
1543 "https://github.com/basvandijk/case-insensitive")
1544 (synopsis "Case insensitive string comparison")
1545 (description
1546 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1547constructor which can be parameterised by a string-like type like:
1548@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1549the resulting type will be insensitive to cases.")
1550 (license license:bsd-3)))
1551
6ba536a1
JS
1552(define-public ghc-cborg
1553 (package
1554 (name "ghc-cborg")
1555 (version "0.2.2.0")
1556 (source
1557 (origin
1558 (method url-fetch)
1559 (uri (string-append
1560 "mirror://hackage/package/cborg/cborg-"
1561 version
1562 ".tar.gz"))
1563 (sha256
1564 (base32
1565 "1rdnvy0w17s70ikmbyrnwax5rvqh19l95sh8i7ipgxi23z1r0bp1"))))
1566 (build-system haskell-build-system)
1567 (inputs
1568 `(("ghc-half" ,ghc-half)
1569 ("ghc-primitive" ,ghc-primitive)))
1570 (native-inputs
1571 `(("ghc-aeson" ,ghc-aeson)
1572 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1573 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
1574 ("ghc-fail" ,ghc-fail)
1575 ("ghc-quickcheck" ,ghc-quickcheck)
1576 ("ghc-scientific" ,ghc-scientific)
1577 ("ghc-tasty" ,ghc-tasty)
1578 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1579 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
1580 ("ghc-vector" ,ghc-vector)))
1581 (home-page "http://hackage.haskell.org/package/cborg")
1582 (synopsis "Concise Binary Object Representation")
1583 (description
1584 "This package (formerly binary-serialise-cbor) provides an
1585efficient implementation of the Concise Binary Object
1586Representation (CBOR), as specified by RFC 7049 at
1587https://tools.ietf.org/html/rfc7049.
1588
1589If you are looking for a library for serialisation of Haskell values, have a
1590look at the @url{https://hackage.haskell.org/package/serialise} package, which
1591is built upon this library.
1592
1593An implementation of the standard bijection between CBOR and JSON is provided
1594by the @url{https://hackage.haskell.org/package/cborg-json} package.
1595
1596Also see @code{https://hackage.haskell.org/package/cbor-tool} for a convenient
1597command-line utility for working with CBOR data.")
1598 (license license:bsd-3)))
1599
5434fec9
JS
1600(define-public ghc-cborg-json
1601 (package
1602 (name "ghc-cborg-json")
1603 (version "0.2.2.0")
1604 (source
1605 (origin
1606 (method url-fetch)
1607 (uri (string-append
1608 "mirror://hackage/package/cborg-json/cborg-json-"
1609 version
1610 ".tar.gz"))
1611 (sha256
1612 (base32 "0ysilz7rrjk94sqr3a61s98hr9qfi1xg13bskmlpc6mpgi2s4s5b"))))
1613 (build-system haskell-build-system)
1614 (inputs
1615 `(("ghc-aeson" ,ghc-aeson)
1616 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
1617 ("ghc-unordered-containers" ,ghc-unordered-containers)
1618 ("ghc-scientific" ,ghc-scientific)
1619 ("ghc-vector" ,ghc-vector)
1620 ("ghc-cborg" ,ghc-cborg)))
1621 (home-page "https://github.com/well-typed/cborg")
1622 (synopsis "A library for encoding JSON as CBOR")
1623 (description
1624 "This package implements the bijection between JSON and CBOR
1625defined in the CBOR specification, RFC 7049.")
1626 (license license:bsd-3)))
1627
dddbc90c
RV
1628(define-public ghc-cereal
1629 (package
1630 (name "ghc-cereal")
bd95427e 1631 (version "0.5.8.1")
dddbc90c
RV
1632 (source
1633 (origin
1634 (method url-fetch)
1635 (uri (string-append
1636 "https://hackage.haskell.org/package/cereal/cereal-"
1637 version
1638 ".tar.gz"))
1639 (sha256
1640 (base32
bd95427e 1641 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1642 (build-system haskell-build-system)
1643 (native-inputs
1644 `(("ghc-quickcheck" ,ghc-quickcheck)
1645 ("ghc-fail" ,ghc-fail)
1646 ("ghc-test-framework" ,ghc-test-framework)
1647 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1648 (home-page "https://hackage.haskell.org/package/cereal")
1649 (synopsis "Binary serialization library")
1650 (description "This package provides a binary serialization library,
1651similar to @code{binary}, that introduces an @code{isolate} primitive for
1652parser isolation, and labeled blocks for better error messages.")
1653 (license license:bsd-3)))
1654
1655(define-public ghc-cereal-conduit
1656 (package
1657 (name "ghc-cereal-conduit")
1658 (version "0.8.0")
1659 (source
1660 (origin
1661 (method url-fetch)
1662 (uri (string-append "https://hackage.haskell.org/package/"
1663 "cereal-conduit/cereal-conduit-"
1664 version ".tar.gz"))
1665 (sha256
1666 (base32
1667 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1668 (build-system haskell-build-system)
1669 (inputs
1670 `(("ghc-conduit" ,ghc-conduit)
1671 ("ghc-resourcet" ,ghc-resourcet)
1672 ("ghc-cereal" ,ghc-cereal)))
1673 (native-inputs
1674 `(("ghc-hunit" ,ghc-hunit)))
1675 (home-page "https://github.com/snoyberg/conduit")
1676 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1677 (description
1678 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1679@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1680 (license license:bsd-3)))
1681
1682(define-public ghc-cgi
1683 (package
1684 (name "ghc-cgi")
b6b2c218 1685 (version "3001.4.0.0")
dddbc90c
RV
1686 (source
1687 (origin
1688 (method url-fetch)
1689 (uri (string-append
1690 "https://hackage.haskell.org/package/cgi/cgi-"
1691 version
1692 ".tar.gz"))
1693 (sha256
1694 (base32
b6b2c218 1695 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1696 (build-system haskell-build-system)
dddbc90c
RV
1697 (inputs
1698 `(("ghc-exceptions" ,ghc-exceptions)
1699 ("ghc-multipart" ,ghc-multipart)
1700 ("ghc-network-uri" ,ghc-network-uri)
1701 ("ghc-network" ,ghc-network)))
1702 (native-inputs
1703 `(("ghc-doctest" ,ghc-doctest)
1704 ("ghc-quickcheck" ,ghc-quickcheck)))
1705 (home-page
1706 "https://github.com/cheecheeo/haskell-cgi")
1707 (synopsis "Library for writing CGI programs")
1708 (description
1709 "This is a Haskell library for writing CGI programs.")
1710 (license license:bsd-3)))
1711
1712(define-public ghc-charset
1713 (package
1714 (name "ghc-charset")
1715 (version "0.3.7.1")
1716 (source
1717 (origin
1718 (method url-fetch)
1719 (uri (string-append
1720 "https://hackage.haskell.org/package/charset/charset-"
1721 version
1722 ".tar.gz"))
1723 (sha256
1724 (base32
1725 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1726 (build-system haskell-build-system)
35ee173c
TS
1727 (arguments
1728 `(#:cabal-revision
1729 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1730 (inputs
1731 `(("ghc-semigroups" ,ghc-semigroups)
1732 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1733 (home-page "https://github.com/ekmett/charset")
1734 (synopsis "Fast unicode character sets for Haskell")
1735 (description "This package provides fast unicode character sets for
1736Haskell, based on complemented PATRICIA tries.")
1737 (license license:bsd-3)))
1738
1739(define-public ghc-chart
1740 (package
1741 (name "ghc-chart")
6cd84b98 1742 (version "1.9.1")
dddbc90c
RV
1743 (source
1744 (origin
1745 (method url-fetch)
1746 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1747 "Chart-" version ".tar.gz"))
1748 (sha256
1749 (base32
6cd84b98 1750 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
dddbc90c
RV
1751 (build-system haskell-build-system)
1752 (inputs
1753 `(("ghc-old-locale" ,ghc-old-locale)
1754 ("ghc-lens" ,ghc-lens)
1755 ("ghc-colour" ,ghc-colour)
1756 ("ghc-data-default-class" ,ghc-data-default-class)
1757 ("ghc-operational" ,ghc-operational)
1758 ("ghc-vector" ,ghc-vector)))
1759 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1760 (synopsis "Library for generating 2D charts and plots")
1761 (description
1762 "This package provides a library for generating 2D charts and plots, with
1763backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1764 (license license:bsd-3)))
1765
1766(define-public ghc-chart-cairo
1767 (package
1768 (name "ghc-chart-cairo")
5cf9264d 1769 (version "1.9.1")
dddbc90c
RV
1770 (source
1771 (origin
1772 (method url-fetch)
1773 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1774 "Chart-cairo-" version ".tar.gz"))
1775 (sha256
1776 (base32
5cf9264d 1777 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
dddbc90c
RV
1778 (build-system haskell-build-system)
1779 (inputs
1780 `(("ghc-old-locale" ,ghc-old-locale)
1781 ("ghc-cairo" ,ghc-cairo)
1782 ("ghc-colour" ,ghc-colour)
1783 ("ghc-data-default-class" ,ghc-data-default-class)
1784 ("ghc-operational" ,ghc-operational)
1785 ("ghc-lens" ,ghc-lens)
1786 ("ghc-chart" ,ghc-chart)))
1787 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1788 (synopsis "Cairo backend for Charts")
1789 (description "This package provides a Cairo vector graphics rendering
1790backend for the Charts library.")
1791 (license license:bsd-3)))
1792
1793(define-public ghc-chasingbottoms
1794 (package
1795 (name "ghc-chasingbottoms")
1f67853e 1796 (version "1.3.1.7")
dddbc90c
RV
1797 (source
1798 (origin
1799 (method url-fetch)
1800 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1801 "ChasingBottoms-" version ".tar.gz"))
1802 (sha256
1803 (base32
1f67853e 1804 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1805 (build-system haskell-build-system)
1806 (inputs
1807 `(("ghc-quickcheck" ,ghc-quickcheck)
1808 ("ghc-random" ,ghc-random)
1809 ("ghc-syb" ,ghc-syb)))
1810 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1811 (synopsis "Testing of partial and infinite values in Haskell")
1812 (description
1813 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1814 ;; rendered properly.
1815 "This is a library for testing code involving bottoms or infinite values.
1816For the underlying theory and a larger example involving use of QuickCheck,
1817see the article
1818@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1819\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1820Partial and Infinite Values\"}.")
1821 (license license:expat)))
1822
1823(define-public ghc-cheapskate
1824 (package
1825 (name "ghc-cheapskate")
5e18bb9e 1826 (version "0.1.1.1")
dddbc90c
RV
1827 (source
1828 (origin
1829 (method url-fetch)
1830 (uri (string-append
1831 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1832 version
1833 ".tar.gz"))
1834 (sha256
1835 (base32
5e18bb9e 1836 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1837 (build-system haskell-build-system)
1838 (inputs
1839 `(("ghc-blaze-html" ,ghc-blaze-html)
1840 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1841 ("ghc-data-default" ,ghc-data-default)
1842 ("ghc-syb" ,ghc-syb)
1843 ("ghc-uniplate" ,ghc-uniplate)))
1844 (home-page "https://github.com/jgm/cheapskate")
1845 (synopsis "Experimental markdown processor")
1846 (description "Cheapskate is an experimental Markdown processor in pure
1847Haskell. It aims to process Markdown efficiently and in the most forgiving
1848possible way. It is designed to deal with any input, including garbage, with
1849linear performance. Output is sanitized by default for protection against
1850cross-site scripting (@dfn{XSS}) attacks.")
1851 (license license:bsd-3)))
1852
1853(define-public ghc-chell
1854 (package
1855 (name "ghc-chell")
acdd03be 1856 (version "0.5")
dddbc90c
RV
1857 (source
1858 (origin
1859 (method url-fetch)
1860 (uri (string-append
1861 "https://hackage.haskell.org/package/chell/chell-"
1862 version ".tar.gz"))
1863 (sha256
1864 (base32
acdd03be 1865 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1866 (build-system haskell-build-system)
acdd03be
TS
1867 (arguments
1868 `(#:cabal-revision
1869 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1870 (inputs
1871 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1872 ("ghc-patience" ,ghc-patience)
1873 ("ghc-random" ,ghc-random)
1874 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1875 (home-page "https://john-millikin.com/software/chell/")
1876 (synopsis "Simple and intuitive library for automated testing")
1877 (description
1878 "Chell is a simple and intuitive library for automated testing.
1879It natively supports assertion-based testing, and can use companion
1880libraries such as @code{chell-quickcheck} to support more complex
1881testing strategies.")
1882 (license license:expat)))
1883
1884(define-public ghc-chell-quickcheck
1885 (package
1886 (name "ghc-chell-quickcheck")
e0e21831 1887 (version "0.2.5.2")
dddbc90c
RV
1888 (source
1889 (origin
1890 (method url-fetch)
1891 (uri (string-append
1892 "https://hackage.haskell.org/package/chell-quickcheck/"
1893 "chell-quickcheck-" version ".tar.gz"))
1894 (sha256
1895 (base32
e0e21831 1896 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1897 (build-system haskell-build-system)
1898 (arguments
1899 `(#:phases
1900 (modify-phases %standard-phases
1901 (add-before 'configure 'update-constraints
1902 (lambda _
1903 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1904 (("QuickCheck >= 2\\.3 && < 2\\.13")
1905 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1906 (inputs
1907 `(("ghc-chell" ,ghc-chell)
1908 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1909 ("ghc-random" ,ghc-random)
1910 ("ghc-quickcheck" ,ghc-quickcheck)))
1911 (home-page "https://john-millikin.com/software/chell/")
1912 (synopsis "QuickCheck support for the Chell testing library")
1913 (description "More complex tests for @code{chell}.")
1914 (license license:expat)))
1915
1916(define ghc-chell-quickcheck-bootstrap
1917 (package
1918 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1919 (version "0.2.5.2")
dddbc90c
RV
1920 (source
1921 (origin
1922 (method url-fetch)
1923 (uri (string-append
1924 "https://hackage.haskell.org/package/chell-quickcheck/"
1925 "chell-quickcheck-" version ".tar.gz"))
1926 (sha256
1927 (base32
e0e21831 1928 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1929 (build-system haskell-build-system)
1930 (inputs
1931 `(("ghc-chell" ,ghc-chell)
1932 ("ghc-random" ,ghc-random)
1933 ("ghc-quickcheck" ,ghc-quickcheck)))
1934 (arguments
1935 `(#:tests? #f
1936 #:phases
1937 (modify-phases %standard-phases
1938 (add-before 'configure 'update-constraints
1939 (lambda _
1940 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1941 (("QuickCheck >= 2\\.3 && < 2\\.13")
1942 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1943 (home-page "https://john-millikin.com/software/chell/")
1944 (synopsis "QuickCheck support for the Chell testing library")
1945 (description "More complex tests for @code{chell}.")
1946 (license license:expat)))
1947
1948(define-public ghc-chunked-data
1949 (package
1950 (name "ghc-chunked-data")
1951 (version "0.3.1")
1952 (source
1953 (origin
1954 (method url-fetch)
1955 (uri (string-append "https://hackage.haskell.org/package/"
1956 "chunked-data-" version "/"
1957 "chunked-data-" version ".tar.gz"))
1958 (sha256
1959 (base32
1960 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1961 (build-system haskell-build-system)
1962 (inputs `(("ghc-vector" ,ghc-vector)
1963 ("ghc-semigroups" ,ghc-semigroups)))
1964 (home-page "https://github.com/snoyberg/mono-traversable")
1965 (synopsis "Typeclasses for dealing with various chunked data
1966representations for Haskell")
1967 (description "This Haskell package was originally present in
1968classy-prelude.")
1969 (license license:expat)))
1970
1971(define-public ghc-clock
1972 (package
1973 (name "ghc-clock")
0841b6f2 1974 (version "0.8")
dddbc90c
RV
1975 (source
1976 (origin
1977 (method url-fetch)
1978 (uri (string-append
1979 "https://hackage.haskell.org/package/"
1980 "clock/"
1981 "clock-" version ".tar.gz"))
1982 (sha256
0841b6f2 1983 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1984 (build-system haskell-build-system)
1985 (inputs
1986 `(("ghc-tasty" ,ghc-tasty)
1987 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1988 (home-page "https://hackage.haskell.org/package/clock")
1989 (synopsis "High-resolution clock for Haskell")
1990 (description "A package for convenient access to high-resolution clock and
1991timer functions of different operating systems via a unified API.")
1992 (license license:bsd-3)))
1993
1994;; This package builds `clock` without tests, since the tests rely on tasty
1995;; and tasty-quickcheck, which in turn require clock to build.
1996(define-public ghc-clock-bootstrap
1997 (package
1998 (inherit ghc-clock)
1999 (name "ghc-clock-bootstrap")
2000 (arguments '(#:tests? #f))
2001 (inputs '())
2002 (properties '((hidden? #t)))))
2003
2004(define-public ghc-cmark
2005 (package
2006 (name "ghc-cmark")
6bdd36c0 2007 (version "0.6")
dddbc90c
RV
2008 (source (origin
2009 (method url-fetch)
6bdd36c0 2010 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
2011 ;; See cbits/cmark_version.h.
2012 (uri (string-append "https://hackage.haskell.org/package/"
2013 "cmark/cmark-" version ".tar.gz"))
2014 (sha256
2015 (base32
6bdd36c0 2016 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
2017 (build-system haskell-build-system)
2018 (native-inputs
2019 `(("ghc-hunit" ,ghc-hunit)))
2020 (home-page "https://github.com/jgm/commonmark-hs")
2021 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
2022 (description
2023 "This package provides Haskell bindings for
2024@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
2025CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
2026sources, and does not require prior installation of the C library.")
2027 (license license:bsd-3)))
2028
2029(define-public ghc-cmark-gfm
2030 (package
2031 (name "ghc-cmark-gfm")
24fc8dae 2032 (version "0.2.0")
dddbc90c
RV
2033 (source
2034 (origin
2035 (method url-fetch)
2036 (uri (string-append "https://hackage.haskell.org/package/"
2037 "cmark-gfm/cmark-gfm-"
2038 version ".tar.gz"))
2039 (sha256
2040 (base32
24fc8dae 2041 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
2042 (build-system haskell-build-system)
2043 (native-inputs
2044 `(("ghc-hunit" ,ghc-hunit)))
2045 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
2046 (synopsis
2047 "Fast, accurate GitHub Flavored Markdown parser and renderer")
2048 (description
2049 "This package provides Haskell bindings for libcmark-gfm, the reference
2050parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
2051It includes sources for libcmark-gfm and does not require prior installation
2052of the C library.")
2053 (license license:bsd-3)))
2054
2055(define-public ghc-cmdargs
2056 (package
2057 (name "ghc-cmdargs")
2058 (version "0.10.20")
2059 (source
2060 (origin
2061 (method url-fetch)
2062 (uri (string-append
2063 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
2064 version ".tar.gz"))
2065 (sha256
2066 (base32
2067 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
2068 (build-system haskell-build-system)
3e545443 2069 (outputs '("out" "static" "doc"))
dddbc90c
RV
2070 (home-page
2071 "http://community.haskell.org/~ndm/cmdargs/")
2072 (synopsis "Command line argument processing")
2073 (description
2074 "This library provides an easy way to define command line parsers.")
2075 (license license:bsd-3)))
2076
2077(define-public ghc-code-page
2078 (package
2079 (name "ghc-code-page")
f6bb6519 2080 (version "0.2")
dddbc90c
RV
2081 (source
2082 (origin
2083 (method url-fetch)
2084 (uri (string-append
2085 "https://hackage.haskell.org/package/code-page/code-page-"
2086 version ".tar.gz"))
2087 (sha256
2088 (base32
f6bb6519 2089 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
2090 (build-system haskell-build-system)
2091 (home-page "https://github.com/RyanGlScott/code-page")
2092 (synopsis "Windows code page library for Haskell")
2093 (description "A cross-platform library with functions for adjusting
2094code pages on Windows. On all other operating systems, the library does
2095nothing.")
2096 (license license:bsd-3)))
2097
2098(define-public ghc-colour
2099(package
2100 (name "ghc-colour")
bc9d1af9 2101 (version "2.3.5")
dddbc90c
RV
2102 (source
2103 (origin
2104 (method url-fetch)
2105 (uri (string-append
2106 "https://hackage.haskell.org/package/colour/colour-"
2107 version ".tar.gz"))
2108 (sha256
2109 (base32
bc9d1af9 2110 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
2111 (arguments
2112 ;; The tests for this package have the following dependency cycle:
2113 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
2114 `(#:tests? #f))
2115 (build-system haskell-build-system)
228d2901 2116 (home-page "https://wiki.haskell.org/Colour")
dddbc90c
RV
2117 (synopsis "Model for human colour perception")
2118 (description
2119 "This package provides a data type for colours and transparency.
2120Colours can be blended and composed. Various colour spaces are
2121supported. A module of colour names (\"Data.Colour.Names\") is provided.")
2122 (license license:expat)))
2123
2124(define-public ghc-comonad
2125 (package
2126 (name "ghc-comonad")
1a825512 2127 (version "5.0.5")
dddbc90c
RV
2128 (source
2129 (origin
2130 (method url-fetch)
2131 (uri (string-append
2132 "https://hackage.haskell.org/package/comonad/comonad-"
2133 version
2134 ".tar.gz"))
2135 (sha256
2136 (base32
1a825512 2137 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
2138 (build-system haskell-build-system)
2139 (native-inputs
2140 `(("cabal-doctest" ,cabal-doctest)
2141 ("ghc-doctest" ,ghc-doctest)))
2142 (inputs
2143 `(("ghc-contravariant" ,ghc-contravariant)
2144 ("ghc-distributive" ,ghc-distributive)
2145 ("ghc-semigroups" ,ghc-semigroups)
2146 ("ghc-tagged" ,ghc-tagged)
2147 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2148 (home-page "https://github.com/ekmett/comonad/")
2149 (synopsis "Comonads for Haskell")
2150 (description "This library provides @code{Comonad}s for Haskell.")
2151 (license license:bsd-3)))
2152
2153(define-public ghc-concatenative
2154 (package
2155 (name "ghc-concatenative")
2156 (version "1.0.1")
2157 (source (origin
2158 (method url-fetch)
2159 (uri (string-append
2160 "https://hackage.haskell.org/package/concatenative/concatenative-"
2161 version ".tar.gz"))
2162 (sha256
2163 (base32
2164 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2165 (build-system haskell-build-system)
2166 (home-page
2167 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2168 (synopsis "Library for postfix control flow")
2169 (description
2170 "Concatenative gives Haskell Factor-style combinators and arrows for
2171postfix notation. For more information on stack based languages, see
2172@uref{https://concatenative.org}.")
2173 (license license:bsd-3)))
2174
2175(define-public ghc-concurrent-extra
2176 (package
2177 (name "ghc-concurrent-extra")
2178 (version "0.7.0.12")
2179 (source
2180 (origin
2181 (method url-fetch)
2182 (uri (string-append "https://hackage.haskell.org/package/"
2183 "concurrent-extra/concurrent-extra-"
2184 version ".tar.gz"))
2185 (sha256
2186 (base32
2187 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2188 (build-system haskell-build-system)
2189 (arguments
2190 ;; XXX: The ReadWriteLock 'stressTest' fails.
2191 `(#:tests? #f))
2192 (inputs
2193 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2194 (native-inputs
2195 `(("ghc-async" ,ghc-async)
2196 ("ghc-hunit" ,ghc-hunit)
2197 ("ghc-random" ,ghc-random)
2198 ("ghc-test-framework" ,ghc-test-framework)
2199 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2200 (home-page "https://github.com/basvandijk/concurrent-extra")
2201 (synopsis "Extra concurrency primitives")
2202 (description "This Haskell library offers (among other things) the
2203following selection of synchronisation primitives:
2204
2205@itemize
2206@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2207@item @code{Event}: Wake multiple threads by signalling an event.
2208@item @code{Lock}: Enforce exclusive access to a resource. Also known
2209as a binary semaphore or mutex. The package additionally provides an
2210alternative that works in the STM monad.
2211@item @code{RLock}: A lock which can be acquired multiple times by the
2212same thread. Also known as a reentrant mutex.
2213@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2214to protect shared resources which may be concurrently read, but only
2215sequentially written.
2216@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2217@end itemize
2218
2219Please consult the API documentation of the individual modules for more
2220detailed information.
2221
2222This package was inspired by the concurrency libraries of Java and
2223Python.")
2224 (license license:bsd-3)))
2225
2226(define-public ghc-concurrent-output
2227 (package
2228 (name "ghc-concurrent-output")
4fce0a4a 2229 (version "1.10.11")
dddbc90c
RV
2230 (source
2231 (origin
2232 (method url-fetch)
2233 (uri (string-append
2234 "mirror://hackage/package/concurrent-output/concurrent-output-"
2235 version
2236 ".tar.gz"))
2237 (sha256
2238 (base32
4fce0a4a 2239 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
2240 (build-system haskell-build-system)
2241 (inputs
2242 `(("ghc-async" ,ghc-async)
2243 ("ghc-exceptions" ,ghc-exceptions)
2244 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2245 ("ghc-terminal-size" ,ghc-terminal-size)))
2246 (home-page
2247 "https://hackage.haskell.org/package/concurrent-output")
2248 (synopsis
2249 "Ungarble output from several threads or commands")
2250 (description
2251 "Lets multiple threads and external processes concurrently output to the
2252console, without it getting all garbled up.
2253
2254Built on top of that is a way of defining multiple output regions, which are
2255automatically laid out on the screen and can be individually updated by
2256concurrent threads. Can be used for progress displays etc.")
2257 (license license:bsd-2)))
2258
2259(define-public ghc-conduit
2260 (package
2261 (name "ghc-conduit")
1ac981d4 2262 (version "1.3.1.1")
dddbc90c
RV
2263 (source (origin
2264 (method url-fetch)
2265 (uri (string-append "https://hackage.haskell.org/package/"
2266 "conduit/conduit-" version ".tar.gz"))
2267 (sha256
2268 (base32
1ac981d4 2269 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c 2270 (build-system haskell-build-system)
20e5edb1 2271 (outputs '("out" "static" "doc"))
dddbc90c
RV
2272 (inputs
2273 `(("ghc-exceptions" ,ghc-exceptions)
2274 ("ghc-lifted-base" ,ghc-lifted-base)
2275 ("ghc-mono-traversable" ,ghc-mono-traversable)
2276 ("ghc-mmorph" ,ghc-mmorph)
2277 ("ghc-resourcet" ,ghc-resourcet)
2278 ("ghc-silently" ,ghc-silently)
2279 ("ghc-transformers-base" ,ghc-transformers-base)
2280 ("ghc-unliftio" ,ghc-unliftio)
2281 ("ghc-unliftio-core" ,ghc-unliftio-core)
2282 ("ghc-vector" ,ghc-vector)
2283 ("ghc-void" ,ghc-void)))
2284 (native-inputs
2285 `(("ghc-quickcheck" ,ghc-quickcheck)
2286 ("ghc-hspec" ,ghc-hspec)
2287 ("ghc-safe" ,ghc-safe)
2288 ("ghc-split" ,ghc-split)))
2289 (home-page "https://github.com/snoyberg/conduit")
2290 (synopsis "Streaming data library ")
2291 (description
2292 "The conduit package is a solution to the streaming data problem,
2293allowing for production, transformation, and consumption of streams of data
2294in constant memory. It is an alternative to lazy I/O which guarantees
2295deterministic resource handling, and fits in the same general solution
2296space as enumerator/iteratee and pipes.")
2297 (license license:expat)))
2298
2299(define-public ghc-conduit-algorithms
2300 (package
2301 (name "ghc-conduit-algorithms")
503b74ae 2302 (version "0.0.11.0")
dddbc90c
RV
2303 (source
2304 (origin
2305 (method url-fetch)
2306 (uri (string-append "https://hackage.haskell.org/package/"
2307 "conduit-algorithms/conduit-algorithms-"
2308 version ".tar.gz"))
2309 (sha256
2310 (base32
503b74ae 2311 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2312 (build-system haskell-build-system)
2313 (inputs
2314 `(("ghc-async" ,ghc-async)
2315 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2316 ("ghc-conduit" ,ghc-conduit)
2317 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2318 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2319 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2320 ("ghc-exceptions" ,ghc-exceptions)
2321 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2322 ("ghc-monad-control" ,ghc-monad-control)
2323 ("ghc-pqueue" ,ghc-pqueue)
2324 ("ghc-resourcet" ,ghc-resourcet)
2325 ("ghc-stm-conduit" ,ghc-stm-conduit)
2326 ("ghc-streaming-commons" ,ghc-streaming-commons)
2327 ("ghc-unliftio-core" ,ghc-unliftio-core)
2328 ("ghc-vector" ,ghc-vector)))
2329 (native-inputs
2330 `(("ghc-hunit" ,ghc-hunit)
2331 ("ghc-test-framework" ,ghc-test-framework)
2332 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2333 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2334 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2335 (synopsis "Conduit-based algorithms")
2336 (description
2337 "This package provides algorithms on @code{Conduits}, including higher
2338level asynchronous processing and some other utilities.")
2339 (license license:expat)))
2340
2341(define-public ghc-conduit-combinators
2342 (package
2343 (name "ghc-conduit-combinators")
2344 (version "1.3.0")
2345 (source
2346 (origin
2347 (method url-fetch)
2348 (uri (string-append "https://hackage.haskell.org/package/"
2349 "conduit-combinators-" version "/"
2350 "conduit-combinators-" version ".tar.gz"))
2351 (sha256
2352 (base32
2353 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2354 (build-system haskell-build-system)
2355 (inputs `(("ghc-conduit" ,ghc-conduit)
2356 ("ghc-conduit-extra" ,ghc-conduit-extra)
2357 ("ghc-transformers-base" ,ghc-transformers-base)
2358 ("ghc-primitive" ,ghc-primitive)
2359 ("ghc-vector" ,ghc-vector)
2360 ("ghc-void" ,ghc-void)
2361 ("ghc-mwc-random" ,ghc-mwc-random)
2362 ("ghc-unix-compat" ,ghc-unix-compat)
2363 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2364 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2365 ("ghc-resourcet" ,ghc-resourcet)
2366 ("ghc-monad-control" ,ghc-monad-control)
2367 ("ghc-chunked-data" ,ghc-chunked-data)
2368 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2369 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2370 ("ghc-silently" ,ghc-silently)
2371 ("ghc-safe" ,ghc-safe)
2372 ("ghc-quickcheck" ,ghc-quickcheck)))
2373 (home-page "https://github.com/snoyberg/mono-traversable")
2374 (synopsis "Commonly used conduit functions, for both chunked and
2375unchunked data")
2376 (description "This Haskell package provides a replacement for Data.Conduit.List,
2377as well as a convenient Conduit module.")
2378 (license license:expat)))
2379
2380(define-public ghc-conduit-extra
2381 (package
2382 (name "ghc-conduit-extra")
151774d9 2383 (version "1.3.4")
dddbc90c
RV
2384 (source
2385 (origin
2386 (method url-fetch)
2387 (uri (string-append "https://hackage.haskell.org/package/"
2388 "conduit-extra/conduit-extra-"
2389 version ".tar.gz"))
2390 (sha256
2391 (base32
151774d9 2392 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2393 (build-system haskell-build-system)
2394 (inputs
2395 `(("ghc-conduit" ,ghc-conduit)
2396 ("ghc-exceptions" ,ghc-exceptions)
2397 ("ghc-monad-control" ,ghc-monad-control)
2398 ("ghc-transformers-base" ,ghc-transformers-base)
2399 ("ghc-typed-process" ,ghc-typed-process)
2400 ("ghc-async" ,ghc-async)
2401 ("ghc-attoparsec" ,ghc-attoparsec)
2402 ("ghc-blaze-builder" ,ghc-blaze-builder)
2403 ("ghc-network" ,ghc-network)
2404 ("ghc-primitive" ,ghc-primitive)
2405 ("ghc-resourcet" ,ghc-resourcet)
2406 ("ghc-streaming-commons" ,ghc-streaming-commons)
2407 ("ghc-hspec" ,ghc-hspec)
2408 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2409 ("ghc-quickcheck" ,ghc-quickcheck)))
2410 (native-inputs
2411 `(("hspec-discover" ,hspec-discover)))
2412 (home-page "https://github.com/snoyberg/conduit")
2413 (synopsis "Conduit adapters for common libraries")
2414 (description
2415 "The @code{conduit} package itself maintains relative small dependencies.
2416The purpose of this package is to collect commonly used utility functions
2417wrapping other library dependencies, without depending on heavier-weight
2418dependencies. The basic idea is that this package should only depend on
2419@code{haskell-platform} packages and @code{conduit}.")
2420 (license license:expat)))
2421
b59c3518
TS
2422(define-public ghc-conduit-zstd
2423 (package
2424 (name "ghc-conduit-zstd")
2425 (version "0.0.1.1")
2426 (source
2427 (origin
2428 (method url-fetch)
2429 (uri (string-append "https://hackage.haskell.org/package/"
2430 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2431 (sha256
2432 (base32
2433 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2434 (build-system haskell-build-system)
2435 (inputs
2436 `(("ghc-conduit" ,ghc-conduit)
2437 ("ghc-zstd" ,ghc-zstd)))
2438 (native-inputs
2439 `(("ghc-hunit" ,ghc-hunit)
2440 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2441 ("ghc-conduit-extra" ,ghc-conduit-extra)
2442 ("ghc-test-framework" ,ghc-test-framework)
2443 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2444 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2445 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2446 (synopsis "Conduit-based ZStd Compression")
2447 (description "Zstandard compression packaged as a conduit. This is
2448a very thin wrapper around the
2449@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2450interface}.")
2451 (license license:expat)))
2452
dddbc90c
RV
2453(define-public ghc-configurator
2454 (package
2455 (name "ghc-configurator")
2456 (version "0.3.0.0")
2457 (source
2458 (origin
2459 (method url-fetch)
2460 (uri (string-append "https://hackage.haskell.org/package/"
2461 "configurator/configurator-"
2462 version ".tar.gz"))
2463 (sha256
2464 (base32
2465 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2466 (build-system haskell-build-system)
2467 (inputs
2468 `(("ghc-attoparsec" ,ghc-attoparsec)
2469 ("ghc-hashable" ,ghc-hashable)
2470 ("ghc-unix-compat" ,ghc-unix-compat)
2471 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2472 (native-inputs
2473 `(("ghc-hunit" ,ghc-hunit)
2474 ("ghc-test-framework" ,ghc-test-framework)
2475 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
702a1012 2476 (home-page "https://github.com/bos/configurator")
dddbc90c
RV
2477 (synopsis "Configuration management")
2478 (description
2479 "This package provides a configuration management library for programs
2480and daemons. The features include:
2481
2482@enumerate
2483@item Automatic, dynamic reloading in response to modifications to
2484 configuration files.
2485@item A simple, but flexible, configuration language, supporting several of
2486 the most commonly needed types of data, along with interpolation of strings
2487 from the configuration or the system environment (e.g. @code{$(HOME)}).
2488@item Subscription-based notification of changes to configuration properties.
2489@item An @code{import} directive allows the configuration of a complex
2490 application to be split across several smaller files, or common configuration
2491 data to be shared across several applications.
2492@end enumerate\n")
2493 (license license:bsd-3)))
2494
2495(define-public ghc-connection
2496 (package
2497 (name "ghc-connection")
6ee0d258 2498 (version "0.3.1")
dddbc90c
RV
2499 (source (origin
2500 (method url-fetch)
2501 (uri (string-append "https://hackage.haskell.org/package/"
2502 "connection/connection-"
2503 version ".tar.gz"))
2504 (sha256
2505 (base32
6ee0d258 2506 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2507 (build-system haskell-build-system)
2508 (inputs
2509 `(("ghc-byteable" ,ghc-byteable)
2510 ("ghc-data-default-class" ,ghc-data-default-class)
2511 ("ghc-network" ,ghc-network)
2512 ("ghc-tls" ,ghc-tls)
2513 ("ghc-socks" ,ghc-socks)
2514 ("ghc-x509" ,ghc-x509)
2515 ("ghc-x509-store" ,ghc-x509-store)
2516 ("ghc-x509-system" ,ghc-x509-system)
2517 ("ghc-x509-validation" ,ghc-x509-validation)))
2518 (home-page "https://github.com/vincenthz/hs-connection")
2519 (synopsis "Simple and easy network connections API")
2520 (description
2521 "This package provides a simple network library for all your connection
2522needs. It provides a very simple API to create sockets to a destination with
2523the choice of SSL/TLS, and SOCKS.")
2524 (license license:bsd-3)))
2525
2526(define-public ghc-constraints
2527 (package
2528 (name "ghc-constraints")
2529 (version "0.10.1")
2530 (source
2531 (origin
2532 (method url-fetch)
2533 (uri (string-append
2534 "https://hackage.haskell.org/package/constraints/constraints-"
2535 version ".tar.gz"))
2536 (sha256
2537 (base32
2538 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2539 (build-system haskell-build-system)
2540 (inputs
2541 `(("ghc-hashable" ,ghc-hashable)
2542 ("ghc-semigroups" ,ghc-semigroups)
2543 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2544 (native-inputs
2545 `(("ghc-hspec" ,ghc-hspec)
2546 ("hspec-discover" ,hspec-discover)))
2547 (home-page "https://github.com/ekmett/constraints/")
2548 (synopsis "Constraint manipulation")
2549 (description
2550 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2551They stopped crashing the compiler in GHC 7.6. This package provides
2552a vocabulary for working with them.")
2553 (license license:bsd-3)))
2554
2555(define-public ghc-contravariant
2556 (package
2557 (name "ghc-contravariant")
e7b35ff0 2558 (version "1.5.2")
dddbc90c
RV
2559 (source
2560 (origin
2561 (method url-fetch)
2562 (uri (string-append
2563 "https://hackage.haskell.org/package/contravariant/contravariant-"
2564 version
2565 ".tar.gz"))
2566 (sha256
2567 (base32
e7b35ff0 2568 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2569 (build-system haskell-build-system)
2570 (inputs
2571 `(("ghc-void" ,ghc-void)
2572 ("ghc-transformers-compat" ,ghc-transformers-compat)
2573 ("ghc-statevar" ,ghc-statevar)
2574 ("ghc-semigroups" ,ghc-semigroups)))
2575 (home-page
2576 "https://github.com/ekmett/contravariant/")
2577 (synopsis "Contravariant functors")
2578 (description "Contravariant functors for Haskell.")
2579 (license license:bsd-3)))
2580
2581(define-public ghc-contravariant-extras
2582 (package
2583 (name "ghc-contravariant-extras")
2584 (version "0.3.4")
2585 (source
2586 (origin
2587 (method url-fetch)
2588 (uri (string-append "https://hackage.haskell.org/package/"
2589 "contravariant-extras-" version "/"
2590 "contravariant-extras-" version ".tar.gz"))
2591 (sha256
2592 (base32
2593 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2594 (build-system haskell-build-system)
f3aca086
TS
2595 (arguments
2596 `(#:cabal-revision
2597 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2598 (inputs
2599 `(("ghc-tuple-th" ,ghc-tuple-th)
2600 ("ghc-contravariant" ,ghc-contravariant)
2601 ("ghc-base-prelude" ,ghc-base-prelude)
2602 ("ghc-semigroups" ,ghc-semigroups)))
2603 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2604 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2605 (description "This Haskell package provides extras for the
2606@code{ghc-contravariant} package.")
2607 (license license:expat)))
2608
2609(define-public ghc-convertible
2610 (package
2611 (name "ghc-convertible")
2612 (version "1.1.1.0")
2613 (source
2614 (origin
2615 (method url-fetch)
2616 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2617 "convertible-" version ".tar.gz"))
2618 (sha256
2619 (base32
2620 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2621 (build-system haskell-build-system)
2622 (inputs
2623 `(("ghc-old-time" ,ghc-old-time)
2624 ("ghc-old-locale" ,ghc-old-locale)))
2625 (home-page "https://hackage.haskell.org/package/convertible")
2626 (synopsis "Typeclasses and instances for converting between types")
2627 (description
2628 "This package provides a typeclass with a single function that is
2629designed to help convert between different types: numeric values, dates and
2630times, and the like. The conversions perform bounds checking and return a
2631pure @code{Either} value. This means that you need not remember which specific
2632function performs the conversion you desire.")
2633 (license license:bsd-3)))
2634
2635(define-public ghc-data-accessor
2636 (package
2637 (name "ghc-data-accessor")
6dcca515 2638 (version "0.2.2.8")
dddbc90c
RV
2639 (source
2640 (origin
2641 (method url-fetch)
2642 (uri (string-append
2643 "mirror://hackage/package/data-accessor/data-accessor-"
2644 version ".tar.gz"))
2645 (sha256
6dcca515 2646 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c 2647 (build-system haskell-build-system)
228d2901 2648 (home-page "https://wiki.haskell.org/Record_access")
dddbc90c
RV
2649 (synopsis
2650 "Haskell utilities for accessing and manipulating fields of records")
2651 (description "This package provides Haskell modules for accessing and
2652manipulating fields of records.")
2653 (license license:bsd-3)))
2654
2655(define-public ghc-data-accessor-transformers
2656 (package
2657 (name "ghc-data-accessor-transformers")
2658 (version "0.2.1.7")
2659 (source
2660 (origin
2661 (method url-fetch)
2662 (uri (string-append
2663 "mirror://hackage/package/data-accessor-transformers/"
2664 "data-accessor-transformers-" version ".tar.gz"))
2665 (sha256
2666 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2667 (build-system haskell-build-system)
2668 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
228d2901 2669 (home-page "https://wiki.haskell.org/Record_access")
dddbc90c
RV
2670 (synopsis "Use Accessor to access state in transformers State monad")
2671 (description "This package provides Haskell modules to allow use of
2672Accessor to access state in transformers State monad.")
2673 (license license:bsd-3)))
2674
2675(define-public ghc-data-default
2676 (package
2677 (name "ghc-data-default")
2678 (version "0.7.1.1")
2679 (source
2680 (origin
2681 (method url-fetch)
2682 (uri (string-append
2683 "https://hackage.haskell.org/package/data-default/data-default-"
2684 version
2685 ".tar.gz"))
2686 (sha256
2687 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2688 (build-system haskell-build-system)
2689 (inputs
2690 `(("ghc-data-default-class"
2691 ,ghc-data-default-class)
2692 ("ghc-data-default-instances-base"
2693 ,ghc-data-default-instances-base)
2694 ("ghc-data-default-instances-containers"
2695 ,ghc-data-default-instances-containers)
2696 ("ghc-data-default-instances-dlist"
2697 ,ghc-data-default-instances-dlist)
2698 ("ghc-data-default-instances-old-locale"
2699 ,ghc-data-default-instances-old-locale)))
2700 (home-page "https://hackage.haskell.org/package/data-default")
2701 (synopsis "Types with default values")
2702 (description
2703 "This package defines a class for types with a default value, and
2704provides instances for types from the base, containers, dlist and old-locale
2705packages.")
2706 (license license:bsd-3)))
2707
2708(define-public ghc-data-default-class
2709 (package
2710 (name "ghc-data-default-class")
2711 (version "0.1.2.0")
2712 (source
2713 (origin
2714 (method url-fetch)
2715 (uri (string-append
2716 "https://hackage.haskell.org/package/data-default-class/"
2717 "data-default-class-" version ".tar.gz"))
2718 (sha256
2719 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2720 (build-system haskell-build-system)
2721 (home-page "https://hackage.haskell.org/package/data-default-class")
2722 (synopsis "Types with default values")
2723 (description
2724 "This package defines a class for types with default values.")
2725 (license license:bsd-3)))
2726
2727(define-public ghc-data-default-instances-base
2728 (package
2729 (name "ghc-data-default-instances-base")
2730 (version "0.1.0.1")
2731 (source
2732 (origin
2733 (method url-fetch)
2734 (uri (string-append
2735 "https://hackage.haskell.org/package/"
2736 "data-default-instances-base/"
2737 "data-default-instances-base-" version ".tar.gz"))
2738 (sha256
2739 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2740 (build-system haskell-build-system)
2741 (inputs
2742 `(("ghc-data-default-class" ,ghc-data-default-class)))
2743 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2744 (synopsis "Default instances for types in base")
2745 (description
2746 "This package provides default instances for types from the base
2747package.")
2748 (license license:bsd-3)))
2749
2750(define-public ghc-data-default-instances-containers
2751 (package
2752 (name "ghc-data-default-instances-containers")
2753 (version "0.0.1")
2754 (source
2755 (origin
2756 (method url-fetch)
2757 (uri (string-append
2758 "https://hackage.haskell.org/package/"
2759 "data-default-instances-containers/"
2760 "data-default-instances-containers-" version ".tar.gz"))
2761 (sha256
2762 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2763 (build-system haskell-build-system)
2764 (inputs
2765 `(("ghc-data-default-class" ,ghc-data-default-class)))
2766 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2767 (synopsis "Default instances for types in containers")
2768 (description "Provides default instances for types from the containers
2769package.")
2770 (license license:bsd-3)))
2771
2772(define-public ghc-data-default-instances-dlist
2773 (package
2774 (name "ghc-data-default-instances-dlist")
2775 (version "0.0.1")
2776 (source
2777 (origin
2778 (method url-fetch)
2779 (uri (string-append
2780 "https://hackage.haskell.org/package/"
2781 "data-default-instances-dlist/"
2782 "data-default-instances-dlist-" version ".tar.gz"))
2783 (sha256
2784 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2785 (build-system haskell-build-system)
2786 (inputs
2787 `(("ghc-data-default-class" ,ghc-data-default-class)
2788 ("ghc-dlist" ,ghc-dlist)))
2789 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2790 (synopsis "Default instances for types in dlist")
2791 (description "Provides default instances for types from the dlist
2792package.")
2793 (license license:bsd-3)))
2794
2795(define-public ghc-data-default-instances-old-locale
2796 (package
2797 (name "ghc-data-default-instances-old-locale")
2798 (version "0.0.1")
2799 (source
2800 (origin
2801 (method url-fetch)
2802 (uri (string-append
2803 "https://hackage.haskell.org/package/"
2804 "data-default-instances-old-locale/"
2805 "data-default-instances-old-locale-" version ".tar.gz"))
2806 (sha256
2807 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2808 (build-system haskell-build-system)
2809 (inputs
2810 `(("ghc-data-default-class" ,ghc-data-default-class)
2811 ("ghc-old-locale" ,ghc-old-locale)))
2812 (home-page
2813 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2814 (synopsis "Default instances for types in old-locale")
2815 (description "Provides Default instances for types from the old-locale
2816 package.")
2817 (license license:bsd-3)))
2818
82c36002
JS
2819(define-public ghc-data-fix
2820 (package
2821 (name "ghc-data-fix")
2822 (version "0.2.0")
2823 (source
2824 (origin
2825 (method url-fetch)
2826 (uri (string-append
2827 "mirror://hackage/package/data-fix/"
2828 "data-fix-" version ".tar.gz"))
2829 (sha256
2830 (base32 "14hk6hq5hdb3l5bhmzhw086jpzlvp9qbw9dzw30wlz5jbh2ihmvy"))))
2831 (build-system haskell-build-system)
2832 (home-page "https://github.com/spell-music/data-fix")
2833 (synopsis "Fixpoint data types")
2834 (description
2835 "Fixpoint types and recursion schemes. If you define your AST as
2836fixpoint type, you get fold and unfold operations for free.
2837
2838Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel")
2839 (license license:bsd-3)))
2840
dddbc90c
RV
2841(define-public ghc-data-hash
2842 (package
2843 (name "ghc-data-hash")
2844 (version "0.2.0.1")
2845 (source
2846 (origin
2847 (method url-fetch)
2848 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2849 "/data-hash-" version ".tar.gz"))
2850 (sha256
2851 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2852 (build-system haskell-build-system)
2853 (inputs
2854 `(("ghc-quickcheck" ,ghc-quickcheck)
2855 ("ghc-test-framework" ,ghc-test-framework)
2856 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2857 (home-page "https://hackage.haskell.org/package/data-hash")
2858 (synopsis "Combinators for building fast hashing functions")
2859 (description
2860 "This package provides combinators for building fast hashing functions.
2861It includes hashing functions for all basic Haskell98 types.")
2862 (license license:bsd-3)))
2863
2864(define-public ghc-data-ordlist
2865 (package
2866 (name "ghc-data-ordlist")
2867 (version "0.4.7.0")
2868 (source
2869 (origin
2870 (method url-fetch)
2871 (uri (string-append
2872 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2873 version ".tar.gz"))
2874 (sha256
2875 (base32
2876 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2877 (build-system haskell-build-system)
2878 (home-page "https://hackage.haskell.org/package/data-ordlist")
2879 (synopsis "Set and bag operations on ordered lists")
2880 (description
2881 "This module provides set and multiset operations on ordered lists.")
2882 (license license:bsd-3)))
2883
d05f32d6
JS
2884(define-public ghc-dbus
2885 (package
2886 (name "ghc-dbus")
2887 (version "1.2.7")
2888 (source
2889 (origin
2890 (method url-fetch)
2891 (uri
2892 (string-append
2893 "mirror://hackage/package/dbus/dbus-"
2894 version ".tar.gz"))
2895 (sha256
2896 (base32
2897 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2898 (build-system haskell-build-system)
2899 (inputs
2900 `(("ghc-cereal" ,ghc-cereal)
2901 ("ghc-conduit" ,ghc-conduit)
2902 ("ghc-exceptions" ,ghc-exceptions)
2903 ("ghc-lens" ,ghc-lens)
2904 ("ghc-network" ,ghc-network)
2905 ("ghc-random" ,ghc-random)
2906 ("ghc-split" ,ghc-split)
2907 ("ghc-th-lift" ,ghc-th-lift)
2908 ("ghc-vector" ,ghc-vector)
2909 ("ghc-xml-conduit" ,ghc-xml-conduit)
2910 ("ghc-xml-types" ,ghc-xml-types)))
2911 (native-inputs
2912 `(("ghc-extra" ,ghc-extra)
2913 ("ghc-quickcheck" ,ghc-quickcheck)
2914 ("ghc-resourcet" ,ghc-resourcet)
2915 ("ghc-tasty" ,ghc-tasty)
2916 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2917 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2918 ;; FIXME - Some tests try to talk to network.
2919 (arguments `(#:tests? #f))
2920 (home-page "https://github.com/rblaze/haskell-dbus")
2921 (synopsis "Client library for the D-Bus IPC system")
2922 (description
2923 "D-Bus is a simple, message-based protocol for inter-process
2924communication, which allows applications to interact with other parts
2925of the machine and the user's session using remote procedure
2926calls. D-Bus is a essential part of the modern Linux desktop, where
2927it replaces earlier protocols such as CORBA and DCOP. This library
2928is an implementation of the D-Bus protocol in Haskell. It can be used
2929to add D-Bus support to Haskell applications, without the awkward
2930interfaces common to foreign bindings.")
2931 (license license:asl2.0)))
2932
dddbc90c
RV
2933(define-public ghc-deepseq-generics
2934 (package
2935 (name "ghc-deepseq-generics")
2936 (version "0.2.0.0")
2937 (source (origin
2938 (method url-fetch)
2939 (uri (string-append "https://hackage.haskell.org/package/"
2940 "deepseq-generics/deepseq-generics-"
2941 version ".tar.gz"))
2942 (sha256
2943 (base32
2944 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2945 (build-system haskell-build-system)
2946 (arguments
2947 `(#:cabal-revision
490ceae4 2948 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2949 (native-inputs
2950 `(("ghc-hunit" ,ghc-hunit)
2951 ("ghc-test-framework" ,ghc-test-framework)
2952 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2953 (home-page "https://github.com/hvr/deepseq-generics")
2954 (synopsis "Generic RNF implementation")
2955 (description
2956 "This package provides a @code{GHC.Generics}-based
2957@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2958providing an @code{rnf} implementation.")
2959 (license license:bsd-3)))
2960
e924e17e
TS
2961(define-public ghc-dense-linear-algebra
2962 (package
2963 (name "ghc-dense-linear-algebra")
2964 (version "0.1.0.0")
2965 (source
2966 (origin
2967 (method url-fetch)
2968 (uri (string-append "https://hackage.haskell.org/package/"
2969 "dense-linear-algebra/dense-linear-algebra-"
2970 version ".tar.gz"))
2971 (sha256
2972 (base32
2973 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2974 (build-system haskell-build-system)
2975 (inputs
2976 `(("ghc-math-functions" ,ghc-math-functions)
2977 ("ghc-primitive" ,ghc-primitive)
2978 ("ghc-vector" ,ghc-vector)
2979 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2980 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2981 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2982 (native-inputs
2983 `(("ghc-hspec" ,ghc-hspec)
2984 ("ghc-quickcheck" ,ghc-quickcheck)))
50153437 2985 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
e924e17e
TS
2986 (synopsis "Simple and incomplete implementation of linear algebra")
2987 (description "This library is simply a collection of linear-algebra
2988related modules split from the statistics library.")
2989 (license license:bsd-2)))
2990
dddbc90c
RV
2991(define-public ghc-descriptive
2992 (package
2993 (name "ghc-descriptive")
2994 (version "0.9.5")
2995 (source
2996 (origin
2997 (method url-fetch)
2998 (uri (string-append
2999 "https://hackage.haskell.org/package/descriptive/descriptive-"
3000 version
3001 ".tar.gz"))
3002 (sha256
3003 (base32
3004 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
3005 (build-system haskell-build-system)
3006 (inputs
3007 `(("ghc-aeson" ,ghc-aeson)
3008 ("ghc-bifunctors" ,ghc-bifunctors)
3009 ("ghc-scientific" ,ghc-scientific)
3010 ("ghc-vector" ,ghc-vector)))
3011 (native-inputs
3012 `(("ghc-hunit" ,ghc-hunit)
3013 ("ghc-hspec" ,ghc-hspec)))
3014 (home-page
3015 "https://github.com/chrisdone/descriptive")
3016 (synopsis
3017 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
3018 (description
3019 "This package provides datatypes and functions for creating consumers
3020and parsers with useful semantics.")
3021 (license license:bsd-3)))
3022
1859c94a
TS
3023(define-public ghc-diagrams-core
3024 (package
3025 (name "ghc-diagrams-core")
3026 (version "1.4.2")
3027 (source
3028 (origin
3029 (method url-fetch)
3030 (uri (string-append "https://hackage.haskell.org/package/"
3031 "diagrams-core/diagrams-core-" version ".tar.gz"))
3032 (sha256
3033 (base32
3034 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
3035 (build-system haskell-build-system)
3036 (inputs
3037 `(("ghc-unordered-containers" ,ghc-unordered-containers)
3038 ("ghc-semigroups" ,ghc-semigroups)
3039 ("ghc-monoid-extras" ,ghc-monoid-extras)
3040 ("ghc-dual-tree" ,ghc-dual-tree)
3041 ("ghc-lens" ,ghc-lens)
3042 ("ghc-linear" ,ghc-linear)
3043 ("ghc-adjunctions" ,ghc-adjunctions)
3044 ("ghc-distributive" ,ghc-distributive)
3045 ("ghc-profunctors" ,ghc-profunctors)))
3046 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3047 (synopsis "Core libraries for diagrams embedded domain-specific language")
3048 (description "This package provides the core modules underlying
3049diagrams, an embedded domain-specific language for compositional,
3050declarative drawing.")
3051 (license license:bsd-3)))
3052
f9f1a630
TS
3053(define-public ghc-diagrams-lib
3054 (package
3055 (name "ghc-diagrams-lib")
3056 (version "1.4.2.3")
3057 (source
3058 (origin
3059 (method url-fetch)
3060 (uri (string-append "https://hackage.haskell.org/package/"
3061 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
3062 (sha256
3063 (base32
3064 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
3065 (build-system haskell-build-system)
3066 (inputs
3067 `(("ghc-semigroups" ,ghc-semigroups)
3068 ("ghc-monoid-extras" ,ghc-monoid-extras)
3069 ("ghc-dual-tree" ,ghc-dual-tree)
3070 ("ghc-diagrams-core" ,ghc-diagrams-core)
3071 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
3072 ("ghc-active" ,ghc-active)
3073 ("ghc-colour" ,ghc-colour)
3074 ("ghc-data-default-class" ,ghc-data-default-class)
3075 ("ghc-fingertree" ,ghc-fingertree)
3076 ("ghc-intervals" ,ghc-intervals)
3077 ("ghc-lens" ,ghc-lens)
3078 ("ghc-tagged" ,ghc-tagged)
3079 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3080 ("ghc-juicypixels" ,ghc-juicypixels)
3081 ("ghc-hashable" ,ghc-hashable)
3082 ("ghc-linear" ,ghc-linear)
3083 ("ghc-adjunctions" ,ghc-adjunctions)
3084 ("ghc-distributive" ,ghc-distributive)
3085 ("ghc-fsnotify" ,ghc-fsnotify)
3086 ("ghc-unordered-containers" ,ghc-unordered-containers)
3087 ("ghc-profunctors" ,ghc-profunctors)
3088 ("ghc-exceptions" ,ghc-exceptions)
3089 ("ghc-cereal" ,ghc-cereal)))
3090 (native-inputs
3091 `(("ghc-tasty" ,ghc-tasty)
3092 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3093 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
3094 ("ghc-numeric-extras" ,ghc-numeric-extras)))
3095 (arguments
3096 `(#:cabal-revision
3097 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
3098 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3099 (synopsis "Embedded domain-specific language for declarative graphics")
3100 (description "Diagrams is a flexible, extensible embedded
3101domain-specific language (EDSL) for creating graphics of many types.
3102Graphics can be created in arbitrary vector spaces and rendered with
3103multiple backends. This package provides a standard library of
3104primitives and operations for creating diagrams.")
3105 (license license:bsd-3)))
3106
fd33ffa0
TS
3107(define-public ghc-diagrams-solve
3108 (package
3109 (name "ghc-diagrams-solve")
3110 (version "0.1.1")
3111 (source
3112 (origin
3113 (method url-fetch)
3114 (uri (string-append "https://hackage.haskell.org/package/"
3115 "diagrams-solve/diagrams-solve-"
3116 version ".tar.gz"))
3117 (sha256
3118 (base32
3119 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
3120 (build-system haskell-build-system)
3121 (native-inputs
3122 `(("ghc-tasty" ,ghc-tasty)
3123 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3124 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
3125 (arguments
3126 `(#:cabal-revision
3127 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
3128 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3129 (synopsis "Pure Haskell solver routines used by diagrams")
3130 (description "This library provides Pure Haskell solver routines for
3131use by the
3132@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3133diagrams framework}. It currently includes routines for finding real
3134roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
3135and cyclic tridiagonal linear systems.")
3136 (license license:bsd-3)))
3137
74be1cb7
TS
3138(define-public ghc-diagrams-svg
3139 (package
3140 (name "ghc-diagrams-svg")
3141 (version "1.4.2")
3142 (source
3143 (origin
3144 (method url-fetch)
3145 (uri (string-append "https://hackage.haskell.org/package/"
3146 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
3147 (sha256
3148 (base32
3149 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
3150 (build-system haskell-build-system)
3151 (inputs
3152 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
3153 ("ghc-colour" ,ghc-colour)
3154 ("ghc-diagrams-core" ,ghc-diagrams-core)
3155 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
3156 ("ghc-monoid-extras" ,ghc-monoid-extras)
3157 ("ghc-svg-builder" ,ghc-svg-builder)
3158 ("ghc-juicypixels" ,ghc-juicypixels)
3159 ("ghc-split" ,ghc-split)
3160 ("ghc-lens" ,ghc-lens)
3161 ("ghc-hashable" ,ghc-hashable)
3162 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3163 ("ghc-semigroups" ,ghc-semigroups)))
3164 (arguments
3165 `(#:cabal-revision
3166 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
3167 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3168 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
3169 (description "This package provides a modular backend for rendering
3170diagrams created with the diagrams embedded domain-specific
3171language (EDSL) to Scalable Vector Graphics (SVG) files.")
3172 (license license:bsd-3)))
3173
4eb9a167
TS
3174(define-public ghc-dictionary-sharing
3175 (package
3176 (name "ghc-dictionary-sharing")
3177 (version "0.1.0.0")
3178 (source
3179 (origin
3180 (method url-fetch)
3181 (uri (string-append "https://hackage.haskell.org/package/"
3182 "dictionary-sharing/dictionary-sharing-"
3183 version ".tar.gz"))
3184 (sha256
3185 (base32
3186 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3187 (build-system haskell-build-system)
3188 (arguments
3189 `(#:cabal-revision
3190 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3191 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3192 (synopsis "Sharing/memoization of class members")
3193 (description "This library provides tools for ensuring that class
3194members are shared.")
3195 (license license:bsd-3)))
3196
dddbc90c
RV
3197(define-public ghc-diff
3198 (package
3199 (name "ghc-diff")
3200 (version "0.3.4")
3201 (source (origin
3202 (method url-fetch)
3203 (uri (string-append "https://hackage.haskell.org/package/"
3204 "Diff/Diff-" version ".tar.gz"))
a531ff94 3205 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
3206 (sha256
3207 (base32
3208 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3209 (build-system haskell-build-system)
3210 (native-inputs
3211 `(("ghc-quickcheck" ,ghc-quickcheck)
3212 ("ghc-test-framework" ,ghc-test-framework)
3213 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3214 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3215 (synopsis "O(ND) diff algorithm in Haskell")
3216 (description
3217 "This package provides an implementation of the standard diff algorithm,
3218and utilities for pretty printing.")
3219 (license license:bsd-3)))
3220
3221(define-public ghc-disk-free-space
3222 (package
3223 (name "ghc-disk-free-space")
3224 (version "0.1.0.1")
3225 (source
3226 (origin
3227 (method url-fetch)
3228 (uri (string-append "https://hackage.haskell.org/package/"
3229 "disk-free-space/disk-free-space-"
3230 version ".tar.gz"))
3231 (sha256
3232 (base32
3233 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3234 (build-system haskell-build-system)
3235 (home-page "https://github.com/redneb/disk-free-space")
3236 (synopsis "Retrieve information about disk space usage")
3237 (description "A cross-platform library for retrieving information about
3238disk space usage.")
3239 (license license:bsd-3)))
3240
3241(define-public ghc-distributive
3242 (package
3243 (name "ghc-distributive")
e4c92f28 3244 (version "0.6.1")
dddbc90c
RV
3245 (source
3246 (origin
3247 (method url-fetch)
3248 (uri (string-append
3249 "https://hackage.haskell.org/package/distributive/distributive-"
3250 version
3251 ".tar.gz"))
3252 (sha256
3253 (base32
e4c92f28 3254 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 3255 (build-system haskell-build-system)
dddbc90c
RV
3256 (inputs
3257 `(("ghc-tagged" ,ghc-tagged)
3258 ("ghc-base-orphans" ,ghc-base-orphans)
3259 ("ghc-transformers-compat" ,ghc-transformers-compat)
3260 ("ghc-semigroups" ,ghc-semigroups)
3261 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3262 (native-inputs
3263 `(("cabal-doctest" ,cabal-doctest)
3264 ("ghc-doctest" ,ghc-doctest)
3265 ("ghc-hspec" ,ghc-hspec)
3266 ("hspec-discover" ,hspec-discover)))
3267 (home-page "https://github.com/ekmett/distributive/")
3268 (synopsis "Distributive functors for Haskell")
3269 (description "This package provides distributive functors for Haskell.
3270Dual to @code{Traversable}.")
3271 (license license:bsd-3)))
3272
3273(define-public ghc-dlist
3274 (package
3275 (name "ghc-dlist")
197ddf33 3276 (version "0.8.0.7")
dddbc90c
RV
3277 (source
3278 (origin
3279 (method url-fetch)
3280 (uri (string-append
3281 "https://hackage.haskell.org/package/dlist/dlist-"
3282 version
3283 ".tar.gz"))
3284 (sha256
197ddf33 3285 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
3286 (build-system haskell-build-system)
3287 (inputs
3288 `(("ghc-quickcheck" ,ghc-quickcheck)))
3289 (home-page "https://github.com/spl/dlist")
3290 (synopsis "Difference lists")
3291 (description
3292 "Difference lists are a list-like type supporting O(1) append. This is
3293particularly useful for efficient logging and pretty printing (e.g. with the
3294Writer monad), where list append quickly becomes too expensive.")
3295 (license license:bsd-3)))
3296
3297(define-public ghc-doctemplates
3298 (package
3299 (name "ghc-doctemplates")
3300 (version "0.2.2.1")
3301 (source
3302 (origin
3303 (method url-fetch)
3304 (uri (string-append "https://hackage.haskell.org/package/"
3305 "doctemplates/doctemplates-"
3306 version ".tar.gz"))
3307 (sha256
3308 (base32
3309 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3310 (build-system haskell-build-system)
3311 (inputs
3312 `(("ghc-aeson" ,ghc-aeson)
3313 ("ghc-blaze-markup" ,ghc-blaze-markup)
3314 ("ghc-blaze-html" ,ghc-blaze-html)
3315 ("ghc-vector" ,ghc-vector)
3316 ("ghc-unordered-containers" ,ghc-unordered-containers)
3317 ("ghc-scientific" ,ghc-scientific)))
3318 (native-inputs
3319 `(("ghc-hspec" ,ghc-hspec)))
3320 (home-page "https://github.com/jgm/doctemplates#readme")
3321 (synopsis "Pandoc-style document templates")
3322 (description
3323 "This package provides a simple text templating system used by pandoc.")
3324 (license license:bsd-3)))
3325
3326(define-public ghc-doctest
3327 (package
3328 (name "ghc-doctest")
19c14a0f 3329 (version "0.16.2")
dddbc90c
RV
3330 (source
3331 (origin
3332 (method url-fetch)
3333 (uri (string-append
3334 "https://hackage.haskell.org/package/doctest/doctest-"
3335 version
3336 ".tar.gz"))
3337 (sha256
3338 (base32
19c14a0f 3339 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
3340 (build-system haskell-build-system)
3341 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3342 (inputs
3343 `(("ghc-syb" ,ghc-syb)
3344 ("ghc-paths" ,ghc-paths)
3345 ("ghc-base-compat" ,ghc-base-compat)
3346 ("ghc-code-page" ,ghc-code-page)
3347 ("ghc-hunit" ,ghc-hunit)
3348 ("ghc-hspec" ,ghc-hspec)
3349 ("ghc-quickcheck" ,ghc-quickcheck)
3350 ("ghc-stringbuilder" ,ghc-stringbuilder)
3351 ("ghc-silently" ,ghc-silently)
3352 ("ghc-setenv" ,ghc-setenv)))
3353 (home-page
3354 "https://github.com/sol/doctest#readme")
3355 (synopsis "Test interactive Haskell examples")
3356 (description "The doctest program checks examples in source code comments.
3357It is modeled after doctest for Python, see
3358@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3359 (license license:expat)))
3360
2b2c8911
JS
3361(define-public ghc-dotgen
3362 (package
3363 (name "ghc-dotgen")
3364 (version "0.4.2")
3365 (source
3366 (origin
3367 (method url-fetch)
3368 (uri (string-append
3369 "mirror://hackage/package/dotgen/dotgen-"
3370 version
3371 ".tar.gz"))
3372 (sha256
3373 (base32
3374 "148q93qsmqgr5pzdwvpjqfd6bdm1pwzcp2rblfwswx2x8c5f43fg"))))
3375 (build-system haskell-build-system)
3376 (home-page "https://github.com/ku-fpg/dotgen")
3377 (synopsis
3378 "Simple interface for building .dot graph files")
3379 (description
3380 "This package provides a simple interface for building .dot graph
3381files, for input into the dot and graphviz tools. It includes a
3382monadic interface for building graphs.")
3383 (license license:bsd-3)))
3384
dddbc90c
RV
3385(define-public ghc-double-conversion
3386 (package
3387 (name "ghc-double-conversion")
3388 (version "2.0.2.0")
3389 (source
3390 (origin
3391 (method url-fetch)
3392 (uri (string-append "https://hackage.haskell.org/package/"
3393 "double-conversion/double-conversion-"
3394 version ".tar.gz"))
3395 (sha256
3396 (base32
3397 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3398 (build-system haskell-build-system)
3399 (native-inputs
3400 `(("ghc-hunit" ,ghc-hunit)
3401 ("ghc-test-framework" ,ghc-test-framework)
3402 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3403 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3404 (home-page "https://github.com/bos/double-conversion")
3405 (synopsis "Fast conversion between double precision floating point and text")
3406 (description
3407 "This package provides a library that performs fast, accurate conversion
3408between double precision floating point and text.")
3409 (license license:bsd-3)))
3410
577a78b7
TS
3411(define-public ghc-dual-tree
3412 (package
3413 (name "ghc-dual-tree")
3414 (version "0.2.2.1")
3415 (source
3416 (origin
3417 (method url-fetch)
3418 (uri (string-append "https://hackage.haskell.org/package/"
3419 "dual-tree/dual-tree-" version ".tar.gz"))
3420 (sha256
3421 (base32
3422 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3423 (build-system haskell-build-system)
3424 (inputs
3425 `(("ghc-semigroups" ,ghc-semigroups)
3426 ("ghc-newtype-generics" ,ghc-newtype-generics)
3427 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3428 (native-inputs
3429 `(("ghc-quickcheck" ,ghc-quickcheck)
3430 ("ghc-testing-feat" ,ghc-testing-feat)))
3431 (home-page "https://hackage.haskell.org/package/dual-tree")
3432 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3433 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3434cached) and downwards-traveling (i.e. accumulating) monoidal
3435annotations. This is used as the core data structure underlying the
3436@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3437diagrams framework}, but potentially has other applications as well.")
3438 (license license:bsd-3)))
3439
dddbc90c
RV
3440(define-public ghc-easy-file
3441 (package
3442 (name "ghc-easy-file")
3443 (version "0.2.2")
3444 (source
3445 (origin
3446 (method url-fetch)
3447 (uri (string-append
3448 "https://hackage.haskell.org/package/easy-file/easy-file-"
3449 version
3450 ".tar.gz"))
3451 (sha256
3452 (base32
3453 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3454 (build-system haskell-build-system)
3455 (home-page
3456 "https://github.com/kazu-yamamoto/easy-file")
3457 (synopsis "File handling library for Haskell")
3458 (description "This library provides file handling utilities for Haskell.")
3459 (license license:bsd-3)))
3460
3461(define-public ghc-easyplot
3462 (package
3463 (name "ghc-easyplot")
3464 (version "1.0")
3465 (source
3466 (origin
3467 (method url-fetch)
3468 (uri (string-append
3469 "https://hackage.haskell.org/package/easyplot/easyplot-"
3470 version ".tar.gz"))
3471 (sha256
3472 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3473 (build-system haskell-build-system)
3474 (propagated-inputs `(("gnuplot" ,gnuplot)))
3475 (arguments
3476 `(#:phases (modify-phases %standard-phases
3477 (add-after 'unpack 'fix-setup-suffix
3478 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3479 (home-page "https://hub.darcs.net/scravy/easyplot")
3480 (synopsis "Haskell plotting library based on gnuplot")
3481 (description "This package provides a plotting library for
3482Haskell, using gnuplot for rendering.")
3483 (license license:expat)))
3484
3485(define-public ghc-echo
3486 (package
3487 (name "ghc-echo")
3488 (version "0.1.3")
3489 (source
3490 (origin
3491 (method url-fetch)
3492 (uri (string-append
3493 "https://hackage.haskell.org/package/echo/echo-"
3494 version ".tar.gz"))
3495 (sha256
3496 (base32
3497 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3498 (build-system haskell-build-system)
3499 (arguments
3500 `(#:cabal-revision
3501 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3502 (home-page "https://github.com/RyanGlScott/echo")
3503 (synopsis "Echo terminal input portably")
3504 (description "The @code{base} library exposes the @code{hGetEcho} and
3505@code{hSetEcho} functions for querying and setting echo status, but
3506unfortunately, neither function works with MinTTY consoles on Windows.
3507This library provides an alternative interface which works with both
3508MinTTY and other consoles.")
3509 (license license:bsd-3)))
3510
3511(define-public ghc-edisonapi
3512 (package
3513 (name "ghc-edisonapi")
3514 (version "1.3.1")
3515 (source
3516 (origin
3517 (method url-fetch)
3518 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3519 "/EdisonAPI-" version ".tar.gz"))
3520 (sha256
3521 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3522 (build-system haskell-build-system)
3523 (home-page "http://rwd.rdockins.name/edison/home/")
3524 (synopsis "Library of efficient, purely-functional data structures (API)")
3525 (description
3526 "Edison is a library of purely functional data structures written by
3527Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3528value EDiSon (Efficient Data Structures). Edison provides several families of
3529abstractions, each with multiple implementations. The main abstractions
3530provided by Edison are: Sequences such as stacks, queues, and dequeues;
3531Collections such as sets, bags and heaps; and Associative Collections such as
3532finite maps and priority queues where the priority and element are distinct.")
3533 (license license:expat)))
3534
3535(define-public ghc-edisoncore
3536 (package
3537 (name "ghc-edisoncore")
3538 (version "1.3.2.1")
3539 (source
3540 (origin
3541 (method url-fetch)
3542 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3543 "/EdisonCore-" version ".tar.gz"))
3544 (sha256
3545 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3546 (build-system haskell-build-system)
3547 (inputs
3548 `(("ghc-quickcheck" ,ghc-quickcheck)
3549 ("ghc-edisonapi" ,ghc-edisonapi)))
3550 (home-page "http://rwd.rdockins.name/edison/home/")
3551 (synopsis "Library of efficient, purely-functional data structures")
3552 (description
3553 "This package provides the core Edison data structure implementations,
3554including multiple sequence, set, bag, and finite map concrete implementations
3555with various performance characteristics.")
3556 (license license:expat)))
3557
3558(define-public ghc-edit-distance
3559 (package
3560 (name "ghc-edit-distance")
3561 (version "0.2.2.1")
3562 (source
3563 (origin
3564 (method url-fetch)
3565 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3566 "/edit-distance-" version ".tar.gz"))
3567 (sha256
3568 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3569 (build-system haskell-build-system)
3570 (arguments
3571 `(#:phases
3572 (modify-phases %standard-phases
3573 (add-before 'configure 'update-constraints
3574 (lambda _
3575 (substitute* "edit-distance.cabal"
3576 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3577 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3578 (inputs
3579 `(("ghc-random" ,ghc-random)
3580 ("ghc-test-framework" ,ghc-test-framework)
3581 ("ghc-quickcheck" ,ghc-quickcheck)
3582 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3583 (home-page "https://github.com/phadej/edit-distance")
3584 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3585 (description
3586 "This package provides optimized functions to determine the edit
3587distances for fuzzy matching, including Levenshtein and restricted
3588Damerau-Levenshtein algorithms.")
3589 (license license:bsd-3)))
3590
3ebae41f
TS
3591(define-public ghc-edit-distance-vector
3592 (package
3593 (name "ghc-edit-distance-vector")
3594 (version "1.0.0.4")
3595 (source
3596 (origin
3597 (method url-fetch)
3598 (uri (string-append "https://hackage.haskell.org/package/"
3599 "edit-distance-vector/edit-distance-vector-"
3600 version ".tar.gz"))
3601 (sha256
3602 (base32
3603 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3604 (build-system haskell-build-system)
3605 (inputs
3606 `(("ghc-vector" ,ghc-vector)))
3607 (native-inputs
3608 `(("ghc-quickcheck" ,ghc-quickcheck)
3609 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3610 (home-page "https://github.com/thsutton/edit-distance-vector")
3611 (synopsis "Calculate edit distances and edit scripts between vectors")
3612 (description "This package provides implementation of the
3613Wagner-Fischer dynamic programming algorithm to find the optimal edit
3614script and cost between two sequences. The implementation in this
3615package is specialised to sequences represented with @code{Data.Vector}
3616but is otherwise agnostic to:
3617@itemize
3618@item The type of values in the vectors;
3619@item The type representing edit operations; and
3620@item The type representing the cost of operations.
3621@end itemize")
3622 (license license:bsd-3)) )
3623
dddbc90c
RV
3624(define-public ghc-either
3625 (package
3626 (name "ghc-either")
a3fd4dc7 3627 (version "5.0.1.1")
dddbc90c
RV
3628 (source
3629 (origin
3630 (method url-fetch)
3631 (uri (string-append "https://hackage.haskell.org/package/"
3632 "either-" version "/"
3633 "either-" version ".tar.gz"))
3634 (sha256
3635 (base32
a3fd4dc7 3636 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3637 (build-system haskell-build-system)
3638 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3639 ("ghc-exceptions" ,ghc-exceptions)
3640 ("ghc-free" ,ghc-free)
3641 ("ghc-monad-control" ,ghc-monad-control)
3642 ("ghc-manodrandom" ,ghc-monadrandom)
3643 ("ghc-mmorph" ,ghc-mmorph)
3644 ("ghc-profunctors" ,ghc-profunctors)
3645 ("ghc-semigroups" ,ghc-semigroups)
3646 ("ghc-semigroupoids" ,ghc-semigroupoids)
3647 ("ghc-transformers-base" ,ghc-transformers-base)))
3648 (native-inputs
3649 `(("ghc-quickcheck" ,ghc-quickcheck)
3650 ("ghc-test-framework" ,ghc-test-framework)
3651 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3652 (home-page "https://github.com/ekmett/either")
3653 (synopsis "Provides an either monad transformer for Haskell")
3654 (description "This Haskell package provides an either monad transformer.")
3655 (license license:bsd-3)))
3656
3657(define-public ghc-email-validate
3658 (package
3659 (name "ghc-email-validate")
a4fe1c64 3660 (version "2.3.2.12")
dddbc90c
RV
3661 (source
3662 (origin
3663 (method url-fetch)
3664 (uri (string-append
3665 "https://hackage.haskell.org/package/"
3666 "email-validate/email-validate-"
3667 version
3668 ".tar.gz"))
3669 (sha256
3670 (base32
a4fe1c64 3671 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3672 (build-system haskell-build-system)
3673 (inputs
3674 `(("ghc-attoparsec" ,ghc-attoparsec)
3675 ("ghc-hspec" ,ghc-hspec)
3676 ("ghc-quickcheck" ,ghc-quickcheck)
3677 ("ghc-doctest" ,ghc-doctest)))
3678 (home-page
3679 "https://github.com/Porges/email-validate-hs")
3680 (synopsis "Email address validator for Haskell")
3681 (description
3682 "This Haskell package provides a validator that can validate an email
3683address string against RFC 5322.")
3684 (license license:bsd-3)))
3685
3686(define-public ghc-enclosed-exceptions
3687 (package
3688 (name "ghc-enclosed-exceptions")
3689 (version "1.0.3")
3690 (source (origin
3691 (method url-fetch)
3692 (uri (string-append "https://hackage.haskell.org/package/"
3693 "enclosed-exceptions/enclosed-exceptions-"
3694 version ".tar.gz"))
3695 (sha256
3696 (base32
3697 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3698 (build-system haskell-build-system)
3699 ;; FIXME: one of the tests blocks forever:
3700 ;; "thread blocked indefinitely in an MVar operation"
3701 (arguments '(#:tests? #f))
3702 (inputs
3703 `(("ghc-lifted-base" ,ghc-lifted-base)
3704 ("ghc-monad-control" ,ghc-monad-control)
3705 ("ghc-async" ,ghc-async)
3706 ("ghc-transformers-base" ,ghc-transformers-base)))
3707 (native-inputs
3708 `(("ghc-hspec" ,ghc-hspec)
3709 ("ghc-quickcheck" ,ghc-quickcheck)))
3710 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3711 (synopsis "Catch all exceptions from within an enclosed computation")
3712 (description
3713 "This library implements a technique to catch all exceptions raised
3714within an enclosed computation, while remaining responsive to (external)
3715asynchronous exceptions.")
3716 (license license:expat)))
3717
3718(define-public ghc-equivalence
3719 (package
3720 (name "ghc-equivalence")
801cf5b1 3721 (version "0.3.5")
dddbc90c
RV
3722 (source
3723 (origin
3724 (method url-fetch)
3725 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3726 "/equivalence-" version ".tar.gz"))
3727 (sha256
801cf5b1 3728 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
dddbc90c
RV
3729 (build-system haskell-build-system)
3730 (inputs
3731 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3732 ("ghc-transformers-compat" ,ghc-transformers-compat)
801cf5b1
TS
3733 ("ghc-fail" ,ghc-fail)
3734 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
3735 (home-page "https://github.com/pa-ba/equivalence")
3736 (synopsis "Maintaining an equivalence relation implemented as union-find")
3737 (description
3738 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3739Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
374022(2), 1975) in order to maintain an equivalence relation. This
3741implementation is a port of the @code{union-find} package using the @code{ST}
3742monad transformer (instead of the IO monad).")
3743 (license license:bsd-3)))
3744
3745(define-public ghc-erf
3746 (package
3747 (name "ghc-erf")
3748 (version "2.0.0.0")
3749 (source
3750 (origin
3751 (method url-fetch)
3752 (uri (string-append "https://hackage.haskell.org/package/"
3753 "erf-" version "/"
3754 "erf-" version ".tar.gz"))
3755 (sha256
3756 (base32
3757 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3758 (build-system haskell-build-system)
3759 (home-page "https://hackage.haskell.org/package/erf")
3760 (synopsis "The error function, erf, and related functions for Haskell")
3761 (description "This Haskell library provides a type class for the
3762error function, erf, and related functions. Instances for Float and
3763Double.")
3764 (license license:bsd-3)))
3765
3766(define-public ghc-errorcall-eq-instance
3767 (package
3768 (name "ghc-errorcall-eq-instance")
3769 (version "0.3.0")
3770 (source
3771 (origin
3772 (method url-fetch)
3773 (uri (string-append "https://hackage.haskell.org/package/"
3774 "errorcall-eq-instance/errorcall-eq-instance-"
3775 version ".tar.gz"))
3776 (sha256
3777 (base32
3778 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3779 (build-system haskell-build-system)
3780 (inputs
3781 `(("ghc-base-orphans" ,ghc-base-orphans)))
3782 (native-inputs
3783 `(("ghc-quickcheck" ,ghc-quickcheck)
3784 ("ghc-hspec" ,ghc-hspec)
3785 ("hspec-discover" ,hspec-discover)))
3ef91e15 3786 (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
dddbc90c
RV
3787 (synopsis "Orphan Eq instance for ErrorCall")
3788 (description
3789 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3790This package provides an orphan instance.")
3791 (license license:expat)))
3792
3793(define-public ghc-errors
3794 (package
3795 (name "ghc-errors")
3796 (version "2.3.0")
3797 (source
3798 (origin
3799 (method url-fetch)
3800 (uri (string-append "https://hackage.haskell.org/package/"
3801 "errors-" version "/"
3802 "errors-" version ".tar.gz"))
3803 (sha256
3804 (base32
3805 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3806 (build-system haskell-build-system)
3807 (inputs
3808 `(("ghc-exceptions" ,ghc-exceptions)
3809 ("ghc-transformers-compat" ,ghc-transformers-compat)
3810 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3811 ("ghc-safe" ,ghc-safe)))
3812 (home-page "https://github.com/gabriel439/haskell-errors-library")
3813 (synopsis "Error handling library for Haskell")
3814 (description "This library encourages an error-handling style that
3815directly uses the type system, rather than out-of-band exceptions.")
3816 (license license:bsd-3)))
3817
3818(define-public ghc-esqueleto
2648b604
TS
3819 (package
3820 (name "ghc-esqueleto")
2f6ad77b 3821 (version "3.3.1.1")
2648b604
TS
3822 (source
3823 (origin
3824 (method url-fetch)
3825 (uri (string-append "https://hackage.haskell.org/package/"
3826 "esqueleto/esqueleto-" version ".tar.gz"))
3827 (sha256
3828 (base32
2f6ad77b 3829 "1qi28ma8j5kfygjxnixlazxsyrkdqv8ljz3icwqi5dlscsnj6v3v"))))
2648b604
TS
3830 (build-system haskell-build-system)
3831 (arguments
3832 `(#:haddock? #f ; Haddock reports an internal error.
3833 #:phases
3834 (modify-phases %standard-phases
3835 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3836 ;; SQLite backends. Since we only have Haskell packages for
3837 ;; SQLite, we remove the other two test suites. FIXME: Add the
3838 ;; other backends and run all three test suites.
3839 (add-before 'configure 'remove-non-sqlite-test-suites
3840 (lambda _
3841 (use-modules (ice-9 rdelim))
3842 (with-atomic-file-replacement "esqueleto.cabal"
3843 (lambda (in out)
3844 (let loop ((line (read-line in 'concat)) (deleting? #f))
3845 (cond
3846 ((eof-object? line) #t)
3847 ((string-every char-set:whitespace line)
3848 (unless deleting? (display line out))
3849 (loop (read-line in 'concat) #f))
3850 ((member line '("test-suite mysql\n"
3851 "test-suite postgresql\n"))
3852 (loop (read-line in 'concat) #t))
3853 (else
3854 (unless deleting? (display line out))
3855 (loop (read-line in 'concat) deleting?)))))))))))
3856 (inputs
3857 `(("ghc-blaze-html" ,ghc-blaze-html)
3858 ("ghc-conduit" ,ghc-conduit)
3859 ("ghc-monad-logger" ,ghc-monad-logger)
3860 ("ghc-persistent" ,ghc-persistent)
3861 ("ghc-resourcet" ,ghc-resourcet)
3862 ("ghc-tagged" ,ghc-tagged)
3863 ("ghc-unliftio" ,ghc-unliftio)
3864 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3865 (native-inputs
3866 `(("ghc-hspec" ,ghc-hspec)
3867 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3868 ("ghc-persistent-template" ,ghc-persistent-template)))
3869 (home-page "https://github.com/bitemyapp/esqueleto")
3870 (synopsis "Type-safe embedded domain specific language for SQL queries")
3871 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3872language (EDSL) for SQL queries that works with SQL backends as provided by
3873@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3874to learn new concepts, just new syntax, and it's fairly easy to predict the
3875generated SQL and optimize it for your backend.")
2648b604 3876 (license license:bsd-3)))
dddbc90c
RV
3877
3878(define-public ghc-exactprint
3879 (package
3880 (name "ghc-exactprint")
50614014 3881 (version "0.6.1")
dddbc90c
RV
3882 (source
3883 (origin
3884 (method url-fetch)
3885 (uri (string-append
3886 "https://hackage.haskell.org/package/"
3887 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3888 (sha256
3889 (base32
50614014 3890 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3891 (build-system haskell-build-system)
3892 (inputs
3893 `(("ghc-paths" ,ghc-paths)
3894 ("ghc-syb" ,ghc-syb)
3895 ("ghc-free" ,ghc-free)))
3896 (native-inputs
3897 `(("ghc-hunit" ,ghc-hunit)
3898 ("ghc-diff" ,ghc-diff)
3899 ("ghc-silently" ,ghc-silently)
3900 ("ghc-filemanip" ,ghc-filemanip)))
3901 (home-page
3ef91e15 3902 "https://hackage.haskell.org/package/ghc-exactprint")
dddbc90c
RV
3903 (synopsis "ExactPrint for GHC")
3904 (description
3905 "Using the API Annotations available from GHC 7.10.2, this library
3906provides a means to round-trip any code that can be compiled by GHC, currently
3907excluding @file{.lhs} files.")
3908 (license license:bsd-3)))
3909
3910(define-public ghc-exceptions
3911 (package
3912 (name "ghc-exceptions")
46d3e65b 3913 (version "0.10.3")
dddbc90c
RV
3914 (source
3915 (origin
3916 (method url-fetch)
3917 (uri (string-append
3918 "https://hackage.haskell.org/package/exceptions/exceptions-"
3919 version
3920 ".tar.gz"))
3921 (sha256
3922 (base32
46d3e65b 3923 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3924 (build-system haskell-build-system)
3925 (native-inputs
3926 `(("ghc-quickcheck" ,ghc-quickcheck)
3927 ("ghc-test-framework" ,ghc-test-framework)
3928 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3929 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3930 (inputs
3931 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3932 (home-page "https://github.com/ekmett/exceptions/")
3933 (synopsis "Extensible optionally-pure exceptions")
3934 (description "This library provides extensible optionally-pure exceptions
3935for Haskell.")
3936 (license license:bsd-3)))
3937
3938(define-public ghc-executable-path
3939 (package
3940 (name "ghc-executable-path")
3941 (version "0.0.3.1")
3942 (source (origin
3943 (method url-fetch)
3944 (uri (string-append "https://hackage.haskell.org/package/"
3945 "executable-path/executable-path-"
3946 version ".tar.gz"))
3947 (sha256
3948 (base32
3949 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3950 (build-system haskell-build-system)
3951 (home-page "https://hackage.haskell.org/package/executable-path")
3952 (synopsis "Find out the full path of the executable")
3953 (description
3954 "The documentation of @code{System.Environment.getProgName} says that
3955\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3956instead, for maximum portability, we just return the leafname of the program
3957as invoked.\" This library tries to provide the missing path.")
3958 (license license:public-domain)))
3959
3960(define-public ghc-extensible-exceptions
3961 (package
3962 (name "ghc-extensible-exceptions")
3963 (version "0.1.1.4")
3964 (source
3965 (origin
3966 (method url-fetch)
3967 (uri (string-append "https://hackage.haskell.org/package/"
3968 "extensible-exceptions/extensible-exceptions-"
3969 version ".tar.gz"))
3970 (sha256
3971 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3972 (build-system haskell-build-system)
3973 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3974 (synopsis "Extensible exceptions for Haskell")
3975 (description
3976 "This package provides extensible exceptions for both new and old
3977versions of GHC (i.e., < 6.10).")
3978 (license license:bsd-3)))
3979
3980(define-public ghc-extra
3981 (package
3982 (name "ghc-extra")
0cec5c4e 3983 (version "1.6.21")
dddbc90c
RV
3984 (source
3985 (origin
3986 (method url-fetch)
3987 (uri (string-append
3988 "https://hackage.haskell.org/package/extra/extra-"
3989 version
3990 ".tar.gz"))
3991 (sha256
3992 (base32
0cec5c4e 3993 "1gjx98w4w61g043k6rzc8i34cbxpcigi8lb6i7pp1vwp8w8jm5vl"))))
dddbc90c
RV
3994 (build-system haskell-build-system)
3995 (inputs
3996 `(("ghc-clock" ,ghc-clock)
10650c44 3997 ("ghc-semigroups" ,ghc-semigroups)
b431f6c9
ASM
3998 ("ghc-quickcheck" ,ghc-quickcheck)
3999 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
dddbc90c
RV
4000 (home-page "https://github.com/ndmitchell/extra")
4001 (synopsis "Extra Haskell functions")
4002 (description "This library provides extra functions for the standard
4003Haskell libraries. Most functions are simple additions, filling out missing
4004functionality. A few functions are available in later versions of GHC, but
4005this package makes them available back to GHC 7.2.")
4006 (license license:bsd-3)))
4007
4008(define-public ghc-fail
4009 (package
4010 (name "ghc-fail")
4011 (version "4.9.0.0")
4012 (source
4013 (origin
4014 (method url-fetch)
4015 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
4016 version ".tar.gz"))
4017 (sha256
4018 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
4019 (build-system haskell-build-system)
4020 (arguments `(#:haddock? #f)) ; Package contains no documentation.
4021 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
4022 (synopsis "Forward-compatible MonadFail class")
4023 (description
4024 "This package contains the @code{Control.Monad.Fail} module providing the
4025@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
4026class that became available in
4027@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
4028older @code{base} package versions. This package turns into an empty package
4029when used with GHC versions which already provide the
4030@code{Control.Monad.Fail} module.")
4031 (license license:bsd-3)))
4032
4033(define-public ghc-fast-logger
4034 (package
4035 (name "ghc-fast-logger")
d443a52a 4036 (version "2.4.17")
dddbc90c
RV
4037 (source
4038 (origin
4039 (method url-fetch)
4040 (uri (string-append
4041 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
4042 version
4043 ".tar.gz"))
4044 (sha256
4045 (base32
d443a52a 4046 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
4047 (build-system haskell-build-system)
4048 (inputs
4049 `(("ghc-auto-update" ,ghc-auto-update)
4050 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
4051 ("ghc-unix-time" ,ghc-unix-time)
4052 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
4053 (native-inputs
4054 `(("hspec-discover" ,hspec-discover)
4055 ("ghc-hspec" ,ghc-hspec)))
4056 (home-page "https://hackage.haskell.org/package/fast-logger")
4057 (synopsis "Fast logging system")
4058 (description "This library provides a fast logging system for Haskell.")
4059 (license license:bsd-3)))
4060
4061(define-public ghc-feed
4062 (package
4063 (name "ghc-feed")
a41c16dc 4064 (version "1.2.0.1")
dddbc90c
RV
4065 (source
4066 (origin
4067 (method url-fetch)
4068 (uri (string-append "https://hackage.haskell.org/package/"
4069 "feed/feed-" version ".tar.gz"))
4070 (sha256
4071 (base32
a41c16dc 4072 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 4073 (build-system haskell-build-system)
dddbc90c
RV
4074 (inputs
4075 `(("ghc-base-compat" ,ghc-base-compat)
4076 ("ghc-old-locale" ,ghc-old-locale)
4077 ("ghc-old-time" ,ghc-old-time)
4078 ("ghc-safe" ,ghc-safe)
4079 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
4080 ("ghc-utf8-string" ,ghc-utf8-string)
4081 ("ghc-xml-conduit" ,ghc-xml-conduit)
4082 ("ghc-xml-types" ,ghc-xml-types)))
4083 (native-inputs
4084 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 4085 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
4086 ("ghc-test-framework" ,ghc-test-framework)
4087 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4088 (home-page "https://github.com/bergmark/feed")
4089 (synopsis "Haskell package for handling various syndication formats")
4090 (description "This Haskell package includes tools for generating and
4091consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
4092 (license license:bsd-3)))
4093
4094(define-public ghc-fgl
4095 (package
4096 (name "ghc-fgl")
17482b26 4097 (version "5.7.0.1")
534d6caa 4098 (outputs '("out" "static" "doc"))
dddbc90c
RV
4099 (source
4100 (origin
4101 (method url-fetch)
4102 (uri (string-append
4103 "https://hackage.haskell.org/package/fgl/fgl-"
4104 version
4105 ".tar.gz"))
4106 (sha256
4107 (base32
17482b26 4108 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
4109 (build-system haskell-build-system)
4110 (arguments
4111 `(#:phases
4112 (modify-phases %standard-phases
4113 (add-before 'configure 'update-constraints
4114 (lambda _
4115 (substitute* "fgl.cabal"
17482b26
TS
4116 (("QuickCheck >= 2\\.8 && < 2\\.13")
4117 "QuickCheck >= 2.8 && < 2.14")
4118 (("hspec >= 2\\.1 && < 2\\.7")
4119 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4120 (inputs
4121 `(("ghc-hspec" ,ghc-hspec)
4122 ("ghc-quickcheck" ,ghc-quickcheck)))
4123 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
4124 (synopsis
4125 "Martin Erwig's Functional Graph Library")
4126 (description "The functional graph library, FGL, is a collection of type
4127and function definitions to address graph problems. The basis of the library
4128is an inductive definition of graphs in the style of algebraic data types that
4129encourages inductive, recursive definitions of graph algorithms.")
4130 (license license:bsd-3)))
4131
4132(define-public ghc-fgl-arbitrary
4133 (package
4134 (name "ghc-fgl-arbitrary")
4135 (version "0.2.0.3")
4136 (source
4137 (origin
4138 (method url-fetch)
4139 (uri (string-append
4140 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
4141 version ".tar.gz"))
4142 (sha256
4143 (base32
4144 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
4145 (build-system haskell-build-system)
4146 (arguments
4147 `(#:phases
4148 (modify-phases %standard-phases
4149 (add-before 'configure 'update-constraints
4150 (lambda _
4151 (substitute* "fgl-arbitrary.cabal"
4152 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 4153 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 4154 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 4155 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4156 (inputs
4157 `(("ghc-fgl" ,ghc-fgl)
4158 ("ghc-quickcheck" ,ghc-quickcheck)
4159 ("ghc-hspec" ,ghc-hspec)))
4160 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
4161 (synopsis "QuickCheck support for fgl")
4162 (description
4163 "Provides Arbitrary instances for fgl graphs to avoid adding a
4164QuickCheck dependency for fgl whilst still making the instances
4165available to others. Also available are non-fgl-specific functions
4166for generating graph-like data structures.")
4167 (license license:bsd-3)))
4168
4169(define-public ghc-file-embed
4170 (package
4171 (name "ghc-file-embed")
b5920d50 4172 (version "0.0.11")
dddbc90c
RV
4173 (source
4174 (origin
4175 (method url-fetch)
4176 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
4177 "file-embed-" version ".tar.gz"))
4178 (sha256
4179 (base32
b5920d50 4180 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
4181 (build-system haskell-build-system)
4182 (home-page "https://github.com/snoyberg/file-embed")
4183 (synopsis "Use Template Haskell to embed file contents directly")
4184 (description
4185 "This package allows you to use Template Haskell to read a file or all
4186the files in a directory, and turn them into @code{(path, bytestring)} pairs
4187embedded in your Haskell code.")
4188 (license license:bsd-3)))
4189
4190(define-public ghc-filemanip
4191 (package
4192 (name "ghc-filemanip")
4193 (version "0.3.6.3")
4194 (source (origin
4195 (method url-fetch)
4196 (uri (string-append "https://hackage.haskell.org/package/"
4197 "filemanip/filemanip-" version ".tar.gz"))
4198 (sha256
4199 (base32
4200 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
4201 (build-system haskell-build-system)
4202 (inputs
4203 `(("ghc-unix-compat" ,ghc-unix-compat)))
4204 (home-page "https://github.com/bos/filemanip")
4205 (synopsis "File and directory manipulation for Haskell")
4206 (description
4207 "This package provides a Haskell library for working with files and
4208directories. It includes code for pattern matching, finding files, modifying
4209file contents, and more.")
4210 (license license:bsd-3)))
4211
bb62932a
KM
4212(define-public ghc-filepath-bytestring
4213 (package
4214 (name "ghc-filepath-bytestring")
4215 (version "1.4.2.1.1")
4216 (source
4217 (origin
4218 (method url-fetch)
4219 (uri (string-append
4220 "https://hackage.haskell.org/package/filepath-bytestring/"
4221 "filepath-bytestring-" version ".tar.gz"))
4222 (sha256
4223 (base32
4224 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4225 (build-system haskell-build-system)
4226 (native-inputs
4227 `(("ghc-quickcheck" ,ghc-quickcheck)))
3ef91e15 4228 (home-page "https://hackage.haskell.org/package/filepath-bytestring")
bb62932a
KM
4229 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4230 (description "This package provides a drop-in replacement for the standard
4231@code{filepath} library, operating on @code{RawFilePath} values rather than
4232@code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4233 (license license:bsd-3)))
4234
dddbc90c
RV
4235(define-public ghc-findbin
4236 (package
4237 (name "ghc-findbin")
4238 (version "0.0.5")
4239 (source
4240 (origin
4241 (method url-fetch)
4242 (uri (string-append
4243 "https://hackage.haskell.org/package/FindBin/FindBin-"
4244 version ".tar.gz"))
4245 (sha256
4246 (base32
4247 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4248 (build-system haskell-build-system)
4249 (home-page "https://github.com/audreyt/findbin")
4250 (synopsis "Get the absolute path of the running program")
4251 (description
4252 "This module locates the full directory of the running program, to allow
4253the use of paths relative to it. FindBin supports invocation of Haskell
4254programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4255an executable.")
4256 (license license:bsd-3)))
4257
4258(define-public ghc-fingertree
4259 (package
4260 (name "ghc-fingertree")
aac14fdc 4261 (version "0.1.4.2")
dddbc90c
RV
4262 (source
4263 (origin
4264 (method url-fetch)
4265 (uri (string-append
4266 "https://hackage.haskell.org/package/fingertree/fingertree-"
4267 version ".tar.gz"))
4268 (sha256
4269 (base32
aac14fdc 4270 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
4271 (build-system haskell-build-system)
4272 (native-inputs
4273 `(("ghc-hunit" ,ghc-hunit)
4274 ("ghc-quickcheck" ,ghc-quickcheck)
4275 ("ghc-test-framework" ,ghc-test-framework)
4276 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4277 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4278 (home-page "https://hackage.haskell.org/package/fingertree")
4279 (synopsis "Generic finger-tree structure")
4280 (description "This library provides finger trees, a general sequence
4281representation with arbitrary annotations, for use as a base for
4282implementations of various collection types. It includes examples, as
4283described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4284simple general-purpose data structure\".")
4285 (license license:bsd-3)))
4286
4287(define-public ghc-fixed
4288 (package
4289 (name "ghc-fixed")
099dda5b 4290 (version "0.3")
dddbc90c
RV
4291 (source
4292 (origin
4293 (method url-fetch)
4294 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4295 version ".tar.gz"))
4296 (sha256
4297 (base32
099dda5b 4298 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
4299 (build-system haskell-build-system)
4300 (home-page "https://github.com/ekmett/fixed")
4301 (synopsis "Signed 15.16 precision fixed point arithmetic")
4302 (description
4303 "This package provides functions for signed 15.16 precision fixed point
4304arithmetic.")
4305 (license license:bsd-3)))
4306
f169f713
JS
4307(define-public ghc-fmlist
4308 (package
4309 (name "ghc-fmlist")
fe9b83a6 4310 (version "0.9.3")
f169f713
JS
4311 (source
4312 (origin
4313 (method url-fetch)
4314 (uri
4315 (string-append
4316 "https://hackage.haskell.org/package/fmlist/fmlist-"
4317 version ".tar.gz"))
4318 (sha256
4319 (base32
fe9b83a6 4320 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
4321 (build-system haskell-build-system)
4322 (home-page "https://github.com/sjoerdvisscher/fmlist")
4323 (synopsis "FoldMap lists")
4324 (description "FoldMap lists are lists represented by their
4325@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4326append, just like DLists, but other operations might have favorable
4327performance characteristics as well. These wild claims are still
4328completely unverified though.")
4329 (license license:bsd-3)))
4330
dddbc90c
RV
4331(define-public ghc-foldl
4332 (package
4333 (name "ghc-foldl")
26c4104f 4334 (version "1.4.5")
dddbc90c
RV
4335 (source
4336 (origin
4337 (method url-fetch)
4338 (uri (string-append "https://hackage.haskell.org/package/"
4339 "foldl-" version "/"
4340 "foldl-" version ".tar.gz"))
4341 (sha256
4342 (base32
26c4104f 4343 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c 4344 (build-system haskell-build-system)
b3c79a83 4345 (outputs '("out" "static" "doc"))
dddbc90c
RV
4346 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4347 ("ghc-primitive" ,ghc-primitive)
4348 ("ghc-vector" ,ghc-vector)
4349 ("ghc-unordered-containers" ,ghc-unordered-containers)
4350 ("ghc-hashable" ,ghc-hashable)
4351 ("ghc-contravariant" ,ghc-contravariant)
4352 ("ghc-semigroups" ,ghc-semigroups)
4353 ("ghc-profunctors" ,ghc-profunctors)
4354 ("ghc-semigroupoids" ,ghc-semigroupoids)
4355 ("ghc-comonad" ,ghc-comonad)
4356 ("ghc-vector-builder" ,ghc-vector-builder)))
4357 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4358 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4359 (description "This Haskell library provides strict left folds that stream
4360in constant memory, and you can combine folds using @code{Applicative} style
4361to derive new folds. Derived folds still traverse the container just once
4362and are often as efficient as hand-written folds.")
4363 (license license:bsd-3)))
4364
4365(define-public ghc-foundation
4366 (package
4367 (name "ghc-foundation")
0a702df9 4368 (version "0.0.25")
dddbc90c
RV
4369 (source
4370 (origin
4371 (method url-fetch)
4372 (uri (string-append "https://hackage.haskell.org/package/"
4373 "foundation/foundation-" version ".tar.gz"))
4374 (sha256
4375 (base32
0a702df9 4376 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c 4377 (build-system haskell-build-system)
59cd7518
TS
4378 (arguments
4379 `(#:phases
4380 (modify-phases %standard-phases
4381 ;; This test is broken. For details, see
4382 ;; https://github.com/haskell-foundation/foundation/issues/530
4383 (add-after 'unpack 'patch-tests
4384 (lambda _
4385 (substitute* "tests/Test/Foundation/Number.hs"
4386 ((", testDividible proxy") ""))
4387 #t)))))
6a7fb828 4388 (outputs '("out" "static" "doc"))
dddbc90c
RV
4389 (inputs `(("ghc-basement" ,ghc-basement)))
4390 (home-page "https://github.com/haskell-foundation/foundation")
4391 (synopsis "Alternative prelude with batteries and no dependencies")
4392 (description
4393 "This package provides a custom prelude with no dependencies apart from
4394the base package.
4395
4396Foundation has the following goals:
4397
4398@enumerate
4399@item provide a base like sets of modules that provide a consistent set of
4400 features and bugfixes across multiple versions of GHC (unlike base).
4401@item provide a better and more efficient prelude than base's prelude.
4402@item be self-sufficient: no external dependencies apart from base;
4403@item provide better data-types: packed unicode string by default, arrays;
4404@item Numerical classes that better represent mathematical things (no more
4405 all-in-one @code{Num});
4406@item I/O system with less lazy IO.
4407@end enumerate\n")
4408 (license license:bsd-3)))
4409
4410(define-public ghc-free
4411 (package
4412 (name "ghc-free")
4081565d 4413 (version "5.1.2")
dddbc90c
RV
4414 (source
4415 (origin
4416 (method url-fetch)
4417 (uri (string-append
4418 "https://hackage.haskell.org/package/free/free-"
4419 version
4420 ".tar.gz"))
4421 (sha256
4422 (base32
4081565d 4423 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c 4424 (build-system haskell-build-system)
91769cee 4425 (outputs '("out" "static" "doc"))
dddbc90c
RV
4426 (inputs
4427 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4428 ("ghc-profunctors" ,ghc-profunctors)
4429 ("ghc-exceptions" ,ghc-exceptions)
4430 ("ghc-bifunctors" ,ghc-bifunctors)
4431 ("ghc-comonad" ,ghc-comonad)
4432 ("ghc-distributive" ,ghc-distributive)
4433 ("ghc-semigroupoids" ,ghc-semigroupoids)
4434 ("ghc-semigroups" ,ghc-semigroups)
4435 ("ghc-transformers-base" ,ghc-transformers-base)
4436 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4437 (home-page "https://github.com/ekmett/free/")
4438 (synopsis "Unrestricted monads for Haskell")
4439 (description "This library provides free monads, which are useful for many
4440tree-like structures and domain specific languages. If @code{f} is a
4441@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4442whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4443is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4444f} makes no constraining assumptions beyond those given by @code{f} and the
4445definition of @code{Monad}.")
4446 (license license:bsd-3)))
4447
4448(define-public ghc-fsnotify
4449 (package
4450 (name "ghc-fsnotify")
4451 (version "0.3.0.1")
4452 (source (origin
4453 (method url-fetch)
4454 (uri (string-append
4455 "https://hackage.haskell.org/package/fsnotify/"
4456 "fsnotify-" version ".tar.gz"))
4457 (sha256
4458 (base32
4459 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4460 (build-system haskell-build-system)
4461 (inputs
4462 `(("ghc-async" ,ghc-async)
4463 ("ghc-unix-compat" ,ghc-unix-compat)
4464 ("ghc-hinotify" ,ghc-hinotify)
4465 ("ghc-tasty" ,ghc-tasty)
4466 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4467 ("ghc-random" ,ghc-random)
4468 ("ghc-shelly" ,ghc-shelly)
4469 ("ghc-temporary" ,ghc-temporary)))
4470 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4471 (synopsis "Cross platform library for file change notification.")
4472 (description "Cross platform library for file creation, modification, and
4473deletion notification. This library builds upon existing libraries for platform
4474specific Windows, Mac, and Linux file system event notification.")
4475 (license license:bsd-3)))
4476
4477(define-public ghc-generic-deriving
4478 (package
4479 (name "ghc-generic-deriving")
55c1e6be 4480 (version "1.12.4")
dddbc90c
RV
4481 (source
4482 (origin
4483 (method url-fetch)
4484 (uri (string-append
4485 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4486 version
4487 ".tar.gz"))
4488 (sha256
4489 (base32
55c1e6be 4490 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c 4491 (build-system haskell-build-system)
32bb6b41 4492 (outputs '("out" "static" "doc"))
dddbc90c
RV
4493 (inputs
4494 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4495 (native-inputs
4496 `(("ghc-hspec" ,ghc-hspec)
4497 ("hspec-discover" ,hspec-discover)))
4498 (home-page "https://hackage.haskell.org/package/generic-deriving")
4499 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4500 (description "This package provides functionality for generalising the
4501deriving mechanism in Haskell to arbitrary classes.")
4502 (license license:bsd-3)))
4503
89e9082e
JS
4504(define-public ghc-generic-random
4505 (package
4506 (name "ghc-generic-random")
4507 (version "1.2.0.0")
4508 (source
4509 (origin
4510 (method url-fetch)
4511 (uri (string-append
4512 "https://hackage.haskell.org/package/generic-random/"
4513 "generic-random-" version ".tar.gz"))
4514 (sha256
4515 (base32 "130lmblycxnpqbsl7vf6a90zccibnvcb5zaclfajcn3by39007lv"))))
4516 (build-system haskell-build-system)
4517 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
4518 (native-inputs
4519 `(("ghc-inspection-testing" ,ghc-inspection-testing)))
4520 (arguments
4521 `(#:cabal-revision
4522 ("1" "1d0hx41r7yq2a86ydnfh2fv540ah8cz05l071s2z4wxcjw0ymyn4")))
4523 (home-page
4524 "https://github.com/lysxia/generic-random")
4525 (synopsis
4526 "Generic random generators for QuickCheck")
4527 (description
4528 "Derive instances of @code{Arbitrary} for QuickCheck, with various options
4529to customize implementations.
4530
4531Automating the arbitrary boilerplate also ensures that when a type changes to
4532have more or fewer constructors, then the generator either fixes itself to
4533generate that new case (when using the uniform distribution) or causes a
4534compilation error so you remember to fix it (when using an explicit
4535distribution).
4536
4537This package also offers a simple (optional) strategy to ensure termination
4538for recursive types: make @code{Test.QuickCheck.Gen}'s size parameter decrease
4539at every recursive call; when it reaches zero, sample directly from a
4540trivially terminating generator given explicitly (@code{genericArbitraryRec}
4541and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).")
4542 (license license:expat)))
4543
23e4b264
JS
4544(define-public ghc-generic-random-1.3.0.1
4545 (package
4546 (inherit ghc-generic-random)
4547 (version "1.3.0.1")
4548 (source
4549 (origin
4550 (method url-fetch)
4551 (uri (string-append
4552 "https://hackage.haskell.org/package/generic-random/"
4553 "generic-random-" version ".tar.gz"))
4554 (sha256
4555 (base32 "0d9w7xcmsb31b95fr9d5jwbsajcl1yi4347dlbw4bybil2vjwd7k"))))
4556 (arguments '())))
4557
dddbc90c
RV
4558(define-public ghc-generics-sop
4559 (package
4560 (name "ghc-generics-sop")
3ed40e10 4561 (version "0.4.0.1")
dddbc90c
RV
4562 (source
4563 (origin
4564 (method url-fetch)
4565 (uri (string-append "https://hackage.haskell.org/package/"
4566 "generics-sop-" version "/"
4567 "generics-sop-" version ".tar.gz"))
4568 (sha256
4569 (base32
3ed40e10 4570 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 4571 (build-system haskell-build-system)
80e0a085 4572 (outputs '("out" "static" "doc"))
3ed40e10
TS
4573 (inputs
4574 `(("ghc-sop-core" ,ghc-sop-core)
4575 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4576 (home-page "https://github.com/well-typed/generics-sop")
4577 (synopsis "Generic Programming using True Sums of Products for Haskell")
4578 (description "This Haskell package supports the definition of generic
4579functions. Datatypes are viewed in a uniform, structured way: the choice
4580between constructors is represented using an n-ary sum, and the arguments of
4581each constructor are represented using an n-ary product.")
4582 (license license:bsd-3)))
4583
4584(define-public ghc-geniplate-mirror
4585 (package
4586 (name "ghc-geniplate-mirror")
4587 (version "0.7.6")
4588 (source
4589 (origin
4590 (method url-fetch)
4591 (uri (string-append "https://hackage.haskell.org/package"
4592 "/geniplate-mirror"
4593 "/geniplate-mirror-" version ".tar.gz"))
4594 (sha256
4595 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4596 (build-system haskell-build-system)
74a7dd7f
TS
4597 (arguments
4598 `(#:cabal-revision
4599 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4600 (home-page "https://github.com/danr/geniplate")
4601 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4602 (description
4603 "Use Template Haskell to generate Uniplate-like functions. This is a
4604maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4605geniplate} package, written by Lennart Augustsson.")
4606 (license license:bsd-3)))
4607
4608(define-public ghc-genvalidity
4609 (package
4610 (name "ghc-genvalidity")
920f44a1 4611 (version "0.8.0.0")
dddbc90c
RV
4612 (source
4613 (origin
4614 (method url-fetch)
4615 (uri (string-append
4616 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4617 version
4618 ".tar.gz"))
4619 (sha256
4620 (base32
920f44a1 4621 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4622 (build-system haskell-build-system)
4623 (inputs
4624 `(("ghc-quickcheck" ,ghc-quickcheck)
4625 ("ghc-validity" ,ghc-validity)))
4626 (native-inputs
4627 `(("ghc-hspec" ,ghc-hspec)
4628 ("hspec-discover" ,hspec-discover)
4629 ("ghc-hspec-core" ,ghc-hspec-core)))
4630 (home-page
4631 "https://github.com/NorfairKing/validity")
4632 (synopsis
4633 "Testing utilities for the @code{validity} library")
4634 (description
4635 "This package provides testing utilities that are useful in conjunction
4636with the @code{Validity} typeclass.")
4637 (license license:expat)))
4638
4639(define-public ghc-genvalidity-property
4640 (package
4641 (name "ghc-genvalidity-property")
e4ede35b 4642 (version "0.4.0.0")
dddbc90c
RV
4643 (source
4644 (origin
4645 (method url-fetch)
4646 (uri (string-append
4647 "https://hackage.haskell.org/package/"
4648 "genvalidity-property/genvalidity-property-"
4649 version
4650 ".tar.gz"))
4651 (sha256
4652 (base32
e4ede35b 4653 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4654 (build-system haskell-build-system)
4655 (inputs
4656 `(("ghc-quickcheck" ,ghc-quickcheck)
4657 ("ghc-genvalidity" ,ghc-genvalidity)
4658 ("ghc-hspec" ,ghc-hspec)
4659 ("hspec-discover" ,hspec-discover)
4660 ("ghc-validity" ,ghc-validity)))
4661 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4662 (home-page
4663 "https://github.com/NorfairKing/validity")
4664 (synopsis
4665 "Standard properties for functions on @code{Validity} types")
4666 (description
4667 "This package supplements the @code{Validity} typeclass with standard
4668properties for functions operating on them.")
4669 (license license:expat)))
4670
e71fb573
TS
4671(define-public ghc-getopt-generics
4672 (package
4673 (name "ghc-getopt-generics")
4674 (version "0.13.0.4")
4675 (source
4676 (origin
4677 (method url-fetch)
4678 (uri (string-append "https://hackage.haskell.org/package/"
4679 "getopt-generics/getopt-generics-"
4680 version ".tar.gz"))
4681 (sha256
4682 (base32
4683 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4684 (build-system haskell-build-system)
4685 (inputs
4686 `(("ghc-base-compat" ,ghc-base-compat)
4687 ("ghc-base-orphans" ,ghc-base-orphans)
4688 ("ghc-generics-sop" ,ghc-generics-sop)
4689 ("ghc-tagged" ,ghc-tagged)))
4690 (native-inputs
4691 `(("ghc-quickcheck" ,ghc-quickcheck)
4692 ("ghc-hspec" ,ghc-hspec)
4693 ("ghc-safe" ,ghc-safe)
4694 ("ghc-silently" ,ghc-silently)
4695 ("hspec-discover" ,hspec-discover)))
4696 (home-page "https://github.com/soenkehahn/getopt-generics")
4697 (synopsis "Create command line interfaces with ease")
4698 (description "This library provides tools to create command line
4699interfaces with ease.")
4700 (license license:bsd-3)))
4701
dddbc90c
RV
4702(define-public ghc-gitrev
4703 (package
4704 (name "ghc-gitrev")
4705 (version "1.3.1")
4706 (source
4707 (origin
4708 (method url-fetch)
4709 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4710 version ".tar.gz"))
4711 (sha256
4712 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4713 (build-system haskell-build-system)
4714 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4715 (home-page "https://github.com/acfoltzer/gitrev")
4716 (synopsis "Compile git revision info into Haskell projects")
4717 (description
4718 "This package provides some handy Template Haskell splices for including
4719the current git hash and branch in the code of your project. This is useful
4720for including in panic messages, @command{--version} output, or diagnostic
4721info for more informative bug reports.")
4722 (license license:bsd-3)))
4723
4724(define-public ghc-glob
4725 (package
4726 (name "ghc-glob")
b900f486 4727 (version "0.10.0")
dddbc90c
RV
4728 (source
4729 (origin
4730 (method url-fetch)
4731 (uri (string-append "https://hackage.haskell.org/package/"
4732 "Glob-" version "/"
4733 "Glob-" version ".tar.gz"))
4734 (sha256
4735 (base32
b900f486 4736 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4737 (build-system haskell-build-system)
4738 (inputs
4739 `(("ghc-dlist" ,ghc-dlist)
4740 ("ghc-semigroups" ,ghc-semigroups)
4741 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4742 (native-inputs
4743 `(("ghc-hunit" ,ghc-hunit)
4744 ("ghc-quickcheck" ,ghc-quickcheck)
4745 ("ghc-test-framework" ,ghc-test-framework)
4746 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4747 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4748 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4749 (synopsis "Haskell library matching glob patterns against file paths")
4750 (description "This package provides a Haskell library for @dfn{globbing}:
4751matching patterns against file paths.")
4752 (license license:bsd-3)))
4753
4754(define-public ghc-gluraw
4755 (package
4756 (name "ghc-gluraw")
4757 (version "2.0.0.4")
4758 (source
4759 (origin
4760 (method url-fetch)
4761 (uri (string-append
4762 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4763 version
4764 ".tar.gz"))
4765 (sha256
4766 (base32
4767 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4768 (build-system haskell-build-system)
4769 (inputs
4770 `(("ghc-openglraw" ,ghc-openglraw)))
228d2901 4771 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
4772 (synopsis "Raw Haskell bindings GLU")
4773 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4774utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4775basis for a nicer interface.")
4776 (license license:bsd-3)))
4777
4778(define-public ghc-glut
4779 (package
4780 (name "ghc-glut")
8284bd09 4781 (version "2.7.0.15")
dddbc90c
RV
4782 (source
4783 (origin
4784 (method url-fetch)
4785 (uri (string-append
4786 "https://hackage.haskell.org/package/GLUT/GLUT-"
4787 version
4788 ".tar.gz"))
4789 (sha256
4790 (base32
8284bd09 4791 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4792 (build-system haskell-build-system)
4793 (inputs
4794 `(("ghc-statevar" ,ghc-statevar)
4795 ("ghc-opengl" ,ghc-opengl)
4796 ("ghc-openglraw" ,ghc-openglraw)
4797 ("freeglut" ,freeglut)))
228d2901 4798 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
4799 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4800 (description "This library provides Haskell bindings for the OpenGL
4801Utility Toolkit, a window system-independent toolkit for writing OpenGL
4802programs.")
4803 (license license:bsd-3)))
4804
4805(define-public ghc-gnuplot
4806 (package
4807 (name "ghc-gnuplot")
d34860c7 4808 (version "0.5.6")
dddbc90c
RV
4809 (source
4810 (origin
4811 (method url-fetch)
4812 (uri (string-append
4813 "mirror://hackage/package/gnuplot/gnuplot-"
4814 version ".tar.gz"))
4815 (sha256
d34860c7 4816 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4817 (build-system haskell-build-system)
4818 (inputs
4819 `(("ghc-temporary" ,ghc-temporary)
4820 ("ghc-utility-ht" ,ghc-utility-ht)
4821 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4822 ("ghc-data-accessor" ,ghc-data-accessor)
4823 ("ghc-semigroups" ,ghc-semigroups)
4824 ("gnuplot" ,gnuplot)))
4825 (arguments
4826 `(#:phases
4827 (modify-phases %standard-phases
4828 (add-before 'configure 'fix-path-to-gnuplot
4829 (lambda* (#:key inputs #:allow-other-keys)
4830 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4831 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4832 (("(gnuplotName = ).*$" all cmd)
4833 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
228d2901 4834 (home-page "https://wiki.haskell.org/Gnuplot")
dddbc90c
RV
4835 (synopsis "2D and 3D plots using gnuplot")
4836 (description "This package provides a Haskell module for creating 2D and
48373D plots using gnuplot.")
4838 (license license:bsd-3)))
4839
4840(define-public ghc-graphviz
4841 (package
4842 (name "ghc-graphviz")
c264bd42 4843 (version "2999.20.0.3")
dddbc90c
RV
4844 (source (origin
4845 (method url-fetch)
4846 (uri (string-append "https://hackage.haskell.org/package/"
4847 "graphviz/graphviz-" version ".tar.gz"))
4848 (sha256
4849 (base32
c264bd42 4850 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4851 (build-system haskell-build-system)
c264bd42
TS
4852 (arguments
4853 `(#:phases
4854 (modify-phases %standard-phases
4855 (add-before 'configure 'update-constraints
4856 (lambda _
4857 (substitute* "graphviz.cabal"
4858 (("QuickCheck >= 2\\.3 && < 2\\.13")
4859 "QuickCheck >= 2.3 && < 2.14")
4860 (("hspec >= 2\\.1 && < 2\\.7")
4861 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4862 (inputs
4863 `(("ghc-quickcheck" ,ghc-quickcheck)
4864 ("ghc-colour" ,ghc-colour)
4865 ("ghc-dlist" ,ghc-dlist)
4866 ("ghc-fgl" ,ghc-fgl)
4867 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4868 ("ghc-polyparse" ,ghc-polyparse)
4869 ("ghc-temporary" ,ghc-temporary)
4870 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4871 (native-inputs
4872 `(("ghc-hspec" ,ghc-hspec)
4873 ("graphviz" ,graphviz)
4874 ("hspec-discover" ,hspec-discover)))
4875 (home-page "https://hackage.haskell.org/package/graphviz")
4876 (synopsis "Bindings to Graphviz for graph visualisation")
4877 (description
4878 "This library provides bindings for the Dot language used by
4879the @uref{https://graphviz.org/, Graphviz} suite of programs for
4880visualising graphs, as well as functions to call those programs.
4881Main features of the graphviz library include:
4882
4883@enumerate
4884@item Almost complete coverage of all Graphviz attributes and syntax
4885@item Support for specifying clusters
4886@item The ability to use a custom node type
4887@item Functions for running a Graphviz layout tool with all specified output types
4888@item Generate and parse Dot code with two options: strict and liberal
4889@item Functions to convert FGL graphs and other graph-like data structures
4890@item Round-trip support for passing an FGL graph through Graphviz to augment node
4891and edge labels with positional information, etc.
4892@end enumerate\n")
4893 (license license:bsd-3)))
4894
f3e18645
TS
4895(define-public ghc-groups
4896 (package
4897 (name "ghc-groups")
4898 (version "0.4.1.0")
4899 (source
4900 (origin
4901 (method url-fetch)
4902 (uri (string-append "https://hackage.haskell.org/package/"
4903 "groups/groups-" version ".tar.gz"))
4904 (sha256
4905 (base32
4906 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4907 (build-system haskell-build-system)
4908 (home-page "https://hackage.haskell.org/package/groups")
4909 (synopsis "Haskell 98 groups")
4910 (description "This package provides Haskell 98 groups. A group is a
4911monoid with invertibility.")
4912 (license license:bsd-3)))
4913
dddbc90c
RV
4914(define-public ghc-gtk2hs-buildtools
4915 (package
4916 (name "ghc-gtk2hs-buildtools")
b79b43d4 4917 (version "0.13.5.4")
dddbc90c
RV
4918 (source
4919 (origin
4920 (method url-fetch)
4921 (uri (string-append "https://hackage.haskell.org/package/"
4922 "gtk2hs-buildtools/gtk2hs-buildtools-"
4923 version ".tar.gz"))
4924 (sha256
4925 (base32
b79b43d4 4926 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4927 (build-system haskell-build-system)
4928 (inputs
4929 `(("ghc-random" ,ghc-random)
4930 ("ghc-hashtables" ,ghc-hashtables)))
4931 (native-inputs
4932 `(("ghc-alex" ,ghc-alex)
4933 ("ghc-happy" ,ghc-happy)))
4934 (home-page "http://projects.haskell.org/gtk2hs/")
4935 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4936 (description
4937 "This package provides a set of helper programs necessary to build the
4938Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4939that is used to generate FFI declarations, a tool to build a type hierarchy
4940that mirrors the C type hierarchy of GObjects found in glib, and a generator
4941for signal declarations that are used to call back from C to Haskell. These
4942tools are not needed to actually run Gtk2Hs programs.")
4943 (license license:gpl2)))
4944
4945(define-public ghc-hackage-security
4946 (package
4947 (name "ghc-hackage-security")
4948 (version "0.5.3.0")
4949 (source
4950 (origin
4951 (method url-fetch)
4952 (uri (string-append "https://hackage.haskell.org/package/"
4953 "hackage-security/hackage-security-"
4954 version ".tar.gz"))
4955 (sha256
4956 (base32
4957 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4958 (build-system haskell-build-system)
4959 (arguments
034380f3
TS
4960 `(#:cabal-revision
4961 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4962 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4963 (inputs
4964 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4965 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4966 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4967 ("ghc-ed25519" ,ghc-ed25519)
4968 ("ghc-network" ,ghc-network)
4969 ("ghc-network-uri" ,ghc-network-uri)
4970 ("ghc-tar" ,ghc-tar)
4971 ("ghc-zlib" ,ghc-zlib)))
4972 (native-inputs
4973 `(("ghc-network-uri" ,ghc-network-uri)
4974 ("ghc-quickcheck" ,ghc-quickcheck)
4975 ("ghc-tar" ,ghc-tar)
4976 ("ghc-tasty" ,ghc-tasty)
4977 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4978 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4979 ("ghc-temporary" ,ghc-temporary)
4980 ("ghc-zlib" ,ghc-zlib)))
4981 (home-page "https://github.com/haskell/hackage-security")
4982 (synopsis "Hackage security library")
4983 (description "This Hackage security library provides both server and
4984client utilities for securing @uref{http://hackage.haskell.org/, the
4985Hackage package server}. It is based on
4986@uref{http://theupdateframework.com/, The Update Framework}, a set of
4987recommendations developed by security researchers at various universities
4988in the US as well as developers on the @uref{https://www.torproject.org/,
4989Tor project}.")
4990 (license license:bsd-3)))
4991
4992(define-public ghc-haddock
4993 (package
4994 (name "ghc-haddock")
b0d34d23 4995 (version "2.22.0")
dddbc90c
RV
4996 (source
4997 (origin
4998 (method url-fetch)
4999 (uri (string-append
5000 "https://hackage.haskell.org/package/haddock/haddock-"
5001 version
5002 ".tar.gz"))
5003 (sha256
5004 (base32
b0d34d23 5005 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
dddbc90c
RV
5006 (build-system haskell-build-system)
5007 (arguments
5008 `(#:phases
5009 (modify-phases %standard-phases
b0d34d23
TS
5010 ;; The release tarball for 2.22.0 is missing the test data for
5011 ;; the Hoogle test, causing it to fail. This is fixed in the
5012 ;; next release, but for now we disable it.
5013 (add-before 'configure 'remove-hoogle-test
dddbc90c
RV
5014 (lambda _
5015 (use-modules (ice-9 rdelim))
5016 (with-atomic-file-replacement "haddock.cabal"
5017 (lambda (in out)
5018 (let loop ((line (read-line in 'concat)) (deleting? #f))
5019 (cond
5020 ((eof-object? line) #t)
5021 ((string-every char-set:whitespace line)
5022 (unless deleting? (display line out))
5023 (loop (read-line in 'concat) #f))
b0d34d23 5024 ((string=? line "test-suite hoogle-test\n")
dddbc90c
RV
5025 (loop (read-line in 'concat) #t))
5026 (else
5027 (unless deleting? (display line out))
b0d34d23
TS
5028 (loop (read-line in 'concat) deleting?))))))))
5029 (add-before 'check 'add-haddock-to-path
5030 (lambda _
5031 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
5032 ":" (getenv "PATH")))
5033 #t)))))
dddbc90c
RV
5034 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
5035 (native-inputs
b0d34d23
TS
5036 `(("ghc-haddock-test" ,ghc-haddock-test)
5037 ("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
5038 (home-page "https://www.haskell.org/haddock/")
5039 (synopsis
5040 "Documentation-generation tool for Haskell libraries")
5041 (description
5042 "Haddock is a documentation-generation tool for Haskell libraries.")
5043 (license license:bsd-3)))
5044
5045(define-public ghc-haddock-api
5046 (package
5047 (name "ghc-haddock-api")
1b84d8ef 5048 (version "2.22.0")
dddbc90c
RV
5049 (source
5050 (origin
5051 (method url-fetch)
5052 (uri (string-append
5053 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
5054 version
5055 ".tar.gz"))
1b84d8ef 5056 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
dddbc90c
RV
5057 (sha256
5058 (base32
1b84d8ef 5059 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
dddbc90c
RV
5060 (build-system haskell-build-system)
5061 (arguments
5062 `(#:phases
5063 (modify-phases %standard-phases
5064 (add-before 'configure 'update-constraints
5065 (lambda _
5066 (substitute* "haddock-api.cabal"
1b84d8ef
TS
5067 (("QuickCheck \\^>= 2\\.11")
5068 "QuickCheck ^>= 2.13")
5069 (("hspec >= 2\\.4\\.4 && < 2\\.6")
5070 "hspec >= 2.4.4 && < 2.8")))))))
dddbc90c
RV
5071 (inputs
5072 `(("ghc-paths" ,ghc-paths)
5073 ("ghc-haddock-library" ,ghc-haddock-library)))
5074 (native-inputs
5075 `(("ghc-quickcheck" ,ghc-quickcheck)
5076 ("ghc-hspec" ,ghc-hspec)
5077 ("hspec-discover" ,hspec-discover)))
5078 (home-page "https://www.haskell.org/haddock/")
5079 (synopsis "API for documentation-generation tool Haddock")
5080 (description "This package provides an API to Haddock, the
5081documentation-generation tool for Haskell libraries.")
5082 (license license:bsd-3)))
5083
5084(define-public ghc-haddock-library
5085 (package
5086 (name "ghc-haddock-library")
10707d57 5087 (version "1.7.0")
dddbc90c
RV
5088 (source
5089 (origin
5090 (method url-fetch)
5091 (uri (string-append
5092 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
5093 version
5094 ".tar.gz"))
5095 (sha256
5096 (base32
10707d57 5097 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
5098 (build-system haskell-build-system)
5099 (arguments
5100 `(#:phases
5101 (modify-phases %standard-phases
10707d57
TS
5102 ;; Since there is no revised Cabal file upstream, we have to
5103 ;; patch it manually.
dddbc90c
RV
5104 (add-before 'configure 'relax-test-suite-dependencies
5105 (lambda _
5106 (substitute* "haddock-library.cabal"
10707d57
TS
5107 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
5108 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
5109 #t)))))
5110 (native-inputs
5111 `(("ghc-base-compat" ,ghc-base-compat)
5112 ("ghc-hspec" ,ghc-hspec)
5113 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
5114 ("ghc-quickcheck" ,ghc-quickcheck)
5115 ("ghc-tree-diff" ,ghc-tree-diff)
5116 ("hspec-discover" ,hspec-discover)))
5117 (home-page "https://www.haskell.org/haddock/")
5118 (synopsis "Library exposing some functionality of Haddock")
5119 (description
5120 "Haddock is a documentation-generation tool for Haskell libraries. These
5121modules expose some functionality of it without pulling in the GHC dependency.
5122Please note that the API is likely to change so specify upper bounds in your
5123project if you can't release often. For interacting with Haddock itself, see
5124the ‘haddock’ package.")
5125 (license license:bsd-3)))
5126
b0d34d23
TS
5127;; This package is needed for testing 'ghc-haddock'. It is no longer
5128;; published to Hackage, but it is maintained in the Haddock Git
5129;; repository.
5130(define ghc-haddock-test
5131 (package
5132 (name "ghc-haddock-test")
5133 (version "2.22.0")
5134 (source
5135 (origin
5136 (method git-fetch)
5137 (uri (git-reference
b0e7b699 5138 (url "https://github.com/haskell/haddock")
b0d34d23
TS
5139 (commit (string-append "haddock-" version "-release"))))
5140 (file-name (git-file-name name version))
5141 (sha256
5142 (base32
5143 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
5144 (build-system haskell-build-system)
5145 (arguments
5146 `(#:phases
5147 (modify-phases %standard-phases
5148 (add-after 'unpack 'change-directory
5149 (lambda _
5150 (chdir "haddock-test"))))))
5151 (inputs
5152 `(("ghc-syb" ,ghc-syb)
5153 ("ghc-xml" ,ghc-xml)))
228d2901 5154 (home-page "https://www.haskell.org/haddock/")
b0d34d23
TS
5155 (synopsis "Test utilities for Haddock")
5156 (description "This package provides test utilities for Haddock.")
5157 (license license:bsd-3)
5158 (properties '((hidden? #t)))))
5159
dddbc90c
RV
5160(define-public ghc-half
5161 (package
5162 (name "ghc-half")
5163 (version "0.3")
5164 (source
5165 (origin
5166 (method url-fetch)
5167 (uri (string-append
5168 "https://hackage.haskell.org/package/half/half-"
5169 version ".tar.gz"))
5170 (sha256
5171 (base32
5172 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
5173 (build-system haskell-build-system)
5174 (native-inputs
5175 `(("ghc-hspec" ,ghc-hspec)
5176 ("ghc-quickcheck" ,ghc-quickcheck)))
5177 (home-page "https://github.com/ekmett/half")
5178 (synopsis "Half-precision floating-point computations")
5179 (description "This library provides a half-precision floating-point
5180computation library for Haskell.")
5181 (license license:bsd-3)))
5182
5183(define-public ghc-happy
5184 (package
5185 (name "ghc-happy")
90e7b0e4 5186 (version "1.19.12")
dddbc90c
RV
5187 (source
5188 (origin
5189 (method url-fetch)
5190 (uri (string-append
5191 "https://hackage.haskell.org/package/happy/happy-"
5192 version
5193 ".tar.gz"))
5194 (sha256
5195 (base32
90e7b0e4 5196 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
5197 (build-system haskell-build-system)
5198 (arguments
5199 `(#:phases
5200 (modify-phases %standard-phases
5201 (add-after 'unpack 'skip-test-issue93
5202 (lambda _
5203 ;; Tests run out of memory on a system with 2GB of available RAM,
5204 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
5205 (substitute* "tests/Makefile"
5206 ((" issue93.y ") " "))
5207 #t)))))
5208 (home-page "https://hackage.haskell.org/package/happy")
5209 (synopsis "Parser generator for Haskell")
5210 (description "Happy is a parser generator for Haskell. Given a grammar
5211specification in BNF, Happy generates Haskell code to parse the grammar.
5212Happy works in a similar way to the yacc tool for C.")
5213 (license license:bsd-3)))
5214
5215(define-public ghc-hashable
5216 (package
5217 (name "ghc-hashable")
5218 (version "1.2.7.0")
534d6caa 5219 (outputs '("out" "static" "doc"))
dddbc90c
RV
5220 (source
5221 (origin
5222 (method url-fetch)
5223 (uri (string-append
5224 "https://hackage.haskell.org/package/hashable/hashable-"
5225 version
5226 ".tar.gz"))
5227 (sha256
5228 (base32
5229 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
5230 (build-system haskell-build-system)
65a16a45
TS
5231 (arguments
5232 `(#:cabal-revision
5233 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
5234 (inputs
5235 `(("ghc-random" ,ghc-random)))
5236 (native-inputs
5237 `(("ghc-test-framework" ,ghc-test-framework)
5238 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5239 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5240 ("ghc-hunit" ,ghc-hunit)
5241 ("ghc-quickcheck" ,ghc-quickcheck)))
5242 (home-page "https://github.com/tibbe/hashable")
5243 (synopsis "Class for types that can be converted to a hash value")
5244 (description
5245 "This package defines a class, @code{Hashable}, for types that can be
5246converted to a hash value. This class exists for the benefit of hashing-based
5247data structures. The package provides instances for basic types and a way to
5248combine hash values.")
5249 (license license:bsd-3)))
5250
5251(define-public ghc-hashable-bootstrap
5252 (package
5253 (inherit ghc-hashable)
5254 (name "ghc-hashable-bootstrap")
65a16a45
TS
5255 (arguments
5256 `(#:tests? #f
5257 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
5258 (native-inputs '())
5259 (properties '((hidden? #t)))))
5260
5261(define-public ghc-hashable-time
5262 (package
5263 (name "ghc-hashable-time")
f5051e31 5264 (version "0.2.0.2")
dddbc90c
RV
5265 (source
5266 (origin
5267 (method url-fetch)
5268 (uri (string-append
5269 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5270 version
5271 ".tar.gz"))
5272 (sha256
5273 (base32
f5051e31 5274 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
5275 (build-system haskell-build-system)
5276 (arguments
5277 `(#:cabal-revision
f5051e31 5278 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c 5279 (inputs `(("ghc-hashable" ,ghc-hashable)))
3b02036e 5280 (home-page "https://hackage.haskell.org/package/hashable-time")
dddbc90c
RV
5281 (synopsis "Hashable instances for Data.Time")
5282 (description
5283 "This package provides @code{Hashable} instances for types in
5284@code{Data.Time}.")
5285 (license license:bsd-3)))
5286
5287(define-public ghc-hashtables
5288 (package
5289 (name "ghc-hashtables")
19edf0d0 5290 (version "1.2.3.4")
dddbc90c
RV
5291 (source
5292 (origin
5293 (method url-fetch)
5294 (uri (string-append
5295 "https://hackage.haskell.org/package/hashtables/hashtables-"
5296 version ".tar.gz"))
5297 (sha256
19edf0d0 5298 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
5299 (build-system haskell-build-system)
5300 (inputs
5301 `(("ghc-hashable" ,ghc-hashable)
5302 ("ghc-primitive" ,ghc-primitive)
5303 ("ghc-vector" ,ghc-vector)))
5304 (home-page "https://github.com/gregorycollins/hashtables")
5305 (synopsis "Haskell Mutable hash tables in the ST monad")
5306 (description "This package provides a Haskell library including a
5307couple of different implementations of mutable hash tables in the ST
5308monad, as well as a typeclass abstracting their common operations, and
5309a set of wrappers to use the hash tables in the IO monad.")
5310 (license license:bsd-3)))
5311
dd26713e
JS
5312(define-public ghc-haskeline-0.8
5313 (package
5314 (name "ghc-haskeline")
5315 (version "0.8.0.0")
5316 (source
5317 (origin
5318 (method url-fetch)
5319 (uri (string-append
5320 "https://hackage.haskell.org/package/haskeline/haskeline-"
5321 version
5322 ".tar.gz"))
5323 (sha256
5324 (base32
5325 "0gqsa5s0drim9m42hv4wrq61mnvcdylxysfxfw3acncwilfrn9pb"))))
5326 (build-system haskell-build-system)
5327 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
5328 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
5329 ;; FIXME: Tests failing
5330 (arguments `(#:tests? #f))
5331 (home-page "https://github.com/judah/haskeline")
5332 (synopsis
5333 "Command-line interface for user input, written in Haskell")
5334 (description
5335 "Haskeline provides a user interface for line input in command-line
5336programs. This library is similar in purpose to readline, but since it is
5337written in Haskell it is (hopefully) more easily used in other Haskell
5338programs.
5339
5340Haskeline runs both on POSIX-compatible systems and on Windows.")
5341 (license license:bsd-3)))
5342
dddbc90c
RV
5343(define-public ghc-haskell-lexer
5344 (package
5345 (name "ghc-haskell-lexer")
5346 (version "1.0.2")
5347 (source
5348 (origin
5349 (method url-fetch)
5350 (uri (string-append
5351 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5352 version ".tar.gz"))
5353 (sha256
5354 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5355 (build-system haskell-build-system)
3ef91e15 5356 (home-page "https://hackage.haskell.org/package/haskell-lexer")
dddbc90c
RV
5357 (synopsis "Fully compliant Haskell 98 lexer")
5358 (description
5359 "This package provides a fully compliant Haskell 98 lexer.")
5360 (license license:bsd-3)))
5361
5362(define-public ghc-haskell-src
5363 (package
5364 (name "ghc-haskell-src")
5365 (version "1.0.3.0")
5366 (source
5367 (origin
5368 (method url-fetch)
5369 (uri (string-append
5370 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5371 version
5372 ".tar.gz"))
5373 (sha256
5374 (base32
5375 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5376 (build-system haskell-build-system)
5377 (inputs
5378 `(("ghc-happy" ,ghc-happy)
5379 ("ghc-syb" ,ghc-syb)))
5380 (home-page
5381 "https://hackage.haskell.org/package/haskell-src")
5382 (synopsis
5383 "Support for manipulating Haskell source code")
5384 (description
5385 "The @code{haskell-src} package provides support for manipulating Haskell
5386source code. The package provides a lexer, parser and pretty-printer, and a
5387definition of a Haskell abstract syntax tree (AST). Common uses of this
5388package are to parse or generate Haskell 98 code.")
5389 (license license:bsd-3)))
5390
5391(define-public ghc-haskell-src-exts
5392 (package
5393 (name "ghc-haskell-src-exts")
37a05591 5394 (version "1.21.1")
dddbc90c
RV
5395 (source
5396 (origin
5397 (method url-fetch)
5398 (uri (string-append
5399 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5400 version
5401 ".tar.gz"))
5402 (sha256
5403 (base32
37a05591 5404 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c 5405 (build-system haskell-build-system)
cad59e53 5406 (outputs '("out" "static" "doc"))
dddbc90c
RV
5407 (inputs
5408 `(("cpphs" ,cpphs)
5409 ("ghc-happy" ,ghc-happy)
5410 ("ghc-pretty-show" ,ghc-pretty-show)))
5411 (native-inputs
5412 `(("ghc-smallcheck" ,ghc-smallcheck)
5413 ("ghc-tasty" ,ghc-tasty)
5414 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5415 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5416 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5417 (synopsis "Library for manipulating Haskell source")
5418 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5419extension of the standard @code{haskell-src} package, and handles most
5420registered syntactic extensions to Haskell. All extensions implemented in GHC
5421are supported. Apart from these standard extensions, it also handles regular
5422patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5423 (license license:bsd-3)))
5424
5425(define-public ghc-haskell-src-exts-util
5426 (package
5427 (name "ghc-haskell-src-exts-util")
77355bdf 5428 (version "0.2.5")
dddbc90c
RV
5429 (source
5430 (origin
5431 (method url-fetch)
5432 (uri (string-append "https://hackage.haskell.org/package/"
5433 "haskell-src-exts-util/haskell-src-exts-util-"
5434 version ".tar.gz"))
5435 (sha256
5436 (base32
77355bdf 5437 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
5438 (build-system haskell-build-system)
5439 (inputs
5440 `(("ghc-data-default" ,ghc-data-default)
5441 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5442 ("ghc-semigroups" ,ghc-semigroups)
5443 ("ghc-uniplate" ,ghc-uniplate)))
5444 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5445 (synopsis "Helper functions for working with haskell-src-exts trees")
5446 (description
5447 "This package provides helper functions for working with
5448@code{haskell-src-exts} trees.")
5449 (license license:bsd-3)))
5450
5451(define-public ghc-haskell-src-meta
5452 (package
5453 (name "ghc-haskell-src-meta")
e94b3c72 5454 (version "0.8.3")
dddbc90c
RV
5455 (source (origin
5456 (method url-fetch)
5457 (uri (string-append "https://hackage.haskell.org/package/"
5458 "haskell-src-meta/haskell-src-meta-"
5459 version ".tar.gz"))
5460 (sha256
5461 (base32
e94b3c72 5462 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
5463 (build-system haskell-build-system)
5464 (inputs
5465 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5466 ("ghc-syb" ,ghc-syb)
5467 ("ghc-th-orphans" ,ghc-th-orphans)))
5468 (native-inputs
5469 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
5470 ("ghc-tasty" ,ghc-tasty)
5471 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5472 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5473 (synopsis "Parse source to template-haskell abstract syntax")
5474 (description
5475 "This package provides tools to parse Haskell sources to the
5476template-haskell abstract syntax.")
5477 (license license:bsd-3)))
5478
5479(define-public ghc-hasktags
5480 (package
5481 (name "ghc-hasktags")
5482 (version "0.71.2")
5483 (source
5484 (origin
5485 (method url-fetch)
5486 (uri (string-append
5487 "https://hackage.haskell.org/package/hasktags/hasktags-"
5488 version
5489 ".tar.gz"))
5490 (sha256
5491 (base32
5492 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5493 (build-system haskell-build-system)
5494 (inputs
5495 `(("ghc-system-filepath" ,ghc-system-filepath)
5496 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5497 (native-inputs
5498 `(("ghc-json" ,ghc-json)
5499 ("ghc-utf8-string" ,ghc-utf8-string)
5500 ("ghc-microlens-platform" ,ghc-microlens-platform)
5501 ("ghc-hunit" ,ghc-hunit)))
702a1012 5502 (home-page "https://github.com/MarcWeber/hasktags")
dddbc90c
RV
5503 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5504 (description
5505 "This package provides a means of generating tag files for Emacs and
5506Vim.")
5507 (license license:bsd-3)))
5508
5509(define-public ghc-hex
5510 (package
5511 (name "ghc-hex")
5512 (version "0.1.2")
5513 (source
5514 (origin
5515 (method url-fetch)
5516 (uri (string-append "https://hackage.haskell.org/package/"
5517 "hex-" version "/"
5518 "hex-" version ".tar.gz"))
5519 (sha256
5520 (base32
5521 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5522 (build-system haskell-build-system)
5523 (home-page "https://hackage.haskell.org/package/hex")
5524 (synopsis "Convert strings into hexadecimal and back")
5525 (description "This package provides conversion functions between
5526bytestrings and their hexademical representation.")
5527 (license license:bsd-3)))
5528
5529(define-public ghc-highlighting-kate
5530 (package
5531 (name "ghc-highlighting-kate")
5532 (version "0.6.4")
5533 (source (origin
5534 (method url-fetch)
5535 (uri (string-append "https://hackage.haskell.org/package/"
5536 "highlighting-kate/highlighting-kate-"
5537 version ".tar.gz"))
5538 (sha256
5539 (base32
5540 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5541 (build-system haskell-build-system)
5542 (inputs
5543 `(("ghc-diff" ,ghc-diff)
5544 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5545 (native-inputs
5546 `(("ghc-blaze-html" ,ghc-blaze-html)
5547 ("ghc-utf8-string" ,ghc-utf8-string)))
5548 (home-page "https://github.com/jgm/highlighting-kate")
5549 (synopsis "Syntax highlighting library")
5550 (description
5551 "Highlighting-kate is a syntax highlighting library with support for
5552nearly one hundred languages. The syntax parsers are automatically generated
5553from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5554supported by Kate can be added. An (optional) command-line program is
5555provided, along with a utility for generating new parsers from Kate XML syntax
5556descriptions.")
5557 (license license:gpl2+)))
5558
5559(define-public ghc-hindent
5560 (package
5561 (name "ghc-hindent")
f545f894 5562 (version "5.3.1")
dddbc90c
RV
5563 (source
5564 (origin
5565 (method url-fetch)
5566 (uri (string-append
5567 "https://hackage.haskell.org/package/hindent/hindent-"
5568 version
5569 ".tar.gz"))
5570 (sha256
5571 (base32
f545f894 5572 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5573 (build-system haskell-build-system)
5574 (arguments
5575 `(#:modules ((guix build haskell-build-system)
5576 (guix build utils)
5577 (guix build emacs-utils))
5578 #:imported-modules (,@%haskell-build-system-modules
5579 (guix build emacs-utils))
5580 #:phases
5581 (modify-phases %standard-phases
5582 (add-after 'install 'emacs-install
5583 (lambda* (#:key inputs outputs #:allow-other-keys)
5584 (let* ((out (assoc-ref outputs "out"))
5585 (elisp-file "elisp/hindent.el")
d53e87cf 5586 (dest (string-append out "/share/emacs/site-lisp"))
dddbc90c
RV
5587 (emacs (string-append (assoc-ref inputs "emacs")
5588 "/bin/emacs")))
5589 (make-file-writable elisp-file)
5590 (emacs-substitute-variables elisp-file
5591 ("hindent-process-path"
5592 (string-append out "/bin/hindent")))
5593 (install-file elisp-file dest)
5594 (emacs-generate-autoloads "hindent" dest)))))))
5595 (inputs
5596 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5597 ("ghc-monad-loops" ,ghc-monad-loops)
5598 ("ghc-utf8-string" ,ghc-utf8-string)
5599 ("ghc-exceptions" ,ghc-exceptions)
5600 ("ghc-yaml" ,ghc-yaml)
5601 ("ghc-unix-compat" ,ghc-unix-compat)
5602 ("ghc-path" ,ghc-path)
5603 ("ghc-path-io" ,ghc-path-io)
5604 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5605 (native-inputs
5606 `(("ghc-hspec" ,ghc-hspec)
5607 ("ghc-diff" ,ghc-diff)
5608 ("emacs" ,emacs-minimal)))
5609 (home-page
5610 "https://github.com/commercialhaskell/hindent")
5611 (synopsis "Extensible Haskell pretty printer")
5612 (description
5613 "This package provides automatic formatting for Haskell files. Both a
5614library and an executable.")
5615 (license license:bsd-3)))
5616
5617(define-public ghc-hinotify
5618 (package
5619 (name "ghc-hinotify")
c2342abb 5620 (version "0.4")
dddbc90c
RV
5621 (source (origin
5622 (method url-fetch)
5623 (uri (string-append
5624 "https://hackage.haskell.org/package/hinotify/"
5625 "hinotify-" version ".tar.gz"))
5626 (sha256
5627 (base32
c2342abb 5628 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5629 (build-system haskell-build-system)
5630 (inputs
5631 `(("ghc-async" ,ghc-async)))
5632 (home-page "https://github.com/kolmodin/hinotify.git")
5633 (synopsis "Haskell binding to inotify")
5634 (description "This library provides a wrapper to the Linux kernel's inotify
5635feature, allowing applications to subscribe to notifications when a file is
5636accessed or modified.")
5637 (license license:bsd-3)))
5638
5639(define-public ghc-hmatrix
5640 (package
5641 (name "ghc-hmatrix")
65e29ed1 5642 (version "0.20.0.0")
dddbc90c
RV
5643 (source
5644 (origin
5645 (method url-fetch)
5646 (uri (string-append
5647 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5648 version ".tar.gz"))
5649 (sha256
65e29ed1 5650 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c 5651 (build-system haskell-build-system)
54a5fd07
TS
5652 (arguments
5653 `(#:extra-directories ("lapack")))
dddbc90c
RV
5654 (inputs
5655 `(("ghc-random" ,ghc-random)
5656 ("ghc-split" ,ghc-split)
5657 ("ghc-storable-complex" ,ghc-storable-complex)
5658 ("ghc-semigroups" ,ghc-semigroups)
5659 ("ghc-vector" ,ghc-vector)
5660 ;;("openblas" ,openblas)
5661 ("lapack" ,lapack)))
5662 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5663 ;; disables inclusion of the LAPACK functions.
5664 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5665 (home-page "https://github.com/albertoruiz/hmatrix")
5666 (synopsis "Haskell numeric linear algebra library")
5667 (description "The HMatrix package provices a Haskell library for
5668dealing with linear systems, matrix decompositions, and other
5669numerical computations based on BLAS and LAPACK.")
5670 (license license:bsd-3)))
5671
5672(define-public ghc-hmatrix-gsl
5673 (package
5674 (name "ghc-hmatrix-gsl")
5675 (version "0.19.0.1")
5676 (source
5677 (origin
5678 (method url-fetch)
5679 (uri (string-append
5680 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5681 version ".tar.gz"))
5682 (sha256
5683 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5684 (build-system haskell-build-system)
54a5fd07
TS
5685 (arguments
5686 `(#:extra-directories ("gsl")))
dddbc90c
RV
5687 (inputs
5688 `(("ghc-hmatrix" ,ghc-hmatrix)
5689 ("ghc-vector" ,ghc-vector)
5690 ("ghc-random" ,ghc-random)
5691 ("gsl" ,gsl)))
5692 (native-inputs `(("pkg-config" ,pkg-config)))
5693 (home-page "https://github.com/albertoruiz/hmatrix")
5694 (synopsis "Haskell GSL binding")
5695 (description "This Haskell library provides a purely functional
5696interface to selected numerical computations, internally implemented
5697using GSL.")
5698 (license license:gpl3+)))
5699
5700(define-public ghc-hmatrix-gsl-stats
5701 (package
5702 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5703 (version "0.4.1.8")
dddbc90c
RV
5704 (source
5705 (origin
5706 (method url-fetch)
5707 (uri
5708 (string-append
5709 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5710 version ".tar.gz"))
5711 (sha256
e9b359f5 5712 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5713 (build-system haskell-build-system)
5714 (inputs
5715 `(("ghc-vector" ,ghc-vector)
5716 ("ghc-storable-complex" ,ghc-storable-complex)
5717 ("ghc-hmatrix" ,ghc-hmatrix)
5718 ("gsl" ,gsl)))
5719 (native-inputs `(("pkg-config" ,pkg-config)))
5720 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5721 (synopsis "GSL Statistics interface for Haskell")
5722 (description "This Haskell library provides a purely functional
5723interface for statistics based on hmatrix and GSL.")
5724 (license license:bsd-3)))
5725
5726(define-public ghc-hmatrix-special
5727 (package
5728 (name "ghc-hmatrix-special")
5729 (version "0.19.0.0")
5730 (source
5731 (origin
5732 (method url-fetch)
5733 (uri
5734 (string-append
5735 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5736 version ".tar.gz"))
5737 (sha256
5738 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5739 (build-system haskell-build-system)
5740 (inputs
5741 `(("ghc-hmatrix" ,ghc-hmatrix)
5742 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5743 (home-page "https://github.com/albertoruiz/hmatrix")
5744 (synopsis "Haskell interface to GSL special functions")
5745 (description "This library provides an interface to GSL special
5746functions for Haskell.")
5747 (license license:gpl3+)))
5748
5749(define-public ghc-hostname
5750 (package
5751 (name "ghc-hostname")
5752 (version "1.0")
5753 (source
5754 (origin
5755 (method url-fetch)
5756 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5757 "hostname-" version ".tar.gz"))
5758 (sha256
5759 (base32
5760 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5761 (build-system haskell-build-system)
5762 (home-page "https://hackage.haskell.org/package/hostname")
5763 (synopsis "Hostname in Haskell")
5764 (description "Network.HostName is a simple package providing a means to
5765determine the hostname.")
5766 (license license:bsd-3)))
5767
5768(define-public ghc-hourglass
5769 (package
5770 (name "ghc-hourglass")
5771 (version "0.2.12")
5772 (source (origin
5773 (method url-fetch)
5774 (uri (string-append "https://hackage.haskell.org/package/"
5775 "hourglass/hourglass-" version ".tar.gz"))
5776 (sha256
5777 (base32
5778 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5779 (build-system haskell-build-system)
5780 (inputs
5781 `(("ghc-old-locale" ,ghc-old-locale)))
5782 (native-inputs
5783 `(("ghc-tasty" ,ghc-tasty)
5784 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5785 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5786 (home-page "https://github.com/vincenthz/hs-hourglass")
5787 (synopsis "Simple time-related library for Haskell")
5788 (description
5789 "This is a simple time library providing a simple but powerful and
5790performant API. The backbone of the library are the @code{Timeable} and
5791@code{Time} type classes. Each @code{Timeable} instances can be converted to
5792a type that has a @code{Time} instances, and thus are different
5793representations of current time.")
5794 (license license:bsd-3)))
5795
5796(define-public ghc-hpack
5797 (package
5798 (name "ghc-hpack")
06344a3a 5799 (version "0.31.2")
dddbc90c
RV
5800 (source
5801 (origin
5802 (method url-fetch)
5803 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5804 "hpack-" version ".tar.gz"))
06344a3a 5805 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5806 (sha256
5807 (base32
06344a3a 5808 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5809 (build-system haskell-build-system)
5810 (inputs
5811 `(("ghc-aeson" ,ghc-aeson)
5812 ("ghc-bifunctors" ,ghc-bifunctors)
5813 ("ghc-cryptonite" ,ghc-cryptonite)
5814 ("ghc-glob" ,ghc-glob)
5815 ("ghc-http-client" ,ghc-http-client)
5816 ("ghc-http-client-tls" ,ghc-http-client-tls)
5817 ("ghc-http-types" ,ghc-http-types)
06344a3a 5818 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5819 ("ghc-scientific" ,ghc-scientific)
5820 ("ghc-unordered-containers" ,ghc-unordered-containers)
5821 ("ghc-vector" ,ghc-vector)
5822 ("ghc-yaml" ,ghc-yaml)))
5823 (native-inputs
5824 `(("ghc-hspec" ,ghc-hspec)
5825 ("ghc-hunit" ,ghc-hunit)
5826 ("ghc-interpolate" ,ghc-interpolate)
5827 ("ghc-mockery" ,ghc-mockery)
5828 ("ghc-quickcheck" ,ghc-quickcheck)
5829 ("ghc-temporary" ,ghc-temporary)
5830 ("hspec-discover" ,hspec-discover)))
5831 (home-page "https://github.com/sol/hpack")
5832 (synopsis "Tools for an alternative Haskell package format")
5833 (description
5834 "Hpack is a format for Haskell packages. It is an alternative to the
5835Cabal package format and follows different design principles. Hpack packages
5836are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5837@code{stack} support @code{package.yaml} natively. For other build tools the
5838@code{hpack} executable can be used to generate a @code{.cabal} file from
5839@code{package.yaml}.")
5840 (license license:expat)))
5841
5842(define-public ghc-hs-bibutils
5843 (package
5844 (name "ghc-hs-bibutils")
ebcb4f23 5845 (version "6.7.0.0")
dddbc90c
RV
5846 (source
5847 (origin
5848 (method url-fetch)
5849 (uri (string-append
5850 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5851 version ".tar.gz"))
5852 (sha256
5853 (base32
ebcb4f23 5854 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5855 (build-system haskell-build-system)
5856 (inputs `(("ghc-syb" ,ghc-syb)))
5857 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5858 (synopsis "Haskell bindings to bibutils")
5859 (description
5860 "This package provides Haskell bindings to @code{bibutils}, a library
5861that interconverts between various bibliography formats using a common
5862MODS-format XML intermediate.")
5863 (license license:gpl2+)))
5864
5865(define-public ghc-hslogger
5866 (package
5867 (name "ghc-hslogger")
e5ccc5f7 5868 (version "1.2.12")
dddbc90c
RV
5869 (source
5870 (origin
5871 (method url-fetch)
5872 (uri (string-append "https://hackage.haskell.org/package/"
5873 "hslogger-" version "/" "hslogger-"
5874 version ".tar.gz"))
5875 (sha256 (base32
e5ccc5f7 5876 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5877 (build-system haskell-build-system)
5878 (inputs
5879 `(("ghc-network" ,ghc-network)
5880 ("ghc-old-locale" ,ghc-old-locale)))
5881 (native-inputs
5882 `(("ghc-hunit" ,ghc-hunit)))
5883 (home-page "https://software.complete.org/hslogger")
5884 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5885 (description "Hslogger lets each log message have a priority and source be
5886associated with it. The programmer can then define global handlers that route
5887or filter messages based on the priority and source. It also has a syslog
5888handler built in.")
5889 (license license:bsd-3)))
5890
5891(define-public ghc-hslua
5892 (package
5893 (name "ghc-hslua")
cc784d7b 5894 (version "1.0.3.2")
dddbc90c
RV
5895 (source (origin
5896 (method url-fetch)
5897 (uri (string-append "https://hackage.haskell.org/package/"
5898 "hslua/hslua-" version ".tar.gz"))
5899 (sha256
5900 (base32
cc784d7b 5901 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5902 (build-system haskell-build-system)
5903 (arguments
54a5fd07
TS
5904 `(#:configure-flags '("-fsystem-lua")
5905 #:extra-directories ("lua")))
dddbc90c
RV
5906 (inputs
5907 `(("lua" ,lua)
5908 ("ghc-exceptions" ,ghc-exceptions)
5909 ("ghc-fail" ,ghc-fail)))
5910 (native-inputs
5911 `(("ghc-tasty" ,ghc-tasty)
5912 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5913 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5914 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5915 ("ghc-quickcheck" ,ghc-quickcheck)
5916 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5917 (home-page "https://hackage.haskell.org/package/hslua")
5918 (synopsis "Lua language interpreter embedding in Haskell")
5919 (description
5920 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5921described in @url{https://www.lua.org/}.")
5922 (license license:expat)))
5923
ff303e4e
TS
5924(define-public ghc-hslua-module-system
5925 (package
5926 (name "ghc-hslua-module-system")
5927 (version "0.2.1")
5928 (source
5929 (origin
5930 (method url-fetch)
5931 (uri (string-append "https://hackage.haskell.org/package/"
5932 "hslua-module-system/hslua-module-system-"
5933 version ".tar.gz"))
5934 (sha256
5935 (base32
5936 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5937 (build-system haskell-build-system)
5938 (inputs
5939 `(("ghc-exceptions" ,ghc-exceptions)
5940 ("ghc-hslua" ,ghc-hslua)
5941 ("ghc-temporary" ,ghc-temporary)))
5942 (native-inputs
5943 `(("ghc-tasty" ,ghc-tasty)
5944 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5945 (home-page "https://github.com/hslua/hslua-module-system")
5946 (synopsis "Lua module wrapper around Haskell's System module")
5947 (description "This library provides access to system information and
5948functionality to Lua scripts via Haskell's @code{System} module. Intended
5949usage for this package is to preload it by adding the loader function to
5950@code{package.preload}. Note that the Lua @code{package} library must have
5951already been loaded before the loader can be added.")
5952 (license license:expat)))
5953
dddbc90c
RV
5954(define-public ghc-hslua-module-text
5955 (package
5956 (name "ghc-hslua-module-text")
ecaf0b0c 5957 (version "0.2.1")
dddbc90c
RV
5958 (source
5959 (origin
5960 (method url-fetch)
5961 (uri (string-append "https://hackage.haskell.org/package/"
5962 "hslua-module-text/hslua-module-text-"
5963 version ".tar.gz"))
5964 (sha256
5965 (base32
ecaf0b0c 5966 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5967 (build-system haskell-build-system)
dddbc90c
RV
5968 (inputs
5969 `(("ghc-hslua" ,ghc-hslua)))
5970 (native-inputs
5971 `(("ghc-tasty" ,ghc-tasty)
5972 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5973 (home-page "https://github.com/hslua/hslua-module-text")
5974 (synopsis "Lua module for text")
5975 (description
5976 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5977for Haskell. The functions provided by this module are @code{upper},
5978@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5979 (license license:expat)))
5980
fac520bf
TS
5981(define-public ghc-hsyaml
5982 (package
5983 (name "ghc-hsyaml")
5984 (version "0.1.2.0")
5985 (source
5986 (origin
5987 (method url-fetch)
5988 (uri (string-append "https://hackage.haskell.org/package/"
5989 "HsYAML/HsYAML-" version ".tar.gz"))
5990 (sha256
5991 (base32
5992 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5993 (build-system haskell-build-system)
5994 (arguments
5995 `(#:cabal-revision
5996 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5997 (home-page "https://github.com/haskell-hvr/HsYAML")
5998 (synopsis "Pure Haskell YAML 1.2 parser")
5999 (description "This library provides a
6000@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
6001for Haskell. Its features include:
6002
6003@itemize
6004@item Pure Haskell implementation with small dependency footprint and
6005emphasis on strict compliance with the YAML 1.2 specification.
6006
6007@item Direct decoding to native Haskell types via (aeson-inspired)
6008typeclass-based API (see @code{Data.YAML}).
6009
6010@item Support for constructing custom YAML node graph
6011representation (including support for cyclic YAML data structures).
6012
6013@item Support for the standard (untyped) @emph{Failsafe}, (strict)
6014@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
6015typing rules as defined in the YAML 1.2 specification (including support
6016for user-defined custom schemas).
6017
6018@item Event-based API resembling LibYAML's Event-based API (see
6019@code{Data.YAML.Event}).
6020
6021@item Low-level API access to lexical token-based scanner (see
6022@code{Data.YAML.Token}).
6023@end itemize")
6024 (license license:gpl2+)))
6025
dddbc90c
RV
6026(define-public ghc-http-api-data
6027 (package
6028 (name "ghc-http-api-data")
a57236eb 6029 (version "0.4.1")
dddbc90c
RV
6030 (source
6031 (origin
6032 (method url-fetch)
6033 (uri (string-append "https://hackage.haskell.org/package/"
6034 "http-api-data-" version "/"
6035 "http-api-data-" version ".tar.gz"))
6036 (sha256
6037 (base32
a57236eb 6038 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 6039 (build-system haskell-build-system)
dddbc90c
RV
6040 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
6041 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 6042 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
6043 ("ghc-hashable" ,ghc-hashable)
6044 ("ghc-http-types" ,ghc-http-types)
a57236eb 6045 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 6046 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 6047 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
6048 (native-inputs
6049 `(("cabal-doctest" ,cabal-doctest)
6050 ("ghc-nats" ,ghc-nats)
6051 ("ghc-hunit" ,ghc-hunit)
6052 ("ghc-hspec" ,ghc-hspec)
6053 ("ghc-quickcheck" ,ghc-quickcheck)
6054 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6055 ("ghc-doctest" ,ghc-doctest)
6056 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
6057 (home-page "https://github.com/fizruk/http-api-data")
6058 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
6059query parameters")
6060 (description "This Haskell package defines typeclasses used for converting
6061Haskell data types to and from HTTP API data.")
6062 (license license:bsd-3)))
6063
6064(define-public ghc-ieee754
6065 (package
6066 (name "ghc-ieee754")
6067 (version "0.8.0")
6068 (source (origin
6069 (method url-fetch)
6070 (uri (string-append
6071 "https://hackage.haskell.org/package/ieee754/"
6072 "ieee754-" version ".tar.gz"))
6073 (sha256
6074 (base32
6075 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
6076 (build-system haskell-build-system)
6077 (home-page "https://github.com/patperry/hs-ieee754")
6078 (synopsis "Utilities for dealing with IEEE floating point numbers")
6079 (description "Utilities for dealing with IEEE floating point numbers,
6080ported from the Tango math library; approximate and exact equality comparisons
6081for general types.")
6082 (license license:bsd-3)))
6083
6084(define-public ghc-ifelse
6085 (package
6086 (name "ghc-ifelse")
6087 (version "0.85")
6088 (source
6089 (origin
6090 (method url-fetch)
6091 (uri (string-append "https://hackage.haskell.org/package/"
6092 "IfElse/IfElse-" version ".tar.gz"))
6093 (sha256
6094 (base32
6095 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
6096 (build-system haskell-build-system)
3ef91e15 6097 (home-page "https://hackage.haskell.org/package/IfElse")
dddbc90c
RV
6098 (synopsis "Monadic control flow with anaphoric variants")
6099 (description "This library provides functions for control flow inside of
6100monads with anaphoric variants on @code{if} and @code{when} and a C-like
6101@code{switch} function.")
6102 (license license:bsd-3)))
6103
6104(define-public ghc-indents
6105 (package
6106 (name "ghc-indents")
d66473fb 6107 (version "0.5.0.1")
dddbc90c
RV
6108 (source (origin
6109 (method url-fetch)
6110 (uri (string-append
6111 "https://hackage.haskell.org/package/indents/indents-"
6112 version ".tar.gz"))
6113 (sha256
6114 (base32
d66473fb 6115 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
6116 (build-system haskell-build-system)
6117 ;; This package needs an older version of tasty.
6118 (arguments '(#:tests? #f))
6119 (inputs
6120 `(("ghc-concatenative" ,ghc-concatenative)))
6121 (native-inputs
6122 `(("ghc-tasty" ,ghc-tasty)
6123 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6124 (home-page "http://patch-tag.com/r/salazar/indents")
6125 (synopsis "Indentation sensitive parser-combinators for parsec")
6126 (description
6127 "This library provides functions for use in parsing indentation sensitive
6128contexts. It parses blocks of lines all indented to the same level as well as
6129lines continued at an indented level below.")
6130 (license license:bsd-3)))
6131
1f656b17
TS
6132(define-public ghc-infer-license
6133 (package
6134 (name "ghc-infer-license")
6135 (version "0.2.0")
6136 (source
6137 (origin
6138 (method url-fetch)
6139 (uri (string-append "https://hackage.haskell.org/package/"
6140 "infer-license/infer-license-" version ".tar.gz"))
6141 (sha256
6142 (base32
6143 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
6144 (build-system haskell-build-system)
6145 (inputs
6146 `(("ghc-text-metrics" ,ghc-text-metrics)))
6147 (native-inputs
6148 `(("ghc-hspec" ,ghc-hspec)
6149 ("hspec-discover" ,hspec-discover)))
3ef91e15 6150 (home-page "https://hackage.haskell.org/package/infer-license")
1f656b17
TS
6151 (synopsis "Infer software license from a given license file")
6152 (description "This library provides tools to infer a software
6153license from a given license file.")
6154 (license license:expat)))
6155
dddbc90c
RV
6156(define-public ghc-inline-c
6157 (package
6158 (name "ghc-inline-c")
55ec98f2 6159 (version "0.7.0.1")
dddbc90c
RV
6160 (source
6161 (origin
6162 (method url-fetch)
6163 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
6164 "inline-c-" version ".tar.gz"))
6165 (sha256
6166 (base32
55ec98f2 6167 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
6168 (build-system haskell-build-system)
6169 (inputs
6170 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
6171 ("ghc-cryptohash" ,ghc-cryptohash)
6172 ("ghc-hashable" ,ghc-hashable)
6173 ("ghc-parsers" ,ghc-parsers)
6174 ("ghc-unordered-containers" ,ghc-unordered-containers)
6175 ("ghc-vector" ,ghc-vector)))
6176 (native-inputs
6177 `(("ghc-quickcheck" ,ghc-quickcheck)
6178 ("ghc-hspec" ,ghc-hspec)
6179 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
6180 ("ghc-regex-posix" ,ghc-regex-posix)))
3ef91e15 6181 (home-page "https://hackage.haskell.org/package/inline-c")
dddbc90c
RV
6182 (synopsis "Write Haskell source files including C code inline")
6183 (description
6184 "inline-c lets you seamlessly call C libraries and embed high-performance
6185inline C code in Haskell modules. Haskell and C can be freely intermixed in
6186the same source file, and data passed to and from code in either language with
6187minimal overhead. No FFI required.")
6188 (license license:expat)))
6189
6190(define-public ghc-inline-c-cpp
6191 (package
6192 (name "ghc-inline-c-cpp")
cae58e56 6193 (version "0.3.0.3")
dddbc90c
RV
6194 (source
6195 (origin
6196 (method url-fetch)
6197 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
6198 "inline-c-cpp-" version ".tar.gz"))
6199 (sha256
6200 (base32
cae58e56 6201 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
6202 (build-system haskell-build-system)
6203 (inputs
6204 `(("ghc-inline-c" ,ghc-inline-c)
6205 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
6206 (native-inputs
6207 `(("ghc-hspec" ,ghc-hspec)))
6208 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
6209 (synopsis "Lets you embed C++ code into Haskell")
6210 (description
6211 "This package provides utilities to inline C++ code into Haskell using
6212@code{inline-c}.")
6213 (license license:expat)))
6214
6215(define-public ghc-integer-logarithms
6216 (package
6217 (name "ghc-integer-logarithms")
86a704db 6218 (version "1.0.3")
dddbc90c
RV
6219 (source
6220 (origin
6221 (method url-fetch)
6222 (uri (string-append "https://hackage.haskell.org/package/"
6223 "integer-logarithms/integer-logarithms-"
6224 version ".tar.gz"))
6225 (sha256
6226 (base32
86a704db 6227 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
6228 (build-system haskell-build-system)
6229 (arguments
6230 `(#:phases
6231 (modify-phases %standard-phases
6232 (add-before 'configure 'update-constraints
6233 (lambda _
6234 (substitute* "integer-logarithms.cabal"
6235 (("tasty >= 0\\.10 && < 1\\.1")
6236 "tasty >= 0.10 && < 1.2")))))))
6237 (native-inputs
6238 `(("ghc-quickcheck" ,ghc-quickcheck)
6239 ("ghc-smallcheck" ,ghc-smallcheck)
6240 ("ghc-tasty" ,ghc-tasty)
6241 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6242 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6243 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
6244 (home-page "https://github.com/Bodigrim/integer-logarithms")
6245 (synopsis "Integer logarithms")
6246 (description
6247 "This package provides the following modules:
6248@code{Math.NumberTheory.Logarithms} and
6249@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
6250@code{GHC.Integer.Logarithms.Compat} and
6251@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
6252in migrated modules.")
6253 (license license:expat)))
6254
6255(define-public ghc-integer-logarithms-bootstrap
6256 (package
6257 (inherit ghc-integer-logarithms)
6258 (name "ghc-integer-logarithms-bootstrap")
6259 (arguments `(#:tests? #f))
6260 (native-inputs '())
799d8d3c 6261 (properties '((hidden? #t)))))
dddbc90c
RV
6262
6263(define-public ghc-interpolate
6264 (package
6265 (name "ghc-interpolate")
6266 (version "0.2.0")
6267 (source
6268 (origin
6269 (method url-fetch)
6270 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
6271 "interpolate-" version ".tar.gz"))
6272 (sha256
6273 (base32
6274 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
6275 (build-system haskell-build-system)
6276 (inputs
6277 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
6278 (native-inputs
6279 `(("ghc-base-compat" ,ghc-base-compat)
6280 ("ghc-hspec" ,ghc-hspec)
6281 ("ghc-quickcheck" ,ghc-quickcheck)
6282 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6283 ("hspec-discover" ,hspec-discover)))
6284 (home-page "https://github.com/sol/interpolate")
6285 (synopsis "String interpolation library")
6286 (description "This package provides a string interpolation library for
6287Haskell.")
6288 (license license:expat)))
6289
6290(define-public ghc-intervalmap
6291 (package
6292 (name "ghc-intervalmap")
e4946e32 6293 (version "0.6.1.1")
dddbc90c
RV
6294 (source
6295 (origin
6296 (method url-fetch)
6297 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
6298 "IntervalMap-" version ".tar.gz"))
6299 (sha256
6300 (base32
e4946e32 6301 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
6302 (build-system haskell-build-system)
6303 (native-inputs
6304 `(("ghc-quickcheck" ,ghc-quickcheck)))
6305 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6306 (synopsis "Containers for intervals, with efficient search")
6307 (description
6308 "This package provides ordered containers of intervals, with efficient
6309search for all keys containing a point or overlapping an interval. See the
6310example code on the home page for a quick introduction.")
6311 (license license:bsd-3)))
6312
f7ca1fa8
TS
6313(define-public ghc-intervals
6314 (package
6315 (name "ghc-intervals")
6316 (version "0.8.1")
6317 (source
6318 (origin
6319 (method url-fetch)
6320 (uri (string-append "https://hackage.haskell.org/package/"
6321 "intervals/intervals-" version ".tar.gz"))
6322 (sha256
6323 (base32
6324 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6325 (build-system haskell-build-system)
6326 (inputs
6327 `(("ghc-distributive" ,ghc-distributive)))
6328 (native-inputs
6329 `(("cabal-doctest" ,cabal-doctest)
6330 ("ghc-doctest" ,ghc-doctest)
6331 ("ghc-quickcheck" ,ghc-quickcheck)))
6332 (arguments
6333 `(#:cabal-revision
6334 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6335 (home-page "https://github.com/ekmett/intervals")
6336 (synopsis "Interval arithmetic")
6337 (description "This library provides
6338@code{Numeric.Interval.Interval}, which represets a closed, convex set
6339of floating point values.")
6340 (license license:bsd-3)))
6341
dddbc90c
RV
6342(define-public ghc-invariant
6343 (package
6344 (name "ghc-invariant")
d3a0e0b4 6345 (version "0.5.3")
dddbc90c
RV
6346 (source
6347 (origin
6348 (method url-fetch)
6349 (uri (string-append
6350 "https://hackage.haskell.org/package/invariant/invariant-"
6351 version ".tar.gz"))
6352 (sha256
6353 (base32
d3a0e0b4 6354 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
6355 (build-system haskell-build-system)
6356 (inputs
6357 `(("ghc-bifunctors" ,ghc-bifunctors)
6358 ("ghc-comonad" ,ghc-comonad)
6359 ("ghc-contravariant" ,ghc-contravariant)
6360 ("ghc-profunctors" ,ghc-profunctors)
6361 ("ghc-semigroups" ,ghc-semigroups)
6362 ("ghc-statevar" ,ghc-statevar)
6363 ("ghc-tagged" ,ghc-tagged)
6364 ("ghc-th-abstraction" ,ghc-th-abstraction)
6365 ("ghc-transformers-compat" ,ghc-transformers-compat)
6366 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6367 (native-inputs
6368 `(("ghc-hspec" ,ghc-hspec)
6369 ("ghc-quickcheck" ,ghc-quickcheck)
6370 ("hspec-discover" ,hspec-discover)))
6371 (home-page "https://github.com/nfrisby/invariant-functors")
6372 (synopsis "Haskell98 invariant functors")
6373 (description "Haskell98 invariant functors (also known as exponential
6374functors). For more information, see Edward Kmett's article
6375@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6376 (license license:bsd-2)))
6377
6378(define-public ghc-io-streams
6379 (package
6380 (name "ghc-io-streams")
59e98d75 6381 (version "1.5.1.0")
dddbc90c
RV
6382 (source
6383 (origin
6384 (method url-fetch)
6385 (uri (string-append "https://hackage.haskell.org/package/"
6386 "io-streams/io-streams-" version ".tar.gz"))
6387 (sha256
6388 (base32
59e98d75 6389 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
6390 (build-system haskell-build-system)
6391 (inputs
6392 `(("ghc-attoparsec" ,ghc-attoparsec)
6393 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6394 ("ghc-network" ,ghc-network)
6395 ("ghc-primitive" ,ghc-primitive)
6396 ("ghc-vector" ,ghc-vector)
6397 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6398 (native-inputs
6399 `(("ghc-hunit" ,ghc-hunit)
6400 ("ghc-quickcheck" ,ghc-quickcheck)
6401 ("ghc-test-framework" ,ghc-test-framework)
6402 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6403 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6404 ("ghc-zlib" ,ghc-zlib)))
3ef91e15 6405 (home-page "https://hackage.haskell.org/package/io-streams")
dddbc90c
RV
6406 (synopsis "Simple and composable stream I/O")
6407 (description "This library contains simple and easy-to-use
6408primitives for I/O using streams.")
6409 (license license:bsd-3)))
6410
6411(define-public ghc-io-streams-haproxy
6412 (package
6413 (name "ghc-io-streams-haproxy")
1a4fbc36 6414 (version "1.0.1.0")
dddbc90c
RV
6415 (source
6416 (origin
6417 (method url-fetch)
6418 (uri (string-append "https://hackage.haskell.org/package/"
6419 "io-streams-haproxy/io-streams-haproxy-"
6420 version ".tar.gz"))
6421 (sha256
6422 (base32
1a4fbc36 6423 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
6424 (build-system haskell-build-system)
6425 (inputs
6426 `(("ghc-attoparsec" ,ghc-attoparsec)
6427 ("ghc-io-streams" ,ghc-io-streams)
6428 ("ghc-network" ,ghc-network)))
6429 (native-inputs
6430 `(("ghc-hunit" ,ghc-hunit)
6431 ("ghc-test-framework" ,ghc-test-framework)
6432 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
6433 (home-page "http://snapframework.com/")
6434 (synopsis "HAProxy protocol 1.5 support for io-streams")
6435 (description "HAProxy protocol version 1.5 support
6436(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6437for applications using io-streams. The proxy protocol allows information
6438about a networked peer (like remote address and port) to be propagated
6439through a forwarding proxy that is configured to speak this protocol.")
6440 (license license:bsd-3)))
6441
6442(define-public ghc-iproute
6443 (package
6444 (name "ghc-iproute")
ec25d536 6445 (version "1.7.7")
dddbc90c
RV
6446 (source
6447 (origin
6448 (method url-fetch)
6449 (uri (string-append
6450 "https://hackage.haskell.org/package/iproute/iproute-"
6451 version
6452 ".tar.gz"))
6453 (sha256
6454 (base32
ec25d536 6455 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
6456 (build-system haskell-build-system)
6457 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6458 ; exported by ghc-byteorder. Doctest issue.
6459 (inputs
6460 `(("ghc-appar" ,ghc-appar)
6461 ("ghc-byteorder" ,ghc-byteorder)
6462 ("ghc-network" ,ghc-network)
6463 ("ghc-safe" ,ghc-safe)))
6464 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6465 (synopsis "IP routing table")
6466 (description "IP Routing Table is a tree of IP ranges to search one of
6467them on the longest match base. It is a kind of TRIE with one way branching
6468removed. Both IPv4 and IPv6 are supported.")
6469 (license license:bsd-3)))
6470
4828e54e
TS
6471(define-public ghc-ipynb
6472 (package
6473 (name "ghc-ipynb")
6474 (version "0.1")
6475 (source
6476 (origin
6477 (method url-fetch)
6478 (uri (string-append "https://hackage.haskell.org/package/"
6479 "ipynb/ipynb-" version ".tar.gz"))
6480 (sha256
6481 (base32
6482 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6483 (build-system haskell-build-system)
6484 (inputs
6485 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6486 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6487 ("ghc-aeson" ,ghc-aeson)
6488 ("ghc-semigroups" ,ghc-semigroups)))
6489 (native-inputs
6490 `(("ghc-tasty" ,ghc-tasty)
6491 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6492 ("ghc-aeson-diff" ,ghc-aeson-diff)
6493 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6494 ("ghc-microlens" ,ghc-microlens)
6495 ("ghc-vector" ,ghc-vector)))
6496 (home-page "https://hackage.haskell.org/package/ipynb")
6497 (synopsis "Data structure for working with Jupyter notebooks")
6498 (description "This library defines a data structure for representing
6499Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6500instances for conversion to and from JSON .ipynb files.")
6501 (license license:bsd-3)))
6502
dddbc90c
RV
6503(define-public ghc-iwlib
6504 (package
6505 (name "ghc-iwlib")
6506 (version "0.1.0")
6507 (source
6508 (origin
6509 (method url-fetch)
6510 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6511 version ".tar.gz"))
6512 (sha256
6513 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6514 (build-system haskell-build-system)
54a5fd07
TS
6515 (arguments
6516 `(#:extra-directories ("wireless-tools")))
dddbc90c
RV
6517 (inputs
6518 `(("wireless-tools" ,wireless-tools)))
6519 (home-page "https://github.com/jaor/iwlib")
6520 (synopsis "Haskell binding to the iw wireless networking library")
6521 (description
6522 "IWlib is a thin Haskell binding to the iw C library. It provides
6523information about the current wireless network connections, and adapters on
6524supported systems.")
6525 (license license:bsd-3)))
6526
6527(define-public ghc-json
6528 (package
6529 (name "ghc-json")
0ad3d574 6530 (version "0.9.3")
dddbc90c
RV
6531 (source
6532 (origin
6533 (method url-fetch)
6534 (uri (string-append "https://hackage.haskell.org/package/json/"
6535 "json-" version ".tar.gz"))
6536 (sha256
6537 (base32
0ad3d574 6538 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6539 (build-system haskell-build-system)
6540 (inputs
6541 `(("ghc-syb" ,ghc-syb)))
6542 (home-page "https://hackage.haskell.org/package/json")
6543 (synopsis "Serializes Haskell data to and from JSON")
6544 (description "This package provides a parser and pretty printer for
6545converting between Haskell values and JSON.
6546JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6547 (license license:bsd-3)))
6548
6549(define-public ghc-juicypixels
6550 (package
6551 (name "ghc-juicypixels")
b50b6004 6552 (version "3.3.4")
dddbc90c
RV
6553 (source (origin
6554 (method url-fetch)
6555 (uri (string-append "https://hackage.haskell.org/package/"
6556 "JuicyPixels/JuicyPixels-"
6557 version ".tar.gz"))
6558 (sha256
6559 (base32
b50b6004 6560 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c 6561 (build-system haskell-build-system)
a023e7d0 6562 (outputs '("out" "static" "doc"))
dddbc90c
RV
6563 (inputs
6564 `(("ghc-zlib" ,ghc-zlib)
6565 ("ghc-vector" ,ghc-vector)
6566 ("ghc-primitive" ,ghc-primitive)
6567 ("ghc-mmap" ,ghc-mmap)))
6568 (home-page "https://github.com/Twinside/Juicy.Pixels")
6569 (synopsis "Picture loading and serialization library")
6570 (description
6571 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6572TIFF and GIF formats.")
6573 (license license:bsd-3)))
6574
6575(define-public ghc-kan-extensions
6576 (package
6577 (name "ghc-kan-extensions")
6578 (version "5.2")
6579 (source
6580 (origin
6581 (method url-fetch)
6582 (uri (string-append
6583 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6584 version
6585 ".tar.gz"))
6586 (sha256
6587 (base32
6588 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6589 (build-system haskell-build-system)
6590 (inputs
6591 `(("ghc-adjunctions" ,ghc-adjunctions)
6592 ("ghc-comonad" ,ghc-comonad)
6593 ("ghc-contravariant" ,ghc-contravariant)
6594 ("ghc-distributive" ,ghc-distributive)
6595 ("ghc-free" ,ghc-free)
6596 ("ghc-invariant" ,ghc-invariant)
6597 ("ghc-semigroupoids" ,ghc-semigroupoids)
6598 ("ghc-tagged" ,ghc-tagged)
6599 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6600 (home-page "https://github.com/ekmett/kan-extensions/")
6601 (synopsis "Kan extensions library")
6602 (description "This library provides Kan extensions, Kan lifts, various
6603forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6604 (license license:bsd-3)))
6605
6606(define-public ghc-language-c
6607 (package
6608 (name "ghc-language-c")
4e1cf651 6609 (version "0.8.3")
dddbc90c
RV
6610 (source
6611 (origin
6612 (method url-fetch)
6613 (uri (string-append "https://hackage.haskell.org/package/"
6614 "language-c/language-c-" version ".tar.gz"))
6615 (sha256
6616 (base32
4e1cf651 6617 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6618 (build-system haskell-build-system)
6619 (inputs `(("ghc-syb" ,ghc-syb)))
6620 (native-inputs
6621 `(("ghc-happy" ,ghc-happy)
6622 ("ghc-alex" ,ghc-alex)))
6623 (home-page "https://visq.github.io/language-c/")
6624 (synopsis "Analysis and generation of C code")
6625 (description
6626 "Language C is a Haskell library for the analysis and generation of C code.
6627It features a complete, well-tested parser and pretty printer for all of C99
6628and a large set of GNU extensions.")
6629 (license license:bsd-3)))
6630
6631(define-public ghc-language-glsl
6632 (package
6633 (name "ghc-language-glsl")
6634 (version "0.3.0")
6635 (source
6636 (origin
6637 (method url-fetch)
6638 (uri (string-append "https://hackage.haskell.org/package/"
6639 "language-glsl/language-glsl-" version ".tar.gz"))
6640 (sha256
6641 (base32
6642 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6643 (build-system haskell-build-system)
6644 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6645 (arguments
6646 `(#:tests? #f
6647 #:cabal-revision
6648 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
3ef91e15 6649 (home-page "https://hackage.haskell.org/package/language-glsl")
dddbc90c
RV
6650 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6651 (description "This package is a Haskell library for the
6652representation, parsing, and pretty-printing of GLSL 1.50 code.")
6653 (license license:bsd-3)))
6654
6655(define-public ghc-language-haskell-extract
6656 (package
6657 (name "ghc-language-haskell-extract")
6658 (version "0.2.4")
6659 (source
6660 (origin
6661 (method url-fetch)
6662 (uri (string-append "https://hackage.haskell.org/package/"
6663 "language-haskell-extract-" version "/"
6664 "language-haskell-extract-" version ".tar.gz"))
6665 (sha256
6666 (base32
6667 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6668 (build-system haskell-build-system)
6669 (inputs
6670 `(("ghc-regex-posix" ,ghc-regex-posix)))
6671 (home-page "https://github.com/finnsson/template-helper")
6672 (synopsis "Haskell module to automatically extract functions from
6673the local code")
6674 (description "This package contains helper functions on top of
6675Template Haskell.
6676
6677For example, @code{functionExtractor} extracts all functions after a
6678regexp-pattern, which can be useful if you wish to extract all functions
6679beginning with @code{test} (for a test framework) or all functions beginning
6680with @code{wc} (for a web service).")
6681 (license license:bsd-3)))
6682
6683(define-public ghc-lens
6684 (package
6685 (name "ghc-lens")
262e6323 6686 (version "4.17.1")
dddbc90c
RV
6687 (source
6688 (origin
6689 (method url-fetch)
6690 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6691 version ".tar.gz"))
6692 (sha256
6693 (base32
262e6323 6694 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6695 (build-system haskell-build-system)
b35361e9 6696 (outputs '("out" "static" "doc"))
dddbc90c
RV
6697 (inputs
6698 `(("ghc-base-orphans" ,ghc-base-orphans)
6699 ("ghc-bifunctors" ,ghc-bifunctors)
6700 ("ghc-distributive" ,ghc-distributive)
6701 ("ghc-exceptions" ,ghc-exceptions)
6702 ("ghc-free" ,ghc-free)
6703 ("ghc-kan-extensions" ,ghc-kan-extensions)
6704 ("ghc-parallel" ,ghc-parallel)
6705 ("ghc-reflection" ,ghc-reflection)
6706 ("ghc-semigroupoids" ,ghc-semigroupoids)
6707 ("ghc-vector" ,ghc-vector)
6708 ("ghc-call-stack" ,ghc-call-stack)
6709 ("ghc-comonad" ,ghc-comonad)
6710 ("ghc-contravariant" ,ghc-contravariant)
6711 ("ghc-hashable" ,ghc-hashable)
6712 ("ghc-profunctors" ,ghc-profunctors)
6713 ("ghc-semigroups" ,ghc-semigroups)
6714 ("ghc-tagged" ,ghc-tagged)
6715 ("ghc-transformers-compat" ,ghc-transformers-compat)
6716 ("ghc-unordered-containers" ,ghc-unordered-containers)
6717 ("ghc-void" ,ghc-void)
6718 ("ghc-generic-deriving" ,ghc-generic-deriving)
6719 ("ghc-nats" ,ghc-nats)
6720 ("ghc-simple-reflect" ,ghc-simple-reflect)
6721 ("hlint" ,hlint)))
6722 (native-inputs
6723 `(("cabal-doctest" ,cabal-doctest)
6724 ("ghc-doctest" ,ghc-doctest)
6725 ("ghc-hunit" ,ghc-hunit)
6726 ("ghc-test-framework" ,ghc-test-framework)
6727 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6728 ("ghc-test-framework-th" ,ghc-test-framework-th)
6729 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6730 ("ghc-quickcheck" ,ghc-quickcheck)))
6731 (home-page "https://github.com/ekmett/lens/")
6732 (synopsis "Lenses, Folds and Traversals")
6733 (description "This library provides @code{Control.Lens}. The combinators
6734in @code{Control.Lens} provide a highly generic toolbox for composing families
6735of getters, folds, isomorphisms, traversals, setters and lenses and their
6736indexed variants.")
6737 (license license:bsd-3)))
6738
bcd35444
JS
6739(define-public ghc-lens-family-core
6740 (package
6741 (name "ghc-lens-family-core")
6742 (version "1.2.3")
6743 (source
6744 (origin
6745 (method url-fetch)
6746 (uri (string-append
6747 "mirror://hackage/package/lens-family-core/lens-family-core-"
6748 version
6749 ".tar.gz"))
6750 (sha256
6751 (base32
6752 "009rf10pj1cb50v44cc1pq7qvfrmkkk9dikahs9qmvbvgl3mykwi"))))
6753 (build-system haskell-build-system)
6754 (home-page
6755 "http://hackage.haskell.org/package/lens-family-core")
6756 (synopsis "Haskell 98 Lens Families")
6757 (description
6758 "This package provides first class functional references. In addition to
6759the usual operations of getting, setting and composition, plus integration
6760with the state monad, lens families provide some unique features:
6761
6762@itemize
6763@item Polymorphic updating
6764@item Traversals
6765@item Cast projection functions to read-only lenses
6766@item Cast @code{toList} functions to read-only traversals
6767@item Cast semantic editor combinators to modify-only traversals
6768@end itemize
6769
6770For optimal first-class support use the lens-family package with rank 2/rank N
6771polymorphism. @code{Lens.Family.Clone} allows for first-class support of
6772lenses and traversals for those who require Haskell 98.")
6773 (license license:bsd-3)))
6774
dddbc90c
RV
6775(define-public ghc-libffi
6776 (package
6777 (name "ghc-libffi")
6778 (version "0.1")
6779 (source
6780 (origin
6781 (method url-fetch)
6782 (uri (string-append "https://hackage.haskell.org/package/"
6783 "libffi/libffi-" version ".tar.gz"))
6784 (sha256
6785 (base32
6786 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6787 (build-system haskell-build-system)
6788 (native-inputs `(("pkg-config" ,pkg-config)))
6789 (inputs `(("libffi" ,libffi)))
3ef91e15 6790 (home-page "https://hackage.haskell.org/package/libffi")
dddbc90c
RV
6791 (synopsis "Haskell binding to libffi")
6792 (description
6793 "A binding to libffi, allowing C functions of types only known at runtime
6794to be called from Haskell.")
6795 (license license:bsd-3)))
6796
6797(define-public ghc-libmpd
6798 (package
6799 (name "ghc-libmpd")
bbf9845f 6800 (version "0.9.0.10")
dddbc90c
RV
6801 (source
6802 (origin
6803 (method url-fetch)
6804 (uri (string-append
6805 "mirror://hackage/package/libmpd/libmpd-"
6806 version
6807 ".tar.gz"))
6808 (sha256
6809 (base32
bbf9845f 6810 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6811 (build-system haskell-build-system)
6812 ;; Tests fail on i686.
6813 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6814 (arguments `(#:tests? #f))
6815 (inputs
6816 `(("ghc-attoparsec" ,ghc-attoparsec)
6817 ("ghc-old-locale" ,ghc-old-locale)
6818 ("ghc-data-default-class" ,ghc-data-default-class)
6819 ("ghc-network" ,ghc-network)
bbf9845f 6820 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6821 ("ghc-utf8-string" ,ghc-utf8-string)))
6822 (native-inputs
6823 `(("ghc-quickcheck" ,ghc-quickcheck)
6824 ("ghc-hspec" ,ghc-hspec)
6825 ("hspec-discover" ,hspec-discover)))
6826 (home-page "https://github.com/vimus/libmpd-haskell")
6827 (synopsis "Haskell client library for the Music Player Daemon")
6828 (description "This package provides a pure Haskell client library for the
6829Music Player Daemon.")
6830 (license license:expat)))
6831
e34df1c3
TS
6832(define-public ghc-lib-parser
6833 (package
6834 (name "ghc-lib-parser")
6835 (version "8.8.0.20190424")
6836 (source
6837 (origin
6838 (method url-fetch)
6839 (uri (string-append "https://hackage.haskell.org/package/"
6840 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6841 (sha256
6842 (base32
6843 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6844 (build-system haskell-build-system)
7e62ebb3 6845 (outputs '("out" "static" "doc")) ; documentation is 39M
e34df1c3
TS
6846 (native-inputs
6847 `(("ghc-alex" ,ghc-alex)
6848 ("ghc-happy" ,ghc-happy)))
6849 (home-page "https://github.com/digital-asset/ghc-lib")
6850 (synopsis "The GHC API, decoupled from GHC versions")
6851 (description "This library implements the GHC API. It is like the
6852compiler-provided @code{ghc} package, but it can be loaded on many
6853compiler versions.")
6854 (license license:bsd-3)))
6855
dddbc90c
RV
6856(define-public ghc-libxml
6857 (package
6858 (name "ghc-libxml")
6859 (version "0.1.1")
6860 (source
6861 (origin
6862 (method url-fetch)
6863 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6864 "libxml-" version ".tar.gz"))
6865 (sha256
6866 (base32
6867 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6868 (build-system haskell-build-system)
6869 (inputs
6870 `(("libxml2" ,libxml2)))
6871 (arguments
6872 `(#:configure-flags
6873 `(,(string-append "--extra-include-dirs="
6874 (assoc-ref %build-inputs "libxml2")
6875 "/include/libxml2"))))
6876 (home-page "https://hackage.haskell.org/package/libxml")
6877 (synopsis "Haskell bindings to libxml2")
6878 (description
6879 "This library provides minimal Haskell binding to libxml2.")
6880 (license license:bsd-3)))
6881
0c2d6fc2
TS
6882(define-public ghc-libyaml
6883 (package
6884 (name "ghc-libyaml")
6885 (version "0.1.1.0")
6886 (source
6887 (origin
6888 (method url-fetch)
6889 (uri (string-append "https://hackage.haskell.org/package/"
6890 "libyaml/libyaml-" version ".tar.gz"))
6891 (sha256
6892 (base32
6893 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6894 (modules '((guix build utils)))
6895 (snippet
6896 ;; Delete bundled LibYAML.
6897 '(begin
6898 (delete-file-recursively "libyaml_src")
6899 #t))))
6900 (build-system haskell-build-system)
6901 (arguments
54a5fd07
TS
6902 `(#:configure-flags `("--flags=system-libyaml")
6903 #:extra-directories ("libyaml")))
0c2d6fc2
TS
6904 (inputs
6905 `(("ghc-conduit" ,ghc-conduit)
6906 ("ghc-resourcet" ,ghc-resourcet)
1b35d303 6907 ("libyaml" ,libyaml)))
0c2d6fc2
TS
6908 (home-page "https://github.com/snoyberg/yaml#readme")
6909 (synopsis "Low-level, streaming YAML interface.")
6910 (description "This package provides a Haskell wrapper over the
6911LibYAML C library.")
6912 (license license:bsd-3)))
6913
dddbc90c
RV
6914(define-public ghc-lifted-async
6915 (package
6916 (name "ghc-lifted-async")
b5b6d7ea 6917 (version "0.10.0.4")
dddbc90c
RV
6918 (source
6919 (origin
6920 (method url-fetch)
6921 (uri (string-append
6922 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6923 version ".tar.gz"))
6924 (sha256
6925 (base32
b5b6d7ea 6926 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6927 (build-system haskell-build-system)
6928 (inputs
6929 `(("ghc-async" ,ghc-async)
6930 ("ghc-lifted-base" ,ghc-lifted-base)
6931 ("ghc-transformers-base" ,ghc-transformers-base)
6932 ("ghc-monad-control" ,ghc-monad-control)
6933 ("ghc-constraints" ,ghc-constraints)
6934 ("ghc-hunit" ,ghc-hunit)
6935 ("ghc-tasty" ,ghc-tasty)
6936 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6937 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6938 ("ghc-tasty-th" ,ghc-tasty-th)))
6939 (home-page "https://github.com/maoe/lifted-async")
6940 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6941 (description
6942 "This package provides IO operations from @code{async} package lifted to any
6943instance of @code{MonadBase} or @code{MonadBaseControl}.")
6944 (license license:bsd-3)))
6945
6946(define-public ghc-lifted-base
6947 (package
6948 (name "ghc-lifted-base")
6949 (version "0.2.3.12")
6950 (source
6951 (origin
6952 (method url-fetch)
6953 (uri (string-append
6954 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6955 version
6956 ".tar.gz"))
6957 (sha256
6958 (base32
6959 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6960 (build-system haskell-build-system)
6961 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6962 (inputs
6963 `(("ghc-transformers-base" ,ghc-transformers-base)
6964 ("ghc-monad-control" ,ghc-monad-control)
6965 ("ghc-transformers-compat" ,ghc-transformers-compat)
6966 ("ghc-hunit" ,ghc-hunit)))
6967 (home-page "https://github.com/basvandijk/lifted-base")
6968 (synopsis "Lifted IO operations from the base library")
6969 (description "Lifted-base exports IO operations from the @code{base}
6970library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6971Note that not all modules from @code{base} are converted yet. The package
6972includes a copy of the @code{monad-peel} test suite written by Anders
6973Kaseorg.")
6974 (license license:bsd-3)))
6975
6976(define-public ghc-linear
6977 (package
6978 (name "ghc-linear")
86526f37 6979 (version "1.20.9")
dddbc90c
RV
6980 (source
6981 (origin
6982 (method url-fetch)
6983 (uri (string-append "https://hackage.haskell.org/package/linear/"
6984 "linear-" version ".tar.gz"))
6985 (sha256
6986 (base32
86526f37 6987 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6988 (build-system haskell-build-system)
6989 (inputs
6990 `(("ghc-adjunctions" ,ghc-adjunctions)
6991 ("ghc-base-orphans" ,ghc-base-orphans)
6992 ("ghc-bytes" ,ghc-bytes)
6993 ("ghc-cereal" ,ghc-cereal)
6994 ("ghc-distributive" ,ghc-distributive)
6995 ("ghc-hashable" ,ghc-hashable)
6996 ("ghc-lens" ,ghc-lens)
6997 ("ghc-reflection" ,ghc-reflection)
6998 ("ghc-semigroups" ,ghc-semigroups)
6999 ("ghc-semigroupoids" ,ghc-semigroupoids)
7000 ("ghc-tagged" ,ghc-tagged)
7001 ("ghc-transformers-compat" ,ghc-transformers-compat)
7002 ("ghc-unordered-containers" ,ghc-unordered-containers)
7003 ("ghc-vector" ,ghc-vector)
7004 ("ghc-void" ,ghc-void)))
7005 (native-inputs
7006 `(("cabal-doctest" ,cabal-doctest)
7007 ("ghc-doctest" ,ghc-doctest)
7008 ("ghc-simple-reflect" ,ghc-simple-reflect)
7009 ("ghc-test-framework" ,ghc-test-framework)
7010 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7011 ("ghc-hunit" ,ghc-hunit)))
702a1012 7012 (home-page "https://github.com/ekmett/linear/")
dddbc90c
RV
7013 (synopsis "Linear algebra library for Haskell")
7014 (description
7015 "This package provides types and combinators for linear algebra on free
7016vector spaces.")
7017 (license license:bsd-3)))
1307e4c7
JS
7018
7019(define-public ghc-listlike
7020 (package
7021 (name "ghc-listlike")
7022 (version "4.6.2")
7023 (source
7024 (origin
7025 (method url-fetch)
7026 (uri
7027 (string-append
7028 "https://hackage.haskell.org/package/ListLike/ListLike-"
7029 version ".tar.gz"))
7030 (sha256
7031 (base32
7032 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
7033 (build-system haskell-build-system)
7034 (inputs
7035 `(("ghc-vector" ,ghc-vector)
7036 ("ghc-dlist" ,ghc-dlist)
7037 ("ghc-fmlist" ,ghc-fmlist)
7038 ("ghc-hunit" ,ghc-hunit)
7039 ("ghc-quickcheck" ,ghc-quickcheck)
7040 ("ghc-random" ,ghc-random)
7041 ("ghc-utf8-string" ,ghc-utf8-string)))
7042 (home-page "https://github.com/JohnLato/listlike")
7043 (synopsis "Generic support for list-like structures")
7044 (description "The ListLike module provides a common interface to the
7045various Haskell types that are list-like. Predefined interfaces include
7046standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
7047Custom types can easily be made ListLike instances as well.
7048
7049ListLike also provides for String-like types, such as String and
7050ByteString, for types that support input and output, and for types that
7051can handle infinite lists.")
7052 (license license:bsd-3)))
dddbc90c 7053
84436be0
J
7054(define-public ghc-llvm-hs-pure
7055 (package
7056 (name "ghc-llvm-hs-pure")
7057 (version "9.0.0")
7058 (source
7059 (origin
7060 (method url-fetch)
7061 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
7062 "llvm-hs-pure-" version ".tar.gz"))
7063 (sha256
7064 (base32
7065 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
7066 (build-system haskell-build-system)
7067 (inputs
7068 `(("ghc-attoparsec" ,ghc-attoparsec)
7069 ("ghc-fail" ,ghc-fail)
7070 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7071 (native-inputs
7072 `(("ghc-tasty" ,ghc-tasty)
7073 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7074 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7075 (home-page "https://github.com/llvm-hs/llvm-hs/")
7076 (synopsis "Pure Haskell LLVM functionality (no FFI)")
7077 (description "llvm-hs-pure is a set of pure Haskell types and functions
7078for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
7079LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
7080llvm-hs-pure does not require LLVM to be available.")
7081 (license license:bsd-3)))
7082
e3ee8023
J
7083(define-public ghc-llvm-hs
7084 (package
7085 (name "ghc-llvm-hs")
7086 (version "9.0.1")
7087 (source
7088 (origin
7089 (method url-fetch)
7090 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
7091 version ".tar.gz"))
7092 (sha256
7093 (base32
7094 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
7095 (build-system haskell-build-system)
7096 (inputs
7097 `(("ghc-attoparsec" ,ghc-attoparsec)
7098 ("ghc-exceptions" ,ghc-exceptions)
7099 ("ghc-utf8-string" ,ghc-utf8-string)
7100 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
7101 ("llvm" ,llvm-9)))
7102 (native-inputs
7103 `(("ghc-tasty" ,ghc-tasty)
7104 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7105 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7106 ("ghc-quickcheck" ,ghc-quickcheck)
7107 ("ghc-temporary" ,ghc-temporary)
7108 ("ghc-pretty-show" ,ghc-pretty-show)
7109 ("ghc-temporary" ,ghc-temporary)))
7110 (home-page "https://github.com/llvm-hs/llvm-hs/")
7111 (synopsis "General purpose LLVM bindings for Haskell")
7112 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
7113current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
7114IR, and so offers two advantages: it handles almost all of the stateful
7115complexities of using the LLVM API to build IR; and it supports moving IR not
7116only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
7117into Haskell.")
7118 (license license:bsd-3)))
7119
dddbc90c
RV
7120(define-public ghc-logging-facade
7121 (package
7122 (name "ghc-logging-facade")
7123 (version "0.3.0")
7124 (source (origin
7125 (method url-fetch)
7126 (uri (string-append "https://hackage.haskell.org/package/"
7127 "logging-facade/logging-facade-"
7128 version ".tar.gz"))
7129 (sha256
7130 (base32
7131 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
7132 (build-system haskell-build-system)
7133 (native-inputs
7134 `(("ghc-hspec" ,ghc-hspec)
7135 ("hspec-discover" ,hspec-discover)))
7136 (home-page "https://hackage.haskell.org/package/logging-facade")
7137 (synopsis "Simple logging abstraction that allows multiple back-ends")
7138 (description
7139 "This package provides a simple logging abstraction that allows multiple
7140back-ends.")
7141 (license license:expat)))
7142
7143(define-public ghc-logict
7144 (package
7145 (name "ghc-logict")
79d9326f 7146 (version "0.7.0.2")
dddbc90c
RV
7147 (source
7148 (origin
7149 (method url-fetch)
7150 (uri (string-append
7151 "https://hackage.haskell.org/package/logict/logict-"
7152 version
7153 ".tar.gz"))
7154 (sha256
7155 (base32
79d9326f 7156 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 7157 (build-system haskell-build-system)
79d9326f
TS
7158 (native-inputs
7159 `(("ghc-tasty" ,ghc-tasty)
7160 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
7161 (home-page "http://code.haskell.org/~dolio/")
7162 (synopsis "Backtracking logic-programming monad")
7163 (description "This library provides a continuation-based, backtracking,
7164logic programming monad. An adaptation of the two-continuation implementation
7165found in the paper \"Backtracking, Interleaving, and Terminating Monad
7166Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
7167online}.")
7168 (license license:bsd-3)))
7169
7170(define-public ghc-lzma
7171 (package
7172 (name "ghc-lzma")
7173 (version "0.0.0.3")
7174 (source
7175 (origin
7176 (method url-fetch)
7177 (uri (string-append "https://hackage.haskell.org/package/lzma/"
7178 "lzma-" version ".tar.gz"))
7179 (sha256
7180 (base32
7181 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
7182 (build-system haskell-build-system)
7183 (arguments
7184 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
7185 #:cabal-revision
7186 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
7187 (native-inputs
7188 `(("ghc-hunit" ,ghc-hunit)
7189 ("ghc-quickcheck" ,ghc-quickcheck)
7190 ("ghc-tasty" ,ghc-tasty)
7191 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7192 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7193 (home-page "https://github.com/hvr/lzma")
7194 (synopsis "LZMA/XZ compression and decompression")
7195 (description
7196 "This package provides a pure interface for compressing and
7197decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
7198monadic incremental interface is provided as well.")
7199 (license license:bsd-3)))
7200
7201(define-public ghc-lzma-conduit
7202 (package
7203 (name "ghc-lzma-conduit")
7204 (version "1.2.1")
7205 (source
7206 (origin
7207 (method url-fetch)
7208 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
7209 "lzma-conduit-" version ".tar.gz"))
7210 (sha256
7211 (base32
7212 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
7213 (build-system haskell-build-system)
7214 (inputs
7215 `(("ghc-conduit" ,ghc-conduit)
7216 ("ghc-lzma" ,ghc-lzma)
7217 ("ghc-resourcet" ,ghc-resourcet)))
7218 (native-inputs
7219 `(("ghc-base-compat" ,ghc-base-compat)
7220 ("ghc-test-framework" ,ghc-test-framework)
7221 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7222 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7223 ("ghc-hunit" ,ghc-hunit)
7224 ("ghc-quickcheck" ,ghc-quickcheck)))
7225 (home-page "https://github.com/alphaHeavy/lzma-conduit")
7226 (synopsis "Conduit interface for lzma/xz compression")
7227 (description
7228 "This package provides a @code{Conduit} interface for the LZMA
7229compression algorithm used in the @code{.xz} file format.")
7230 (license license:bsd-3)))
7231
e405912c
KM
7232(define-public ghc-magic
7233 (package
7234 (name "ghc-magic")
7235 (version "1.1")
7236 (source
7237 (origin
7238 (method url-fetch)
7239 (uri (string-append
7240 "https://hackage.haskell.org/package/magic/magic-"
7241 version ".tar.gz"))
7242 (sha256
7243 (base32
7244 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
7245 (build-system haskell-build-system)
3ef91e15 7246 (home-page "https://hackage.haskell.org/package/magic")
e405912c
KM
7247 (synopsis "Interface to C file/magic library")
7248 (description
7249 "This package provides a full-featured binding to the C libmagic library.
7250With it, you can determine the type of a file by examining its contents rather
7251than its name.")
7252 (license license:bsd-3)))
7253
bcfe9dba
JS
7254(define-public ghc-managed
7255 (package
7256 (name "ghc-managed")
7257 (version "1.0.6")
7258 (source
7259 (origin
7260 (method url-fetch)
7261 (uri (string-append
7262 "mirror://hackage/package/managed/managed-"
7263 version
7264 ".tar.gz"))
7265 (sha256
7266 (base32
7267 "1kbrw99yh5x5blykmx2n88mplbbi4ss1ij5j17b7asw6q0ihm9zi"))))
7268 (build-system haskell-build-system)
7269 (home-page "http://hackage.haskell.org/package/managed")
7270 (synopsis "Monad for managed values")
7271 (description
7272 "In Haskell you very often acquire values using the with... idiom using
7273functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
7274special case of the ContT monad (from transformers) or the Codensity
7275monad (from kan-extensions). The main purpose behind this package is to
7276provide a restricted form of these monads specialized to this unusually common
7277case.
7278
7279The reason this package defines a specialized version of these types
7280is to:
7281
7282@itemize
7283@item be more beginner-friendly,
7284@item simplify inferred types and error messages, and:
7285@item provide some additional type class instances that would otherwise be
7286orphan instances
7287@end itemize")
7288 (license license:bsd-3)))
7289
dddbc90c
RV
7290(define-public ghc-markdown-unlit
7291 (package
7292 (name "ghc-markdown-unlit")
7293 (version "0.5.0")
7294 (source (origin
7295 (method url-fetch)
7296 (uri (string-append
7297 "mirror://hackage/package/markdown-unlit/"
7298 "markdown-unlit-" version ".tar.gz"))
7299 (sha256
7300 (base32
7301 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
7302 (build-system haskell-build-system)
7303 (inputs
7304 `(("ghc-base-compat" ,ghc-base-compat)
7305 ("ghc-hspec" ,ghc-hspec)
7306 ("ghc-quickcheck" ,ghc-quickcheck)
7307 ("ghc-silently" ,ghc-silently)
7308 ("ghc-stringbuilder" ,ghc-stringbuilder)
7309 ("ghc-temporary" ,ghc-temporary)
7310 ("hspec-discover" ,hspec-discover)))
7311 (home-page "https://github.com/sol/markdown-unlit#readme")
7312 (synopsis "Literate Haskell support for Markdown")
7313 (description "This package allows you to have a README.md that at the
7314same time is a literate Haskell program.")
7315 (license license:expat)))
7316
7317(define-public ghc-math-functions
7318 (package
7319 (name "ghc-math-functions")
b45de2bf 7320 (version "0.3.3.0")
dddbc90c
RV
7321 (source
7322 (origin
7323 (method url-fetch)
7324 (uri (string-append "https://hackage.haskell.org/package/"
7325 "math-functions-" version "/"
7326 "math-functions-" version ".tar.gz"))
7327 (sha256
7328 (base32
b45de2bf 7329 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
7330 (build-system haskell-build-system)
7331 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
7332 (inputs
b45de2bf
TS
7333 `(("ghc-data-default-class" ,ghc-data-default-class)
7334 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
7335 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
7336 (native-inputs
7337 `(("ghc-hunit" ,ghc-hunit)
7338 ("ghc-quickcheck" ,ghc-quickcheck)
7339 ("ghc-erf" ,ghc-erf)
7340 ("ghc-test-framework" ,ghc-test-framework)
7341 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7342 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7343 (home-page "https://github.com/bos/math-functions")
7344 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7345 (description "This Haskell library provides implementations of
7346special mathematical functions and Chebyshev polynomials. These
7347functions are often useful in statistical and numerical computing.")
7348 (license license:bsd-3)))
7349
7350(define-public ghc-megaparsec
7351 (package
7352 (name "ghc-megaparsec")
03b0c92e 7353 (version "7.0.5")
dddbc90c
RV
7354 (source
7355 (origin
7356 (method url-fetch)
7357 (uri (string-append "https://hackage.haskell.org/package/"
7358 "megaparsec/megaparsec-"
7359 version ".tar.gz"))
7360 (sha256
7361 (base32
03b0c92e 7362 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 7363 (build-system haskell-build-system)
dddbc90c
RV
7364 (inputs
7365 `(("ghc-case-insensitive" ,ghc-case-insensitive)
7366 ("ghc-parser-combinators" ,ghc-parser-combinators)
7367 ("ghc-scientific" ,ghc-scientific)))
7368 (native-inputs
7369 `(("ghc-quickcheck" ,ghc-quickcheck)
7370 ("ghc-hspec" ,ghc-hspec)
7371 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
7372 ("hspec-discover" ,hspec-discover)))
7373 (home-page "https://github.com/mrkkrp/megaparsec")
7374 (synopsis "Monadic parser combinators")
7375 (description
7376 "This is an industrial-strength monadic parser combinator library.
7377Megaparsec is a feature-rich package that strikes a nice balance between
7378speed, flexibility, and quality of parse errors.")
7379 (license license:bsd-2)))
7380
7381(define-public ghc-memory
7382 (package
7383 (name "ghc-memory")
d2c7d336 7384 (version "0.14.18")
dddbc90c
RV
7385 (source (origin
7386 (method url-fetch)
7387 (uri (string-append "https://hackage.haskell.org/package/"
7388 "memory/memory-" version ".tar.gz"))
7389 (sha256
7390 (base32
d2c7d336 7391 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
7392 (build-system haskell-build-system)
7393 (inputs
7394 `(("ghc-basement" ,ghc-basement)
7395 ("ghc-foundation" ,ghc-foundation)))
7396 (native-inputs
7397 `(("ghc-tasty" ,ghc-tasty)
7398 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7399 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7400 (home-page "https://github.com/vincenthz/hs-memory")
7401 (synopsis "Memory abstractions for Haskell")
7402 (description
7403 "This package provides memory abstractions, such as chunk of memory,
7404polymorphic byte array management and manipulation functions. It contains a
7405polymorphic byte array abstraction and functions similar to strict ByteString,
7406different type of byte array abstraction, raw memory IO operations (memory
7407set, memory copy, ..) and more")
7408 (license license:bsd-3)))
7409
7410(define-public ghc-memotrie
7411 (package
7412 (name "ghc-memotrie")
7413 (version "0.6.9")
7414 (source
7415 (origin
7416 (method url-fetch)
7417 (uri (string-append
7418 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7419 version
7420 ".tar.gz"))
7421 (sha256
7422 (base32
7423 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7424 (build-system haskell-build-system)
7425 (inputs
7426 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7427 (home-page "https://github.com/conal/MemoTrie")
7428 (synopsis "Trie-based memo functions")
7429 (description "This package provides a functional library for creating
7430efficient memo functions using tries.")
7431 (license license:bsd-3)))
7432
7433(define-public ghc-microlens
7434 (package
7435 (name "ghc-microlens")
82478c58 7436 (version "0.4.10")
dddbc90c
RV
7437 (source
7438 (origin
7439 (method url-fetch)
7440 (uri (string-append "https://hackage.haskell.org/package/"
7441 "microlens-" version "/"
7442 "microlens-" version ".tar.gz"))
7443 (sha256
7444 (base32
82478c58 7445 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
7446 (build-system haskell-build-system)
7447 (home-page
7448 "https://github.com/aelve/microlens")
7449 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7450 (description "This Haskell package provides a lens library, just like
7451@code{ghc-lens}, but smaller. It provides essential lenses and
7452traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7453nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7454combinators (like @code{failing} and @code{singular}), but everything else is
7455stripped. As the result, this package has no dependencies.")
7456 (license license:bsd-3)))
7457
1cd3333e
TS
7458(define-public ghc-microlens-aeson
7459 (package
7460 (name "ghc-microlens-aeson")
7461 (version "2.3.0.4")
7462 (source
7463 (origin
7464 (method url-fetch)
7465 (uri (string-append "https://hackage.haskell.org/package/"
7466 "microlens-aeson/microlens-aeson-"
7467 version ".tar.gz"))
b4a00fec 7468 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
7469 (sha256
7470 (base32
7471 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7472 (build-system haskell-build-system)
7473 (inputs
7474 `(("ghc-aeson" ,ghc-aeson)
7475 ("ghc-attoparsec" ,ghc-attoparsec)
7476 ("ghc-hashable" ,ghc-hashable)
7477 ("ghc-microlens" ,ghc-microlens)
7478 ("ghc-scientific" ,ghc-scientific)
7479 ("ghc-unordered-containers" ,ghc-unordered-containers)
7480 ("ghc-vector" ,ghc-vector)))
7481 (native-inputs
7482 `(("ghc-tasty" ,ghc-tasty)
7483 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7484 (home-page "https://github.com/fosskers/microlens-aeson")
7485 (synopsis "Law-abiding lenses for Aeson, using microlens")
7486 (description "This library provides law-abiding lenses for Aeson, using
7487microlens.")
7488 (license license:expat)))
7489
dddbc90c
RV
7490(define-public ghc-microlens-ghc
7491 (package
7492 (name "ghc-microlens-ghc")
027beb55 7493 (version "0.4.10")
dddbc90c
RV
7494 (source
7495 (origin
7496 (method url-fetch)
7497 (uri (string-append
7498 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7499 version
7500 ".tar.gz"))
7501 (sha256
7502 (base32
027beb55 7503 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
7504 (build-system haskell-build-system)
7505 (inputs `(("ghc-microlens" ,ghc-microlens)))
7506 (home-page "https://github.com/monadfix/microlens")
7507 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7508 (description "This library provides everything that @code{microlens}
7509provides plus instances to make @code{each}, @code{at}, and @code{ix}
7510usable with arrays, @code{ByteString}, and containers. This package is
7511a part of the @uref{http://hackage.haskell.org/package/microlens,
7512microlens} family; see the readme
7513@uref{https://github.com/aelve/microlens#readme, on Github}.")
7514 (license license:bsd-3)))
7515
7516(define-public ghc-microlens-mtl
7517 (package
7518 (name "ghc-microlens-mtl")
7519 (version "0.1.11.1")
7520 (source
7521 (origin
7522 (method url-fetch)
7523 (uri (string-append
7524 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7525 version
7526 ".tar.gz"))
7527 (sha256
7528 (base32
7529 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7530 (build-system haskell-build-system)
7531 (inputs
7532 `(("ghc-microlens" ,ghc-microlens)
7533 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7534 (home-page "https://github.com/monadfix/microlens")
7535 (synopsis
7536 "@code{microlens} support for Reader/Writer/State from mtl")
7537 (description
7538 "This package contains functions (like @code{view} or @code{+=}) which
7539work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7540mtl package. This package is a part of the
7541@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7542readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7543 (license license:bsd-3)))
7544
7545(define-public ghc-microlens-platform
7546 (package
7547 (name "ghc-microlens-platform")
85decc1f 7548 (version "0.3.11")
dddbc90c
RV
7549 (source
7550 (origin
7551 (method url-fetch)
7552 (uri (string-append
7553 "https://hackage.haskell.org/package/"
7554 "microlens-platform/microlens-platform-" version ".tar.gz"))
7555 (sha256
7556 (base32
85decc1f 7557 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
7558 (build-system haskell-build-system)
7559 (inputs
7560 `(("ghc-hashable" ,ghc-hashable)
7561 ("ghc-microlens" ,ghc-microlens)
7562 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7563 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7564 ("ghc-microlens-th" ,ghc-microlens-th)
7565 ("ghc-unordered-containers" ,ghc-unordered-containers)
7566 ("ghc-vector" ,ghc-vector)))
7567 (home-page "https://github.com/monadfix/microlens")
7568 (synopsis "Feature-complete microlens")
7569 (description
7570 "This package exports a module which is the recommended starting point
7571for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7572you aren't trying to keep your dependencies minimal. By importing
7573@code{Lens.Micro.Platform} you get all functions and instances from
7574@uref{http://hackage.haskell.org/package/microlens, microlens},
7575@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7576@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7577@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7578well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7579minor and major versions of @code{microlens-platform} are incremented whenever
7580the minor and major versions of any other @code{microlens} package are
7581incremented, so you can depend on the exact version of
7582@code{microlens-platform} without specifying the version of @code{microlens}
7583you need. This package is a part of the
7584@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7585readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7586 (license license:bsd-3)))
7587
7588(define-public ghc-microlens-th
7589 (package
7590 (name "ghc-microlens-th")
7ae52867 7591 (version "0.4.2.3")
dddbc90c
RV
7592 (source
7593 (origin
7594 (method url-fetch)
7595 (uri (string-append "https://hackage.haskell.org/package/"
7596 "microlens-th-" version "/"
7597 "microlens-th-" version ".tar.gz"))
7598 (sha256
7599 (base32
7ae52867 7600 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 7601 (build-system haskell-build-system)
7ae52867
TS
7602 (arguments
7603 `(#:cabal-revision
7604 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
7605 (inputs `(("ghc-microlens" ,ghc-microlens)
7606 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7607 (home-page
7608 "https://github.com/aelve/microlens")
7609 (synopsis "Automatic generation of record lenses for
7610@code{ghc-microlens}")
7611 (description "This Haskell package lets you automatically generate lenses
7612for data types; code was extracted from the lens package, and therefore
7613generated lenses are fully compatible with ones generated by lens (and can be
7614used both from lens and microlens).")
7615 (license license:bsd-3)))
7616
7617(define-public ghc-missingh
7618 (package
7619 (name "ghc-missingh")
641207cb 7620 (version "1.4.1.0")
dddbc90c
RV
7621 (source
7622 (origin
7623 (method url-fetch)
7624 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7625 "MissingH-" version ".tar.gz"))
7626 (sha256
7627 (base32
641207cb 7628 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
7629 (build-system haskell-build-system)
7630 ;; Tests require the unmaintained testpack package, which depends on the
7631 ;; outdated QuickCheck version 2.7, which can no longer be built with
7632 ;; recent versions of GHC and Haskell libraries.
7633 (arguments '(#:tests? #f))
7634 (inputs
7635 `(("ghc-network" ,ghc-network)
7636 ("ghc-hunit" ,ghc-hunit)
7637 ("ghc-regex-compat" ,ghc-regex-compat)
7638 ("ghc-hslogger" ,ghc-hslogger)
7639 ("ghc-random" ,ghc-random)
7640 ("ghc-old-time" ,ghc-old-time)
7641 ("ghc-old-locale" ,ghc-old-locale)))
7642 (native-inputs
7643 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7644 ("ghc-quickcheck" ,ghc-quickcheck)
7645 ("ghc-hunit" ,ghc-hunit)))
f1841ccf
TGR
7646 ;; ‘Official’ <http://software.complete.org/missingh> redirects to a 404.
7647 (home-page "https://github.com/haskell-hvr/missingh")
dddbc90c
RV
7648 (synopsis "Large utility library")
7649 (description
7650 "MissingH is a library of all sorts of utility functions for Haskell
7651programmers. It is written in pure Haskell and thus should be extremely
7652portable and easy to use.")
7653 (license license:bsd-3)))
7654
7655(define-public ghc-mmap
7656 (package
7657 (name "ghc-mmap")
7658 (version "0.5.9")
7659 (source (origin
7660 (method url-fetch)
7661 (uri (string-append "https://hackage.haskell.org/package/"
7662 "mmap/mmap-" version ".tar.gz"))
7663 (sha256
7664 (base32
7665 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7666 (build-system haskell-build-system)
7667 (home-page "https://hackage.haskell.org/package/mmap")
7668 (synopsis "Memory mapped files for Haskell")
7669 (description
7670 "This library provides a wrapper to @code{mmap}, allowing files or
7671devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7672@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7673do on-demand loading.")
7674 (license license:bsd-3)))
7675
7676(define-public ghc-mmorph
7677 (package
7678 (name "ghc-mmorph")
e0389704 7679 (version "1.1.3")
dddbc90c
RV
7680 (source
7681 (origin
7682 (method url-fetch)
7683 (uri (string-append
7684 "https://hackage.haskell.org/package/mmorph/mmorph-"
7685 version
7686 ".tar.gz"))
7687 (sha256
7688 (base32
e0389704 7689 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7690 (build-system haskell-build-system)
7691 (inputs
7692 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7693 (home-page "https://hackage.haskell.org/package/mmorph")
7694 (synopsis "Monad morphisms")
7695 (description
7696 "This library provides monad morphism utilities, most commonly used for
7697manipulating monad transformer stacks.")
7698 (license license:bsd-3)))
7699
7700(define-public ghc-mockery
7701 (package
7702 (name "ghc-mockery")
7703 (version "0.3.5")
7704 (source (origin
7705 (method url-fetch)
7706 (uri (string-append "https://hackage.haskell.org/package/"
7707 "mockery/mockery-" version ".tar.gz"))
7708 (sha256
7709 (base32
7710 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7711 (build-system haskell-build-system)
7712 (inputs
7713 `(("ghc-temporary" ,ghc-temporary)
7714 ("ghc-logging-facade" ,ghc-logging-facade)
7715 ("ghc-base-compat" ,ghc-base-compat)))
7716 (native-inputs
7717 `(("ghc-hspec" ,ghc-hspec)
7718 ("hspec-discover" ,hspec-discover)))
7719 (home-page "https://hackage.haskell.org/package/mockery")
7720 (synopsis "Support functions for automated testing")
7721 (description
7722 "The mockery package provides support functions for automated testing.")
7723 (license license:expat)))
7724
7725(define-public ghc-monad-control
7726 (package
7727 (name "ghc-monad-control")
7728 (version "1.0.2.3")
7729 (source
7730 (origin
7731 (method url-fetch)
7732 (uri (string-append
7733 "https://hackage.haskell.org/package/monad-control"
7734 "/monad-control-" version ".tar.gz"))
7735 (sha256
7736 (base32
7737 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7738 (build-system haskell-build-system)
7739 (inputs
7740 `(("ghc-transformers-base" ,ghc-transformers-base)
7741 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7742 (home-page "https://github.com/basvandijk/monad-control")
7743 (synopsis "Monad transformers to lift control operations like exception
7744catching")
7745 (description "This package defines the type class @code{MonadBaseControl},
7746a subset of @code{MonadBase} into which generic control operations such as
7747@code{catch} can be lifted from @code{IO} or any other base monad.")
7748 (license license:bsd-3)))
7749
7750(define-public ghc-monad-logger
7751 (package
7752 (name "ghc-monad-logger")
26980aae 7753 (version "0.3.30")
dddbc90c
RV
7754 (source
7755 (origin
7756 (method url-fetch)
7757 (uri (string-append "https://hackage.haskell.org/package/"
7758 "monad-logger-" version "/"
7759 "monad-logger-" version ".tar.gz"))
7760 (sha256
7761 (base32
26980aae 7762 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7763 (build-system haskell-build-system)
7764 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7765 ("ghc-stm-chans" ,ghc-stm-chans)
7766 ("ghc-lifted-base" ,ghc-lifted-base)
7767 ("ghc-resourcet" ,ghc-resourcet)
7768 ("ghc-conduit" ,ghc-conduit)
7769 ("ghc-conduit-extra" ,ghc-conduit-extra)
7770 ("ghc-fast-logger" ,ghc-fast-logger)
7771 ("ghc-transformers-base" ,ghc-transformers-base)
7772 ("ghc-monad-control" ,ghc-monad-control)
7773 ("ghc-monad-loops" ,ghc-monad-loops)
7774 ("ghc-blaze-builder" ,ghc-blaze-builder)
7775 ("ghc-exceptions" ,ghc-exceptions)))
7776 (home-page "https://github.com/kazu-yamamoto/logger")
7777 (synopsis "Provides a class of monads which can log messages for Haskell")
7778 (description "This Haskell package uses a monad transformer approach
7779for logging.
7780
7781This package provides Template Haskell functions for determining source
7782code locations of messages.")
7783 (license license:expat)))
7784
7785(define-public ghc-monad-loops
7786 (package
7787 (name "ghc-monad-loops")
7788 (version "0.4.3")
7789 (source
7790 (origin
7791 (method url-fetch)
7792 (uri (string-append "https://hackage.haskell.org/package/"
7793 "monad-loops-" version "/"
7794 "monad-loops-" version ".tar.gz"))
7795 (sha256
7796 (base32
7797 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7798 (build-system haskell-build-system)
7799 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7800 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7801 (home-page "https://github.com/mokus0/monad-loops")
7802 (synopsis "Monadic loops for Haskell")
7803 (description "This Haskell package provides some useful control
7804operators for looping.")
7805 (license license:public-domain)))
7806
7807(define-public ghc-monad-par
7808 (package
7809 (name "ghc-monad-par")
7810 (version "0.3.4.8")
7811 (source
7812 (origin
7813 (method url-fetch)
7814 (uri (string-append "https://hackage.haskell.org/package/"
7815 "monad-par-" version "/"
7816 "monad-par-" version ".tar.gz"))
faac56f3 7817 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7818 (sha256
7819 (base32
7820 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7821 (build-system haskell-build-system)
7822 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7823 ("ghc-abstract-deque" ,ghc-abstract-deque)
7824 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7825 ("ghc-mwc-random" ,ghc-mwc-random)
7826 ("ghc-parallel" ,ghc-parallel)))
7827 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7828 ("ghc-hunit" ,ghc-hunit)
7829 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7830 ("ghc-test-framework-quickcheck2"
7831 ,ghc-test-framework-quickcheck2)
7832 ("ghc-test-framework" ,ghc-test-framework)
7833 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7834 (home-page "https://github.com/simonmar/monad-par")
7835 (synopsis "Haskell library for parallel programming based on a monad")
7836 (description "The @code{Par} monad offers an API for parallel
7837programming. The library works for parallelising both pure and @code{IO}
7838computations, although only the pure version is deterministic. The default
7839implementation provides a work-stealing scheduler and supports forking tasks
7840that are much lighter weight than IO-threads.")
7841 (license license:bsd-3)))
7842
7843(define-public ghc-monad-par-extras
7844 (package
7845 (name "ghc-monad-par-extras")
7846 (version "0.3.3")
7847 (source
7848 (origin
7849 (method url-fetch)
7850 (uri (string-append "https://hackage.haskell.org/package/"
7851 "monad-par-extras-" version "/"
7852 "monad-par-extras-" version ".tar.gz"))
7853 (sha256
7854 (base32
7855 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7856 (build-system haskell-build-system)
7857 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7858 ("ghc-cereal" ,ghc-cereal)
7859 ("ghc-random" ,ghc-random)))
7860 (home-page "https://github.com/simonmar/monad-par")
7861 (synopsis "Combinators and extra features for Par monads for Haskell")
7862 (description "This Haskell package provides additional data structures,
7863and other added capabilities layered on top of the @code{Par} monad.")
7864 (license license:bsd-3)))
7865
dddbc90c
RV
7866(define-public ghc-monadrandom
7867 (package
7868 (name "ghc-monadrandom")
7869 (version "0.5.1.1")
7870 (source
7871 (origin
7872 (method url-fetch)
7873 (uri (string-append "https://hackage.haskell.org/package/"
7874 "MonadRandom-" version "/"
7875 "MonadRandom-" version ".tar.gz"))
7876 (sha256
7877 (base32
7878 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7879 (build-system haskell-build-system)
7880 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7881 ("ghc-primitive" ,ghc-primitive)
7882 ("ghc-fail" ,ghc-fail)
7883 ("ghc-random" ,ghc-random)))
7884 (home-page "https://github.com/byorgey/MonadRandom")
7885 (synopsis "Random-number generation monad for Haskell")
7886 (description "This Haskell package provides support for computations
7887which consume random values.")
7888 (license license:bsd-3)))
7889
7890(define-public ghc-monads-tf
7891 (package
7892 (name "ghc-monads-tf")
7893 (version "0.1.0.3")
7894 (source
7895 (origin
7896 (method url-fetch)
7897 (uri (string-append
7898 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7899 version ".tar.gz"))
7900 (sha256
7901 (base32
7902 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7903 (build-system haskell-build-system)
7904 (home-page "https://hackage.haskell.org/package/monads-tf")
7905 (synopsis "Monad classes, using type families")
7906 (description
7907 "Monad classes using type families, with instances for various monad transformers,
7908inspired by the paper 'Functional Programming with Overloading and Higher-Order
7909Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7910the @code{mtl-tf} package.")
7911 (license license:bsd-3)))
7912
7913(define-public ghc-mono-traversable
7914 (package
7915 (name "ghc-mono-traversable")
23bb445b 7916 (version "1.0.13.0")
dddbc90c
RV
7917 (source
7918 (origin
7919 (method url-fetch)
7920 (uri (string-append "https://hackage.haskell.org/package/"
7921 "mono-traversable-" version "/"
7922 "mono-traversable-" version ".tar.gz"))
7923 (sha256
7924 (base32
23bb445b 7925 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c 7926 (build-system haskell-build-system)
3e6ecfeb 7927 (outputs '("out" "static" "doc"))
dddbc90c
RV
7928 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7929 ("ghc-hashable" ,ghc-hashable)
7930 ("ghc-vector" ,ghc-vector)
7931 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7932 ("ghc-split" ,ghc-split)))
7933 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7934 ("ghc-hunit" ,ghc-hunit)
7935 ("ghc-quickcheck" ,ghc-quickcheck)
7936 ("ghc-semigroups" ,ghc-semigroups)
7937 ("ghc-foldl" ,ghc-foldl)))
7938 (home-page "https://github.com/snoyberg/mono-traversable")
7939 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7940containers")
7941 (description "This Haskell package provides Monomorphic variants of the
7942Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7943basic typeclasses, you understand mono-traversable. In addition to what
7944you are used to, it adds on an IsSequence typeclass and has code for marking
7945data structures as non-empty.")
7946 (license license:expat)))
7947
471e77cf
TS
7948(define-public ghc-monoid-extras
7949 (package
7950 (name "ghc-monoid-extras")
7951 (version "0.5.1")
7952 (source
7953 (origin
7954 (method url-fetch)
7955 (uri (string-append "https://hackage.haskell.org/package/"
7956 "monoid-extras/monoid-extras-" version ".tar.gz"))
7957 (sha256
7958 (base32
7959 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7960 (build-system haskell-build-system)
7961 (inputs
7962 `(("ghc-groups" ,ghc-groups)
7963 ("ghc-semigroups" ,ghc-semigroups)
7964 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7965 (arguments
7966 `(#:cabal-revision
7967 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7968 (home-page "https://hackage.haskell.org/package/monoid-extras")
7969 (synopsis "Various extra monoid-related definitions and utilities")
7970 (description "This package provides various extra monoid-related
7971definitions and utilities, such as monoid actions, monoid coproducts,
7972semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7973\"cut\" monoids.")
7974 (license license:bsd-3)))
7975
4759b617
JS
7976(define-public ghc-mtl-compat
7977 (package
7978 (name "ghc-mtl-compat")
7979 (version "0.2.2")
7980 (source
7981 (origin
7982 (method url-fetch)
7983 (uri (string-append
7984 "mirror://hackage/package/mtl-compat/mtl-compat-"
7985 version
7986 ".tar.gz"))
7987 (sha256
7988 (base32
7989 "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
7990 (build-system haskell-build-system)
7991 (home-page
7992 "https://github.com/haskell-compat/mtl-compat")
7993 (synopsis
7994 "Backported Control.Monad.Except module from mtl")
7995 (description
7996 "This package backports the Control.Monad.Except module from mtl (if
7997using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
7998and the MonadError class.
7999
8000This package should only be used if there is a need to use the
8001Control.Monad.Except module specifically. If you just want the mtl class
8002instances for ExceptT, use transformers-compat instead, since mtl-compat does
8003nothing but reexport the instances from that package.
8004
8005Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
8006module defined in this package exports all of ExceptT's monad class instances.
8007Therefore, you may have to declare @code{import Control.Monad.Except ()} at
8008the top of your file to get all of the ExceptT instances in scope.")
8009 (license license:bsd-3)))
8010
dddbc90c
RV
8011(define-public ghc-murmur-hash
8012 (package
8013 (name "ghc-murmur-hash")
8014 (version "0.1.0.9")
8015 (source
8016 (origin
8017 (method url-fetch)
8018 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
8019 "/murmur-hash-" version ".tar.gz"))
8020 (sha256
8021 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
8022 (build-system haskell-build-system)
8023 (home-page "https://github.com/nominolo/murmur-hash")
8024 (synopsis "MurmurHash2 implementation for Haskell")
8025 (description
8026 "This package provides an implementation of MurmurHash2, a good, fast,
8027general-purpose, non-cryptographic hashing function. See
8028@url{https://sites.google.com/site/murmurhash/} for details. This
8029implementation is pure Haskell, so it might be a bit slower than a C FFI
8030binding.")
8031 (license license:bsd-3)))
8032
8033(define-public ghc-mwc-random
8034 (package
8035 (name "ghc-mwc-random")
33268e2c 8036 (version "0.14.0.0")
dddbc90c
RV
8037 (source
8038 (origin
8039 (method url-fetch)
8040 (uri (string-append "https://hackage.haskell.org/package/"
8041 "mwc-random-" version "/"
8042 "mwc-random-" version ".tar.gz"))
8043 (sha256
8044 (base32
33268e2c 8045 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
8046 (build-system haskell-build-system)
8047 (inputs
8048 `(("ghc-primitive" ,ghc-primitive)
8049 ("ghc-vector" ,ghc-vector)
8050 ("ghc-math-functions" ,ghc-math-functions)))
8051 (arguments
8052 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8053 (native-inputs
8054 `(("ghc-hunit" ,ghc-hunit)
8055 ("ghc-quickcheck" ,ghc-quickcheck)
8056 ("ghc-test-framework" ,ghc-test-framework)
8057 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8058 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8059 (home-page "https://github.com/bos/mwc-random")
8060 (synopsis "Random number generation library for Haskell")
8061 (description "This Haskell package contains code for generating
8062high quality random numbers that follow either a uniform or normal
8063distribution. The generated numbers are suitable for use in
8064statistical applications.
8065
8066The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8067multiply-with-carry generator, which has a period of 2^{8222} and
8068fares well in tests of randomness. It is also extremely fast,
8069between 2 and 3 times faster than the Mersenne Twister.")
8070 (license license:bsd-3)))
8071
8072(define-public ghc-nats
8073 (package
8074 (name "ghc-nats")
8075 (version "1.1.2")
8076 (source
8077 (origin
8078 (method url-fetch)
8079 (uri (string-append
8080 "https://hackage.haskell.org/package/nats/nats-"
8081 version
8082 ".tar.gz"))
8083 (sha256
8084 (base32
8085 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
8086 (build-system haskell-build-system)
8087 (arguments `(#:haddock? #f))
8088 (inputs
8089 `(("ghc-hashable" ,ghc-hashable)))
8090 (home-page "https://hackage.haskell.org/package/nats")
8091 (synopsis "Natural numbers")
8092 (description "This library provides the natural numbers for Haskell.")
8093 (license license:bsd-3)))
8094
8095(define-public ghc-nats-bootstrap
8096 (package
8097 (inherit ghc-nats)
8098 (name "ghc-nats-bootstrap")
8099 (inputs
8100 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
8101 (properties '((hidden? #t)))))
8102
52915062
EF
8103(define-public ghc-ncurses
8104 (package
8105 (name "ghc-ncurses")
8106 (version "0.2.16")
8107 (source
8108 (origin
8109 (method url-fetch)
8110 (uri (string-append
8111 "https://hackage.haskell.org/package/ncurses/ncurses-"
8112 version ".tar.gz"))
8113 (sha256
8114 (base32
8115 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
8116 (build-system haskell-build-system)
8117 (arguments
54a5fd07
TS
8118 '(#:extra-directories ("ncurses")
8119 #:phases
52915062
EF
8120 (modify-phases %standard-phases
8121 (add-before 'build 'fix-includes
8122 (lambda _
8123 (substitute* '("cbits/hsncurses-shim.h"
8124 "lib/UI/NCurses.chs"
8125 "lib/UI/NCurses/Enums.chs"
8126 "lib/UI/NCurses/Panel.chs")
8127 (("<ncursesw/") "<"))
8128 #t)))
8129 #:cabal-revision
8130 ("1"
8131 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
8132 (inputs `(("ncurses" ,ncurses)))
8133 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
8134 (home-page "https://john-millikin.com/software/haskell-ncurses/")
8135 (synopsis "Modernised bindings to GNU ncurses")
8136 (description "GNU ncurses is a library for creating command-line application
8137with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
8138ncurses.")
8139 (license license:gpl3)))
8140
dddbc90c
RV
8141(define-public ghc-network
8142 (package
8143 (name "ghc-network")
d4473202 8144 (version "2.8.0.1")
534d6caa 8145 (outputs '("out" "static" "doc"))
dddbc90c
RV
8146 (source
8147 (origin
8148 (method url-fetch)
8149 (uri (string-append
8150 "https://hackage.haskell.org/package/network/network-"
8151 version
8152 ".tar.gz"))
8153 (sha256
8154 (base32
d4473202 8155 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
8156 (build-system haskell-build-system)
8157 ;; The regression tests depend on an unpublished module.
8158 (arguments `(#:tests? #f))
8159 (native-inputs
8160 `(("ghc-hunit" ,ghc-hunit)
8161 ("ghc-doctest" ,ghc-doctest)
8162 ("ghc-test-framework" ,ghc-test-framework)
8163 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
8164 (home-page "https://github.com/haskell/network")
8165 (synopsis "Low-level networking interface")
8166 (description
8167 "This package provides a low-level networking interface.")
8168 (license license:bsd-3)))
4780db2c 8169
30eebbe6
TS
8170(define-public ghc-network-bsd
8171 (package
8172 (name "ghc-network-bsd")
8173 (version "2.8.0.0")
8174 (source
8175 (origin
8176 (method url-fetch)
8177 (uri (string-append "https://hackage.haskell.org/package/"
8178 "network-bsd/network-bsd-" version ".tar.gz"))
8179 (sha256
8180 (base32
8181 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
8182 (build-system haskell-build-system)
8183 (inputs
8184 `(("ghc-network" ,ghc-network)))
8185 (home-page "https://github.com/haskell/network-bsd")
8186 (synopsis "POSIX network database (<netdb.h>) API")
8187 (description "This package provides Haskell bindings to the the POSIX
8188network database (<netdb.h>) API.")
8189 (license license:bsd-3)))
8190
096781a1
TS
8191(define-public ghc-network-byte-order
8192 (package
8193 (name "ghc-network-byte-order")
8194 (version "0.1.1.1")
8195 (source
8196 (origin
8197 (method url-fetch)
8198 (uri (string-append "https://hackage.haskell.org/package/"
8199 "network-byte-order/network-byte-order-"
8200 version ".tar.gz"))
8201 (sha256
8202 (base32
8203 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
8204 (build-system haskell-build-system)
8205 (native-inputs
8206 `(("ghc-doctest" ,ghc-doctest)))
3ef91e15 8207 (home-page "https://hackage.haskell.org/package/network-byte-order")
096781a1
TS
8208 (synopsis "Network byte order utilities")
8209 (description "This library provides peek and poke functions for network
8210byte order.")
8211 (license license:bsd-3)))
8212
dddbc90c
RV
8213(define-public ghc-network-info
8214 (package
8215 (name "ghc-network-info")
8216 (version "0.2.0.10")
8217 (source
8218 (origin
8219 (method url-fetch)
8220 (uri (string-append "https://hackage.haskell.org/package/"
8221 "network-info-" version "/"
8222 "network-info-" version ".tar.gz"))
8223 (sha256
8224 (base32
8225 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
8226 (build-system haskell-build-system)
8227 (home-page "https://github.com/jystic/network-info")
8228 (synopsis "Access the local computer's basic network configuration")
8229 (description "This Haskell library provides simple read-only access to the
8230local computer's networking configuration. It is currently capable of
8231getting a list of all the network interfaces and their respective
8232IPv4, IPv6 and MAC addresses.")
8233 (license license:bsd-3)))
8234
8235(define-public ghc-network-uri
8236 (package
8237 (name "ghc-network-uri")
8238 (version "2.6.1.0")
534d6caa 8239 (outputs '("out" "static" "doc"))
dddbc90c
RV
8240 (source
8241 (origin
8242 (method url-fetch)
8243 (uri (string-append
8244 "https://hackage.haskell.org/package/network-uri/network-uri-"
8245 version
8246 ".tar.gz"))
8247 (sha256
8248 (base32
8249 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
8250 (build-system haskell-build-system)
8251 (arguments
8252 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
8253 (inputs
8254 `(("ghc-network" ,ghc-network)))
8255 (native-inputs
8256 `(("ghc-hunit" ,ghc-hunit)))
8257 (home-page
8258 "https://github.com/haskell/network-uri")
8259 (synopsis "Library for URI manipulation")
8260 (description "This package provides an URI manipulation interface. In
8261@code{network-2.6} the @code{Network.URI} module was split off from the
8262@code{network} package into this package.")
8263 (license license:bsd-3)))
8264
8265(define-public ghc-newtype-generics
8266 (package
8267 (name "ghc-newtype-generics")
c07e16dd 8268 (version "0.5.4")
dddbc90c
RV
8269 (source
8270 (origin
8271 (method url-fetch)
8272 (uri (string-append "https://hackage.haskell.org/package/"
8273 "newtype-generics/newtype-generics-"
8274 version ".tar.gz"))
8275 (sha256
8276 (base32
c07e16dd 8277 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
8278 (build-system haskell-build-system)
8279 (native-inputs
8280 `(("ghc-hspec" ,ghc-hspec)
8281 ("hspec-discover" ,hspec-discover)))
702a1012 8282 (home-page "https://github.com/sjakobi/newtype-generics")
dddbc90c
RV
8283 (synopsis "Typeclass and set of functions for working with newtypes")
8284 (description "The @code{Newtype} typeclass represents the packing and
8285unpacking of a newtype, and allows you to operate under that newtype with
8286functions such as @code{ala}. Generics support was added in version 0.4,
8287making this package a full replacement for the original newtype package,
8288and an alternative to newtype-th.")
8289 (license license:bsd-3)))
8290
6b652f5a
JS
8291(define-public ghc-non-negative
8292 (package
8293 (name "ghc-non-negative")
8294 (version "0.1.2")
8295 (source
8296 (origin
8297 (method url-fetch)
8298 (uri
8299 (string-append
8300 "https://hackage.haskell.org/package/non-negative/non-negative-"
8301 version ".tar.gz"))
8302 (sha256
8303 (base32
8304 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
8305 (build-system haskell-build-system)
8306 (inputs
8307 `(("ghc-semigroups" ,ghc-semigroups)
8308 ("ghc-utility-ht" ,ghc-utility-ht)
8309 ("ghc-quickcheck" ,ghc-quickcheck)))
8310 (home-page "https://hackage.haskell.org/package/non-negative")
8311 (synopsis "Non-negative numbers class")
8312 (description "This library provides a class for non-negative numbers,
8313a wrapper which can turn any ordered numeric type into a member of that
8314class, and a lazy number type for non-negative numbers (a generalization
8315of Peano numbers).")
8316 (license license:gpl3+)))
8317
49bcca84
ASM
8318(define-public ghc-nonce
8319 (package
8320 (name "ghc-nonce")
8321 (version "1.0.7")
8322 (source
8323 (origin
8324 (method url-fetch)
8325 (uri (string-append
8326 "https://hackage.haskell.org/package/nonce/"
8327 "nonce-" version ".tar.gz"))
8328 (sha256
8329 (base32
8330 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
8331 (build-system haskell-build-system)
8332 (inputs
8333 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
8334 ("ghc-entropy" ,ghc-entropy)
8335 ("ghc-unliftio" ,ghc-unliftio)
8336 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8337 (home-page "https://github.com/prowdsponsor/nonce")
8338 (synopsis "Generate cryptographic nonces in Haskell")
8339 (description
8340 "A nonce is an arbitrary number used only once in a cryptographic
8341communication. This package contain helper functions for generating nonces.
8342There are many kinds of nonces used in different situations. It's not
8343guaranteed that by using the nonces from this package you won't have any
8344security issues. Please make sure that the nonces generated via this
8345package are usable on your design.")
8346 (license license:bsd-3)))
8347
194a82e6
TS
8348(define-public ghc-numeric-extras
8349 (package
8350 (name "ghc-numeric-extras")
8351 (version "0.1")
8352 (source
8353 (origin
8354 (method url-fetch)
8355 (uri (string-append "https://hackage.haskell.org/package/"
8356 "numeric-extras/numeric-extras-"
8357 version ".tar.gz"))
8358 (sha256
8359 (base32
8360 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
8361 (build-system haskell-build-system)
8362 (home-page "https://github.com/ekmett/numeric-extras")
8363 (synopsis "Useful tools from the C standard library")
8364 (description "This library provides some useful tools from the C
8365standard library.")
8366 (license license:bsd-3)))
8367
dddbc90c
RV
8368(define-public ghc-objectname
8369 (package
8370 (name "ghc-objectname")
8371 (version "1.1.0.1")
8372 (source
8373 (origin
8374 (method url-fetch)
8375 (uri (string-append
8376 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
8377 version
8378 ".tar.gz"))
8379 (sha256
8380 (base32
8381 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
8382 (build-system haskell-build-system)
8383 (home-page "https://hackage.haskell.org/package/ObjectName")
8384 (synopsis "Helper library for Haskell OpenGL")
8385 (description "This tiny package contains the class ObjectName, which
8386corresponds to the general notion of explicitly handled identifiers for API
8387objects, e.g. a texture object name in OpenGL or a buffer object name in
8388OpenAL.")
8389 (license license:bsd-3)))
8390
8391(define-public ghc-old-locale
8392 (package
8393 (name "ghc-old-locale")
8394 (version "1.0.0.7")
8395 (source
8396 (origin
8397 (method url-fetch)
8398 (uri (string-append
8399 "https://hackage.haskell.org/package/old-locale/old-locale-"
8400 version
8401 ".tar.gz"))
8402 (sha256
8403 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8404 (build-system haskell-build-system)
8405 (arguments
8406 `(#:cabal-revision
8407 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8408 (home-page "https://hackage.haskell.org/package/old-locale")
8409 (synopsis "Adapt to locale conventions")
8410 (description
8411 "This package provides the ability to adapt to locale conventions such as
8412date and time formats.")
8413 (license license:bsd-3)))
8414
8415(define-public ghc-old-time
8416 (package
8417 (name "ghc-old-time")
8418 (version "1.1.0.3")
8419 (source
8420 (origin
8421 (method url-fetch)
8422 (uri (string-append
8423 "https://hackage.haskell.org/package/old-time/old-time-"
8424 version
8425 ".tar.gz"))
8426 (sha256
8427 (base32
8428 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8429 (build-system haskell-build-system)
8430 (arguments
8431 `(#:cabal-revision
8432 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8433 (inputs
8434 `(("ghc-old-locale" ,ghc-old-locale)))
8435 (home-page "https://hackage.haskell.org/package/old-time")
8436 (synopsis "Time compatibility library for Haskell")
8437 (description "Old-time is a package for backwards compatibility with the
8438old @code{time} library. For new projects, the newer
8439@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8440 (license license:bsd-3)))
8441
8442(define-public ghc-opengl
8443 (package
8444 (name "ghc-opengl")
79a06910 8445 (version "3.0.3.0")
dddbc90c
RV
8446 (source
8447 (origin
8448 (method url-fetch)
8449 (uri (string-append
8450 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8451 version
8452 ".tar.gz"))
8453 (sha256
8454 (base32
79a06910 8455 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 8456 (build-system haskell-build-system)
79a06910
TS
8457 (arguments
8458 `(#:cabal-revision
8459 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
8460 (inputs
8461 `(("ghc-objectname" ,ghc-objectname)
8462 ("ghc-gluraw" ,ghc-gluraw)
8463 ("ghc-statevar" ,ghc-statevar)
8464 ("ghc-openglraw" ,ghc-openglraw)))
228d2901 8465 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
8466 (synopsis "Haskell bindings for the OpenGL graphics system")
8467 (description "This package provides Haskell bindings for the OpenGL
8468graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8469version 1.3).")
8470 (license license:bsd-3)))
8471
8472(define-public ghc-openglraw
8473 (package
8474 (name "ghc-openglraw")
15ebc815 8475 (version "3.3.3.0")
dddbc90c
RV
8476 (source
8477 (origin
8478 (method url-fetch)
8479 (uri (string-append
8480 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8481 version
8482 ".tar.gz"))
8483 (sha256
8484 (base32
15ebc815 8485 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c 8486 (build-system haskell-build-system)
54a5fd07
TS
8487 (arguments
8488 `(#:extra-directories ("glu")))
dddbc90c
RV
8489 (inputs
8490 `(("ghc-half" ,ghc-half)
8491 ("ghc-fixed" ,ghc-fixed)
8492 ("glu" ,glu)))
228d2901 8493 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
8494 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8495 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8496graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8497of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8498offers access to all necessary functions, tokens and types plus a general
8499facility for loading extension entries. The module hierarchy closely mirrors
8500the naming structure of the OpenGL extensions, making it easy to find the
8501right module to import. All API entries are loaded dynamically, so no special
8502C header files are needed for building this package. If an API entry is not
8503found at runtime, a userError is thrown.")
8504 (license license:bsd-3)))
8505
8506(define-public ghc-operational
8507 (package
8508 (name "ghc-operational")
8509 (version "0.2.3.5")
8510 (source
8511 (origin
8512 (method url-fetch)
8513 (uri (string-append "https://hackage.haskell.org/package/operational/"
8514 "operational-" version ".tar.gz"))
8515 (sha256
8516 (base32
8517 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8518 (build-system haskell-build-system)
8519 (inputs
8520 `(("ghc-random" ,ghc-random)))
8521 (home-page "http://wiki.haskell.org/Operational")
8522 (synopsis "Implementation of difficult monads made easy with operational semantics")
8523 (description
8524 "This library makes it easy to implement monads with tricky control
8525flow. This is useful for: writing web applications in a sequential style,
8526programming games with a uniform interface for human and AI players and easy
8527replay capababilities, implementing fast parser monads, designing monadic
8528DSLs, etc.")
8529 (license license:bsd-3)))
8530
6f1477d2
JS
8531(define-public ghc-optional-args
8532 (package
8533 (name "ghc-optional-args")
8534 (version "1.0.2")
8535 (source
8536 (origin
8537 (method url-fetch)
8538 (uri (string-append
8539 "mirror://hackage/package/optional-args/optional-args-"
8540 version
8541 ".tar.gz"))
8542 (sha256
8543 (base32
8544 "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"))))
8545 (build-system haskell-build-system)
8546 (home-page
8547 "http://hackage.haskell.org/package/optional-args")
8548 (synopsis "Optional function arguments")
8549 (description
8550 "This library provides a type for specifying @code{Optional} function
8551arguments.")
8552 (license license:bsd-3)))
8553
dddbc90c
RV
8554(define-public ghc-options
8555 (package
8556 (name "ghc-options")
8557 (version "1.2.1.1")
8558 (source
8559 (origin
8560 (method url-fetch)
8561 (uri (string-append
8562 "https://hackage.haskell.org/package/options/options-"
8563 version ".tar.gz"))
8564 (sha256
8565 (base32
8566 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8567 (build-system haskell-build-system)
24cf2a8b
TS
8568 (arguments
8569 `(#:phases
8570 (modify-phases %standard-phases
8571 (add-before 'configure 'update-constraints
8572 (lambda _
8573 (substitute* "options.cabal"
8574 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8575 #t)))))
dddbc90c
RV
8576 (inputs
8577 `(("ghc-monads-tf" ,ghc-monads-tf)
8578 ("ghc-chell" ,ghc-chell)
8579 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8580 (home-page "https://john-millikin.com/software/haskell-options/")
8581 (synopsis "Powerful and easy-to-use command-line option parser")
8582 (description
8583 "The @code{options} package lets library and application developers
8584easily work with command-line options.")
8585 (license license:expat)))
8586
8587;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8588(define ghc-options-bootstrap
8589 (package
8590 (name "ghc-options-bootstrap")
8591 (version "1.2.1.1")
8592 (source
8593 (origin
8594 (method url-fetch)
8595 (uri (string-append
8596 "https://hackage.haskell.org/package/options/options-"
8597 version ".tar.gz"))
8598 (sha256
8599 (base32
8600 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8601 (build-system haskell-build-system)
8602 (arguments
8603 `(#:tests? #f))
8604 (inputs
8605 `(("ghc-monads-tf" ,ghc-monads-tf)))
8606 (home-page "https://john-millikin.com/software/haskell-options/")
8607 (synopsis "Powerful and easy-to-use command-line option parser")
8608 (description
8609 "The @code{options} package lets library and application developers
8610easily work with command-line options.")
8611 (license license:expat)))
8612
8613
8614(define-public ghc-optparse-applicative
8615 (package
8616 (name "ghc-optparse-applicative")
74bf6965 8617 (version "0.14.3.0")
dddbc90c
RV
8618 (source
8619 (origin
8620 (method url-fetch)
8621 (uri (string-append
8622 "https://hackage.haskell.org/package/optparse-applicative"
8623 "/optparse-applicative-" version ".tar.gz"))
8624 (sha256
8625 (base32
74bf6965 8626 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8627 (build-system haskell-build-system)
74bf6965
TS
8628 (arguments
8629 `(#:cabal-revision
8630 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8631 (inputs
8632 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8633 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8634 (native-inputs
8635 `(("ghc-quickcheck" ,ghc-quickcheck)))
8636 (home-page "https://github.com/pcapriotti/optparse-applicative")
8637 (synopsis "Utilities and combinators for parsing command line options")
8638 (description "This package provides utilities and combinators for parsing
8639command line options in Haskell.")
8640 (license license:bsd-3)))
8641
d56c8120
NG
8642(define-public ghc-jira-wiki-markup
8643 (package
8644 (name "ghc-jira-wiki-markup")
8645 (version "1.0.0")
8646 (source
8647 (origin
8648 (method url-fetch)
8649 (uri (string-append
8650 "https://hackage.haskell.org/package/jira-wiki-markup/"
8651 "jira-wiki-markup-" version ".tar.gz"))
8652 (sha256
8653 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8654 (build-system haskell-build-system)
8655 (native-inputs
8656 `(("ghc-tasty" ,ghc-tasty)
8657 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8658 (home-page "https://github.com/tarleb/jira-wiki-markup")
8659 (synopsis "Handle Jira wiki markup")
8660 (description
8661 "Parse jira wiki text into an abstract syntax tree for easy transformation
8662to other formats.")
8663 (license license:expat)))
8664
20690771
NG
8665(define-public ghc-emojis
8666 (package
8667 (name "ghc-emojis")
8668 (version "0.1")
8669 (source
8670 (origin
8671 (method url-fetch)
8672 (uri (string-append
8673 "https://hackage.haskell.org/package/emojis/"
8674 "emojis-" version ".tar.gz"))
8675 (sha256
8676 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8677 (build-system haskell-build-system)
8678 (native-inputs
8679 `(("ghc-hunit" ,ghc-hunit)))
8680 (home-page "https://github.com/jgm/emojis#readme")
8681 (synopsis "Conversion between emoji characters and their names.")
8682 (description
8683 "This package provides functions for converting emoji names to emoji
8684characters and vice versa.
8685
8686How does it differ from the @code{emoji} package?
8687@itemize
8688@item It supports a fuller range of emojis, including all those supported by
8689GitHub
8690@item It supports lookup of emoji aliases from emoji
8691@item It uses Text rather than String
8692@item It has a lighter dependency footprint: in particular, it does not
8693require aeson
8694@item It does not require TemplateHaskell
8695@end itemize")
8696 (license license:bsd-3)))
8697
e90a06fc
NG
8698(define-public ghc-text-conversions
8699 (package
8700 (name "ghc-text-conversions")
8701 (version "0.3.0")
8702 (source
8703 (origin
8704 (method url-fetch)
8705 (uri (string-append
8706 "https://hackage.haskell.org/package/text-conversions/"
8707 "text-conversions-" version ".tar.gz"))
8708 (sha256
8709 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8710 (build-system haskell-build-system)
8711 (inputs
8712 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8713 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8714 ("ghc-errors" ,ghc-errors)))
8715 (native-inputs
8716 `(("ghc-hspec" ,ghc-hspec)
27b09f3a 8717 ("hspec-discover" ,hspec-discover)))
e90a06fc
NG
8718 (home-page "https://github.com/cjdev/text-conversions#readme")
8719 (synopsis "Safe conversions between textual types")
8720 (description "Safe conversions between textual types")
8721 (license license:isc)))
8722
ba7cbae3
NG
8723(define-public ghc-doclayout
8724 (package
8725 (name "ghc-doclayout")
8726 (version "0.3")
8727 (source
8728 (origin
8729 (method url-fetch)
8730 (uri (string-append
8731 "https://hackage.haskell.org/package/doclayout/"
8732 "doclayout-" version ".tar.gz"))
8733 (sha256
8734 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8735 (build-system haskell-build-system)
8736 (inputs
8737 `(("ghc-safe" ,ghc-safe)))
8738 (native-inputs
8739 `(("ghc-tasty" ,ghc-tasty)
8740 ("ghc-tasty-golden" ,ghc-tasty-golden)
8741 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8742 (home-page "https://github.com/jgm/doclayout")
8743 (synopsis "Pretty-printing library for laying out text documents")
8744 (description
8745 "doclayout is a pretty-printing library for laying out text documents,
8746with several features not present in pretty-printing libraries designed for
8747code. It was designed for use in @code{Pandoc}.")
8748 (license license:bsd-3)))
8749
dddbc90c
RV
8750(define-public ghc-pandoc
8751 (package
8752 (name "ghc-pandoc")
d9b1567a 8753 (version "2.7.3")
dddbc90c
RV
8754 (source
8755 (origin
8756 (method url-fetch)
8757 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8758 version ".tar.gz"))
d9b1567a
TS
8759 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8760 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8761 (sha256
8762 (base32
d9b1567a 8763 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8764 (build-system haskell-build-system)
dddbc90c
RV
8765 (inputs
8766 `(("ghc-aeson" ,ghc-aeson)
8767 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8768 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8769 ("ghc-blaze-html" ,ghc-blaze-html)
8770 ("ghc-blaze-markup" ,ghc-blaze-markup)
8771 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8772 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8773 ("ghc-diff" ,ghc-diff)
8774 ("ghc-doctemplates" ,ghc-doctemplates)
8775 ("ghc-executable-path" ,ghc-executable-path)
8776 ("ghc-glob" ,ghc-glob)
8777 ("ghc-haddock-library" ,ghc-haddock-library)
8778 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8779 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8780 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8781 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8782 ("ghc-http" ,ghc-http)
8783 ("ghc-http-client" ,ghc-http-client)
8784 ("ghc-http-client-tls" ,ghc-http-client-tls)
8785 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8786 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8787 ("ghc-juicypixels" ,ghc-juicypixels)
8788 ("ghc-network" ,ghc-network)
8789 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8790 ("ghc-pandoc-types" ,ghc-pandoc-types)
8791 ("ghc-random" ,ghc-random)
8792 ("ghc-scientific" ,ghc-scientific)
8793 ("ghc-sha" ,ghc-sha)
8794 ("ghc-skylighting" ,ghc-skylighting)
8795 ("ghc-split" ,ghc-split)
8796 ("ghc-syb" ,ghc-syb)
8797 ("ghc-tagsoup" ,ghc-tagsoup)
8798 ("ghc-temporary" ,ghc-temporary)
8799 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8800 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8801 ("ghc-unordered-containers" ,ghc-unordered-containers)
8802 ("ghc-vector" ,ghc-vector)
8803 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8804 ("ghc-zip-archive" ,ghc-zip-archive)
8805 ("ghc-zlib" ,ghc-zlib)))
8806 (native-inputs
8807 `(("ghc-tasty" ,ghc-tasty)
8808 ("ghc-tasty-golden" ,ghc-tasty-golden)
8809 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8810 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8811 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8812 ("ghc-quickcheck" ,ghc-quickcheck)
8813 ("ghc-hunit" ,ghc-hunit)))
8814 (home-page "https://pandoc.org")
8815 (synopsis "Conversion between markup formats")
8816 (description
8817 "Pandoc is a Haskell library for converting from one markup format to
8818another, and a command-line tool that uses this library. It can read and
8819write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8820LaTeX, DocBook, and many more.
8821
8822Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8823definition lists, tables, and other features. A compatibility mode is
8824provided for those who need a drop-in replacement for Markdown.pl.")
8825 (license license:gpl2+)))
8826
8827(define-public ghc-pandoc-citeproc
8828 (package
8829 (name "ghc-pandoc-citeproc")
2da02d09 8830 (version "0.16.2")
dddbc90c
RV
8831 (source
8832 (origin
8833 (method url-fetch)
8834 (uri (string-append "https://hackage.haskell.org/package/"
8835 "pandoc-citeproc/pandoc-citeproc-"
8836 version ".tar.gz"))
8837 (sha256
8838 (base32
2da02d09 8839 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8840 (build-system haskell-build-system)
8841 (arguments
8842 `(#:phases
8843 (modify-phases %standard-phases
8844 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8845 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8846 (add-before 'configure 'patch-tests
8847 (lambda _
8848 (substitute* "tests/test-pandoc-citeproc.hs"
8849 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8850 "let allTests = citeprocTests"))))
8851 ;; Tests need to be run after installation.
8852 (delete 'check)
8853 (add-after 'install 'post-install-check
8854 (assoc-ref %standard-phases 'check)))))
8855 (inputs
8856 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8857 ("ghc-pandoc" ,ghc-pandoc)
8858 ("ghc-tagsoup" ,ghc-tagsoup)
8859 ("ghc-aeson" ,ghc-aeson)
8860 ("ghc-vector" ,ghc-vector)
8861 ("ghc-xml-conduit" ,ghc-xml-conduit)
8862 ("ghc-unordered-containers" ,ghc-unordered-containers)
8863 ("ghc-data-default" ,ghc-data-default)
8864 ("ghc-setenv" ,ghc-setenv)
8865 ("ghc-split" ,ghc-split)
8866 ("ghc-yaml" ,ghc-yaml)
8867 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8868 ("ghc-rfc5051" ,ghc-rfc5051)
8869 ("ghc-syb" ,ghc-syb)
8870 ("ghc-old-locale" ,ghc-old-locale)
8871 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8872 ("ghc-attoparsec" ,ghc-attoparsec)
8873 ("ghc-temporary" ,ghc-temporary)))
8874 (home-page "https://github.com/jgm/pandoc-citeproc")
8875 (synopsis "Library for using pandoc with citeproc")
8876 (description
8877 "The @code{pandoc-citeproc} library exports functions for using the
8878citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8879rendering bibliographic reference citations into a variety of styles using a
8880macro language called @dfn{Citation Style Language} (CSL). This package also
8881contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8882and also has a mode for converting bibliographic databases a YAML format
8883suitable for inclusion in pandoc YAML metadata.")
8884 (license license:bsd-3)))
8885
8886(define-public ghc-pandoc-types
8887 (package
8888 (name "ghc-pandoc-types")
0eaa88c8 8889 (version "1.17.6.1")
dddbc90c
RV
8890 (source (origin
8891 (method url-fetch)
8892 (uri (string-append "https://hackage.haskell.org/package/"
8893 "pandoc-types/pandoc-types-"
8894 version ".tar.gz"))
8895 (sha256
8896 (base32
0eaa88c8 8897 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8898 (build-system haskell-build-system)
8899 (inputs
8900 `(("ghc-syb" ,ghc-syb)
8901 ("ghc-aeson" ,ghc-aeson)
8902 ("ghc-string-qq" ,ghc-string-qq)))
8903 (native-inputs
8904 `(("ghc-quickcheck" ,ghc-quickcheck)
8905 ("ghc-test-framework" ,ghc-test-framework)
8906 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8907 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8908 ("ghc-hunit" ,ghc-hunit)))
d48b5c8a 8909 (home-page "https://johnmacfarlane.net/pandoc")
dddbc90c
RV
8910 (synopsis "Types for representing a structured document")
8911 (description
8912 "This module defines the @code{Pandoc} data structure, which is used by
8913pandoc to represent structured documents. It also provides functions for
8914building up, manipulating and serialising @code{Pandoc} structures.")
8915 (license license:bsd-3)))
8916
8917(define-public ghc-parallel
8918 (package
8919 (name "ghc-parallel")
8920 (version "3.2.2.0")
534d6caa 8921 (outputs '("out" "static" "doc"))
dddbc90c
RV
8922 (source
8923 (origin
8924 (method url-fetch)
8925 (uri (string-append
8926 "https://hackage.haskell.org/package/parallel/parallel-"
8927 version
8928 ".tar.gz"))
8929 (sha256
8930 (base32
8931 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8932 (build-system haskell-build-system)
8933 (home-page "https://hackage.haskell.org/package/parallel")
8934 (synopsis "Parallel programming library")
8935 (description
8936 "This package provides a library for parallel programming.")
8937 (license license:bsd-3)))
8938
8939(define-public ghc-parsec-numbers
8940 (package
8941 (name "ghc-parsec-numbers")
8942 (version "0.1.0")
8943 (source
8944 (origin
8945 (method url-fetch)
8946 (uri (string-append "https://hackage.haskell.org/package/"
8947 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8948 (sha256
8949 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8950 (build-system haskell-build-system)
8951 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8952 (synopsis "Utilities for parsing numbers from strings")
8953 (description
8954 "This package provides the number parsers without the need to use a large
8955(and unportable) token parser.")
8956 (license license:bsd-3)))
8957
8958(define-public ghc-parser-combinators
8959 (package
8960 (name "ghc-parser-combinators")
2f173160 8961 (version "1.1.0")
dddbc90c
RV
8962 (source
8963 (origin
8964 (method url-fetch)
8965 (uri (string-append "https://hackage.haskell.org/package/"
8966 "parser-combinators/parser-combinators-"
8967 version ".tar.gz"))
8968 (sha256
8969 (base32
2f173160 8970 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8971 (build-system haskell-build-system)
8972 (home-page "https://github.com/mrkkrp/parser-combinators")
8973 (synopsis "Commonly useful parser combinators")
8974 (description
8975 "This is a lightweight package providing commonly useful parser
8976combinators.")
8977 (license license:bsd-3)))
8978
8979(define-public ghc-parsers
8980 (package
8981 (name "ghc-parsers")
6818f970 8982 (version "0.12.10")
dddbc90c
RV
8983 (source
8984 (origin
8985 (method url-fetch)
8986 (uri (string-append
8987 "https://hackage.haskell.org/package/parsers/parsers-"
8988 version
8989 ".tar.gz"))
8990 (sha256
8991 (base32
6818f970 8992 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8993 (build-system haskell-build-system)
8994 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8995 ; -package attoparsec-0.13.0.1"
8996 (inputs
8997 `(("ghc-base-orphans" ,ghc-base-orphans)
8998 ("ghc-attoparsec" ,ghc-attoparsec)
8999 ("ghc-scientific" ,ghc-scientific)
9000 ("ghc-charset" ,ghc-charset)
9001 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9002 (home-page "https://github.com/ekmett/parsers/")
9003 (synopsis "Parsing combinators")
9004 (description "This library provides convenient combinators for working
9005with and building parsing combinator libraries. Given a few simple instances,
9006you get access to a large number of canned definitions. Instances exist for
9007the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
9008@code{Text.Read}.")
9009 (license license:bsd-3)))
9010
9011(define-public ghc-path
9012 (package
9013 (name "ghc-path")
9014 (version "0.6.1")
9015 (source
9016 (origin
9017 (method url-fetch)
9018 (uri (string-append
9019 "https://hackage.haskell.org/package/path/path-"
9020 version
9021 ".tar.gz"))
9022 (sha256
9023 (base32
9024 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
9025 (build-system haskell-build-system)
9026 (arguments
9027 ;; TODO: There are some Windows-related tests and modules that need to be
9028 ;; danced around.
9029 `(#:tests? #f
9030 #:cabal-revision
9031 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
9032 (inputs
9033 `(("ghc-aeson" ,ghc-aeson)
9034 ("ghc-exceptions" ,ghc-exceptions)
9035 ("ghc-hashable" ,ghc-hashable)))
9036 (native-inputs
9037 `(("ghc-hspec" ,ghc-hspec)
9038 ("ghc-quickcheck" ,ghc-quickcheck)
9039 ("ghc-genvalidity" ,ghc-genvalidity)
9040 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
9041 ("ghc-hspec" ,ghc-hspec)
9042 ("ghc-validity" ,ghc-validity)))
9043 (home-page
3ef91e15 9044 "https://hackage.haskell.org/package/path")
dddbc90c
RV
9045 (synopsis "Support for well-typed paths")
9046 (description "This package introduces a type for paths upholding useful
9047invariants.")
9048 (license license:bsd-3)))
9049
9050(define-public ghc-path-io
9051 (package
9052 (name "ghc-path-io")
a06613ea 9053 (version "1.4.2")
dddbc90c
RV
9054 (source
9055 (origin
9056 (method url-fetch)
9057 (uri (string-append
9058 "https://hackage.haskell.org/package/path-io/path-io-"
9059 version
9060 ".tar.gz"))
9061 (sha256
9062 (base32
a06613ea 9063 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
9064 (build-system haskell-build-system)
9065 (inputs
9066 `(("ghc-dlist" ,ghc-dlist)
9067 ("ghc-exceptions" ,ghc-exceptions)
9068 ("ghc-path" ,ghc-path)
9069 ("ghc-transformers-base" ,ghc-transformers-base)
9070 ("ghc-unix-compat" ,ghc-unix-compat)
9071 ("ghc-temporary" ,ghc-temporary)))
9072 (native-inputs
9073 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
9074 (home-page
9075 "https://github.com/mrkkrp/path-io")
9076 (synopsis "Functions for manipulating well-typed paths")
9077 (description "This package provides an interface to the @code{directory}
9078package for users of @code{path}. It also implements some missing stuff like
9079recursive scanning and copying of directories, working with temporary
9080files/directories, and more.")
9081 (license license:bsd-3)))
9082
9083(define-public ghc-paths
9084 (package
9085 (name "ghc-paths")
9a8adeb1 9086 (version "0.1.0.12")
534d6caa 9087 (outputs '("out" "static" "doc"))
dddbc90c
RV
9088 (source
9089 (origin
9090 (method url-fetch)
9091 (uri (string-append
9092 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
9093 version
9094 ".tar.gz"))
9095 (sha256
9096 (base32
9a8adeb1 9097 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
9098 (build-system haskell-build-system)
9099 (home-page "https://github.com/simonmar/ghc-paths")
9100 (synopsis
9101 "Knowledge of GHC's installation directories")
9102 (description
9103 "Knowledge of GHC's installation directories.")
9104 (license license:bsd-3)))
9105
9106(define-public ghc-patience
9107 (package
9108 (name "ghc-patience")
484476f3 9109 (version "0.3")
dddbc90c
RV
9110 (source
9111 (origin
9112 (method url-fetch)
9113 (uri (string-append
9114 "https://hackage.haskell.org/package/patience/patience-"
9115 version ".tar.gz"))
9116 (sha256
9117 (base32
484476f3 9118 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
9119 (build-system haskell-build-system)
9120 (home-page "https://hackage.haskell.org/package/patience")
9121 (synopsis "Patience diff and longest increasing subsequence")
9122 (description
9123 "This library implements the 'patience diff' algorithm, as well as the
9124patience algorithm for the longest increasing subsequence problem.
9125Patience diff computes the difference between two lists, for example the lines
9126of two versions of a source file. It provides a good balance between
9127performance, nice output for humans, and simplicity of implementation.")
9128 (license license:bsd-3)))
9129
25a221a8
JS
9130(define-public ghc-pattern-arrows
9131 (package
9132 (name "ghc-pattern-arrows")
9133 (version "0.0.2")
9134 (source
9135 (origin
9136 (method url-fetch)
9137 (uri (string-append
9138 "mirror://hackage/package/pattern-arrows/pattern-arrows-"
9139 version
9140 ".tar.gz"))
9141 (sha256
9142 (base32
9143 "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
9144 (build-system haskell-build-system)
9145 (home-page
9146 "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
9147 (synopsis "Arrows for Pretty Printing")
9148 (description
9149 "A library for generating concise pretty printers based on precedence
9150rules.")
9151 (license license:expat)))
9152
dddbc90c
RV
9153(define-public ghc-pcre-light
9154 (package
9155 (name "ghc-pcre-light")
9156 (version "0.4.0.4")
9157 (source
9158 (origin
9159 (method url-fetch)
9160 (uri (string-append
9161 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
9162 version
9163 ".tar.gz"))
9164 (sha256
9165 (base32
9166 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
9167 (build-system haskell-build-system)
9168 (inputs
9169 `(("pcre" ,pcre)))
9170 (native-inputs
9171 `(("pkg-config" ,pkg-config)))
9172 (home-page "https://github.com/Daniel-Diaz/pcre-light")
9173 (synopsis "Haskell library for Perl 5 compatible regular expressions")
9174 (description "This package provides a small, efficient, and portable regex
9175library for Perl 5 compatible regular expressions. The PCRE library is a set
9176of functions that implement regular expression pattern matching using the same
9177syntax and semantics as Perl 5.")
9178 (license license:bsd-3)))
9179
9180(define-public ghc-persistent
9181 (package
9182 (name "ghc-persistent")
8c9697a9 9183 (version "2.10.4")
dddbc90c
RV
9184 (source
9185 (origin
9186 (method url-fetch)
8c9697a9
ASM
9187 (uri (string-append
9188 "https://hackage.haskell.org/package/persistent/"
9189 "persistent-" version ".tar.gz"))
dddbc90c
RV
9190 (sha256
9191 (base32
8c9697a9 9192 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
dddbc90c 9193 (build-system haskell-build-system)
8c9697a9
ASM
9194 (inputs
9195 `(("ghc-aeson" ,ghc-aeson)
9196 ("ghc-attoparsec" ,ghc-attoparsec)
9197 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9198 ("ghc-blaze-html" ,ghc-blaze-html)
9199 ("ghc-conduit" ,ghc-conduit)
9200 ("ghc-fast-logger" ,ghc-fast-logger)
9201 ("ghc-http-api-data" ,ghc-http-api-data)
9202 ("ghc-monad-logger" ,ghc-monad-logger)
9203 ("ghc-path-pieces" ,ghc-path-pieces)
9204 ("ghc-resource-pool" ,ghc-resource-pool)
9205 ("ghc-resourcet" ,ghc-resourcet)
9206 ("ghc-scientific" ,ghc-scientific)
9207 ("ghc-silently" ,ghc-silently)
9208 ("ghc-unliftio-core" ,ghc-unliftio-core)
9209 ("ghc-unliftio" ,ghc-unliftio)
9210 ("ghc-unordered-containers"
9211 ,ghc-unordered-containers)
9212 ("ghc-vector" ,ghc-vector)))
dddbc90c
RV
9213 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9214 (home-page "https://www.yesodweb.com/book/persistent")
9215 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9216 (description "This Haskell package allows Haskell programs to access data
9217storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
9218way.")
9219 (license license:expat)))
9220
9221(define-public ghc-persistent-sqlite
9222 (package
9223 (name "ghc-persistent-sqlite")
78858787 9224 (version "2.10.5.2")
dddbc90c
RV
9225 (source
9226 (origin
9227 (method url-fetch)
78858787
ASM
9228 (uri (string-append
9229 "https://hackage.haskell.org/package/persistent-sqlite/"
9230 "persistent-sqlite-" version ".tar.gz"))
dddbc90c
RV
9231 (sha256
9232 (base32
78858787 9233 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
dddbc90c 9234 (build-system haskell-build-system)
78858787
ASM
9235 (inputs
9236 `(("ghc-persistent" ,ghc-persistent)
9237 ("ghc-aeson" ,ghc-aeson)
9238 ("ghc-conduit" ,ghc-conduit)
9239 ("ghc-microlens-th" ,ghc-microlens-th)
9240 ("ghc-monad-logger" ,ghc-monad-logger)
9241 ("ghc-resource-pool" ,ghc-resource-pool)
9242 ("ghc-resourcet" ,ghc-resourcet)
9243 ("ghc-unliftio-core" ,ghc-unliftio-core)
9244 ("ghc-unordered-containers"
9245 ,ghc-unordered-containers)))
9246 (native-inputs
9247 `(("ghc-persistent-template"
9248 ,ghc-persistent-template)
9249 ("ghc-persistent-test" ,ghc-persistent-test)
9250 ("ghc-exceptions" ,ghc-exceptions)
9251 ("ghc-fast-logger" ,ghc-fast-logger)
9252 ("ghc-hspec" ,ghc-hspec)
9253 ("ghc-hunit" ,ghc-hunit)
9254 ("ghc-quickcheck" ,ghc-quickcheck)
9255 ("ghc-system-fileio" ,ghc-system-fileio)
9256 ("ghc-system-filepath" ,ghc-system-filepath)
9257 ("ghc-temporary" ,ghc-temporary)))
dddbc90c
RV
9258 (home-page
9259 "https://www.yesodweb.com/book/persistent")
9260 (synopsis "Backend for the persistent library using sqlite3")
9261 (description "This Haskell package includes a thin sqlite3 wrapper based
9262on the direct-sqlite package, as well as the entire C library, so there are no
9263system dependencies.")
9264 (license license:expat)))
9265
9266(define-public ghc-persistent-template
9267 (package
9268 (name "ghc-persistent-template")
d5378e98 9269 (version "2.8.0")
dddbc90c
RV
9270 (source
9271 (origin
9272 (method url-fetch)
d5378e98
ASM
9273 (uri (string-append
9274 "https://hackage.haskell.org/package/persistent-template/"
9275 "persistent-template-" version ".tar.gz"))
dddbc90c
RV
9276 (sha256
9277 (base32
d5378e98 9278 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
dddbc90c 9279 (build-system haskell-build-system)
d5378e98
ASM
9280 (inputs
9281 `(("ghc-persistent" ,ghc-persistent)
9282 ("ghc-aeson" ,ghc-aeson)
9283 ("ghc-http-api-data" ,ghc-http-api-data)
9284 ("ghc-monad-control" ,ghc-monad-control)
9285 ("ghc-monad-logger" ,ghc-monad-logger)
9286 ("ghc-path-pieces" ,ghc-path-pieces)
9287 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
9288 ("ghc-unordered-containers"
9289 ,ghc-unordered-containers)))
9290 (native-inputs
9291 `(("ghc-hspec" ,ghc-hspec)
9292 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
9293 (home-page "https://www.yesodweb.com/book/persistent")
9294 (synopsis "Type-safe, non-relational, multi-backend persistence")
9295 (description "This Haskell package provides interfaces and helper
9296functions for the ghc-persistent package.")
9297 (license license:expat)))
9298
ce32f7c7
ASM
9299(define-public ghc-persistent-test
9300 (package
9301 (name "ghc-persistent-test")
9302 (version "2.0.3.1")
9303 (source
9304 (origin
9305 (method url-fetch)
9306 (uri (string-append
9307 "https://hackage.haskell.org/package/persistent-test/"
9308 "persistent-test-" version ".tar.gz"))
9309 (sha256
9310 (base32
9311 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
9312 (build-system haskell-build-system)
9313 (inputs
9314 `(("ghc-aeson" ,ghc-aeson)
9315 ("ghc-blaze-html" ,ghc-blaze-html)
9316 ("ghc-conduit" ,ghc-conduit)
9317 ("ghc-monad-control" ,ghc-monad-control)
9318 ("ghc-monad-logger" ,ghc-monad-logger)
9319 ("ghc-path-pieces" ,ghc-path-pieces)
9320 ("ghc-persistent" ,ghc-persistent)
9321 ("ghc-persistent-template" ,ghc-persistent-template)
9322 ("ghc-random" ,ghc-random)
9323 ("ghc-resourcet" ,ghc-resourcet)
9324 ("ghc-transformers-base" ,ghc-transformers-base)
9325 ("ghc-unliftio" ,ghc-unliftio)
9326 ("ghc-unliftio-core" ,ghc-unliftio-core)
9327 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9328 (native-inputs
9329 `(("ghc-quickcheck" ,ghc-quickcheck)
9330 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9331 ("ghc-hspec" ,ghc-hspec)
9332 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
9333 ("ghc-hunit" ,ghc-hunit)))
9334 (home-page "https://www.yesodweb.com/book/persistent")
9335 (synopsis "Tests for the Persistent database library")
9336 (description
9337 "This is only for use in developing libraries that should conform to
9338the persistent interface, not for users of the persistent suite of database
9339libraries.")
9340 (license license:expat)))
9341
0fb34235
JS
9342(define-public ghc-pgp-wordlist
9343 (package
9344 (name "ghc-pgp-wordlist")
9345 (version "0.1.0.3")
9346 (source
9347 (origin
9348 (method url-fetch)
9349 (uri (string-append
9350 "mirror://hackage/package/pgp-wordlist/pgp-wordlist-"
9351 version
9352 ".tar.gz"))
9353 (sha256
9354 (base32
9355 "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg"))))
9356 (build-system haskell-build-system)
9357 (inputs
9358 `(("ghc-vector" ,ghc-vector)))
9359 (native-inputs
9360 `(("ghc-hunit" ,ghc-hunit)
9361 ("ghc-tasty" ,ghc-tasty)
9362 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9363 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9364 ("ghc-doctest" ,ghc-doctest)))
9365 (home-page
9366 "https://github.com/quchen/pgp-wordlist")
9367 (synopsis
9368 "Translate between binary data and a human-readable collection of words")
9369 (description
9370 "The PGP Word List consists of two phonetic alphabets, each with one word
9371per possible byte value. A string of bytes is translated with these
9372alphabets, alternating between them at each byte.
9373
9374The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway
9375spellbind headwaters\", for example.
9376
9377For further information, see
9378@url{http://en.wikipedia.org/wiki/PGP_word_list}.")
9379 (license license:bsd-3)))
9380
4639fa32
ASM
9381(define-public ghc-pipes
9382 (package
9383 (name "ghc-pipes")
9384 (version "4.3.13")
9385 (source
9386 (origin
9387 (method url-fetch)
9388 (uri (string-append
9389 "https://hackage.haskell.org/package/pipes/"
9390 "pipes-" version ".tar.gz"))
9391 (sha256
9392 (base32
9393 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
9394 (build-system haskell-build-system)
9395 (inputs
9396 `(("ghc-exceptions" ,ghc-exceptions)
9397 ("ghc-mmorph" ,ghc-mmorph)
9398 ("ghc-void" ,ghc-void)
9399 ("ghc-semigroups" ,ghc-semigroups)))
9400 (native-inputs
9401 `(("ghc-quickcheck" ,ghc-quickcheck)
9402 ("ghc-test-framework" ,ghc-test-framework)
9403 ("ghc-test-framework-quickcheck2"
9404 ,ghc-test-framework-quickcheck2)))
9405 (home-page
9406 "https://hackage.haskell.org/package/pipes")
9407 (synopsis "Compositional pipelines")
9408 (description
9409 "A clean and powerful stream processing library that lets you build
9410and connect reusable streaming components. Advantages over traditional streaming
9411libraries:
9412@itemize
9413@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
9414and @code{yield}
9415@item Blazing fast: Implementation tuned for speed, including shortcut fusion
9416@item Lightweight Dependency: pipes is small and compiles very rapidly, including
9417dependencies
9418@item Elegant semantics: Use practical category theory
9419@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
9420@item Bidirectionality: Implement duplex channels
9421@end itemize")
9422 (license license:bsd-3)))
9423
451775a5
ASM
9424(define-public ghc-pointedlist
9425 (package
9426 (name "ghc-pointedlist")
9427 (version "0.6.1")
9428 (source
9429 (origin
9430 (method url-fetch)
9431 (uri (string-append
9432 "https://hackage.haskell.org/package/pointedlist/"
9433 "pointedlist-" version ".tar.gz"))
9434 (sha256
9435 (base32
9436 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
9437 (build-system haskell-build-system)
9438 (home-page
3ef91e15 9439 "https://hackage.haskell.org/package/pointedlist")
451775a5
ASM
9440 (synopsis
9441 "Zipper-like comonad which works as a list, tracking a position")
9442 (description
9443 "A PointedList tracks the position in a non-empty list which works
9444similarly to a zipper. A current item is always required, and therefore
9445the list may never be empty. A circular PointedList wraps around to the
9446other end when progressing past the actual edge.")
9447 (license license:bsd-3)))
9448
dddbc90c
RV
9449(define-public ghc-polyparse
9450 (package
9451 (name "ghc-polyparse")
9822b9ca 9452 (version "1.12.1")
dddbc90c
RV
9453 (source
9454 (origin
9455 (method url-fetch)
9456 (uri (string-append
9457 "https://hackage.haskell.org/package/polyparse/polyparse-"
9458 version
9459 ".tar.gz"))
9460 (sha256
9461 (base32
9822b9ca 9462 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
9463 (build-system haskell-build-system)
9464 (home-page
9465 "http://code.haskell.org/~malcolm/polyparse/")
9466 (synopsis
9467 "Alternative parser combinator libraries")
9468 (description
9469 "This package provides a variety of alternative parser combinator
9470libraries, including the original HuttonMeijer set. The Poly sets have
9471features like good error reporting, arbitrary token type, running state, lazy
9472parsing, and so on. Finally, Text.Parse is a proposed replacement for the
9473standard Read class, for better deserialisation of Haskell values from
9474Strings.")
9475 (license license:lgpl2.1)))
9476
9477(define-public ghc-pqueue
9478 (package
9479 (name "ghc-pqueue")
142415b0 9480 (version "1.4.1.2")
dddbc90c
RV
9481 (source
9482 (origin
9483 (method url-fetch)
9484 (uri (string-append "https://hackage.haskell.org/package/"
9485 "pqueue/pqueue-" version ".tar.gz"))
9486 (sha256
9487 (base32
142415b0 9488 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
9489 (build-system haskell-build-system)
9490 (native-inputs
9491 `(("ghc-quickcheck" ,ghc-quickcheck)))
9492 (home-page "https://hackage.haskell.org/package/pqueue")
9493 (synopsis "Reliable, persistent, fast priority queues")
9494 (description
9495 "This package provides a fast, reliable priority queue implementation
9496based on a binomial heap.")
9497 (license license:bsd-3)))
9498
9499(define-public ghc-prelude-extras
9500 (package
9501 (name "ghc-prelude-extras")
9502 (version "0.4.0.3")
9503 (source
9504 (origin
9505 (method url-fetch)
9506 (uri (string-append
9507 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
9508 version
9509 ".tar.gz"))
9510 (sha256
9511 (base32
9512 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
9513 (build-system haskell-build-system)
9514 (home-page "https://github.com/ekmett/prelude-extras")
9515 (synopsis "Higher order versions of Prelude classes")
9516 (description "This library provides higher order versions of
9517@code{Prelude} classes to ease programming with polymorphic recursion and
9518reduce @code{UndecidableInstances}.")
9519 (license license:bsd-3)))
9520
9521(define-public ghc-prettyclass
9522 (package
9523 (name "ghc-prettyclass")
9524 (version "1.0.0.0")
9525 (source
9526 (origin
9527 (method url-fetch)
9528 (uri (string-append "https://hackage.haskell.org/package/"
9529 "prettyclass/prettyclass-" version ".tar.gz"))
9530 (sha256
9531 (base32
9532 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9533 (build-system haskell-build-system)
3ef91e15 9534 (home-page "https://hackage.haskell.org/package/prettyclass")
dddbc90c
RV
9535 (synopsis "Pretty printing class similar to Show")
9536 (description "This package provides a pretty printing class similar
9537to @code{Show}, based on the HughesPJ pretty printing library. It
9538provides the pretty printing class and instances for the Prelude
9539types.")
9540 (license license:bsd-3)))
9541
2fad2bf7
JS
9542(define-public ghc-prettyprinter
9543 (package
9544 (name "ghc-prettyprinter")
9545 (version "1.2.1.1")
9546 (source
9547 (origin
9548 (method url-fetch)
9549 (uri (string-append
9550 "mirror://hackage/package/prettyprinter/prettyprinter-"
9551 version
9552 ".tar.gz"))
9553 (sha256
9554 (base32 "1p9c3q55hba4c0zyxc624g5df7wgsclpsmd8wqpdnmib882q9d1v"))))
9555 (build-system haskell-build-system)
9556 (native-inputs
9557 `(("ghc-doctest" ,ghc-doctest)
9558 ("ghc-pgp-wordlist" ,ghc-pgp-wordlist)
9559 ("ghc-tasty" ,ghc-tasty)
9560 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9561 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9562 (home-page "https://github.com/quchen/prettyprinter")
9563 (synopsis
9564 "Modern, easy to use, well-documented, extensible pretty-printer")
9565 (description
9566 "A prettyprinter/text rendering engine. Easy to use, well-documented,
9567ANSI terminal backend exists, HTML backend is trivial to implement, no name
9568clashes, @code{Text}-based, extensible.")
9569 (license license:bsd-2)))
9570
2496e49f
JS
9571(define-public ghc-prettyprinter-1.6
9572 (package
9573 (inherit ghc-prettyprinter)
9574 (version "1.6.1")
9575 (source
9576 (origin
9577 (method url-fetch)
9578 (uri (string-append
9579 "mirror://hackage/package/prettyprinter/prettyprinter-"
9580 version
9581 ".tar.gz"))
9582 (sha256
9583 (base32 "10fphxh8lvdaw7i8jyllwmj87w02db92mf99zfw5vddp9mv6b5rz"))))
9584 (inputs
9585 `(("ghc-quickckeck-instances" , ghc-quickcheck-instances)
9586 ,@(package-inputs ghc-prettyprinter)))))
9587
b4f24d66
JS
9588(define-public ghc-prettyprinter-ansi-terminal
9589 (package
9590 (name "ghc-prettyprinter-ansi-terminal")
9591 (version "1.1.1.2")
9592 (source
9593 (origin
9594 (method url-fetch)
9595 (uri (string-append
9596 "mirror://hackage/package/prettyprinter-ansi-terminal/"
9597 "prettyprinter-ansi-terminal-" version ".tar.gz"))
9598 (sha256
9599 (base32 "0ha6vz707qzb5ky7kdsnw2zgphg2dnxrpbrxy8gaw119vwhb9q6k"))))
9600 (build-system haskell-build-system)
9601 (inputs
9602 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9603 ("ghc-prettyprinter" ,ghc-prettyprinter-1.6)))
9604 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
9605 (home-page
9606 "https://github.com/quchen/prettyprinter")
9607 (synopsis
9608 "ANSI terminal backend for the prettyprinter package")
9609 (description "ANSI terminal backend for the prettyprinter package.")
9610 (license license:bsd-2)))
9611
dddbc90c
RV
9612(define-public ghc-pretty-hex
9613 (package
9614 (name "ghc-pretty-hex")
9615 (version "1.0")
9616 (source
9617 (origin
9618 (method url-fetch)
9619 (uri (string-append "https://hackage.haskell.org/package/"
9620 "pretty-hex-" version "/"
9621 "pretty-hex-" version ".tar.gz"))
9622 (sha256
9623 (base32
9624 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9625 (build-system haskell-build-system)
9626 (home-page "https://github.com/GaloisInc/hexdump")
9627 (synopsis "Haskell library for hex dumps of ByteStrings")
9628 (description "This Haskell library generates pretty hex dumps of
9629ByteStrings in the style of other common *nix hex dump tools.")
9630 (license license:bsd-3)))
9631
9632(define-public ghc-pretty-show
9633 (package
9634 (name "ghc-pretty-show")
7683a084 9635 (version "1.9.5")
dddbc90c
RV
9636 (source
9637 (origin
9638 (method url-fetch)
9639 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9640 "pretty-show-" version ".tar.gz"))
9641 (sha256
9642 (base32
7683a084 9643 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
9644 (build-system haskell-build-system)
9645 (inputs
9646 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9647 ("ghc-happy" ,ghc-happy)))
702a1012 9648 (home-page "https://wiki.github.com/yav/pretty-show")
dddbc90c
RV
9649 (synopsis "Tools for working with derived `Show` instances")
9650 (description
9651 "This package provides a library and an executable for working with
9652derived @code{Show} instances. By using the library, derived @code{Show}
9653instances can be parsed into a generic data structure. The @code{ppsh} tool
9654uses the library to produce human-readable versions of @code{Show} instances,
9655which can be quite handy for debugging Haskell programs. We can also render
9656complex generic values into an interactive Html page, for easier
9657examination.")
9658 (license license:expat)))
9659
f011e3d6
JS
9660(define-public ghc-pretty-simple
9661 (package
9662 (name "ghc-pretty-simple")
9663 (version "2.2.0.1")
9664 (source
9665 (origin
9666 (method url-fetch)
9667 (uri (string-append
9668 "mirror://hackage/package/pretty-simple/"
9669 "pretty-simple-" version ".tar.gz"))
9670 (sha256
9671 (base32 "0wsi9235ihm15s145lxi7325vv2k4bhighc5m88kn1lk0pl81aqq"))))
9672 (build-system haskell-build-system)
9673 (inputs
9674 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9675 ("ghc-glob" ,ghc-glob)
9676 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
9677 ("ghc-aeson" ,ghc-aeson)))
9678 (native-inputs
9679 `(("ghc-doctest" ,ghc-doctest)))
9680 (home-page "https://github.com/cdepillabout/pretty-simple")
9681 (synopsis "Pretty printer for data types with a 'Show' instance")
9682 (description
9683 "Pretty-simple is a pretty printer for Haskell data types that have a
9684Show instance.")
9685 (license license:bsd-3)))
9686
dddbc90c
RV
9687(define-public ghc-primitive
9688 (package
9689 (name "ghc-primitive")
9690 (version "0.6.4.0")
534d6caa 9691 (outputs '("out" "static" "doc"))
dddbc90c
RV
9692 (source
9693 (origin
9694 (method url-fetch)
9695 (uri (string-append
9696 "https://hackage.haskell.org/package/primitive/primitive-"
9697 version
9698 ".tar.gz"))
9699 (sha256
9700 (base32
9701 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9702 (build-system haskell-build-system)
6cf0daa4
TS
9703 (arguments
9704 `(#:cabal-revision
9705 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
9706 (home-page
9707 "https://github.com/haskell/primitive")
9708 (synopsis "Primitive memory-related operations")
9709 (description
9710 "This package provides various primitive memory-related operations.")
9711 (license license:bsd-3)))
9712
21f5b9a9
JS
9713(define-public ghc-process-extras
9714 (package
9715 (name "ghc-process-extras")
9716 (version "0.7.4")
9717 (source
9718 (origin
9719 (method url-fetch)
9720 (uri
9721 (string-append
9722 "https://hackage.haskell.org/package/process-extras/"
9723 "process-extras-" version ".tar.gz"))
9724 (sha256
9725 (base32
9726 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9727 (build-system haskell-build-system)
9728 (inputs
9729 `(("ghc-data-default" ,ghc-data-default)
9730 ("ghc-generic-deriving" ,ghc-generic-deriving)
9731 ("ghc-hunit" ,ghc-hunit)
9732 ("ghc-listlike" ,ghc-listlike)))
9733 (home-page "https://github.com/seereason/process-extras")
9734 (synopsis "Extra tools for managing processes")
f74b6983 9735 (description "This package extends
21f5b9a9
JS
9736@url{http://hackage.haskell.org/package/process}. It allows you to read
9737process input and output as ByteStrings or Text, or write your own
9738ProcessOutput instance. It also provides lazy process input and output,
9739and a ProcessMaker class for more flexibility in the process creation
9740API.")
9741 (license license:expat)))
9742
dddbc90c
RV
9743(define-public ghc-profunctors
9744 (package
9745 (name "ghc-profunctors")
899b5297 9746 (version "5.3")
dddbc90c
RV
9747 (source
9748 (origin
9749 (method url-fetch)
9750 (uri (string-append
9751 "https://hackage.haskell.org/package/profunctors/profunctors-"
9752 version
9753 ".tar.gz"))
9754 (sha256
9755 (base32
899b5297 9756 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 9757 (build-system haskell-build-system)
1ad496e5 9758 (outputs '("out" "static" "doc"))
dddbc90c
RV
9759 (inputs
9760 `(("ghc-base-orphans" ,ghc-base-orphans)
9761 ("ghc-bifunctors" ,ghc-bifunctors)
9762 ("ghc-comonad" ,ghc-comonad)
9763 ("ghc-contravariant" ,ghc-contravariant)
9764 ("ghc-distributive" ,ghc-distributive)
9765 ("ghc-semigroups" ,ghc-semigroups)
9766 ("ghc-tagged" ,ghc-tagged)))
9767 (home-page "https://github.com/ekmett/profunctors/")
9768 (synopsis "Profunctors for Haskell")
9769 (description "This library provides profunctors for Haskell.")
9770 (license license:bsd-3)))
9771
fbe32d46
ASM
9772(define-public ghc-project-template
9773 (package
9774 (name "ghc-project-template")
9775 (version "0.2.0.1")
9776 (source
9777 (origin
9778 (method url-fetch)
9779 (uri (string-append
9780 "https://hackage.haskell.org/package/project-template/project-template-"
9781 version ".tar.gz"))
9782 (sha256
9783 (base32
9784 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9785 (build-system haskell-build-system)
9786 (inputs
9787 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9788 ("ghc-conduit" ,ghc-conduit)
9789 ("ghc-conduit-extra" ,ghc-conduit-extra)
9790 ("ghc-resourcet" ,ghc-resourcet)))
9791 (native-inputs
9792 `(("ghc-hspec" ,ghc-hspec)
9793 ("hspec-discover" ,hspec-discover)
9794 ("ghc-quickcheck" ,ghc-quickcheck)))
9795 (arguments
9796 `(#:cabal-revision
9797 ("1"
9798 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9799 (home-page "https://github.com/fpco/haskell-ide")
9800 (synopsis "Specify Haskell project templates and generate files")
9801 (description
9802 "Haskell library for both generating and consuming project templates.
9803
9804ost IDEs provide the concept of a project template: instead of writing all
9805of the code for a project from scratch, you select a template, answer a few
9806questions, and a bunch of files are automatically generated.
9807
9808project-template tries to provide a canonical Haskell library for implementing
9809the ideal templating system.")
9810 (license license:bsd-3)))
9811
8a6e745d
JS
9812(define-public ghc-protolude
9813 (package
9814 (name "ghc-protolude")
9815 (version "0.2.3")
9816 (source
9817 (origin
9818 (method url-fetch)
9819 (uri (string-append
9820 "mirror://hackage/package/protolude/protolude-"
9821 version
9822 ".tar.gz"))
9823 (sha256
9824 (base32
9825 "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj"))))
9826 (build-system haskell-build-system)
9827 (inputs
9828 `(("ghc-async" ,ghc-async)
9829 ("ghc-hashable" ,ghc-hashable)
9830 ("ghc-mtl-compat" ,ghc-mtl-compat)
9831 ("ghc-transformers-compat" ,ghc-transformers-compat)))
9832 (home-page "https://github.com/protolude/protolude")
9833 (synopsis "Sensible set of defaults for writing custom Preludes")
9834 (description
9835 "Protolude gives you sensible defaults for writing custom Preludes to
9836replace the standard one provided by GHC.")
9837 (license license:expat)))
9838
cf123e32
MB
9839(define-public ghc-psqueue
9840 (package
9841 (name "ghc-psqueue")
9842 (version "1.1.0.1")
9843 (source (origin
9844 (method url-fetch)
9845 (uri (string-append "mirror://hackage/package/PSQueue-"
9846 version "/PSQueue-" version ".tar.gz"))
9847 (sha256
9848 (base32
9849 "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza"))))
9850 (build-system haskell-build-system)
9851 (home-page "https://hackage.haskell.org/package/PSQueue")
9852 (synopsis "Priority search queue")
9853 (description
9854 "A @dfn{priority search queue} efficiently supports the operations of
9855both a search tree and a priority queue. A @code{Binding} is a product of
9856a key and a priority. Bindings can be inserted, deleted, modified and queried
9857in logarithmic time, and the binding with the least priority can be retrieved
9858in constant time. A queue can be built from a list of bindings, sorted by
9859keys, in linear time.")
9860 (license license:bsd-3)))
9861
dddbc90c
RV
9862(define-public ghc-psqueues
9863 (package
9864 (name "ghc-psqueues")
5d133942 9865 (version "0.2.7.2")
dddbc90c
RV
9866 (source
9867 (origin
9868 (method url-fetch)
9869 (uri (string-append "https://hackage.haskell.org/package/"
9870 "psqueues-" version "/"
9871 "psqueues-" version ".tar.gz"))
9872 (sha256
9873 (base32
5d133942 9874 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
9875 (build-system haskell-build-system)
9876 (inputs
9877 `(("ghc-hashable" ,ghc-hashable)))
9878 (native-inputs
9879 `(("ghc-hunit" ,ghc-hunit)
9880 ("ghc-quickcheck" ,ghc-quickcheck)
9881 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
9882 ("ghc-tasty" ,ghc-tasty)
9883 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9884 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
9885 (home-page "https://github.com/jaspervdj/psqueues")
9886 (synopsis "Pure priority search queues")
9887 (description "The psqueues package provides
9888@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9889three different flavors:
9890
9891@itemize
9892@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9893fast insertion, deletion and lookup. This implementation is based on Ralf
9894Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9895Implementation Technique for Priority Search Queues}.
9896
9897Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9898PSQueue} library, although it is considerably faster and provides a slightly
9899different API.
9900
9901@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9902key type to @code{Int} and uses a
9903@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9904with an additional min-heap property.
9905
9906@item @code{HashPSQ k p v} is a fairly straightforward extension
9907of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9908@code{IntPSQ}. If there are any hash collisions, it uses an
9909@code{OrdPSQ} to resolve those. The performance of this implementation
9910is comparable to that of @code{IntPSQ}, but it is more widely
9911applicable since the keys are not restricted to @code{Int},
9912but rather to any @code{Hashable} datatype.
9913@end itemize
9914
9915Each of the three implementations provides the same API, so they can
9916be used interchangeably.
9917
9918Typical applications of Priority Search Queues include:
9919
9920@itemize
9921@item Caches, and more specifically LRU Caches;
9922@item Schedulers;
9923@item Pathfinding algorithms, such as Dijkstra's and A*.
9924@end itemize")
9925 (license license:bsd-3)))
b1dbc9f5
ASM
9926
9927(define-public ghc-pwstore-fast
9928 (package
9929 (name "ghc-pwstore-fast")
9930 (version "2.4.4")
9931 (source
9932 (origin
9933 (method url-fetch)
9934 (uri (string-append
9935 "https://hackage.haskell.org/package/pwstore-fast/"
9936 "pwstore-fast-" version ".tar.gz"))
9937 (sha256
9938 (base32
9939 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9940 (build-system haskell-build-system)
9941 (inputs
9942 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9943 ("ghc-cryptohash" ,ghc-cryptohash)
9944 ("ghc-random" ,ghc-random)
9945 ("ghc-byteable" ,ghc-byteable)))
9946 (home-page "https://github.com/PeterScott/pwstore")
9947 (synopsis "Secure password storage")
9948 (description
9949 "To store passwords securely, they should be salted, then hashed with
9950a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9951details. It uses the cryptohash package for speed; if you need a pure
9952Haskell library, pwstore-purehaskell has the exact same API, but uses only
9953pure Haskell. It is about 25 times slower than this package, but still quite
9954usable.")
9955 (license license:bsd-3)))
dddbc90c
RV
9956
9957(define-public ghc-random
9958 (package
9959 (name "ghc-random")
9960 (version "1.1")
534d6caa 9961 (outputs '("out" "static" "doc"))
dddbc90c
RV
9962 (source
9963 (origin
9964 (method url-fetch)
9965 (uri (string-append
9966 "https://hackage.haskell.org/package/random/random-"
9967 version
9968 ".tar.gz"))
9969 (sha256
9970 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9971 (build-system haskell-build-system)
9972 (home-page "https://hackage.haskell.org/package/random")
9973 (synopsis "Random number library")
9974 (description "This package provides a basic random number generation
9975library, including the ability to split random number generators.")
9976 (license license:bsd-3)))
9977
9978(define-public ghc-raw-strings-qq
9979 (package
9980 (name "ghc-raw-strings-qq")
9981 (version "1.1")
9982 (source
9983 (origin
9984 (method url-fetch)
9985 (uri (string-append "https://hackage.haskell.org/package/"
9986 "raw-strings-qq/raw-strings-qq-"
9987 version ".tar.gz"))
9988 (sha256
9989 (base32
9990 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9991 (build-system haskell-build-system)
9992 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9993 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9994 (synopsis "Raw string literals for Haskell")
9995 (description
9996 "This package provides a quasiquoter for raw string literals, i.e. string
9997literals that don't recognise the standard escape sequences. Basically, they
9998make your code more readable by freeing you from the responsibility to escape
9999backslashes. They are useful when working with regular expressions,
10000DOS/Windows paths and markup languages (such as XML).")
10001 (license license:bsd-3)))
10002
10003(define-public ghc-readable
10004 (package
10005 (name "ghc-readable")
10006 (version "0.3.1")
10007 (source
10008 (origin
10009 (method url-fetch)
10010 (uri (string-append "https://hackage.haskell.org/package/"
10011 "readable/readable-" version ".tar.gz"))
10012 (sha256
10013 (base32
10014 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
10015 (build-system haskell-build-system)
10016 (home-page "https://github.com/mightybyte/readable")
10017 (synopsis "Type class for reading from Text and ByteString")
10018 (description "This package provides a @code{Readable} type class for
10019reading data types from @code{ByteString} and @code{Text}. It also
10020includes efficient implementations for common data types.")
10021 (license license:bsd-3)))
10022
10023(define-public ghc-rebase
10024 (package
10025 (name "ghc-rebase")
8d2ae3fe 10026 (version "1.3.1.1")
dddbc90c
RV
10027 (source
10028 (origin
10029 (method url-fetch)
10030 (uri (string-append "https://hackage.haskell.org/package/"
10031 "rebase-" version "/"
10032 "rebase-" version ".tar.gz"))
10033 (sha256
10034 (base32
8d2ae3fe 10035 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c 10036 (build-system haskell-build-system)
e396e936 10037 (outputs '("out" "static" "doc"))
dddbc90c
RV
10038 (inputs `(("ghc-hashable" ,ghc-hashable)
10039 ("ghc-vector" ,ghc-vector)
10040 ("ghc-unordered-containers" ,ghc-unordered-containers)
10041 ("ghc-scientific" ,ghc-scientific)
10042 ("ghc-uuid" ,ghc-uuid)
10043 ("ghc-dlist" ,ghc-dlist)
10044 ("ghc-void" ,ghc-void)
10045 ("ghc-bifunctors" ,ghc-bifunctors)
10046 ("ghc-profunctors" ,ghc-profunctors)
10047 ("ghc-contravariant" ,ghc-contravariant)
10048 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
10049 ("ghc-semigroups" ,ghc-semigroups)
10050 ("ghc-either" ,ghc-either)
10051 ("ghc-fail" ,ghc-fail)
10052 ("ghc-base-prelude" ,ghc-base-prelude)))
10053 (home-page "https://github.com/nikita-volkov/rebase")
10054 (synopsis "Progressive alternative to the base package
10055for Haskell")
10056 (description "This Haskell package is intended for those who are
10057tired of keeping long lists of dependencies to the same essential libraries
10058in each package as well as the endless imports of the same APIs all over again.
10059
10060It also supports the modern tendencies in the language.
10061
10062To solve those problems this package does the following:
10063
10064@itemize
10065@item Reexport the original APIs under the @code{Rebase} namespace.
10066
10067@item Export all the possible non-conflicting symbols from the
10068@code{Rebase.Prelude} module.
10069
10070@item Give priority to the modern practices in the conflicting cases.
10071@end itemize
10072
10073The policy behind the package is only to reexport the non-ambiguous and
10074non-controversial APIs, which the community has obviously settled on.
10075The package is intended to rapidly evolve with the contribution from
10076the community, with the missing features being added with pull-requests.")
10077 (license license:expat)))
10078
10079(define-public ghc-reducers
10080 (package
10081 (name "ghc-reducers")
10082 (version "3.12.3")
10083 (source
10084 (origin
10085 (method url-fetch)
10086 (uri (string-append
10087 "https://hackage.haskell.org/package/reducers/reducers-"
10088 version
10089 ".tar.gz"))
10090 (sha256
10091 (base32
10092 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
10093 (build-system haskell-build-system)
10094 (inputs
10095 `(("ghc-fingertree" ,ghc-fingertree)
10096 ("ghc-hashable" ,ghc-hashable)
10097 ("ghc-unordered-containers" ,ghc-unordered-containers)
10098 ("ghc-semigroupoids" ,ghc-semigroupoids)
10099 ("ghc-semigroups" ,ghc-semigroups)))
10100 (home-page "https://github.com/ekmett/reducers/")
10101 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
10102 (description "This library provides various semigroups, specialized
10103containers and a general map/reduce framework for Haskell.")
10104 (license license:bsd-3)))
10105
10106(define-public ghc-refact
10107 (package
10108 (name "ghc-refact")
10109 (version "0.3.0.2")
10110 (source
10111 (origin
10112 (method url-fetch)
10113 (uri (string-append "https://hackage.haskell.org/package/"
10114 "refact/refact-"
10115 version ".tar.gz"))
10116 (sha256
10117 (base32
10118 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
10119 (build-system haskell-build-system)
3ef91e15 10120 (home-page "https://hackage.haskell.org/package/refact")
dddbc90c
RV
10121 (synopsis "Specify refactorings to perform with apply-refact")
10122 (description
10123 "This library provides a datatype which can be interpreted by
10124@code{apply-refact}. It exists as a separate library so that applications can
10125specify refactorings without depending on GHC.")
10126 (license license:bsd-3)))
10127
10128(define-public ghc-reflection
10129 (package
10130 (name "ghc-reflection")
d215f1cc 10131 (version "2.1.5")
dddbc90c
RV
10132 (source
10133 (origin
10134 (method url-fetch)
10135 (uri (string-append
10136 "https://hackage.haskell.org/package/reflection/reflection-"
10137 version
10138 ".tar.gz"))
10139 (sha256
10140 (base32
d215f1cc 10141 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
10142 (build-system haskell-build-system)
10143 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
10144 (native-inputs
10145 `(("ghc-hspec" ,ghc-hspec)
10146 ("ghc-quickcheck" ,ghc-quickcheck)
10147 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
10148 (home-page "https://github.com/ekmett/reflection")
10149 (synopsis "Reify arbitrary terms into types that can be reflected back
10150into terms")
10151 (description "This package addresses the 'configuration problem' which is
10152propagating configurations that are available at run-time, allowing multiple
10153configurations to coexist without resorting to mutable global variables or
10154@code{System.IO.Unsafe.unsafePerformIO}.")
10155 (license license:bsd-3)))
10156
10157(define-public ghc-regex
10158 (package
10159 (name "ghc-regex")
b9a5e634 10160 (version "1.0.2.0")
dddbc90c
RV
10161 (source
10162 (origin
10163 (method url-fetch)
10164 (uri (string-append "https://hackage.haskell.org/package/regex/"
10165 "regex-" version ".tar.gz"))
10166 (sha256
10167 (base32
b9a5e634 10168 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
10169 (build-system haskell-build-system)
10170 (arguments
10171 `(#:phases
10172 (modify-phases %standard-phases
10173 (add-after 'unpack 'relax-dependencies
10174 (lambda _
10175 (substitute* "regex.cabal"
10176 (("base-compat.*>=.*0.6.*")
10177 "base-compat >= 0.6\n")
10178 (("template-haskell.*>=.*2.7.*")
10179 "template-haskell >= 2.7\n"))
10180 #t)))))
10181 (inputs
10182 `(("ghc-base-compat" ,ghc-base-compat)
10183 ("ghc-hashable" ,ghc-hashable)
10184 ("ghc-regex-base" ,ghc-regex-base)
10185 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10186 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
10187 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
10188 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
10189 ("ghc-unordered-containers" ,ghc-unordered-containers)
10190 ("ghc-utf8-string" ,ghc-utf8-string)))
10191 (home-page "http://regex.uk")
10192 (synopsis "Toolkit for regex-base")
10193 (description
10194 "This package provides a regular expression toolkit for @code{regex-base}
10195with compile-time checking of regular expression syntax, data types for
10196matches and captures, a text replacement toolkit, portable options, high-level
10197AWK-like tools for building text processing apps, regular expression macros
10198with parsers and test bench, comprehensive documentation, tutorials and
10199copious examples.")
10200 (license license:bsd-3)))
10201
10202(define-public ghc-regex-applicative
10203 (package
10204 (name "ghc-regex-applicative")
30f60e42 10205 (version "0.3.3.1")
dddbc90c
RV
10206 (source
10207 (origin
10208 (method url-fetch)
10209 (uri (string-append
10210 "https://hackage.haskell.org/package/regex-applicative/"
10211 "regex-applicative-" version ".tar.gz"))
10212 (sha256
10213 (base32
30f60e42 10214 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
10215 (build-system haskell-build-system)
10216 (inputs
10217 `(("ghc-smallcheck" ,ghc-smallcheck)
10218 ("ghc-tasty" ,ghc-tasty)
10219 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10220 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10221 (home-page "https://github.com/feuerbach/regex-applicative")
10222 (synopsis "Regex-based parsing with applicative interface")
10223 (description
10224 "@code{regex-applicative} is a Haskell library for parsing using
10225regular expressions. Parsers can be built using Applicative interface.")
10226 (license license:expat)))
10227
10228(define-public ghc-regex-base
10229 (package
10230 (name "ghc-regex-base")
10231 (version "0.93.2")
10232 (source
10233 (origin
10234 (method url-fetch)
10235 (uri (string-append
10236 "https://hackage.haskell.org/package/regex-base/regex-base-"
10237 version
10238 ".tar.gz"))
10239 (sha256
10240 (base32
10241 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
10242 (build-system haskell-build-system)
10243 (home-page
10244 "https://sourceforge.net/projects/lazy-regex")
10245 (synopsis "Replaces/Enhances Text.Regex")
10246 (description "@code{Text.Regex.Base} provides the interface API for
10247regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
10248 (license license:bsd-3)))
10249
10250(define-public ghc-regex-compat
10251 (package
10252 (name "ghc-regex-compat")
10253 (version "0.95.1")
10254 (source
10255 (origin
10256 (method url-fetch)
10257 (uri (string-append
10258 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
10259 version
10260 ".tar.gz"))
10261 (sha256
10262 (base32
10263 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
10264 (build-system haskell-build-system)
10265 (inputs
10266 `(("ghc-regex-base" ,ghc-regex-base)
10267 ("ghc-regex-posix" ,ghc-regex-posix)))
10268 (home-page "https://sourceforge.net/projects/lazy-regex")
10269 (synopsis "Replaces/Enhances Text.Regex")
10270 (description "This library provides one module layer over
10271@code{regex-posix} to replace @code{Text.Regex}.")
10272 (license license:bsd-3)))
10273
10274(define-public ghc-regex-compat-tdfa
10275 (package
10276 (name "ghc-regex-compat-tdfa")
10277 (version "0.95.1.4")
10278 (source
10279 (origin
10280 (method url-fetch)
10281 (uri (string-append
10282 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
10283 version ".tar.gz"))
10284 (sha256
10285 (base32
10286 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
10287 (build-system haskell-build-system)
10288 (inputs
10289 `(("ghc-regex-base" ,ghc-regex-base)
10290 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10291 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
10292 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
10293 (description
10294 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
10295@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
10296This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
10297this problem.")
10298 (license license:bsd-3)))
10299
ddd79836
MB
10300(define-public ghc-regex-pcre
10301 (package
10302 (name "ghc-regex-pcre")
10303 (version "0.94.4")
10304 (source (origin
10305 (method url-fetch)
10306 (uri (string-append "https://hackage.haskell.org/package/"
10307 "regex-pcre/regex-pcre-" version ".tar.gz"))
10308 (sha256
10309 (base32
10310 "1h16w994g9s62iwkdqa7bar2n9cfixmkzz2rm8svm960qr57valf"))))
10311 (build-system haskell-build-system)
10312 (inputs
10313 `(("ghc-regex-base" ,ghc-regex-base)
10314 ("pcre" ,pcre)))
10315 (home-page "https://hackage.haskell.org/package/regex-pcre")
10316 (synopsis "Enhancement of the builtin Text.Regex library")
10317 (description
10318 "This package is an enhancement of the @code{Text.Regex} library.
10319It wraps the @code{PCRE} C library providing Perl-compatible regular
10320expressions.")
10321 (license license:bsd-3)))
10322
dddbc90c
RV
10323(define-public ghc-regex-pcre-builtin
10324 (package
10325 (name "ghc-regex-pcre-builtin")
ee946143 10326 (version "0.94.5.8.8.35")
dddbc90c
RV
10327 (source (origin
10328 (method url-fetch)
10329 (uri (string-append "https://hackage.haskell.org/package/"
10330 "regex-pcre-builtin/regex-pcre-builtin-"
10331 version ".tar.gz"))
10332 (sha256
10333 (base32
ee946143 10334 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
10335 (build-system haskell-build-system)
10336 (inputs
10337 `(("ghc-regex-base" ,ghc-regex-base)))
4723766b 10338 (home-page "https://hackage.haskell.org/package/regex-pcre-builtin")
dddbc90c
RV
10339 (synopsis "Enhancement of the builtin Text.Regex library")
10340 (description
10341 "This package is an enhancement of the @code{Text.Regex} library,
10342providing the PCRE backend to accompany regex-base, with bundled code from
10343@url{https://www.pcre.org}.")
10344 (license license:bsd-3)))
10345
10346(define-public ghc-regex-posix
10347 (package
10348 (name "ghc-regex-posix")
10349 (version "0.95.2")
10350 (source
10351 (origin
10352 (method url-fetch)
10353 (uri (string-append
10354 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
10355 version
10356 ".tar.gz"))
10357 (sha256
10358 (base32
10359 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
10360 (build-system haskell-build-system)
10361 (inputs
10362 `(("ghc-regex-base" ,ghc-regex-base)))
10363 (home-page "https://sourceforge.net/projects/lazy-regex")
10364 (synopsis "POSIX regular expressions for Haskell")
10365 (description "This library provides the POSIX regex backend used by the
10366Haskell library @code{regex-base}.")
10367 (license license:bsd-3)))
10368
10369(define-public ghc-regex-tdfa
10370 (package
10371 (name "ghc-regex-tdfa")
ce684db0 10372 (version "1.2.3.2")
dddbc90c
RV
10373 (source
10374 (origin
10375 (method url-fetch)
10376 (uri (string-append
10377 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
10378 version ".tar.gz"))
10379 (sha256
10380 (base32
ce684db0 10381 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c 10382 (build-system haskell-build-system)
54c8209e 10383 (outputs '("out" "static" "doc"))
dddbc90c
RV
10384 (inputs
10385 `(("ghc-regex-base" ,ghc-regex-base)))
90b74c6f 10386 (home-page "https://github.com/haskell-hvr/regex-tdfa")
dddbc90c
RV
10387 (synopsis "POSIX extended regular expressions in Haskell.")
10388 (description
10389 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
10390extended regular expressions. It is a \"tagged\" DFA regex engine. It is
10391inspired by libtre.")
10392 (license license:bsd-3)))
10393
10394(define-public ghc-regex-tdfa-text
10395 (package
10396 (name "ghc-regex-tdfa-text")
10397 (version "1.0.0.3")
10398 (source
10399 (origin
10400 (method url-fetch)
10401 (uri (string-append
10402 "https://hackage.haskell.org/package/regex-tdfa-text/"
10403 "regex-tdfa-text-" version ".tar.gz"))
10404 (sha256
10405 (base32
10406 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
10407 (build-system haskell-build-system)
10408 (inputs
10409 `(("ghc-regex-base" ,ghc-regex-base)
10410 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10411 (home-page
3ef91e15 10412 "https://hackage.haskell.org/package/regex-tdfa-text")
dddbc90c
RV
10413 (synopsis "Text interface for regex-tdfa")
10414 (description
10415 "This provides an extra text interface for regex-tdfa.")
10416 (license license:bsd-3)))
10417
798a2df4
JS
10418(define-public ghc-repline
10419 (package
10420 (name "ghc-repline")
10421 (version "0.2.0.0")
10422 (source
10423 (origin
10424 (method url-fetch)
10425 (uri (string-append
10426 "mirror://hackage/package/repline/repline-"
10427 version
10428 ".tar.gz"))
10429 (sha256
10430 (base32
10431 "1ph21kbbanlcs8n5lwk16g9vqkb98mkbz5mzwrp8j2rls2921izc"))))
10432 (build-system haskell-build-system)
10433 (home-page "https://github.com/sdiehl/repline")
10434 (synopsis "Haskeline wrapper for GHCi-like REPL interfaces")
10435 (description
10436 "Haskeline wrapper for GHCi-like REPL interfaces. Composable with
10437normal mtl transformers.")
10438 (license license:expat)))
10439
6c0858dd
JS
10440(define-public ghc-repline-0.3
10441 (package
10442 (inherit ghc-repline)
10443 (version "0.3.0.0")
10444 (source
10445 (origin
10446 (method url-fetch)
10447 (uri (string-append
10448 "mirror://hackage/package/repline/repline-"
10449 version
10450 ".tar.gz"))
10451 (sha256
10452 (base32
10453 "0niihfyggg2qisadg7w49cr5k5qyyynia93iip0ng2bbmzwi88g8"))))
10454 (inputs
10455 `(("ghc-exceptions" ,ghc-exceptions)
10456 ("ghc-haskeline" ,ghc-haskeline-0.8)))))
10457
dddbc90c
RV
10458(define-public ghc-rerebase
10459 (package
10460 (name "ghc-rerebase")
cdec7b8c 10461 (version "1.3.1.1")
dddbc90c
RV
10462 (source
10463 (origin
10464 (method url-fetch)
10465 (uri (string-append
10466 "https://hackage.haskell.org/package/rerebase/rerebase-"
10467 version ".tar.gz"))
10468 (sha256
10469 (base32
cdec7b8c 10470 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c 10471 (build-system haskell-build-system)
af2f91ec 10472 (outputs '("out" "static" "doc"))
dddbc90c
RV
10473 (inputs
10474 `(("ghc-rebase" ,ghc-rebase)))
10475 (home-page "https://github.com/nikita-volkov/rerebase")
10476 (synopsis "Reexports from ``base'' with many other standard libraries")
10477 (description "A rich drop-in replacement for @code{base}. For details and
10478documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
10479the project's home page}.")
10480 (license license:expat)))
10481
10482(define-public ghc-resolv
10483 (package
10484 (name "ghc-resolv")
87309478 10485 (version "0.1.1.2")
dddbc90c
RV
10486 (source
10487 (origin
10488 (method url-fetch)
10489 (uri (string-append
10490 "https://hackage.haskell.org/package/resolv/resolv-"
10491 version ".tar.gz"))
10492 (sha256
10493 (base32
87309478 10494 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
10495 (build-system haskell-build-system)
10496 (arguments
87309478
TS
10497 `(#:phases
10498 (modify-phases %standard-phases
10499 (add-before 'configure 'update-constraints
10500 (lambda _
10501 (substitute* "resolv.cabal"
10502 (("tasty >= 1\\.1 && < 1\\.2")
10503 "tasty >= 1.1 && < 1.3"))
10504 #t)))))
dddbc90c
RV
10505 (inputs
10506 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
10507 (native-inputs
10508 `(("ghc-tasty" ,ghc-tasty)
10509 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
10510 (home-page "https://github.com/haskell/hackage-security")
10511 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
10512 (description "This package implements an API for accessing the
10513@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
10514resolver service via the standard @code{libresolv} system library (whose
10515API is often available directly via the standard @code{libc} C library) on
10516Unix systems.")
10517 (license license:gpl3)))
10518
10519(define-public ghc-resource-pool
10520 (package
10521 (name "ghc-resource-pool")
10522 (version "0.2.3.2")
10523 (source
10524 (origin
10525 (method url-fetch)
10526 (uri (string-append "https://hackage.haskell.org/package/"
10527 "resource-pool-" version "/"
10528 "resource-pool-" version ".tar.gz"))
10529 (sha256
10530 (base32
10531 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
10532 (build-system haskell-build-system)
10533 (inputs `(("ghc-hashable" ,ghc-hashable)
10534 ("ghc-monad-control" ,ghc-monad-control)
10535 ("ghc-transformers-base" ,ghc-transformers-base)
10536 ("ghc-vector" ,ghc-vector)))
10537 (home-page "https://github.com/bos/pool")
10538 (synopsis "Striped resource pooling implementation in Haskell")
10539 (description "This Haskell package provides striped pooling abstraction
10540for managing flexibly-sized collections of resources such as database
10541connections.")
10542 (license license:bsd-3)))
10543
10544(define-public ghc-resourcet
10545 (package
10546 (name "ghc-resourcet")
9ac341ac 10547 (version "1.2.2")
dddbc90c
RV
10548 (source
10549 (origin
10550 (method url-fetch)
10551 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
10552 "resourcet-" version ".tar.gz"))
10553 (sha256
10554 (base32
9ac341ac 10555 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
10556 (build-system haskell-build-system)
10557 (inputs
10558 `(("ghc-transformers-base" ,ghc-transformers-base)
10559 ("ghc-monad-control" ,ghc-monad-control)
10560 ("ghc-transformers-compat" ,ghc-transformers-compat)
10561 ("ghc-mmorph" ,ghc-mmorph)
10562 ("ghc-exceptions" ,ghc-exceptions)
10563 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10564 (native-inputs
10565 `(("ghc-lifted-base" ,ghc-lifted-base)
10566 ("ghc-hspec" ,ghc-hspec)))
10567 (home-page "https://github.com/snoyberg/conduit")
10568 (synopsis "Deterministic allocation and freeing of scarce resources")
10569 (description "ResourceT is a monad transformer which creates a region of
10570code where you can safely allocate resources.")
10571 (license license:bsd-3)))
10572
b9debc37
TS
10573(define-public ghc-retry
10574 (package
10575 (name "ghc-retry")
10576 (version "0.8.1.0")
10577 (source
10578 (origin
10579 (method url-fetch)
10580 (uri (string-append "https://hackage.haskell.org/package/"
10581 "retry/retry-" version ".tar.gz"))
10582 (sha256
10583 (base32
10584 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
10585 (build-system haskell-build-system)
10586 (inputs
10587 `(("ghc-exceptions" ,ghc-exceptions)
10588 ("ghc-random" ,ghc-random)))
10589 (native-inputs
10590 `(("ghc-hunit" ,ghc-hunit)
10591 ("ghc-tasty" ,ghc-tasty)
10592 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10593 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
10594 ("ghc-hedgehog" ,ghc-hedgehog)))
702a1012 10595 (home-page "https://github.com/Soostone/retry")
b9debc37
TS
10596 (synopsis "Retry combinators for monadic actions that may fail")
10597 (description "This package exposes combinators that can wrap
10598arbitrary monadic actions. They run the action and potentially retry
10599running it with some configurable delay for a configurable number of
10600times. The purpose is to make it easier to work with IO and especially
10601network IO actions that often experience temporary failure and warrant
10602retrying of the original action. For example, a database query may time
10603out for a while, in which case we should hang back for a bit and retry
10604the query instead of simply raising an exception.")
10605 (license license:bsd-3)))
10606
dddbc90c
RV
10607(define-public ghc-rfc5051
10608 (package
10609 (name "ghc-rfc5051")
ec42ab7c 10610 (version "0.1.0.4")
dddbc90c
RV
10611 (source
10612 (origin
10613 (method url-fetch)
10614 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
10615 "rfc5051-" version ".tar.gz"))
10616 (sha256
10617 (base32
ec42ab7c 10618 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
10619 (build-system haskell-build-system)
10620 (home-page "https://hackage.haskell.org/package/rfc5051")
10621 (synopsis "Simple unicode collation as per RFC5051")
10622 (description
10623 "This library implements @code{unicode-casemap}, the simple, non
10624locale-sensitive unicode collation algorithm described in RFC 5051. Proper
10625unicode collation can be done using @code{text-icu}, but that is a big
10626dependency that depends on a large C library, and @code{rfc5051} might be
10627better for some purposes.")
10628 (license license:bsd-3)))
10629
10630(define-public ghc-rio
10631 (package
10632 (name "ghc-rio")
8bda2fa7 10633 (version "0.1.12.0")
dddbc90c
RV
10634 (source
10635 (origin
10636 (method url-fetch)
10637 (uri (string-append
10638 "https://hackage.haskell.org/package/rio/rio-"
10639 version ".tar.gz"))
10640 (sha256
10641 (base32
8bda2fa7 10642 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
10643 (build-system haskell-build-system)
10644 (inputs
10645 `(("ghc-exceptions" ,ghc-exceptions)
10646 ("ghc-hashable" ,ghc-hashable)
10647 ("ghc-microlens" ,ghc-microlens)
10648 ("ghc-primitive" ,ghc-primitive)
10649 ("ghc-typed-process" ,ghc-typed-process)
10650 ("ghc-unliftio" ,ghc-unliftio)
10651 ("ghc-unordered-containers" ,ghc-unordered-containers)
10652 ("ghc-vector" ,ghc-vector)))
10653 (native-inputs
10654 `(("ghc-hspec" ,ghc-hspec)
10655 ("hspec-discover" ,hspec-discover)))
10656 (home-page "https://github.com/commercialhaskell/rio#readme")
10657 (synopsis "A standard library for Haskell")
10658 (description "This package works as a prelude replacement for Haskell,
10659providing more functionality and types out of the box than the standard
10660prelude (such as common data types like @code{ByteString} and
10661@code{Text}), as well as removing common ``gotchas'', like partial
10662functions and lazy I/O. The guiding principle here is:
10663@itemize
10664@item If something is safe to use in general and has no expected naming
10665conflicts, expose it.
10666@item If something should not always be used, or has naming conflicts,
10667expose it from another module in the hierarchy.
10668@end itemize")
10669 (license license:expat)))
10670
10671(define-public ghc-safe
10672 (package
10673 (name "ghc-safe")
10674 (version "0.3.17")
10675 (source
10676 (origin
10677 (method url-fetch)
10678 (uri (string-append
10679 "https://hackage.haskell.org/package/safe/safe-"
10680 version
10681 ".tar.gz"))
10682 (sha256
10683 (base32
10684 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
10685 (build-system haskell-build-system)
10686 (native-inputs
10687 `(("ghc-quickcheck" ,ghc-quickcheck)))
10688 (home-page "https://github.com/ndmitchell/safe#readme")
10689 (synopsis "Library of safe (exception free) functions")
10690 (description "This library provides wrappers around @code{Prelude} and
10691@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
10692exceptions.")
10693 (license license:bsd-3)))
10694
10695(define-public ghc-safe-exceptions
10696 (package
10697 (name "ghc-safe-exceptions")
10698 (version "0.1.7.0")
10699 (source
10700 (origin
10701 (method url-fetch)
10702 (uri (string-append "https://hackage.haskell.org/package/"
10703 "safe-exceptions/safe-exceptions-"
10704 version ".tar.gz"))
10705 (sha256
10706 (base32
10707 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
10708 (build-system haskell-build-system)
10709 (arguments
10710 '(#:cabal-revision
10711 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
10712 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10713 (native-inputs
10714 `(("ghc-hspec" ,ghc-hspec)
10715 ("ghc-void" ,ghc-void)
10716 ("hspec-discover" ,hspec-discover)))
10717 (home-page "https://github.com/fpco/safe-exceptions")
10718 (synopsis "Safe, consistent, and easy exception handling")
10719 (description "Runtime exceptions - as exposed in @code{base} by the
10720@code{Control.Exception} module - have long been an intimidating part of the
10721Haskell ecosystem. This package is intended to overcome this. It provides a
10722safe and simple API on top of the existing exception handling machinery. The
10723API is equivalent to the underlying implementation in terms of power but
10724encourages best practices to minimize the chances of getting the exception
10725handling wrong.")
10726 (license license:expat)))
10727
10728(define-public ghc-safeio
10729 (package
10730 (name "ghc-safeio")
10731 (version "0.0.5.0")
10732 (source
10733 (origin
10734 (method url-fetch)
10735 (uri (string-append "https://hackage.haskell.org/package/safeio/"
10736 "safeio-" version ".tar.gz"))
10737 (sha256
10738 (base32
10739 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
10740 (build-system haskell-build-system)
10741 (inputs
10742 `(("ghc-conduit" ,ghc-conduit)
10743 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10744 ("ghc-exceptions" ,ghc-exceptions)
10745 ("ghc-resourcet" ,ghc-resourcet)))
10746 (native-inputs
10747 `(("ghc-hunit" ,ghc-hunit)
10748 ("ghc-test-framework" ,ghc-test-framework)
10749 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10750 ("ghc-test-framework-th" ,ghc-test-framework-th)))
10751 (home-page "https://github.com/luispedro/safeio")
10752 (synopsis "Write output to disk atomically")
10753 (description
10754 "This package implements utilities to perform atomic output so as to
10755avoid the problem of partial intermediate files.")
10756 (license license:expat)))
10757
10758(define-public ghc-safesemaphore
10759 (package
10760 (name "ghc-safesemaphore")
10761 (version "0.10.1")
10762 (source
10763 (origin
10764 (method url-fetch)
10765 (uri (string-append "https://hackage.haskell.org/package/"
10766 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
10767 (sha256
10768 (base32
10769 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10770 (build-system haskell-build-system)
10771 (native-inputs
10772 `(("ghc-hunit" ,ghc-hunit)))
10773 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10774 (synopsis "Exception safe semaphores")
10775 (description "This library provides exception safe semaphores that can be
10776used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10777are not exception safe and can be broken by @code{killThread}.")
10778 (license license:bsd-3)))
10779
10780(define-public ghc-sandi
10781 (package
10782 (name "ghc-sandi")
b867c2b0 10783 (version "0.5")
dddbc90c
RV
10784 (source
10785 (origin
10786 (method url-fetch)
10787 (uri (string-append
10788 "https://hackage.haskell.org/package/sandi/sandi-"
10789 version ".tar.gz"))
10790 (sha256
10791 (base32
b867c2b0 10792 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
10793 (build-system haskell-build-system)
10794 (inputs
10795 `(("ghc-stringsearch" ,ghc-stringsearch)
10796 ("ghc-conduit" ,ghc-conduit)
10797 ("ghc-exceptions" ,ghc-exceptions)
10798 ("ghc-hunit" ,ghc-hunit)
10799 ("ghc-tasty" ,ghc-tasty)
10800 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10801 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10802 ("ghc-tasty-th" ,ghc-tasty-th)))
10803 (home-page "https://hackage.haskell.org/package/sandi")
10804 (synopsis "Data encoding library")
10805 (description "Reasonably fast data encoding library.")
10806 (license license:bsd-3)))
10807
4da75228
ASM
10808(define-public ghc-say
10809 (package
10810 (name "ghc-say")
10811 (version "0.1.0.1")
10812 (source
10813 (origin
10814 (method url-fetch)
10815 (uri (string-append
10816 "https://hackage.haskell.org/package/say/say-"
10817 version
10818 ".tar.gz"))
10819 (sha256
10820 (base32
10821 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10822 (build-system haskell-build-system)
10823 (native-inputs
10824 `(("ghc-hspec" ,ghc-hspec)
10825 ("hspec-discover" ,hspec-discover)
10826 ("ghc-unliftio" ,ghc-unliftio)))
10827 (home-page "https://github.com/fpco/say")
10828 (synopsis
10829 "Send textual messages to a Handle in a thread-friendly way")
10830 (description
10831 "A thread safe API to write a line of textual data to a Handle, such
10832as sending some messages to the terminal - that has the following properties:
10833@itemize
10834@item Properly handle character encoding settings on the Handle
10835@item For reasonably sized messages, ensure that the entire message is written
10836 in one chunk to avoid interleaving data with other threads
10837@item Avoid unnecessary memory allocations and copies
10838@item Minimize locking.
10839@end itemize")
10840 (license license:expat)))
10841
dddbc90c
RV
10842(define-public ghc-scientific
10843 (package
10844 (name "ghc-scientific")
10845 (version "0.3.6.2")
10846 (source
10847 (origin
10848 (method url-fetch)
10849 (uri (string-append
10850 "https://hackage.haskell.org/package/scientific/scientific-"
10851 version
10852 ".tar.gz"))
10853 (sha256
10854 (base32
10855 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10856 (build-system haskell-build-system)
10857 (inputs
10858 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10859 ("ghc-hashable" ,ghc-hashable)
10860 ("ghc-primitive" ,ghc-primitive)))
10861 (native-inputs
10862 `(("ghc-tasty" ,ghc-tasty)
10863 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10864 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10865 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10866 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10867 ("ghc-smallcheck" ,ghc-smallcheck)
10868 ("ghc-quickcheck" ,ghc-quickcheck)))
10869 (home-page "https://github.com/basvandijk/scientific")
10870 (synopsis "Numbers represented using scientific notation")
10871 (description "This package provides @code{Data.Scientific}, which provides
10872the number type @code{Scientific}. Scientific numbers are arbitrary precision
10873and space efficient. They are represented using
10874@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10875notation}.")
10876 (license license:bsd-3)))
10877
10878(define-public ghc-scientific-bootstrap
10879 (package
10880 (inherit ghc-scientific)
10881 (name "ghc-scientific-bootstrap")
10882 (arguments `(#:tests? #f))
10883 (inputs
10884 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10885 ("ghc-hashable" ,ghc-hashable)
10886 ("ghc-primitive" ,ghc-primitive)))
10887 (native-inputs '())
799d8d3c 10888 (properties '((hidden? #t)))))
dddbc90c
RV
10889
10890(define-public ghc-sdl
10891 (package
10892 (name "ghc-sdl")
10893 (version "0.6.7.0")
10894 (source
10895 (origin
10896 (method url-fetch)
10897 (uri (string-append
10898 "https://hackage.haskell.org/package/SDL/SDL-"
10899 version
10900 ".tar.gz"))
10901 (sha256
10902 (base32
10903 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10904 (build-system haskell-build-system)
10905 (inputs
10906 `(("sdl" ,sdl)))
10907 (home-page "https://hackage.haskell.org/package/SDL")
10908 (synopsis "LibSDL for Haskell")
10909 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10910multimedia library designed to provide low level access to audio, keyboard,
10911mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10912by MPEG playback software, emulators, and many popular games, including the
10913award winning Linux port of \"Civilization: Call To Power.\"")
10914 (license license:bsd-3)))
10915
1874cdc1
RV
10916(define-public ghc-sdl2
10917 (package
10918 (name "ghc-sdl2")
145148ca 10919 (version "2.5.0.0")
1874cdc1
RV
10920 (source
10921 (origin
10922 (method url-fetch)
10923 (uri (string-append "https://hackage.haskell.org/package/"
10924 "sdl2/sdl2-" version ".tar.gz"))
10925 (sha256
10926 (base32
145148ca 10927 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
10928 (build-system haskell-build-system)
10929 (arguments '(#:tests? #f)) ; tests require graphical environment
10930 (inputs
10931 `(("ghc-exceptions" ,ghc-exceptions)
10932 ("ghc-linear" ,ghc-linear)
10933 ("ghc-statevar" ,ghc-statevar)
10934 ("ghc-vector" ,ghc-vector)
10935 ("sdl2" ,sdl2)))
10936 (native-inputs
10937 `(("ghc-weigh" ,ghc-weigh)
10938 ("pkg-config" ,pkg-config)))
35437dbf 10939 (home-page "https://hackage.haskell.org/package/sdl2")
1874cdc1
RV
10940 (synopsis "High- and low-level bindings to the SDL library")
10941 (description
10942 "This package contains bindings to the SDL 2 library, in both high- and
10943low-level forms. The @code{SDL} namespace contains high-level bindings, where
10944enumerations are split into sum types, and we perform automatic
10945error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10946translation of the C API into Haskell FFI calls. As such, this does not
10947contain sum types nor error checking. Thus this namespace is suitable for
10948building your own abstraction over SDL, but is not recommended for day-to-day
10949programming.")
10950 (license license:bsd-3)))
10951
10952(define-public ghc-sdl2-image
10953 (package
10954 (name "ghc-sdl2-image")
10955 (version "2.0.0")
10956 (source
10957 (origin
10958 (method url-fetch)
10959 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10960 "sdl2-image-" version ".tar.gz"))
10961 (sha256
10962 (base32
10963 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10964 (build-system haskell-build-system)
10965 (inputs
10966 `(("ghc-sdl2" ,ghc-sdl2)
10967 ("sdl2-image" ,sdl2-image)))
10968 (native-inputs
10969 `(("pkg-config" ,pkg-config)))
3ef91e15 10970 (home-page "https://hackage.haskell.org/package/sdl2-image")
1874cdc1
RV
10971 (synopsis "Bindings to SDL2_image")
10972 (description "This package provides Haskell bindings to
10973@code{SDL2_image}.")
10974 (license license:expat)))
10975
10976(define-public ghc-sdl2-mixer
10977 (package
10978 (name "ghc-sdl2-mixer")
10979 (version "1.1.0")
10980 (source
10981 (origin
10982 (method url-fetch)
10983 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10984 "sdl2-mixer-" version ".tar.gz"))
10985 (sha256
10986 (base32
10987 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10988 (build-system haskell-build-system)
10989 (inputs
10990 `(("ghc-data-default-class" ,ghc-data-default-class)
10991 ("ghc-lifted-base" ,ghc-lifted-base)
10992 ("ghc-monad-control" ,ghc-monad-control)
10993 ("ghc-sdl2" ,ghc-sdl2)
10994 ("ghc-vector" ,ghc-vector)
10995 ("sdl2-mixer" ,sdl2-mixer)))
10996 (native-inputs
10997 `(("pkg-config" ,pkg-config)))
3ef91e15 10998 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
1874cdc1
RV
10999 (synopsis "Bindings to SDL2 mixer")
11000 (description "This package provides Haskell bindings to
11001@code{SDL2_mixer}.")
11002 (license license:bsd-3)))
11003
dddbc90c
RV
11004(define-public ghc-sdl-image
11005 (package
11006 (name "ghc-sdl-image")
11007 (version "0.6.2.0")
11008 (source
11009 (origin
11010 (method url-fetch)
11011 (uri (string-append
11012 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
11013 version
11014 ".tar.gz"))
11015 (sha256
11016 (base32
11017 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
11018 (build-system haskell-build-system)
11019 (arguments
11020 `(#:configure-flags
11021 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
11022 (sdl-image-include (string-append sdl-image "/include/SDL")))
11023 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
11024 (inputs
11025 `(("ghc-sdl" ,ghc-sdl)
11026 ("sdl-image" ,sdl-image)))
11027 (home-page "https://hackage.haskell.org/package/SDL-image")
11028 (synopsis "Haskell bindings to libSDL_image")
11029 (description "SDL_image is an image file loading library. It loads images
11030as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
11031PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
11032 (license license:bsd-3)))
11033
11034(define-public ghc-sdl-mixer
11035 (package
11036 (name "ghc-sdl-mixer")
11037 (version "0.6.3.0")
11038 (source
11039 (origin
11040 (method url-fetch)
11041 (uri (string-append
11042 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
11043 version
11044 ".tar.gz"))
11045 (sha256
11046 (base32
11047 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
11048 (build-system haskell-build-system)
11049 (arguments
11050 `(#:configure-flags
11051 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
11052 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
11053 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
11054 (inputs
11055 `(("ghc-sdl" ,ghc-sdl)
11056 ("sdl-mixer" ,sdl-mixer)))
11057 (home-page "https://hackage.haskell.org/package/SDL-mixer")
11058 (synopsis "Haskell bindings to libSDL_mixer")
11059 (description "SDL_mixer is a sample multi-channel audio mixer library. It
11060supports any number of simultaneously playing channels of 16 bit stereo audio,
11061plus a single channel of music, mixed by the popular MikMod MOD, Timidity
11062MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
11063 (license license:bsd-3)))
11064
11065(define-public ghc-securemem
11066 (package
11067 (name "ghc-securemem")
11068 (version "0.1.10")
11069 (source
11070 (origin
11071 (method url-fetch)
11072 (uri (string-append "https://hackage.haskell.org/package/"
11073 "securemem-" version "/"
11074 "securemem-" version ".tar.gz"))
11075 (sha256
11076 (base32
11077 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
11078 (build-system haskell-build-system)
11079 (inputs `(("ghc-byteable" ,ghc-byteable)
11080 ("ghc-memory" ,ghc-memory)))
11081 (home-page "https://github.com/vincenthz/hs-securemem")
11082 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
11083Haskell")
11084 (description "SecureMem is similar to ByteString, except that it provides
11085a memory chunk that will be auto-scrubbed after it run out of scope.")
11086 (license license:bsd-3)))
11087
3cf7219c
JS
11088(define-public ghc-semialign
11089 (package
11090 (name "ghc-semialign")
11091 (version "1")
11092 (source
11093 (origin
11094 (method url-fetch)
11095 (uri (string-append
11096 "https://hackage.haskell.org/package/semialign/semialign-"
11097 version
11098 ".tar.gz"))
11099 (sha256
11100 (base32
11101 "004x0a80sqqdgvsyk4z0nasxpi6z3g1d8kgwj804bj9ka8dlc75m"))))
11102 (build-system haskell-build-system)
11103 (inputs
11104 `(("ghc-these" ,ghc-these)
11105 ("ghc-base-compat" ,ghc-base-compat)
11106 ("ghc-hashable" ,ghc-hashable)
11107 ("ghc-tagged" ,ghc-tagged)
11108 ("ghc-unordered-containers" ,ghc-unordered-containers)
11109 ("ghc-vector" ,ghc-vector)
11110 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11111 (arguments
11112 `(#:cabal-revision
11113 ("1"
11114 "0qnqnyfng4kwy2h2anrcy5id2ijnawava3zcc5h5b8ri1y6ks6zi")))
11115 (home-page
11116 "https://github.com/isomorphism/these")
11117 (synopsis
11118 "Align and Zip type-classes from the common Semialign ancestor ")
11119 (description
11120 "The major use of @code{These} of this is provided by the
11121@code{align} member of @code{Semialign} class, representing a
11122generalized notion of \"zipping with padding\" that combines
11123structures without truncating to the size of the smaller input. It
11124turns out that @code{zip} operation fits well the @code{Semialign}
11125class, forming lattice-like structure.")
11126 (license license:bsd-3)))
11127
dddbc90c
RV
11128(define-public ghc-semigroupoids
11129 (package
11130 (name "ghc-semigroupoids")
a8aaadf2 11131 (version "5.3.3")
dddbc90c
RV
11132 (source
11133 (origin
11134 (method url-fetch)
11135 (uri (string-append
11136 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
11137 version
11138 ".tar.gz"))
11139 (sha256
11140 (base32
a8aaadf2 11141 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 11142 (build-system haskell-build-system)
95eb946b 11143 (outputs '("out" "static" "doc"))
dddbc90c
RV
11144 (inputs
11145 `(("ghc-base-orphans" ,ghc-base-orphans)
11146 ("ghc-transformers-compat" ,ghc-transformers-compat)
11147 ("ghc-bifunctors" ,ghc-bifunctors)
11148 ("ghc-comonad" ,ghc-comonad)
11149 ("ghc-contravariant" ,ghc-contravariant)
11150 ("ghc-distributive" ,ghc-distributive)
11151 ("ghc-hashable" ,ghc-hashable)
11152 ("ghc-semigroups" ,ghc-semigroups)
11153 ("ghc-tagged" ,ghc-tagged)
11154 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11155 (native-inputs
11156 `(("cabal-doctest" ,cabal-doctest)
11157 ("ghc-doctest" ,ghc-doctest)))
11158 (home-page "https://github.com/ekmett/semigroupoids")
11159 (synopsis "Semigroupoids operations for Haskell")
11160 (description "This library provides a wide array of (semi)groupoids and
11161operations for working with them. A @code{Semigroupoid} is a @code{Category}
11162without the requirement of identity arrows for every object in the category.
11163A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
11164Finally, to work with these weaker structures it is beneficial to have
11165containers that can provide stronger guarantees about their contents, so
11166versions of @code{Traversable} and @code{Foldable} that can be folded with
11167just a @code{Semigroup} are added.")
11168 (license license:bsd-3)))
11169
11170(define-public ghc-semigroups
11171 (package
11172 (name "ghc-semigroups")
11173 (version "0.18.5")
11174 (source
11175 (origin
11176 (method url-fetch)
11177 (uri (string-append
11178 "https://hackage.haskell.org/package/semigroups/semigroups-"
11179 version
11180 ".tar.gz"))
11181 (sha256
11182 (base32
11183 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
11184 (build-system haskell-build-system)
11185 (inputs
11186 `(("ghc-nats" ,ghc-nats)
11187 ("ghc-tagged" ,ghc-tagged)
11188 ("ghc-unordered-containers" ,ghc-unordered-containers)
11189 ("ghc-hashable" ,ghc-hashable)))
11190 (home-page "https://github.com/ekmett/semigroups/")
11191 (synopsis "Semigroup operations for Haskell")
11192 (description "This package provides semigroups for Haskell. In
11193mathematics, a semigroup is an algebraic structure consisting of a set
11194together with an associative binary operation. A semigroup generalizes a
11195monoid in that there might not exist an identity element. It
11196also (originally) generalized a group (a monoid with all inverses) to a type
11197where every element did not have to have an inverse, thus the name
11198semigroup.")
11199 (license license:bsd-3)))
11200
11201(define-public ghc-semigroups-bootstrap
11202 (package
11203 (inherit ghc-semigroups)
11204 (name "ghc-semigroups-bootstrap")
11205 (inputs
11206 `(("ghc-nats" ,ghc-nats-bootstrap)
11207 ("ghc-tagged" ,ghc-tagged)
11208 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
11209 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11210 (properties '((hidden? #t)))))
dddbc90c 11211
47c526df
JS
11212(define-public ghc-serialise
11213 (package
11214 (name "ghc-serialise")
11215 (version "0.2.1.0")
11216 (source
11217 (origin
11218 (method url-fetch)
11219 (uri (string-append
11220 "mirror://hackage/package/serialise/serialise-"
11221 version
11222 ".tar.gz"))
11223 (sha256
11224 (base32
11225 "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4"))))
11226 (build-system haskell-build-system)
11227 (inputs
11228 `(("ghc-cborg" ,ghc-cborg)
11229 ("ghc-half" ,ghc-half)
11230 ("ghc-hashable" ,ghc-hashable)
11231 ("ghc-primitive" ,ghc-primitive)
11232 ("ghc-unordered-containers" ,ghc-unordered-containers)
11233 ("ghc-vector" ,ghc-vector)))
11234 (native-inputs
11235 `(("ghc-quickcheck" ,ghc-quickcheck)
11236 ("ghc-tasty" ,ghc-tasty)
11237 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11238 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11239 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
11240 (arguments
11241 `(#:cabal-revision
11242 ("1" "1rknhad1i8bpknsnphmcmb6dnb48c2p2c13ia2qqch3hkhsvfpr6")))
11243 (home-page "https://github.com/well-typed/cborg")
11244 (synopsis "Binary serialisation library for Haskell values")
11245 (description
11246 "This package (formerly binary-serialise-cbor) provides pure,
11247efficient serialization of Haskell values directly into ByteStrings for
11248storage or transmission purposes. By providing a set of type class instances,
11249you can also serialise any custom data type you have as well.
11250
11251The underlying binary format used is the 'Concise Binary Object
11252Representation', or CBOR, specified in RFC 7049. As a result, serialised
11253Haskell values have implicit structure outside of the Haskell program itself,
11254meaning they can be inspected or analyzed without custom tools.
11255
11256An implementation of the standard bijection between CBOR and JSON is
11257provided by the https://hackage.haskell.org/package/cborg-json
11258package. Also see https://hackage.haskell.org/package/cbor-tool for a
11259convenient command-line utility for working with CBOR data.")
11260 (license license:bsd-3)))
11261
dddbc90c
RV
11262(define-public ghc-setenv
11263 (package
11264 (name "ghc-setenv")
11265 (version "0.1.1.3")
11266 (source
11267 (origin
11268 (method url-fetch)
11269 (uri (string-append
11270 "https://hackage.haskell.org/package/setenv/setenv-"
11271 version
11272 ".tar.gz"))
11273 (sha256
11274 (base32
11275 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
11276 (build-system haskell-build-system)
11277 (home-page "https://hackage.haskell.org/package/setenv")
11278 (synopsis "Library for setting environment variables")
11279 (description "This package provides a Haskell library for setting
11280environment variables.")
11281 (license license:expat)))
11282
11283(define-public ghc-setlocale
11284 (package
11285 (name "ghc-setlocale")
9d7cfc9b 11286 (version "1.0.0.9")
dddbc90c
RV
11287 (source (origin
11288 (method url-fetch)
11289 (uri (string-append
11290 "https://hackage.haskell.org/package/setlocale-"
11291 version "/setlocale-" version ".tar.gz"))
11292 (sha256
11293 (base32
9d7cfc9b 11294 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
11295 (build-system haskell-build-system)
11296 (home-page "https://hackage.haskell.org/package/setlocale")
11297 (synopsis "Haskell bindings to setlocale")
11298 (description "This package provides Haskell bindings to the
11299@code{setlocale} C function.")
11300 (license license:bsd-3)))
11301
11302(define-public ghc-shakespeare
11303 (package
11304 (name "ghc-shakespeare")
f680955f 11305 (version "2.0.22")
dddbc90c
RV
11306 (source
11307 (origin
11308 (method url-fetch)
11309 (uri (string-append "https://hackage.haskell.org/package/"
11310 "shakespeare-" version "/"
11311 "shakespeare-" version ".tar.gz"))
11312 (sha256
11313 (base32
f680955f 11314 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
11315 (build-system haskell-build-system)
11316 (inputs `(("ghc-aeson" ,ghc-aeson)
11317 ("ghc-blaze-markup" ,ghc-blaze-markup)
11318 ("ghc-blaze-html" ,ghc-blaze-html)
11319 ("ghc-exceptions" ,ghc-exceptions)
11320 ("ghc-vector" ,ghc-vector)
11321 ("ghc-unordered-containers" ,ghc-unordered-containers)
11322 ("ghc-scientific" ,ghc-scientific)))
11323 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11324 ("ghc-hunit" ,ghc-hunit)
11325 ("hspec-discover" ,hspec-discover)))
11326 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
11327 (synopsis "Family of type-safe template languages for Haskell")
11328 (description "This Haskell package provides a family of type-safe
11329templates with simple variable interpolation. Shakespeare templates can
11330be used inline with a quasi-quoter or in an external file and it
11331interpolates variables according to the type being inserted.")
11332 (license license:expat)))
11333
11334(define-public ghc-shelly
11335 (package
11336 (name "ghc-shelly")
11337 (version "1.8.1")
11338 (source
11339 (origin
11340 (method url-fetch)
11341 (uri (string-append
11342 "https://hackage.haskell.org/package/shelly/shelly-"
11343 version ".tar.gz"))
11344 (sha256
11345 (base32
11346 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
11347 (build-system haskell-build-system)
11348 (inputs
11349 `(("ghc-unix-compat" ,ghc-unix-compat)
11350 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11351 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
11352 ("ghc-monad-control" ,ghc-monad-control)
11353 ("ghc-lifted-base" ,ghc-lifted-base)
11354 ("ghc-lifted-async" ,ghc-lifted-async)
11355 ("ghc-exceptions" ,ghc-exceptions)
11356 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11357 ("ghc-async" ,ghc-async)
11358 ("ghc-transformers-base" ,ghc-transformers-base)
11359 ("ghc-hunit" ,ghc-hunit)
11360 ("ghc-hspec" ,ghc-hspec)
11361 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
11362 (home-page "https://github.com/yesodweb/Shelly.hs")
11363 (synopsis "Shell-like (systems) programming in Haskell")
11364 (description
11365 "Shelly provides convenient systems programming in Haskell, similar in
11366spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
11367 (license license:bsd-3)))
11368
11369(define-public ghc-silently
11370 (package
11371 (name "ghc-silently")
544bb369 11372 (version "1.2.5.1")
dddbc90c
RV
11373 (source
11374 (origin
11375 (method url-fetch)
11376 (uri (string-append
11377 "https://hackage.haskell.org/package/silently/silently-"
11378 version
11379 ".tar.gz"))
11380 (sha256
11381 (base32
544bb369 11382 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
11383 (build-system haskell-build-system)
11384 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
11385 ;; (inputs
11386 ;; `(("ghc-temporary" ,ghc-temporary)))
11387 (home-page "https://github.com/hspec/silently")
11388 (synopsis "Prevent writing to stdout")
11389 (description "This package provides functions to prevent or capture
11390writing to stdout and other handles.")
11391 (license license:bsd-3)))
11392
11393(define-public ghc-simple-reflect
11394 (package
11395 (name "ghc-simple-reflect")
11396 (version "0.3.3")
11397 (source
11398 (origin
11399 (method url-fetch)
11400 (uri (string-append
11401 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
11402 version
11403 ".tar.gz"))
11404 (sha256
11405 (base32
11406 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
11407 (build-system haskell-build-system)
11408 (home-page
11409 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
11410 (synopsis
11411 "Simple reflection of expressions containing variables")
11412 (description
11413 "This package allows simple reflection of expressions containing
11414variables. Reflection here means that a Haskell expression is turned into a
11415string. The primary aim of this package is teaching and understanding; there
11416are no options for manipulating the reflected expressions beyond showing
11417them.")
11418 (license license:bsd-3)))
11419
11420(define-public ghc-simple-sendfile
11421 (package
11422 (name "ghc-simple-sendfile")
08f54390 11423 (version "0.2.30")
dddbc90c
RV
11424 (source
11425 (origin
11426 (method url-fetch)
11427 (uri (string-append "https://hackage.haskell.org/package/"
11428 "simple-sendfile-" version "/"
11429 "simple-sendfile-" version ".tar.gz"))
11430 (sha256
11431 (base32
08f54390 11432 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
11433 (build-system haskell-build-system)
11434 (inputs
11435 `(("ghc-conduit" ,ghc-conduit)
11436 ("ghc-conduit-extra" ,ghc-conduit-extra)
11437 ("ghc-network" ,ghc-network)
11438 ("ghc-resourcet" ,ghc-resourcet)))
11439 (native-inputs
11440 `(("ghc-hspec" ,ghc-hspec)
11441 ("hspec-discover" ,hspec-discover)))
11442 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
11443 (synopsis "Cross platform library for the sendfile system call")
11444 (description "This library tries to call minimum system calls which
11445are the bottleneck of web servers.")
11446 (license license:bsd-3)))
11447
06966c05
TS
11448(define-public ghc-size-based
11449 (package
11450 (name "ghc-size-based")
11451 (version "0.1.2.0")
11452 (source
11453 (origin
11454 (method url-fetch)
11455 (uri (string-append "https://hackage.haskell.org/package/"
11456 "size-based/size-based-" version ".tar.gz"))
11457 (sha256
11458 (base32
11459 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
11460 (build-system haskell-build-system)
11461 (inputs
11462 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
11463 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
11464 ("ghc-semigroups" ,ghc-semigroups)))
11465 (arguments
11466 `(#:cabal-revision
11467 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
11468 (home-page "https://hackage.haskell.org/package/size-based")
11469 (synopsis "Sized functors for size-based enumerations")
11470 (description "This library provides a framework for size-based
11471enumerations.")
11472 (license license:bsd-3)))
11473
dddbc90c
RV
11474(define-public ghc-skylighting-core
11475 (package
11476 (name "ghc-skylighting-core")
1826c2a8 11477 (version "0.8.2.1")
dddbc90c
RV
11478 (source (origin
11479 (method url-fetch)
11480 (uri (string-append "https://hackage.haskell.org/package/"
11481 "skylighting-core/skylighting-core-"
11482 version ".tar.gz"))
11483 (sha256
11484 (base32
1826c2a8 11485 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
11486 (build-system haskell-build-system)
11487 (inputs
11488 `(("ghc-aeson" ,ghc-aeson)
11489 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11490 ("ghc-attoparsec" ,ghc-attoparsec)
11491 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
11492 ("ghc-blaze-html" ,ghc-blaze-html)
11493 ("ghc-case-insensitive" ,ghc-case-insensitive)
11494 ("ghc-colour" ,ghc-colour)
11495 ("ghc-hxt" ,ghc-hxt)
11496 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
11497 ("ghc-safe" ,ghc-safe)
11498 ("ghc-utf8-string" ,ghc-utf8-string)))
11499 (native-inputs
11500 `(("ghc-diff" ,ghc-diff)
11501 ("ghc-hunit" ,ghc-hunit)
11502 ("ghc-pretty-show" ,ghc-pretty-show)
11503 ("ghc-quickcheck" ,ghc-quickcheck)
11504 ("ghc-tasty" ,ghc-tasty)
11505 ("ghc-tasty-golden" ,ghc-tasty-golden)
11506 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11507 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11508 (home-page "https://github.com/jgm/skylighting")
11509 (synopsis "Syntax highlighting library")
11510 (description "Skylighting is a syntax highlighting library with support
11511for over one hundred languages. It derives its tokenizers from XML syntax
11512definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
11513supported by that framework can be added. An optional command-line program is
11514provided. Skylighting is intended to be the successor to highlighting-kate.")
11515 (license license:gpl2)))
11516
11517(define-public ghc-skylighting
11518 (package
11519 (inherit ghc-skylighting-core)
11520 (name "ghc-skylighting")
36c940cf 11521 (version "0.8.2.1")
dddbc90c
RV
11522 (source (origin
11523 (method url-fetch)
11524 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
11525 version "/skylighting-" version ".tar.gz"))
11526 (sha256
11527 (base32
36c940cf 11528 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
11529 (inputs
11530 `(("ghc-skylighting-core" ,ghc-skylighting-core)
11531 ,@(package-inputs ghc-skylighting-core)))))
11532
11533(define-public ghc-smallcheck
11534 (package
11535 (name "ghc-smallcheck")
11536 (version "1.1.5")
11537 (source
11538 (origin
11539 (method url-fetch)
11540 (uri (string-append
11541 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
11542 version
11543 ".tar.gz"))
11544 (sha256
11545 (base32
11546 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
11547 (build-system haskell-build-system)
11548 (inputs
11549 `(("ghc-logict" ,ghc-logict)))
11550 (home-page
11551 "https://github.com/feuerbach/smallcheck")
11552 (synopsis "Property-based testing library")
a84be333 11553 (description "SmallCheck is a testing library that verifies
dddbc90c
RV
11554properties for all test cases up to some depth. The test cases are generated
11555automatically by SmallCheck.")
11556 (license license:bsd-3)))
11557
11558(define-public ghc-socks
11559 (package
11560 (name "ghc-socks")
ab761e9d 11561 (version "0.6.1")
dddbc90c
RV
11562 (source (origin
11563 (method url-fetch)
11564 (uri (string-append "https://hackage.haskell.org/package/"
11565 "socks/socks-" version ".tar.gz"))
11566 (sha256
11567 (base32
ab761e9d 11568 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
11569 (build-system haskell-build-system)
11570 (inputs
11571 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 11572 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
11573 ("ghc-network" ,ghc-network)))
11574 (home-page "https://github.com/vincenthz/hs-socks")
11575 (synopsis "SOCKS proxy (version 5) implementation")
11576 (description
11577 "This library provides a SOCKS proxy (version 5) implementation.")
11578 (license license:bsd-3)))
11579
081d85d6
TS
11580(define-public ghc-sop-core
11581 (package
11582 (name "ghc-sop-core")
11583 (version "0.4.0.0")
11584 (source
11585 (origin
11586 (method url-fetch)
11587 (uri (string-append "https://hackage.haskell.org/package/"
11588 "sop-core/sop-core-" version ".tar.gz"))
11589 (sha256
11590 (base32
11591 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
11592 (build-system haskell-build-system)
3ef91e15 11593 (home-page "https://hackage.haskell.org/package/sop-core")
081d85d6
TS
11594 (synopsis "True Sums of Products")
11595 (description "This package provides an implementation of
11596@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
11597is the main module of this library and contains more detailed
11598documentation. The main use case of this package is to serve as the
11599core of @url{https://hackage.haskell.org/package/generics-sop,
11600generics-sop}.")
11601 (license license:bsd-3)))
11602
4c77a1a0
JS
11603(define-public ghc-special-values
11604 (package
11605 (name "ghc-special-values")
11606 (version "0.1.0.0")
11607 (source
11608 (origin
11609 (method url-fetch)
11610 (uri (string-append
11611 "https://hackage.haskell.org/package/special-values/"
11612 "special-values-" version ".tar.gz"))
11613 (sha256
11614 (base32
11615 "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w"))))
11616 (build-system haskell-build-system)
11617 (inputs
11618 `(("ghc-scientific" ,ghc-scientific)
11619 ("ghc-ieee754" ,ghc-ieee754)
11620 ("ghc-nats" ,ghc-nats)))
11621 (home-page
11622 "https://github.com/minad/special-values#readme")
11623 (synopsis "Typeclass providing special values")
11624 (description
11625 "Special values are provided by a SpecialValues typeclass. Those can be
11626used for example by QuickCheck, see quickcheck-special." )
11627 (license license:expat)))
11628
dddbc90c
RV
11629(define-public ghc-split
11630 (package
11631 (name "ghc-split")
11632 (version "0.2.3.3")
534d6caa 11633 (outputs '("out" "static" "doc"))
dddbc90c
RV
11634 (source
11635 (origin
11636 (method url-fetch)
11637 (uri (string-append
11638 "https://hackage.haskell.org/package/split/split-"
11639 version
11640 ".tar.gz"))
11641 (sha256
11642 (base32
11643 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
11644 (build-system haskell-build-system)
9bbc21a7
TS
11645 (arguments
11646 `(#:cabal-revision
11647 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
11648 (native-inputs
11649 `(("ghc-quickcheck" ,ghc-quickcheck)))
11650 (home-page "https://hackage.haskell.org/package/split")
11651 (synopsis "Combinator library for splitting lists")
11652 (description "This package provides a collection of Haskell functions for
11653splitting lists into parts, akin to the @code{split} function found in several
11654mainstream languages.")
11655 (license license:bsd-3)))
11656
7799d17f 11657(define-public ghc-splitmix
49367c92 11658 (package
7799d17f 11659 (name "ghc-splitmix")
49367c92
TS
11660 (version "0.0.3")
11661 (source
11662 (origin
11663 (method url-fetch)
11664 (uri (string-append "https://hackage.haskell.org/package/"
11665 "splitmix/splitmix-" version ".tar.gz"))
11666 (sha256
11667 (base32
11668 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 11669 (build-system haskell-build-system)
49367c92
TS
11670 (inputs
11671 `(("ghc-random" ,ghc-random)))
7799d17f
TS
11672 (native-inputs
11673 `(("ghc-hunit" ,ghc-hunit)
11674 ("ghc-async" ,ghc-async)
11675 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
11676 ("ghc-tf-random" ,ghc-tf-random)
11677 ("ghc-vector" ,ghc-vector)))
92a79fee 11678 (home-page "https://hackage.haskell.org/package/splitmix")
49367c92
TS
11679 (synopsis "Fast and splittable pseudorandom number generator")
11680 (description "This package provides a Pure Haskell implementation of the
11681SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
11682pseudorandom number generator that is quite fast: 9 64-bit
11683arithmetic/logical operations per 64 bits generated. SplitMix is tested
11684with two standard statistical test suites (DieHarder and TestU01, this
11685implementation only using the former) and it appears to be adequate for
11686\"everyday\" use, such as Monte Carlo algorithms and randomized data
11687structures where speed is important. In particular, it @strong{should not
11688be used for cryptographic or security applications}, because generated
11689sequences of pseudorandom values are too predictable (the mixing functions
11690are easily inverted, and two successive outputs suffice to reconstruct the
11691internal state).")
11692 (license license:bsd-3)))
11693
7799d17f
TS
11694(define-public ghc-splitmix-bootstrap
11695 (package
11696 (inherit ghc-splitmix)
11697 (name "ghc-splitmix-bootstrap")
11698 (arguments `(#:tests? #f))
11699 (native-inputs '())
11700 (properties '((hidden? #t)))))
11701
a152258b
JS
11702(define-public ghc-spoon
11703 (package
11704 (name "ghc-spoon")
11705 (version "0.3.1")
11706 (source
11707 (origin
11708 (method url-fetch)
11709 (uri (string-append
11710 "https://hackage.haskell.org/package/spoon/spoon-"
11711 version
11712 ".tar.gz"))
11713 (sha256
11714 (base32
11715 "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"))))
11716 (build-system haskell-build-system)
11717 (arguments
11718 `(#:cabal-revision
11719 ("1"
11720 "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74")))
11721 (home-page
11722 "http://hackage.haskell.org/package/spoon")
11723 (synopsis
11724 "Catch errors thrown from pure computations")
11725 (description
11726 "Takes an error-throwing expression and puts it back in the Maybe it
11727belongs in.
11728
11729Note that this suffers from the
11730@url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.")
11731 (license license:bsd-3)))
11732
dddbc90c
RV
11733(define-public ghc-statevar
11734 (package
11735 (name "ghc-statevar")
19419709 11736 (version "1.2")
dddbc90c
RV
11737 (source
11738 (origin
11739 (method url-fetch)
11740 (uri (string-append
11741 "https://hackage.haskell.org/package/StateVar/StateVar-"
11742 version
11743 ".tar.gz"))
11744 (sha256
11745 (base32
19419709 11746 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
11747 (build-system haskell-build-system)
11748 (home-page "https://hackage.haskell.org/package/StateVar")
11749 (synopsis "State variables for Haskell")
11750 (description "This package provides state variables, which are references
11751in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
11752 (license license:bsd-3)))
11753
11754(define-public ghc-statistics
11755 (package
11756 (name "ghc-statistics")
60e78e68 11757 (version "0.15.1.1")
dddbc90c
RV
11758 (source
11759 (origin
11760 (method url-fetch)
11761 (uri (string-append "https://hackage.haskell.org/package/"
11762 "statistics-" version "/"
11763 "statistics-" version ".tar.gz"))
11764 (sha256
11765 (base32
60e78e68 11766 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
11767 (build-system haskell-build-system)
11768 (arguments
60e78e68 11769 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
11770 #:tests? #f))
11771 (inputs
11772 `(("ghc-aeson" ,ghc-aeson)
60e78e68 11773 ("ghc-async" ,ghc-async)
dddbc90c 11774 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 11775 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
11776 ("ghc-math-functions" ,ghc-math-functions)
11777 ("ghc-monad-par" ,ghc-monad-par)
11778 ("ghc-mwc-random" ,ghc-mwc-random)
11779 ("ghc-primitive" ,ghc-primitive)
11780 ("ghc-vector" ,ghc-vector)
11781 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
11782 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
11783 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
11784 (native-inputs
11785 `(("ghc-hunit" ,ghc-hunit)
11786 ("ghc-quickcheck" ,ghc-quickcheck)
11787 ("ghc-ieee754" ,ghc-ieee754)
11788 ("ghc-test-framework" ,ghc-test-framework)
11789 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11790 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11791 (home-page "https://github.com/bos/mwc-random")
11792 (synopsis "Haskell library of statistical types, data, and functions")
11793 (description "This library provides a number of common functions
11794and types useful in statistics. We focus on high performance, numerical
11795robustness, and use of good algorithms. Where possible, we provide references
11796to the statistical literature.
11797
11798The library's facilities can be divided into four broad categories:
11799
11800@itemize
11801@item Working with widely used discrete and continuous probability
11802distributions. (There are dozens of exotic distributions in use; we focus
11803on the most common.)
11804
11805@item Computing with sample data: quantile estimation, kernel density
11806estimation, histograms, bootstrap methods, significance testing,
11807and regression and autocorrelation analysis.
11808
11809@item Random variate generation under several different distributions.
11810
11811@item Common statistical tests for significant differences between samples.
11812@end itemize")
11813 (license license:bsd-2)))
11814
11815(define-public ghc-stm-chans
11816 (package
11817 (name "ghc-stm-chans")
11818 (version "3.0.0.4")
11819 (source
11820 (origin
11821 (method url-fetch)
11822 (uri (string-append "https://hackage.haskell.org/package/"
11823 "stm-chans-" version "/"
11824 "stm-chans-" version ".tar.gz"))
11825 (sha256
11826 (base32
11827 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
11828 (build-system haskell-build-system)
11829 (home-page "https://hackage.haskell.org/package/stm-chans")
11830 (synopsis "Additional types of channels for ghc-stm")
11831 (description "This Haskell package offers a collection of channel types,
11832similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
11833features.")
11834 (license license:bsd-3)))
11835
11836(define-public ghc-stm-conduit
11837 (package
11838 (name "ghc-stm-conduit")
cd518e95 11839 (version "4.0.1")
dddbc90c
RV
11840 (source
11841 (origin
11842 (method url-fetch)
11843 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
11844 "stm-conduit-" version ".tar.gz"))
11845 (sha256
11846 (base32
cd518e95 11847 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
11848 (build-system haskell-build-system)
11849 (inputs
11850 `(("ghc-stm-chans" ,ghc-stm-chans)
11851 ("ghc-cereal" ,ghc-cereal)
11852 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
11853 ("ghc-conduit" ,ghc-conduit)
11854 ("ghc-conduit-extra" ,ghc-conduit-extra)
11855 ("ghc-exceptions" ,ghc-exceptions)
11856 ("ghc-resourcet" ,ghc-resourcet)
11857 ("ghc-async" ,ghc-async)
11858 ("ghc-monad-loops" ,ghc-monad-loops)
11859 ("ghc-unliftio" ,ghc-unliftio)))
11860 (native-inputs
11861 `(("ghc-doctest" ,ghc-doctest)
11862 ("ghc-quickcheck" ,ghc-quickcheck)
11863 ("ghc-hunit" ,ghc-hunit)
11864 ("ghc-test-framework" ,ghc-test-framework)
11865 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11866 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11867 (home-page "https://github.com/cgaebel/stm-conduit")
11868 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
11869 (description
11870 "This package provides two simple conduit wrappers around STM channels: a
11871source and a sink.")
11872 (license license:bsd-3)))
11873
11874(define-public ghc-stmonadtrans
11875 (package
11876 (name "ghc-stmonadtrans")
11877 (version "0.4.3")
11878 (source
11879 (origin
11880 (method url-fetch)
11881 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
11882 "/STMonadTrans-" version ".tar.gz"))
11883 (sha256
11884 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
11885 (build-system haskell-build-system)
11886 (home-page "https://hackage.haskell.org/package/STMonadTrans")
11887 (synopsis "Monad transformer version of the ST monad")
11888 (description
11889 "This package provides a monad transformer version of the @code{ST} monad
11890for strict state threads.")
11891 (license license:bsd-3)))
11892
11893(define-public ghc-storable-complex
11894 (package
11895 (name "ghc-storable-complex")
4a35e3c3 11896 (version "0.2.3.0")
dddbc90c
RV
11897 (source
11898 (origin
11899 (method url-fetch)
11900 (uri (string-append
11901 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
11902 version ".tar.gz"))
11903 (sha256
4a35e3c3 11904 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 11905 (build-system haskell-build-system)
4a35e3c3
TS
11906 (inputs
11907 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
11908 (home-page "https://github.com/cartazio/storable-complex")
11909 (synopsis "Haskell Storable instance for Complex")
11910 (description "This package provides a Haskell library including a
11911Storable instance for Complex which is binary compatible with C99, C++
11912and Fortran complex data types.")
11913 (license license:bsd-3)))
11914
ad80074a
JS
11915(define-public ghc-storable-record
11916 (package
11917 (name "ghc-storable-record")
11918 (version "0.0.4")
11919 (source
11920 (origin
11921 (method url-fetch)
11922 (uri
11923 (string-append
11924 "https://hackage.haskell.org/package/storable-record/"
11925 "storable-record-" version ".tar.gz"))
11926 (sha256
11927 (base32
11928 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
11929 (build-system haskell-build-system)
11930 (inputs
11931 `(("ghc-semigroups" ,ghc-semigroups)
11932 ("ghc-utility-ht" ,ghc-utility-ht)
11933 ("ghc-storablevector" ,ghc-storablevector)
11934 ("ghc-timeit" ,ghc-timeit)))
11935 (home-page "https://hackage.haskell.org/package/storable-record")
11936 (synopsis "Elegant definition of Storable instances for records")
11937 (description "With this package you can build a Storable instance of
11938a record type from Storable instances of its elements in an elegant way.
11939It does not do any magic, just a bit arithmetic to compute the right
11940offsets, that would be otherwise done manually or by a preprocessor like
11941C2HS. There is no guarantee that the generated memory layout is
11942compatible with that of a corresponding C struct. However, the module
11943generates the smallest layout that is possible with respect to the
11944alignment of the record elements.")
11945 (license license:bsd-3)))
11946
55f4c653
JS
11947(define-public ghc-storable-tuple
11948 (package
11949 (name "ghc-storable-tuple")
11950 (version "0.0.3.3")
11951 (source
11952 (origin
11953 (method url-fetch)
11954 (uri
11955 (string-append
11956 "https://hackage.haskell.org/package/storable-tuple/"
11957 "storable-tuple-" version ".tar.gz"))
11958 (sha256
11959 (base32
11960 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11961 (build-system haskell-build-system)
11962 (inputs
11963 `(("ghc-storable-record" ,ghc-storable-record)
11964 ("ghc-utility-ht" ,ghc-utility-ht)
11965 ("ghc-base-orphans" ,ghc-base-orphans)))
11966 (home-page "https://hackage.haskell.org/package/storable-tuple")
11967 (synopsis "Storable instance for pairs and triples")
11968 (description "This package provides a Storable instance for pairs
11969and triples which should be binary compatible with C99 and C++. The
11970only purpose of this package is to provide a standard location for this
11971instance so that other packages needing this instance can play nicely
11972together.")
11973 (license license:bsd-3)))
11974
bc06ca45
JS
11975(define-public ghc-storablevector
11976 (package
11977 (name "ghc-storablevector")
11978 (version "0.2.13")
11979 (source
11980 (origin
11981 (method url-fetch)
11982 (uri
11983 (string-append
11984 "https://hackage.haskell.org/package/storablevector/storablevector-"
11985 version ".tar.gz"))
11986 (sha256
11987 (base32
11988 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11989 (build-system haskell-build-system)
11990 (inputs
11991 `(("ghc-non-negative" ,ghc-non-negative)
11992 ("ghc-utility-ht" ,ghc-utility-ht)
11993 ("ghc-semigroups" ,ghc-semigroups)
11994 ("ghc-unsafe" ,ghc-unsafe)
11995 ("ghc-quickcheck" ,ghc-quickcheck)
11996 ("ghc-syb" ,ghc-syb)))
228d2901 11997 (home-page "https://wiki.haskell.org/Storable_Vector")
bc06ca45
JS
11998 (synopsis "Fast, packed, strict storable arrays with a list interface")
11999 (description "This library provides fast, packed, strict storable
12000arrays with a list interface, a chunky lazy list interface with variable
12001chunk size and an interface for write access via the ST monad. This is
12002much like bytestring and binary but can be used for every
12003@code{Foreign.Storable.Storable} type. See also
12004@url{http://hackage.haskell.org/package/vector}, a library with a
12005similar intention.
12006
12007This library does not do advanced fusion optimization, since especially
12008for lazy vectors this would either be incorrect or not applicable. See
12009@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
12010a library that provides fusion with lazy lists.")
12011 (license license:bsd-3)))
12012
dddbc90c
RV
12013(define-public ghc-streaming-commons
12014 (package
12015 (name "ghc-streaming-commons")
12016 (version "0.2.1.1")
12017 (source
12018 (origin
12019 (method url-fetch)
12020 (uri (string-append "https://hackage.haskell.org/package/"
12021 "streaming-commons/streaming-commons-"
12022 version ".tar.gz"))
12023 (sha256
12024 (base32
12025 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
12026 (build-system haskell-build-system)
12027 (inputs
12028 `(("ghc-async" ,ghc-async)
12029 ("ghc-blaze-builder" ,ghc-blaze-builder)
12030 ("ghc-network" ,ghc-network)
12031 ("ghc-random" ,ghc-random)
12032 ("ghc-zlib" ,ghc-zlib)))
12033 (native-inputs
12034 `(("ghc-quickcheck" ,ghc-quickcheck)
12035 ("ghc-hspec" ,ghc-hspec)
12036 ("hspec-discover" ,hspec-discover)))
12037 (home-page "https://hackage.haskell.org/package/streaming-commons")
12038 (synopsis "Conduit and pipes needed by some streaming data libraries")
12039 (description "This package provides low-dependency functionality commonly
12040needed by various Haskell streaming data libraries, such as @code{conduit} and
12041@code{pipe}s.")
12042 (license license:expat)))
12043
12044(define-public ghc-strict
12045 (package
12046 (name "ghc-strict")
12047 (version "0.3.2")
12048 (source
12049 (origin
12050 (method url-fetch)
12051 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
12052 version ".tar.gz"))
12053 (sha256
12054 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
12055 (build-system haskell-build-system)
12056 (home-page "https://hackage.haskell.org/package/strict")
12057 (synopsis "Strict data types and String IO")
12058 (description
12059 "This package provides strict versions of some standard Haskell data
12060types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
12061IO operations.")
12062 (license license:bsd-3)))
12063
12064(define-public ghc-stringbuilder
12065 (package
12066 (name "ghc-stringbuilder")
12067 (version "0.5.1")
12068 (source
12069 (origin
12070 (method url-fetch)
12071 (uri (string-append
12072 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
12073 version
12074 ".tar.gz"))
12075 (sha256
12076 (base32
12077 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
12078 (build-system haskell-build-system)
12079 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
12080 ; enabled
12081 (home-page "https://hackage.haskell.org/package/stringbuilder")
12082 (synopsis "Writer monad for multi-line string literals")
12083 (description "This package provides a writer monad for multi-line string
12084literals.")
12085 (license license:expat)))
12086
12087(define-public ghc-string-qq
12088 (package
12089 (name "ghc-string-qq")
4d6fddc3 12090 (version "0.0.4")
dddbc90c
RV
12091 (source
12092 (origin
12093 (method url-fetch)
12094 (uri (string-append
12095 "https://hackage.haskell.org/package/string-qq/string-qq-"
12096 version
12097 ".tar.gz"))
12098 (sha256
12099 (base32
4d6fddc3 12100 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 12101 (build-system haskell-build-system)
4d6fddc3
TS
12102 (native-inputs
12103 `(("ghc-hunit" ,ghc-hunit)))
3ef91e15 12104 (home-page "https://hackage.haskell.org/package/string-qq")
dddbc90c
RV
12105 (synopsis
12106 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
12107 (description
12108 "This package provides a quasiquoter for non-interpolated strings, texts
12109and bytestrings.")
12110 (license license:public-domain)))
12111
12112(define-public ghc-stringsearch
12113 (package
12114 (name "ghc-stringsearch")
12115 (version "0.3.6.6")
12116 (source
12117 (origin
12118 (method url-fetch)
12119 (uri (string-append
12120 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
12121 version
12122 ".tar.gz"))
12123 (sha256
12124 (base32
12125 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
12126 (build-system haskell-build-system)
e2303abb
TS
12127 (arguments
12128 `(#:cabal-revision
12129 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
12130 (home-page "https://bitbucket.org/dafis/stringsearch")
12131 (synopsis "Fast searching, splitting and replacing of ByteStrings")
12132 (description "This package provides several functions to quickly search
12133for substrings in strict or lazy @code{ByteStrings}. It also provides
12134functions for breaking or splitting on substrings and replacing all
12135occurrences of a substring (the first in case of overlaps) with another.")
12136 (license license:bsd-3)))
12137
dcf3f8f4
TS
12138(define-public ghc-svg-builder
12139 (package
12140 (name "ghc-svg-builder")
12141 (version "0.1.1")
12142 (source
12143 (origin
12144 (method url-fetch)
12145 (uri (string-append "https://hackage.haskell.org/package/"
12146 "svg-builder/svg-builder-" version ".tar.gz"))
12147 (sha256
12148 (base32
12149 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
12150 (build-system haskell-build-system)
12151 (inputs
12152 `(("ghc-blaze-builder" ,ghc-blaze-builder)
12153 ("ghc-hashable" ,ghc-hashable)
12154 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12155 (arguments
12156 `(#:cabal-revision
12157 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
12158 (home-page "https://github.com/diagrams/svg-builder.git")
12159 (synopsis "Domain-specific language for building Scalable Vector Graphics")
12160 (description "Easy-to-write domain-specific language (DSL) for
12161building Scalable Vector Graphics (SVG).")
12162 (license license:bsd-3)))
12163
dddbc90c
RV
12164(define-public ghc-syb
12165 (package
12166 (name "ghc-syb")
07d65eef 12167 (version "0.7.1")
534d6caa 12168 (outputs '("out" "static" "doc"))
dddbc90c
RV
12169 (source
12170 (origin
12171 (method url-fetch)
12172 (uri (string-append
12173 "https://hackage.haskell.org/package/syb/syb-"
12174 version
12175 ".tar.gz"))
12176 (sha256
12177 (base32
07d65eef 12178 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
12179 (build-system haskell-build-system)
12180 (inputs
12181 `(("ghc-hunit" ,ghc-hunit)))
12182 (home-page
12183 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
12184 (synopsis "Scrap Your Boilerplate")
12185 (description "This package contains the generics system described in the
12186/Scrap Your Boilerplate/ papers (see
12187@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
12188defines the @code{Data} class of types permitting folding and unfolding of
12189constructor applications, instances of this class for primitive types, and a
12190variety of traversals.")
12191 (license license:bsd-3)))
12192
12193(define-public ghc-system-fileio
12194 (package
12195 (name "ghc-system-fileio")
dcfb99d4 12196 (version "0.3.16.4")
dddbc90c
RV
12197 (source
12198 (origin
12199 (method url-fetch)
12200 (uri (string-append
12201 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12202 version ".tar.gz"))
12203 (sha256
12204 (base32
dcfb99d4 12205 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 12206 (build-system haskell-build-system)
dcfb99d4
TS
12207 (arguments
12208 `(#:phases
12209 (modify-phases %standard-phases
12210 (add-before 'configure 'update-constraints
12211 (lambda _
12212 (substitute* "system-fileio.cabal"
12213 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
12214 #t)))))
dddbc90c
RV
12215 (inputs
12216 `(("ghc-system-filepath" ,ghc-system-filepath)
12217 ("ghc-chell" ,ghc-chell)
12218 ("ghc-temporary" ,ghc-temporary)))
12219 (home-page "https://github.com/fpco/haskell-filesystem")
12220 (synopsis "Consistent file system interaction across GHC versions")
12221 (description
12222 "This is a small wrapper around the directory, unix, and Win32 packages,
12223for use with system-filepath. It provides a consistent API to the various
12224versions of these packages distributed with different versions of GHC.
12225In particular, this library supports working with POSIX files that have paths
12226which can't be decoded in the current locale encoding.")
12227 (license license:expat)))
12228
12229;; See ghc-system-filepath-bootstrap. In addition this package depends on
12230;; ghc-system-filepath.
12231(define ghc-system-fileio-bootstrap
12232 (package
12233 (name "ghc-system-fileio-bootstrap")
12234 (version "0.3.16.3")
12235 (source
12236 (origin
12237 (method url-fetch)
12238 (uri (string-append
12239 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12240 version ".tar.gz"))
12241 (sha256
12242 (base32
12243 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
12244 (build-system haskell-build-system)
12245 (arguments
12246 `(#:tests? #f))
12247 (inputs
12248 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
12249 ("ghc-temporary" ,ghc-temporary)))
12250 (home-page "https://github.com/fpco/haskell-filesystem")
12251 (synopsis "Consistent file system interaction across GHC versions")
12252 (description
12253 "This is a small wrapper around the directory, unix, and Win32 packages,
12254for use with system-filepath. It provides a consistent API to the various
12255versions of these packages distributed with different versions of GHC.
12256In particular, this library supports working with POSIX files that have paths
12257which can't be decoded in the current locale encoding.")
12258 (license license:expat)))
12259
12260
12261(define-public ghc-system-filepath
12262 (package
12263 (name "ghc-system-filepath")
12264 (version "0.4.14")
12265 (source
12266 (origin
12267 (method url-fetch)
12268 (uri (string-append
12269 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12270 version ".tar.gz"))
12271 (sha256
12272 (base32
12273 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12274 (build-system haskell-build-system)
12275 ;; FIXME: One of the tests fails:
12276 ;; [ FAIL ] tests.validity.posix
12277 ;; note: seed=7310214548328823169
12278 ;; *** Failed! Falsifiable (after 24 tests):
12279 ;; 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"
12280 (arguments `(#:tests? #f))
12281 (inputs
12282 `(("ghc-chell" ,ghc-chell)
12283 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
12284 ("ghc-quickcheck" ,ghc-quickcheck)))
12285 (home-page "https://github.com/fpco/haskell-filesystem")
12286 (synopsis "High-level, byte-based file and directory path manipulations")
12287 (description
12288 "Provides a FilePath datatype and utility functions for operating on it.
12289Unlike the filepath package, this package does not simply reuse String,
12290increasing type safety.")
12291 (license license:expat)))
12292
12293;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
12294;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
12295;; which depends on ghc-chell and ghc-chell-quickcheck.
12296;; Therefore we bootstrap it with tests disabled.
12297(define ghc-system-filepath-bootstrap
12298 (package
12299 (name "ghc-system-filepath-bootstrap")
12300 (version "0.4.14")
12301 (source
12302 (origin
12303 (method url-fetch)
12304 (uri (string-append
12305 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12306 version ".tar.gz"))
12307 (sha256
12308 (base32
12309 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12310 (build-system haskell-build-system)
12311 (arguments
12312 `(#:tests? #f))
12313 (inputs
12314 `(("ghc-quickcheck" ,ghc-quickcheck)))
12315 (home-page "https://github.com/fpco/haskell-filesystem")
12316 (synopsis "High-level, byte-based file and directory path manipulations")
12317 (description
12318 "Provides a FilePath datatype and utility functions for operating on it.
12319Unlike the filepath package, this package does not simply reuse String,
12320increasing type safety.")
12321 (license license:expat)))
12322
12323
12324(define-public ghc-tagged
12325 (package
12326 (name "ghc-tagged")
f0f3756a 12327 (version "0.8.6")
dddbc90c
RV
12328 (source
12329 (origin
12330 (method url-fetch)
12331 (uri (string-append
12332 "https://hackage.haskell.org/package/tagged/tagged-"
12333 version
12334 ".tar.gz"))
12335 (sha256
12336 (base32
f0f3756a 12337 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
12338 (build-system haskell-build-system)
12339 (arguments
12340 `(#:cabal-revision
f0f3756a 12341 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
12342 (inputs
12343 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12344 (home-page "https://hackage.haskell.org/package/tagged")
12345 (synopsis "Haskell phantom types to avoid passing dummy arguments")
12346 (description "This library provides phantom types for Haskell 98, to avoid
12347having to unsafely pass dummy arguments.")
12348 (license license:bsd-3)))
12349
12350(define-public ghc-tar
12351 (package
12352 (name "ghc-tar")
ec83929f 12353 (version "0.5.1.1")
dddbc90c
RV
12354 (source
12355 (origin
12356 (method url-fetch)
12357 (uri (string-append
12358 "https://hackage.haskell.org/package/tar/tar-"
12359 version ".tar.gz"))
12360 (sha256
12361 (base32
ec83929f 12362 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
12363 (build-system haskell-build-system)
12364 ;; FIXME: 2/24 tests fail.
12365 (arguments `(#:tests? #f))
12366 (inputs
12367 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
12368 ("ghc-quickcheck" ,ghc-quickcheck)
12369 ("ghc-tasty" ,ghc-tasty)
12370 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12371 (home-page "https://hackage.haskell.org/package/tar")
12372 (synopsis "Reading, writing and manipulating \".tar\" archive files")
12373 (description
12374 "This library is for working with \\\"@.tar@\\\" archive files.
12375It can read and write a range of common variations of the tar archive format
12376including V7, POSIX USTAR and GNU formats. It provides support for packing and
12377unpacking portable archives. This makes it suitable for distribution but not
12378backup because details like file ownership and exact permissions are not
12379preserved. It also provides features for random access to archive content using
12380an index.")
12381 (license license:bsd-3)))
12382
f8d17902
TS
12383(define-public ghc-tar-conduit
12384 (package
12385 (name "ghc-tar-conduit")
12386 (version "0.3.2")
12387 (source
12388 (origin
12389 (method url-fetch)
12390 (uri (string-append "https://hackage.haskell.org/package/"
12391 "tar-conduit/tar-conduit-" version ".tar.gz"))
12392 (sha256
12393 (base32
12394 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
12395 (build-system haskell-build-system)
12396 (inputs
12397 `(("ghc-conduit" ,ghc-conduit)
12398 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
12399 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
12400 (native-inputs
12401 `(("ghc-quickcheck" ,ghc-quickcheck)
12402 ("ghc-conduit-extra" ,ghc-conduit-extra)
12403 ("ghc-hspec" ,ghc-hspec)
12404 ("ghc-hspec" ,ghc-hspec)
12405 ("ghc-weigh" ,ghc-weigh)))
12406 (home-page "https://github.com/snoyberg/tar-conduit#readme")
12407 (synopsis "Extract and create tar files using conduit for streaming")
12408 (description "This library provides a conduit-based, streaming
12409interface for extracting and creating tar files.")
12410 (license license:expat)))
12411
dddbc90c
RV
12412(define-public ghc-temporary
12413 (package
12414 (name "ghc-temporary")
12415 (version "1.3")
12416 (source
12417 (origin
12418 (method url-fetch)
12419 (uri (string-append
12420 "https://hackage.haskell.org/package/temporary/temporary-"
12421 version
12422 ".tar.gz"))
12423 (sha256
12424 (base32
12425 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
12426 (build-system haskell-build-system)
12427 (inputs
12428 `(("ghc-exceptions" ,ghc-exceptions)
12429 ("ghc-random" ,ghc-random)))
12430 (native-inputs
12431 `(("ghc-base-compat" ,ghc-base-compat)
12432 ("ghc-tasty" ,ghc-tasty)
12433 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12434 (home-page "https://www.github.com/batterseapower/temporary")
12435 (synopsis "Temporary file and directory support")
12436 (description "The functions for creating temporary files and directories
12437in the Haskelll base library are quite limited. This library just repackages
12438the Cabal implementations of its own temporary file and folder functions so
12439that you can use them without linking against Cabal or depending on it being
12440installed.")
12441 (license license:bsd-3)))
12442
12443(define-public ghc-temporary-rc
12444 (package
12445 (name "ghc-temporary-rc")
12446 (version "1.2.0.3")
12447 (source
12448 (origin
12449 (method url-fetch)
12450 (uri (string-append
12451 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
12452 version
12453 ".tar.gz"))
12454 (sha256
12455 (base32
12456 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
12457 (build-system haskell-build-system)
12458 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
12459 (home-page
12460 "https://www.github.com/feuerbach/temporary")
12461 (synopsis
12462 "Portable temporary file and directory support")
12463 (description
12464 "The functions for creating temporary files and directories in the base
12465library are quite limited. The unixutils package contains some good ones, but
12466they aren't portable to Windows. This library just repackages the Cabal
12467implementations of its own temporary file and folder functions so that you can
12468use them without linking against Cabal or depending on it being installed.
12469This is a better maintained fork of the \"temporary\" package.")
12470 (license license:bsd-3)))
12471
12472(define-public ghc-terminal-size
12473 (package
12474 (name "ghc-terminal-size")
12475 (version "0.3.2.1")
12476 (source (origin
12477 (method url-fetch)
12478 (uri (string-append
12479 "https://hackage.haskell.org/package/terminal-size/"
12480 "terminal-size-" version ".tar.gz"))
12481 (sha256
12482 (base32
12483 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
12484 (build-system haskell-build-system)
12485 (home-page "https://hackage.haskell.org/package/terminal-size")
12486 (synopsis "Get terminal window height and width")
12487 (description "Get terminal window height and width without ncurses
12488dependency.")
12489 (license license:bsd-3)))
12490
12491(define-public ghc-texmath
12492 (package
12493 (name "ghc-texmath")
7fec7e66 12494 (version "0.11.3")
dddbc90c
RV
12495 (source (origin
12496 (method url-fetch)
12497 (uri (string-append "https://hackage.haskell.org/package/"
12498 "texmath/texmath-" version ".tar.gz"))
12499 (sha256
12500 (base32
7fec7e66 12501 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
12502 (build-system haskell-build-system)
12503 (inputs
12504 `(("ghc-syb" ,ghc-syb)
12505 ("ghc-network-uri" ,ghc-network-uri)
12506 ("ghc-split" ,ghc-split)
12507 ("ghc-temporary" ,ghc-temporary)
12508 ("ghc-utf8-string" ,ghc-utf8-string)
12509 ("ghc-xml" ,ghc-xml)
12510 ("ghc-pandoc-types" ,ghc-pandoc-types)))
12511 (home-page "https://github.com/jgm/texmath")
12512 (synopsis "Conversion between formats used to represent mathematics")
12513 (description
12514 "The texmath library provides functions to read and write TeX math,
12515presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
12516Office). Support is also included for converting math formats to pandoc's
12517native format (allowing conversion, via pandoc, to a variety of different
12518markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
12519it can parse and apply LaTeX macros.")
12520 (license license:gpl2+)))
12521
12522(define-public ghc-text-binary
12523 (package
12524 (name "ghc-text-binary")
12525 (version "0.2.1.1")
12526 (source
12527 (origin
12528 (method url-fetch)
12529 (uri (string-append "https://hackage.haskell.org/package/"
12530 "text-binary/text-binary-"
12531 version ".tar.gz"))
12532 (sha256
12533 (base32
12534 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
12535 (build-system haskell-build-system)
12536 (home-page "https://github.com/kawu/text-binary")
12537 (synopsis "Binary instances for text types")
12538 (description
12539 "This package provides a compatibility layer providing @code{Binary}
12540instances for strict and lazy text types for versions older than 1.2.1 of the
12541text package.")
12542 (license license:bsd-2)))
12543
714e5605
JS
12544(define-public ghc-text-manipulate
12545 (package
12546 (name "ghc-text-manipulate")
12547 (version "0.2.0.1")
12548 (source
12549 (origin
12550 (method url-fetch)
12551 (uri (string-append
12552 "https://hackage.haskell.org/package/text-manipulate"
12553 "/text-manipulate-"
12554 version
12555 ".tar.gz"))
12556 (sha256
12557 (base32
12558 "0bwxyjj3ll45srxhsp2ihikgqglvjc6m02ixr8xpvyqwkcfwgsg0"))))
12559 (build-system haskell-build-system)
12560 (native-inputs
12561 `(("ghc-tasty" ,ghc-tasty)
12562 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12563 (home-page
12564 "https://github.com/brendanhay/text-manipulate")
12565 (synopsis
12566 "Case conversion, word boundary manipulation, and textual subjugation")
12567 (description
12568 "Manipulate identifiers and structurally non-complex pieces of text by
12569delimiting word boundaries via a combination of whitespace,
12570control-characters, and case-sensitivity.
12571
12572Has support for common idioms like casing of programmatic variable names,
12573taking, dropping, and splitting by word, and modifying the first character of
12574a piece of text.
12575
12576Caution: this library makes heavy use of the text library's internal loop
12577optimisation framework. Since internal modules are not guaranteed to have a
12578stable API there is potential for build breakage when the text dependency is
12579upgraded. Consider yourself warned!")
12580 (license license:mpl2.0)))
12581
bdc877c4
TS
12582(define-public ghc-text-metrics
12583 (package
12584 (name "ghc-text-metrics")
12585 (version "0.3.0")
12586 (source
12587 (origin
12588 (method url-fetch)
12589 (uri (string-append "https://hackage.haskell.org/package/"
12590 "text-metrics/text-metrics-" version ".tar.gz"))
12591 (sha256
12592 (base32
12593 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
12594 (build-system haskell-build-system)
12595 (inputs
12596 `(("ghc-vector" ,ghc-vector)))
12597 (native-inputs
12598 `(("ghc-quickcheck" ,ghc-quickcheck)
12599 ("ghc-hspec" ,ghc-hspec)))
12600 (arguments
12601 `(#:cabal-revision
12602 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
12603 (home-page "https://github.com/mrkkrp/text-metrics")
12604 (synopsis "Calculate various string metrics efficiently")
12605 (description "This library provides tools to calculate various
12606string metrics efficiently.")
12607 (license license:bsd-3)))
12608
dddbc90c
RV
12609(define-public ghc-tf-random
12610 (package
12611 (name "ghc-tf-random")
12612 (version "0.5")
534d6caa 12613 (outputs '("out" "static" "doc"))
dddbc90c
RV
12614 (source
12615 (origin
12616 (method url-fetch)
12617 (uri (string-append
12618 "https://hackage.haskell.org/package/tf-random/tf-random-"
12619 version
12620 ".tar.gz"))
12621 (sha256
12622 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
12623 (build-system haskell-build-system)
12624 (inputs
12625 `(("ghc-primitive" ,ghc-primitive)
12626 ("ghc-random" ,ghc-random)))
12627 (home-page "https://hackage.haskell.org/package/tf-random")
12628 (synopsis "High-quality splittable pseudorandom number generator")
12629 (description "This package contains an implementation of a high-quality
12630splittable pseudorandom number generator. The generator is based on a
12631cryptographic hash function built on top of the ThreeFish block cipher. See
12632the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
12633Hashing\" by Claessen, Pałka for details and the rationale of the design.")
12634 (license license:bsd-3)))
12635
12636(define-public ghc-th-abstraction
12637 (package
12638 (name "ghc-th-abstraction")
1188eabb 12639 (version "0.3.1.0")
dddbc90c
RV
12640 (source
12641 (origin
12642 (method url-fetch)
12643 (uri (string-append "https://hackage.haskell.org/package/"
12644 "th-abstraction/th-abstraction-"
12645 version ".tar.gz"))
12646 (sha256
12647 (base32
1188eabb 12648 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
12649 (build-system haskell-build-system)
12650 (home-page "https://github.com/glguy/th-abstraction")
12651 (synopsis "Nicer interface for reified information about data types")
12652 (description
12653 "This package normalizes variations in the interface for inspecting
12654datatype information via Template Haskell so that packages and support a
12655single, easier to use informational datatype while supporting many versions of
12656Template Haskell.")
12657 (license license:isc)))
12658
12659(define-public ghc-th-expand-syns
12660 (package
12661 (name "ghc-th-expand-syns")
8c766600 12662 (version "0.4.5.0")
dddbc90c
RV
12663 (source (origin
12664 (method url-fetch)
12665 (uri (string-append "https://hackage.haskell.org/package/"
12666 "th-expand-syns/th-expand-syns-"
12667 version ".tar.gz"))
12668 (sha256
12669 (base32
8c766600 12670 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
12671 (build-system haskell-build-system)
12672 (inputs
12673 `(("ghc-syb" ,ghc-syb)))
12674 (home-page "https://hackage.haskell.org/package/th-expand-syns")
12675 (synopsis "Expands type synonyms in Template Haskell ASTs")
12676 (description
12677 "This package enables users to expand type synonyms in Template Haskell
12678@dfn{abstract syntax trees} (ASTs).")
12679 (license license:bsd-3)))
12680
12681(define-public ghc-th-lift
12682 (package
12683 (name "ghc-th-lift")
bd76b20a 12684 (version "0.8.0.1")
dddbc90c
RV
12685 (source (origin
12686 (method url-fetch)
12687 (uri (string-append "https://hackage.haskell.org/package/"
12688 "th-lift/th-lift-" version ".tar.gz"))
12689 (sha256
12690 (base32
bd76b20a 12691 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
12692 (build-system haskell-build-system)
12693 (inputs
12694 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
12695 (home-page "https://github.com/mboes/th-lift")
12696 (synopsis "Derive Template Haskell's Lift class for datatypes")
12697 (description
12698 "This is a Haskell library to derive Template Haskell's Lift class for
12699datatypes.")
12700 (license license:bsd-3)))
12701
12702(define-public ghc-th-lift-instances
12703 (package
12704 (name "ghc-th-lift-instances")
d3db399e 12705 (version "0.1.14")
dddbc90c
RV
12706 (source
12707 (origin
12708 (method url-fetch)
12709 (uri (string-append "https://hackage.haskell.org/package/"
12710 "th-lift-instances/th-lift-instances-"
12711 version ".tar.gz"))
12712 (sha256
12713 (base32
d3db399e 12714 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
12715 (build-system haskell-build-system)
12716 (inputs
12717 `(("ghc-th-lift" ,ghc-th-lift)
12718 ("ghc-vector" ,ghc-vector)
12719 ("ghc-quickcheck" ,ghc-quickcheck)))
12720 (home-page "https://github.com/bennofs/th-lift-instances/")
12721 (synopsis "Lift instances for template-haskell for common data types.")
12722 (description "Most data types in the Haskell platform do not have Lift
12723instances. This package provides orphan instances for @code{containers},
12724@code{text}, @code{bytestring} and @code{vector}.")
12725 (license license:bsd-3)))
12726
12727(define-public ghc-th-orphans
12728 (package
12729 (name "ghc-th-orphans")
882b23e2 12730 (version "0.13.9")
dddbc90c
RV
12731 (source (origin
12732 (method url-fetch)
12733 (uri (string-append "https://hackage.haskell.org/package/"
12734 "th-orphans/th-orphans-" version ".tar.gz"))
12735 (sha256
12736 (base32
882b23e2 12737 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
12738 (build-system haskell-build-system)
12739 (inputs
12740 `(("ghc-th-lift" ,ghc-th-lift)
12741 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
12742 ("ghc-th-reify-many" ,ghc-th-reify-many)
12743 ("ghc-generic-deriving" ,ghc-generic-deriving)))
12744 (native-inputs
12745 `(("ghc-hspec" ,ghc-hspec)))
12746 (home-page "https://hackage.haskell.org/package/th-orphans")
12747 (synopsis "Orphan instances for TH datatypes")
12748 (description
12749 "This package provides orphan instances for Template Haskell datatypes. In particular,
12750instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
12751and @code{Eq} instances. These instances used to live in the haskell-src-meta
12752package, and that's where the version number started.")
12753 (license license:bsd-3)))
12754
20c440ea
JS
12755(define-public ghc-these
12756 (package
12757 (name "ghc-these")
12758 (version "1.0.1")
12759 (source
12760 (origin
12761 (method url-fetch)
12762 (uri (string-append
12763 "https://hackage.haskell.org/package/these/these-"
12764 version
12765 ".tar.gz"))
12766 (sha256
12767 (base32
12768 "1k0pi65g7cm9hzdw6my6bzz2zvddkmj1qs45ymqmi316bpiixk3r"))))
12769 (build-system haskell-build-system)
12770 (inputs
12771 `(("ghc-base-compat" ,ghc-base-compat)
12772 ("ghc-hashable" ,ghc-hashable)
12773 ("ghc-aeson" ,ghc-aeson)
12774 ("ghc-unordered-containers" ,ghc-unordered-containers)
12775 ("ghc-assoc" ,ghc-assoc)
12776 ("ghc-semigroupoids" ,ghc-semigroupoids)
12777 ("ghc-quickcheck" ,ghc-quickcheck)))
12778 (arguments
12779 `(#:cabal-revision
12780 ("1"
12781 "0923r86fnmgpx0msm68aszirh2n19nn5bccgjxfh2146jw4z7w3z")))
12782 (home-page
12783 "https://github.com/isomorphism/these")
12784 (synopsis "Either-or-both data type")
12785 (description
12786 "This package provides a data type @code{These a b} which can
12787hold a value of either type or values of each type. This is usually
12788thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
12789\"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
12790as \"inner join\").
12791
12792@code{data These a b = This a | That b | These a b}
12793
12794Since version 1, this package was split into parts:
12795
12796@itemize
12797@item
12798https://hackage.haskell.org/package/semialign For @code{Align} and
12799@code{Zip} type-classes.
12800@item
12801https://hackage.haskell.org/package/semialign-indexed For
12802@code{SemialignWithIndex} class, providing @code{ialignWith} and
12803@code{izipWith}
12804@item
12805https://hackage.haskell.org/package/these-lens For lens combinators.
12806@item
12807http://hackage.haskell.org/package/monad-chronicle For transformers
12808variant of @code{These}.
12809@end itemize")
12810 (license license:bsd-3)))
12811
dddbc90c
RV
12812(define-public ghc-threads
12813 (package
12814 (name "ghc-threads")
12815 (version "0.5.1.6")
12816 (source
12817 (origin
12818 (method url-fetch)
12819 (uri (string-append "https://hackage.haskell.org/package/"
12820 "threads/threads-" version ".tar.gz"))
12821 (sha256
12822 (base32
12823 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
12824 (build-system haskell-build-system)
12825 (native-inputs
12826 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
12827 ("ghc-hunit" ,ghc-hunit)
12828 ("ghc-test-framework" ,ghc-test-framework)
12829 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
12830 (home-page "https://github.com/basvandijk/threads")
12831 (synopsis "Fork threads and wait for their result")
12832 (description "This package provides functions to fork threads and
12833wait for their result, whether it's an exception or a normal value.
12834Besides waiting for the termination of a single thread this package also
12835provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
12836package is similar to the @code{threadmanager}, @code{async} and
12837@code{spawn} packages. The advantages of this package are:
12838
dddbc90c
RV
12839@itemize
12840@item Simpler API.
12841@item More efficient in both space and time.
12842@item No space-leak when forking a large number of threads.
12843@item Correct handling of asynchronous exceptions.
12844@item GHC specific functionality like @code{forkOn} and
12845@code{forkIOWithUnmask}.
12846@end itemize")
12847 (license license:bsd-3)))
12848
12849(define-public ghc-th-reify-many
12850 (package
12851 (name "ghc-th-reify-many")
32d4a6ae 12852 (version "0.1.9")
dddbc90c
RV
12853 (source (origin
12854 (method url-fetch)
12855 (uri (string-append "https://hackage.haskell.org/package/"
12856 "th-reify-many/th-reify-many-"
12857 version ".tar.gz"))
12858 (sha256
12859 (base32
32d4a6ae 12860 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
12861 (build-system haskell-build-system)
12862 (inputs
12863 `(("ghc-safe" ,ghc-safe)
12864 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
12865 (home-page "https://github.com/mgsloan/th-reify-many")
12866 (synopsis "Recurseively reify template haskell datatype info")
12867 (description
12868 "th-reify-many provides functions for recursively reifying top level
12869declarations. The main intended use case is for enumerating the names of
12870datatypes reachable from an initial datatype, and passing these names to some
12871function which generates instances.")
12872 (license license:bsd-3)))
12873
75cfc9a2
TS
12874(define-public ghc-time-compat
12875 (package
12876 (name "ghc-time-compat")
12877 (version "1.9.2.2")
12878 (source
12879 (origin
12880 (method url-fetch)
12881 (uri (string-append "https://hackage.haskell.org/package/"
12882 "time-compat/time-compat-" version ".tar.gz"))
12883 (sha256
12884 (base32
12885 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
12886 (build-system haskell-build-system)
12887 (inputs
12888 `(("ghc-base-orphans" ,ghc-base-orphans)))
12889 (native-inputs
12890 `(("ghc-hunit" ,ghc-hunit)
12891 ("ghc-base-compat" ,ghc-base-compat)
12892 ("ghc-quickcheck" ,ghc-quickcheck)
12893 ("ghc-tagged" ,ghc-tagged)
12894 ("ghc-tasty" ,ghc-tasty)
12895 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12896 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12897 (arguments
12898 `(#:cabal-revision
12899 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
12900 (home-page "https://github.com/phadej/time-compat")
12901 (synopsis "Compatibility package for time")
a8d73e69 12902 (description "This package tries to compat as many @code{time}
75cfc9a2
TS
12903features as possible.")
12904 (license license:bsd-3)))
12905
dddbc90c
RV
12906(define-public ghc-time-locale-compat
12907 (package
12908 (name "ghc-time-locale-compat")
12909 (version "0.1.1.5")
12910 (source
12911 (origin
12912 (method url-fetch)
12913 (uri (string-append "https://hackage.haskell.org/package/"
12914 "time-locale-compat/time-locale-compat-"
12915 version ".tar.gz"))
12916 (sha256
12917 (base32
12918 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
12919 (build-system haskell-build-system)
12920 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
12921 (home-page "https://github.com/khibino/haskell-time-locale-compat")
12922 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
12923 (description "This package contains a wrapped name module for
12924@code{TimeLocale}.")
12925 (license license:bsd-3)))
12926
c022a4d4
TS
12927(define-public ghc-time-manager
12928 (package
12929 (name "ghc-time-manager")
12930 (version "0.0.0")
12931 (source
12932 (origin
12933 (method url-fetch)
12934 (uri (string-append "https://hackage.haskell.org/package/"
12935 "time-manager/time-manager-" version ".tar.gz"))
12936 (sha256
12937 (base32
12938 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
12939 (build-system haskell-build-system)
12940 (inputs
12941 `(("ghc-auto-update" ,ghc-auto-update)))
12942 (home-page "https://github.com/yesodweb/wai")
12943 (synopsis "Scalable timer")
12944 (description "This library contains scalable timer functions provided by a
12945timer manager.")
12946 (license license:expat)))
12947
7bbfa392
JS
12948(define-public ghc-timeit
12949 (package
12950 (name "ghc-timeit")
12951 (version "2.0")
12952 (source
12953 (origin
12954 (method url-fetch)
12955 (uri
12956 (string-append
12957 "https://hackage.haskell.org/package/timeit/timeit-"
12958 version ".tar.gz"))
12959 (sha256
12960 (base32
12961 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
12962 (build-system haskell-build-system)
12963 (home-page "https://github.com/merijn/timeit")
12964 (synopsis "Time monadic computations with an IO base")
12965 (description "This package provides a simple wrapper to show the
12966used CPU time of monadic computation with an IO base.")
12967 (license license:bsd-3)))
12968
2ed8bd2d
JS
12969(define-public ghc-timezone-series
12970 (package
12971 (name "ghc-timezone-series")
12972 (version "0.1.9")
12973 (source
12974 (origin
12975 (method url-fetch)
12976 (uri
12977 (string-append
12978 "mirror://hackage/package/timezone-series/timezone-series-"
12979 version ".tar.gz"))
12980 (sha256
12981 (base32
12982 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
12983 (build-system haskell-build-system)
12984 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12985 (synopsis "Enhanced timezone handling for Time")
12986 (description
12987 "This package endows @code{Data.Time}, from the time package, with several
12988data types and functions for enhanced processing of timezones. For one way to
12989create timezone series, see the ghc-timezone-olson package.")
12990 (license license:bsd-3)))
12991
ff0f5786
JS
12992(define-public ghc-timezone-olson
12993 (package
12994 (name "ghc-timezone-olson")
12995 (version "0.1.9")
12996 (source
12997 (origin
12998 (method url-fetch)
12999 (uri
13000 (string-append
13001 "mirror://hackage/package/timezone-olson/timezone-olson-"
13002 version ".tar.gz"))
13003 (sha256
13004 (base32
13005 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
13006 (build-system haskell-build-system)
13007 (inputs
13008 `(("ghc-timezone-series" ,ghc-timezone-series)
13009 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
13010 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
13011 (synopsis "Parser and renderer for binary Olson timezone files")
13012 (description
13013 "A parser and renderer for binary Olson timezone files whose format
13014is specified by the tzfile(5) man page on Unix-like systems. For more
13015information about this format, see
13016@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
13017are provided for converting the parsed data into @code{TimeZoneSeries}
13018objects from the timezone-series package.")
13019 (license license:bsd-3)))
13020
dddbc90c
RV
13021(define-public ghc-tldr
13022 (package
13023 (name "ghc-tldr")
871ceb31 13024 (version "0.4.0.2")
dddbc90c
RV
13025 (source
13026 (origin
13027 (method url-fetch)
13028 (uri (string-append
13029 "https://hackage.haskell.org/package/tldr/tldr-"
13030 version
13031 ".tar.gz"))
13032 (sha256
13033 (base32
871ceb31 13034 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
13035 (build-system haskell-build-system)
13036 (inputs
13037 `(("ghc-cmark" ,ghc-cmark)
13038 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13039 ("ghc-typed-process" ,ghc-typed-process)
13040 ("ghc-semigroups" ,ghc-semigroups)))
13041 (native-inputs
13042 `(("ghc-tasty" ,ghc-tasty)
13043 ("ghc-tasty-golden" ,ghc-tasty-golden)))
13044 (home-page "https://github.com/psibi/tldr-hs#readme")
13045 (synopsis "Haskell tldr client")
13046 (description "This package provides the @command{tldr} command and a
13047Haskell client library allowing users to update and view @code{tldr} pages
13048from a shell. The @code{tldr} pages are a community effort to simplify the
13049man pages with practical examples.")
13050 (license license:bsd-3)))
13051
460e4e42
JS
13052(define-public ghc-transformers
13053 (package
13054 (name "ghc-transformers")
13055 (version "0.5.6.2")
13056 (source
13057 (origin
13058 (method url-fetch)
13059 (uri (string-append
13060 "mirror://hackage/package/transformers/transformers-"
13061 version
13062 ".tar.gz"))
13063 (sha256
13064 (base32
13065 "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
13066 (build-system haskell-build-system)
13067 (home-page
13068 "http://hackage.haskell.org/package/transformers")
13069 (synopsis "Concrete functor and monad transformers")
13070 (description
13071 "Transformers provides functor and monad transformers, inspired by the
13072paper \"Functional Programming with Overloading and Higher-Order
13073Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
130741995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
13075
13076This package contains:
13077@itemize
13078@item the monad transformer class (in @code{Control.Monad.Trans.Class})
13079@item concrete functor and monad transformers, each with associated operations
13080and functions to lift operations associated with other transformers.
13081@end itemize
13082
13083This package can be used on its own in portable Haskell code, in which case
13084operations need to be manually lifted through transformer stacks (see
13085@code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
13086used with the non-portable monad classes in the mtl or monads-tf packages,
13087which automatically lift operations introduced by monad transformers through
13088other transformers.")
13089 (license license:bsd-3)))
13090
dddbc90c
RV
13091(define-public ghc-transformers-base
13092 (package
13093 (name "ghc-transformers-base")
13094 (version "0.4.5.2")
13095 (source
13096 (origin
13097 (method url-fetch)
13098 (uri (string-append
13099 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
13100 version
13101 ".tar.gz"))
13102 (sha256
13103 (base32
13104 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
13105 (build-system haskell-build-system)
13106 (inputs
13107 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
13108 (home-page
13109 "https://hackage.haskell.org/package/transformers-compat")
13110 (synopsis
13111 "Backported transformer library")
13112 (description
13113 "Backported versions of types that were added to transformers in
13114transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
13115compatibility to run on old versions of the platform.")
13116 (license license:bsd-3)))
13117
13118(define-public ghc-transformers-compat
13119 (package
13120 (name "ghc-transformers-compat")
1c9c4d58 13121 (version "0.6.5")
dddbc90c
RV
13122 (source
13123 (origin
13124 (method url-fetch)
13125 (uri (string-append
13126 "https://hackage.haskell.org/package/transformers-compat"
13127 "/transformers-compat-" version ".tar.gz"))
13128 (sha256
13129 (base32
1c9c4d58 13130 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
13131 (build-system haskell-build-system)
13132 (home-page "https://github.com/ekmett/transformers-compat/")
13133 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
13134 (description "This package includes backported versions of types that were
13135added to transformers in transformers 0.3 and 0.4 for users who need strict
13136transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
13137but also need those types.")
13138 (license license:bsd-3)))
13139
13140(define-public ghc-tree-diff
13141 (package
13142 (name "ghc-tree-diff")
b4e26067 13143 (version "0.1")
dddbc90c
RV
13144 (source
13145 (origin
13146 (method url-fetch)
13147 (uri (string-append
13148 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
13149 version
13150 ".tar.gz"))
13151 (sha256
13152 (base32
b4e26067 13153 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 13154 (build-system haskell-build-system)
dddbc90c
RV
13155 (inputs
13156 `(("ghc-aeson" ,ghc-aeson)
13157 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13158 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13159 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 13160 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 13161 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
13162 ("ghc-parsers" ,ghc-parsers)
13163 ("ghc-quickcheck" ,ghc-quickcheck)
13164 ("ghc-scientific" ,ghc-scientific)
13165 ("ghc-tagged" ,ghc-tagged)
13166 ("ghc-unordered-containers" ,ghc-unordered-containers)
13167 ("ghc-uuid-types" ,ghc-uuid-types)
13168 ("ghc-vector" ,ghc-vector)))
13169 (native-inputs
13170 `(("ghc-base-compat" ,ghc-base-compat)
13171 ("ghc-quickcheck" ,ghc-quickcheck)
13172 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13173 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13174 ("ghc-trifecta" ,ghc-trifecta)
13175 ("ghc-tasty" ,ghc-tasty)
13176 ("ghc-tasty-golden" ,ghc-tasty-golden)
13177 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13178 (home-page "https://github.com/phadej/tree-diff")
13179 (synopsis "Compute difference between (expression) trees")
13180 (description "This Haskell library provides a function for computing
13181the difference between (expression) trees. It also provides a way to
13182compute the difference between arbitrary abstract datatypes (ADTs) using
13183@code{Generics}-derivable helpers.")
13184 (license license:bsd-3)))
13185
13186(define-public ghc-trifecta
13187 (package
13188 (name "ghc-trifecta")
13189 (version "2")
13190 (source (origin
13191 (method url-fetch)
13192 (uri (string-append
13193 "https://hackage.haskell.org/package/trifecta/"
13194 "trifecta-" version ".tar.gz"))
13195 (sha256
13196 (base32
13197 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
13198 (build-system haskell-build-system)
5ffe8cfd
TS
13199 (arguments
13200 `(#:tests? #f ; doctest suite fails to build on i686
13201 #:cabal-revision
13202 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
13203 (inputs
13204 `(("ghc-reducers" ,ghc-reducers)
13205 ("ghc-semigroups" ,ghc-semigroups)
13206 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13207 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13208 ("ghc-blaze-builder" ,ghc-blaze-builder)
13209 ("ghc-blaze-html" ,ghc-blaze-html)
13210 ("ghc-blaze-markup" ,ghc-blaze-markup)
13211 ("ghc-charset" ,ghc-charset)
13212 ("ghc-comonad" ,ghc-comonad)
13213 ("ghc-fingertree" ,ghc-fingertree)
13214 ("ghc-hashable" ,ghc-hashable)
13215 ("ghc-lens" ,ghc-lens)
13216 ("ghc-parsers" ,ghc-parsers)
13217 ("ghc-profunctors" ,ghc-profunctors)
13218 ("ghc-unordered-containers" ,ghc-unordered-containers)
13219 ("ghc-utf8-string" ,ghc-utf8-string)))
13220 (native-inputs
13221 `(("cabal-doctest" ,cabal-doctest)
13222 ("ghc-doctest" ,ghc-doctest)
13223 ("ghc-quickcheck" ,ghc-quickcheck)))
13224 (home-page "https://github.com/ekmett/trifecta/")
13225 (synopsis "Parser combinator library with convenient diagnostics")
13226 (description "Trifecta is a modern parser combinator library for Haskell,
13227with slicing and Clang-style colored diagnostics.")
13228 (license license:bsd-3)))
13229
13230(define-public ghc-tuple-th
13231 (package
13232 (name "ghc-tuple-th")
13233 (version "0.2.5")
13234 (source
13235 (origin
13236 (method url-fetch)
13237 (uri (string-append "https://hackage.haskell.org/package/"
13238 "tuple-th-" version "/"
13239 "tuple-th-" version ".tar.gz"))
13240 (sha256
13241 (base32
13242 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
13243 (build-system haskell-build-system)
13244 (home-page "https://github.com/DanielSchuessler/tuple-th")
13245 (synopsis "Generate utility functions for tuples of statically known size
13246for Haskell")
13247 (description "This Haskell package contains Template Haskell functions for
13248generating functions similar to those in @code{Data.List} for tuples of
13249statically known size.")
13250 (license license:bsd-3)))
13251
9f776fe2
JS
13252(define-public ghc-turtle
13253 (package
13254 (name "ghc-turtle")
13255 (version "1.5.15")
13256 (source
13257 (origin
13258 (method url-fetch)
13259 (uri (string-append
13260 "mirror://hackage/package/turtle/turtle-"
13261 version
13262 ".tar.gz"))
13263 (sha256
13264 (base32
13265 "0yckgsc2a4g5x867gni80ldp226bsnhncfbil4ql6v2zwm4r8p7f"))))
13266 (build-system haskell-build-system)
13267 (inputs
13268 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13269 ("ghc-async" ,ghc-async)
13270 ("ghc-clock" ,ghc-clock)
13271 ("ghc-exceptions" ,ghc-exceptions)
13272 ("ghc-foldl" ,ghc-foldl)
13273 ("ghc-hostname" ,ghc-hostname)
13274 ("ghc-managed" ,ghc-managed)
13275 ("ghc-semigroups" ,ghc-semigroups)
13276 ("ghc-system-filepath" ,ghc-system-filepath)
13277 ("ghc-system-fileio" ,ghc-system-fileio)
13278 ("ghc-streaming-commons" ,ghc-streaming-commons)
13279 ("ghc-temporary" ,ghc-temporary)
13280 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13281 ("ghc-optional-args" ,ghc-optional-args)
13282 ("ghc-unix-compat" ,ghc-unix-compat)))
13283 (native-inputs
13284 `(("ghc-doctest" ,ghc-doctest)
13285 ("ghc-fail" ,ghc-fail)))
13286 (arguments
13287 `(#:cabal-revision
13288 ("1" "02q1rv7zx31xz9wnmcqwd4w3iw7623p07iyi21zr0cqlignic5pg")))
13289 (home-page
13290 "http://hackage.haskell.org/package/turtle")
13291 (synopsis "Shell programming, Haskell-style")
13292 (description
13293 "Turtle is a reimplementation of the Unix command line environment in
13294Haskell so that you can use Haskell as both a shell and a scripting
13295language. Features include:
13296
13297@itemize
13298@item Batteries included: Command an extended suite of predefined utilities.
13299@item Interoperability: You can still run external shell commands.
13300@item Portability: Works on Windows, OS X, and Linux.
13301@item Exception safety: Safely acquire and release resources.
13302@item Streaming: Transform or fold command output in constant space.
13303@item Patterns: Use typed regular expressions that can parse structured values.
13304@item Formatting: Type-safe printf-style text formatting.
13305@item Modern: Supports text and system-filepath.
13306@end itemize
13307
13308Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a
13309quick-start guide. Turtle is designed to be beginner-friendly, but as a
13310result lacks certain features, like tracing commands. If you feel comfortable
13311using turtle then you should also check out the Shelly library which provides
13312similar functionality.")
13313 (license license:bsd-3)))
13314
dddbc90c
RV
13315(define-public ghc-typed-process
13316 (package
13317 (name "ghc-typed-process")
72fb84a5 13318 (version "0.2.6.0")
dddbc90c
RV
13319 (source
13320 (origin
13321 (method url-fetch)
13322 (uri (string-append "https://hackage.haskell.org/package/"
13323 "typed-process/typed-process-"
13324 version ".tar.gz"))
13325 (sha256
13326 (base32
72fb84a5 13327 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
13328 (build-system haskell-build-system)
13329 (inputs
72fb84a5
TS
13330 `(("ghc-async" ,ghc-async)
13331 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
13332 (native-inputs
13333 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
13334 ("ghc-hspec" ,ghc-hspec)
13335 ("hspec-discover" ,hspec-discover)
13336 ("ghc-temporary" ,ghc-temporary)))
13337 (home-page "https://haskell-lang.org/library/typed-process")
13338 (synopsis "Run external processes with strong typing of streams")
13339 (description
13340 "This library provides the ability to launch and interact with external
13341processes. It wraps around the @code{process} library, and intends to improve
13342upon it.")
13343 (license license:expat)))
13344
d392f803
AG
13345(define-public ghc-unagi-chan
13346 (package
13347 (name "ghc-unagi-chan")
13348 (version "0.4.1.2")
13349 (source
13350 (origin
13351 (method url-fetch)
13352 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
13353 "/unagi-chan-" version ".tar.gz"))
13354 (sha256
13355 (base32
13356 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
13357 (build-system haskell-build-system)
13358 (inputs
13359 `(("ghc-atomic-primops" ,ghc-atomic-primops)
13360 ("ghc-primitive" ,ghc-primitive)))
13361 (arguments
13362 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
13363 #:cabal-revision
13364 ("1"
13365 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
3ef91e15 13366 (home-page "https://hackage.haskell.org/package/unagi-chan")
d392f803
AG
13367 (synopsis "Fast concurrent queues with a Chan-like API, and more")
13368 (description
13369 "This library provides implementations of concurrent FIFO queues (for
13370both general boxed and primitive unboxed values) that are fast, perform well
13371under contention, and offer a Chan-like interface. The library may be of
13372limited usefulness outside of x86 architectures where the fetch-and-add
13373instruction is not available.")
13374 (license license:bsd-3)))
13375
dddbc90c
RV
13376(define-public ghc-unbounded-delays
13377 (package
13378 (name "ghc-unbounded-delays")
13379 (version "0.1.1.0")
13380 (source
13381 (origin
13382 (method url-fetch)
13383 (uri (string-append
13384 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
13385 version
13386 ".tar.gz"))
13387 (sha256
13388 (base32
13389 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
13390 (build-system haskell-build-system)
13391 (home-page "https://github.com/basvandijk/unbounded-delays")
13392 (synopsis "Unbounded thread delays and timeouts")
13393 (description "The @code{threadDelay} and @code{timeout} functions from the
13394Haskell base library use the bounded @code{Int} type for specifying the delay
13395or timeout period. This package provides alternative functions which use the
13396unbounded @code{Integer} type.")
13397 (license license:bsd-3)))
13398
13399(define-public ghc-unexceptionalio
13400 (package
13401 (name "ghc-unexceptionalio")
13402 (version "0.4.0")
13403 (source
13404 (origin
13405 (method url-fetch)
13406 (uri (string-append "https://hackage.haskell.org/package/"
13407 "unexceptionalio-" version "/" "unexceptionalio-"
13408 version ".tar.gz"))
13409 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
13410 (build-system haskell-build-system)
13411 (home-page "https://github.com/singpolyma/unexceptionalio")
13412 (synopsis "IO without any non-error, synchronous exceptions")
13413 (description "When you've caught all the exceptions that can be
13414handled safely, this is what you're left with.")
13415 (license license:isc)))
13416
b69d4aa7
TS
13417(define-public ghc-unicode-transforms
13418 (package
13419 (name "ghc-unicode-transforms")
13420 (version "0.3.6")
13421 (source
13422 (origin
13423 (method url-fetch)
13424 (uri (string-append "https://hackage.haskell.org/package/"
13425 "unicode-transforms/unicode-transforms-"
13426 version ".tar.gz"))
13427 (sha256
13428 (base32
13429 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
13430 (build-system haskell-build-system)
13431 (inputs
13432 `(("ghc-bitarray" ,ghc-bitarray)))
13433 (native-inputs
13434 `(("ghc-quickcheck" ,ghc-quickcheck)
13435 ("ghc-getopt-generics" ,ghc-getopt-generics)
13436 ("ghc-split" ,ghc-split)))
13437 (home-page "https://github.com/composewell/unicode-transforms")
13438 (synopsis "Unicode normalization")
13439 (description "This library provides tools for fast Unicode 12.1.0
13440normalization in Haskell (normalization forms C, KC, D, and KD).")
13441 (license license:bsd-3)))
13442
dddbc90c
RV
13443(define-public ghc-union-find
13444 (package
13445 (name "ghc-union-find")
13446 (version "0.2")
13447 (source (origin
13448 (method url-fetch)
13449 (uri (string-append
13450 "https://hackage.haskell.org/package/union-find/union-find-"
13451 version ".tar.gz"))
13452 (sha256
13453 (base32
13454 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
13455 (build-system haskell-build-system)
13456 (home-page "https://github.com/nominolo/union-find")
13457 (synopsis "Efficient union and equivalence testing of sets")
13458 (description
13459 "The Union/Find algorithm implements these operations in (effectively)
13460constant-time:
13461@enumerate
13462@item Check whether two elements are in the same equivalence class.
13463@item Create a union of two equivalence classes.
13464@item Look up the descriptor of the equivalence class.
13465@end enumerate\n")
13466 (license license:bsd-3)))
13467
13468(define-public ghc-uniplate
13469 (package
13470 (name "ghc-uniplate")
13471 (version "1.6.12")
13472 (source
13473 (origin
13474 (method url-fetch)
13475 (uri (string-append
13476 "https://hackage.haskell.org/package/uniplate/uniplate-"
13477 version
13478 ".tar.gz"))
13479 (sha256
13480 (base32
13481 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
13482 (build-system haskell-build-system)
13483 (inputs
13484 `(("ghc-syb" ,ghc-syb)
13485 ("ghc-hashable" ,ghc-hashable)
13486 ("ghc-unordered-containers" ,ghc-unordered-containers)))
f5d88758 13487 (home-page "https://github.com/ndmitchell/uniplate")
dddbc90c
RV
13488 (synopsis "Simple, concise and fast generic operations")
13489 (description "Uniplate is a library for writing simple and concise generic
13490operations. Uniplate has similar goals to the original Scrap Your Boilerplate
13491work, but is substantially simpler and faster.")
13492 (license license:bsd-3)))
13493
13494(define-public ghc-unix-compat
13495 (package
13496 (name "ghc-unix-compat")
bc82e9f5 13497 (version "0.5.2")
dddbc90c
RV
13498 (source
13499 (origin
13500 (method url-fetch)
13501 (uri (string-append
13502 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
13503 version
13504 ".tar.gz"))
13505 (sha256
13506 (base32
bc82e9f5 13507 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
13508 (build-system haskell-build-system)
13509 (home-page
13510 "https://github.com/jystic/unix-compat")
13511 (synopsis "Portable POSIX-compatibility layer")
13512 (description
13513 "This package provides portable implementations of parts of the unix
13514package. This package re-exports the unix package when available. When it
13515isn't available, portable implementations are used.")
13516 (license license:bsd-3)))
13517
13518(define-public ghc-unix-time
13519 (package
13520 (name "ghc-unix-time")
fad9cff2 13521 (version "0.4.7")
dddbc90c
RV
13522 (source
13523 (origin
13524 (method url-fetch)
13525 (uri (string-append
13526 "https://hackage.haskell.org/package/unix-time/unix-time-"
13527 version
13528 ".tar.gz"))
13529 (sha256
13530 (base32
fad9cff2 13531 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
13532 (build-system haskell-build-system)
13533 (arguments
13534 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
13535 ; is weird, that should be provided by GHC 7.10.2.
13536 (inputs
13537 `(("ghc-old-time" ,ghc-old-time)
13538 ("ghc-old-locale" ,ghc-old-locale)))
13539 (home-page "https://hackage.haskell.org/package/unix-time")
13540 (synopsis "Unix time parser/formatter and utilities")
13541 (description "This library provides fast parsing and formatting utilities
13542for Unix time in Haskell.")
13543 (license license:bsd-3)))
13544
13545(define-public ghc-unliftio
13546 (package
13547 (name "ghc-unliftio")
a4084db1 13548 (version "0.2.12")
dddbc90c
RV
13549 (source
13550 (origin
13551 (method url-fetch)
13552 (uri (string-append
13553 "https://hackage.haskell.org/package/unliftio/unliftio-"
13554 version
13555 ".tar.gz"))
13556 (sha256
13557 (base32
a4084db1 13558 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
13559 (build-system haskell-build-system)
13560 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
2b3466de 13561 (outputs '("out" "static" "doc"))
dddbc90c
RV
13562 (inputs
13563 `(("ghc-async" ,ghc-async)
13564 ("ghc-unliftio-core" ,ghc-unliftio-core)))
13565 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
13566 (home-page "https://github.com/fpco/unliftio")
13567 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
13568IO (batteries included)")
13569 (description "This Haskell package provides the core @code{MonadUnliftIO}
13570typeclass, a number of common instances, and a collection of common functions
13571working with it.")
13572 (license license:expat)))
13573
13574(define-public ghc-unliftio-core
13575 (package
13576 (name "ghc-unliftio-core")
2ae42618 13577 (version "0.1.2.0")
dddbc90c
RV
13578 (source
13579 (origin
13580 (method url-fetch)
13581 (uri (string-append "https://hackage.haskell.org/package/"
13582 "unliftio-core-" version "/"
13583 "unliftio-core-" version ".tar.gz"))
13584 (sha256
13585 (base32
2ae42618 13586 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
13587 (build-system haskell-build-system)
13588 (arguments
13589 `(#:cabal-revision
2ae42618 13590 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
13591 (home-page
13592 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
13593 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
13594 (description "This Haskell package provides the core @code{MonadUnliftIO}
13595typeclass, instances for base and transformers, and basic utility
13596functions.")
13597 (license license:expat)))
13598
13599(define-public ghc-unordered-containers
13600 (package
13601 (name "ghc-unordered-containers")
ca01f8d3 13602 (version "0.2.10.0")
534d6caa 13603 (outputs '("out" "static" "doc"))
dddbc90c
RV
13604 (source
13605 (origin
13606 (method url-fetch)
13607 (uri (string-append
13608 "https://hackage.haskell.org/package/unordered-containers"
13609 "/unordered-containers-" version ".tar.gz"))
13610 (sha256
13611 (base32
ca01f8d3 13612 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
13613 (build-system haskell-build-system)
13614 (inputs
13615 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
13616 ("ghc-hunit" ,ghc-hunit)
13617 ("ghc-quickcheck" ,ghc-quickcheck)
13618 ("ghc-test-framework" ,ghc-test-framework)
13619 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13620 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13621 ("ghc-hashable" ,ghc-hashable)))
13622 (home-page
13623 "https://github.com/tibbe/unordered-containers")
13624 (synopsis
13625 "Efficient hashing-based container types")
13626 (description
13627 "Efficient hashing-based container types. The containers have been
13628optimized for performance critical use, both in terms of large data quantities
13629and high speed.")
13630 (license license:bsd-3)))
13631
13632(define-public ghc-unordered-containers-bootstrap
13633 (package
13634 (inherit ghc-unordered-containers)
13635 (name "ghc-unordered-containers-bootstrap")
13636 (arguments `(#:tests? #f))
13637 (inputs
13638 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 13639 (properties '((hidden? #t)))))
dddbc90c 13640
a52f4c57
JS
13641(define-public ghc-unsafe
13642 (package
13643 (name "ghc-unsafe")
13644 (version "0.0")
13645 (source
13646 (origin
13647 (method url-fetch)
13648 (uri
13649 (string-append
13650 "https://hackage.haskell.org/package/unsafe/unsafe-"
13651 version ".tar.gz"))
13652 (sha256
13653 (base32
13654 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
13655 (build-system haskell-build-system)
13656 (home-page "https://hackage.haskell.org/package/unsafe")
13657 (synopsis "Unified interface to unsafe functions")
13658 (description "Safe Haskell introduced the notion of safe and unsafe
13659modules. In order to make as many as possible modules ``safe'', the
13660well-known unsafe functions were moved to distinguished modules. This
13661makes it hard to write packages that work with both old and new versions
13662of GHC. This package provides a single module System.Unsafe that
13663exports the unsafe functions from the base package. It provides them in
13664a style ready for qualification, that is, you should import them by
13665@code{import qualified System.Unsafe as Unsafe}.")
13666 (license license:bsd-3)))
13667
dddbc90c
RV
13668(define-public ghc-uri-bytestring
13669 (package
13670 (name "ghc-uri-bytestring")
d35ffd39 13671 (version "0.3.2.2")
dddbc90c
RV
13672 (source
13673 (origin
13674 (method url-fetch)
13675 (uri (string-append "https://hackage.haskell.org/package/"
13676 "uri-bytestring-" version "/"
13677 "uri-bytestring-" version ".tar.gz"))
13678 (sha256
13679 (base32
d35ffd39 13680 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
13681 (build-system haskell-build-system)
13682 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
13683 ("ghc-blaze-builder" ,ghc-blaze-builder)
13684 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 13685 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
13686 ("ghc-tasty" ,ghc-tasty)
13687 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
13688 ("ghc-hedgehog" ,ghc-hedgehog)
13689 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 13690 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 13691 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 13692 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
13693 (home-page "https://github.com/Soostone/uri-bytestring")
13694 (synopsis "Haskell URI parsing as ByteStrings")
13695 (description "This Haskell package aims to be an RFC3986 compliant URI
13696parser that uses ByteStrings for parsing and representing the URI data.")
13697 (license license:bsd-3)))
13698
d7ad0823
JS
13699(define-public ghc-utf8-light
13700 (package
13701 (name "ghc-utf8-light")
13702 (version "0.4.2")
13703 (source
13704 (origin
13705 (method url-fetch)
13706 (uri (string-append
13707 "mirror://hackage/package/utf8-light/utf8-light-"
13708 version
13709 ".tar.gz"))
13710 (sha256
13711 (base32
13712 "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
13713 (build-system haskell-build-system)
13714 (home-page
13715 "http://hackage.haskell.org/package/utf8-light")
13716 (synopsis "Lightweight unicode support for Haskell")
13717 (description
13718 "This package profides a class for encoding and decoding UTF8 strings
13719with instances for several common types. It also includes several functions
13720for working with UTF8. It aims to be lightweight, depending only on Base and
13721including only one module.")
13722 (license license:bsd-3)))
13723
dddbc90c
RV
13724(define-public ghc-utf8-string
13725 (package
13726 (name "ghc-utf8-string")
13727 (version "1.0.1.1")
13728 (source
13729 (origin
13730 (method url-fetch)
13731 (uri (string-append
13732 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
13733 version
13734 ".tar.gz"))
13735 (sha256
13736 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
13737 (build-system haskell-build-system)
13738 (arguments
13739 `(#:cabal-revision
13740 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
13741 (home-page "https://github.com/glguy/utf8-string/")
13742 (synopsis "Support for reading and writing UTF8 Strings")
13743 (description
13744 "A UTF8 layer for Strings. The utf8-string package provides operations
13745for encoding UTF8 strings to Word8 lists and back, and for reading and writing
13746UTF8 without truncation.")
13747 (license license:bsd-3)))
13748
13749(define-public ghc-utility-ht
13750 (package
13751 (name "ghc-utility-ht")
13752 (version "0.0.14")
13753 (home-page "https://hackage.haskell.org/package/utility-ht")
13754 (source
13755 (origin
13756 (method url-fetch)
13757 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
13758 (sha256
13759 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
13760 (build-system haskell-build-system)
13761 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
13762 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
13763 (description "This package includes Hakell modules providing various
13764helper functions for Lists, Maybes, Tuples, Functions.")
13765 (license license:bsd-3)))
13766
13767(define-public ghc-uuid
13768 (package
13769 (name "ghc-uuid")
13770 (version "1.3.13")
13771 (source
13772 (origin
13773 (method url-fetch)
13774 (uri (string-append "https://hackage.haskell.org/package/"
13775 "uuid-" version "/"
13776 "uuid-" version ".tar.gz"))
13777 (sha256
13778 (base32
13779 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
13780 (build-system haskell-build-system)
13781 (arguments
13782 `(#:cabal-revision
13783 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
13784 #:phases
13785 (modify-phases %standard-phases
13786 (add-before 'configure 'strip-test-framework-constraints
13787 (lambda _
13788 (substitute* "uuid.cabal"
13789 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
13790 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
13791 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13792 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13793 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13794 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
13795 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
13796 ("ghc-entropy" ,ghc-entropy)
13797 ("ghc-network-info" ,ghc-network-info)
13798 ("ghc-random" ,ghc-random)
13799 ("ghc-uuid-types" ,ghc-uuid-types)))
13800 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13801 ("ghc-quickcheck" ,ghc-quickcheck)
13802 ("ghc-tasty" ,ghc-tasty)
13803 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13804 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13805 (home-page "https://github.com/hvr/uuid")
13806 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
13807 (description "This Haskell library provides utilities creating, comparing,
13808parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
13809 (license license:bsd-3)))
13810
13811(define-public ghc-uuid-types
13812 (package
13813 (name "ghc-uuid-types")
13814 (version "1.0.3")
13815 (source
13816 (origin
13817 (method url-fetch)
13818 (uri (string-append "https://hackage.haskell.org/package/"
13819 "uuid-types-" version "/"
13820 "uuid-types-" version ".tar.gz"))
13821 (sha256
13822 (base32
13823 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
13824 (build-system haskell-build-system)
13825 (arguments
13826 `(#:phases
13827 (modify-phases %standard-phases
13828 (add-before 'configure 'strip-test-framework-constraints
13829 (lambda _
13830 (substitute* "uuid-types.cabal"
13831 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
13832 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
13833 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13834 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13835 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13836 (inputs `(("ghc-hashable" ,ghc-hashable)
13837 ("ghc-random" ,ghc-random)))
13838 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13839 ("ghc-quickcheck" ,ghc-quickcheck)
13840 ("ghc-tasty" ,ghc-tasty)
13841 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13842 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13843 (home-page "https://github.com/hvr/uuid")
13844 (synopsis "Haskell type definitions for UUIDs")
13845 (description "This Haskell library contains type definitions for
13846@dfn{Universally Unique Identifiers} or
13847@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
13848functions.")
13849 (license license:bsd-3)))
13850
13851(define-public ghc-validation
13852 (package
13853 (name "ghc-validation")
08397fde 13854 (version "1.1")
dddbc90c
RV
13855 (source
13856 (origin
13857 (method url-fetch)
13858 (uri (string-append
13859 "mirror://hackage/package/validation/validation-"
13860 version
13861 ".tar.gz"))
13862 (sha256
13863 (base32
08397fde 13864 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
13865 (build-system haskell-build-system)
13866 (arguments
13867 `(#:cabal-revision
08397fde 13868 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
13869 (inputs
13870 `(("ghc-semigroups" ,ghc-semigroups)
13871 ("ghc-semigroupoids" ,ghc-semigroupoids)
13872 ("ghc-bifunctors" ,ghc-bifunctors)
13873 ("ghc-lens" ,ghc-lens)))
13874 (native-inputs
13875 `(("ghc-hedgehog" ,ghc-hedgehog)
13876 ("ghc-hunit" ,ghc-hunit)))
13877 (home-page "https://github.com/qfpl/validation")
13878 (synopsis
13879 "Data-type like Either but with an accumulating Applicative")
13880 (description
13881 "A data-type like Either but with differing properties and type-class
13882instances.
13883
13884Library support is provided for this different representation, including
13885@code{lens}-related functions for converting between each and abstracting over
13886their similarities.
13887
13888The @code{Validation} data type is isomorphic to @code{Either}, but has an
13889instance of @code{Applicative} that accumulates on the error side. That is to
13890say, if two (or more) errors are encountered, they are appended using a
13891@{Semigroup} operation.
13892
13893As a consequence of this @code{Applicative} instance, there is no
13894corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
13895example of, \"An applicative functor that is not a monad.\"")
13896 (license license:bsd-3)))
13897
13898(define-public ghc-validity
13899 (package
13900 (name "ghc-validity")
3f1ba75d 13901 (version "0.9.0.2")
dddbc90c
RV
13902 (source
13903 (origin
13904 (method url-fetch)
13905 (uri (string-append
13906 "https://hackage.haskell.org/package/validity/validity-"
13907 version
13908 ".tar.gz"))
13909 (sha256
13910 (base32
3f1ba75d 13911 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
13912 (build-system haskell-build-system)
13913 (native-inputs `(("ghc-hspec" ,ghc-hspec)
13914 ("hspec-discover" ,hspec-discover)))
13915 (home-page
13916 "https://github.com/NorfairKing/validity")
13917 (synopsis "Validity typeclass")
13918 (description
13919 "Values of custom types usually have invariants imposed upon them. This
13920package provides the @code{Validity} type class, which makes these invariants
13921explicit by providing a function to check whether the invariants hold.")
13922 (license license:expat)))
13923
13924(define-public ghc-vault
13925 (package
13926 (name "ghc-vault")
b40a436e 13927 (version "0.3.1.3")
dddbc90c
RV
13928 (source
13929 (origin
13930 (method url-fetch)
13931 (uri (string-append
13932 "https://hackage.haskell.org/package/vault/vault-"
13933 version
13934 ".tar.gz"))
13935 (sha256
13936 (base32
b40a436e 13937 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
13938 (build-system haskell-build-system)
13939 (inputs
13940 `(("ghc-unordered-containers" ,ghc-unordered-containers)
13941 ("ghc-hashable" ,ghc-hashable)
b40a436e 13942 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
13943 (home-page
13944 "https://github.com/HeinrichApfelmus/vault")
13945 (synopsis "Persistent store for arbitrary values")
13946 (description "This package provides vaults for Haskell. A vault is a
13947persistent store for values of arbitrary types. It's like having first-class
13948access to the storage space behind @code{IORefs}. The data structure is
13949analogous to a bank vault, where you can access different bank boxes with
13950different keys; hence the name. Also provided is a @code{locker} type,
13951representing a store for a single element.")
13952 (license license:bsd-3)))
13953
13954(define-public ghc-vector
13955 (package
13956 (name "ghc-vector")
3ad67f6b 13957 (version "0.12.0.3")
534d6caa 13958 (outputs '("out" "static" "doc"))
dddbc90c
RV
13959 (source
13960 (origin
13961 (method url-fetch)
13962 (uri (string-append
13963 "https://hackage.haskell.org/package/vector/vector-"
13964 version
13965 ".tar.gz"))
13966 (sha256
13967 (base32
3ad67f6b 13968 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
13969 (build-system haskell-build-system)
13970 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
13971 ;; disabled for now.
13972 (arguments
3ad67f6b 13973 `(#:tests? #f))
dddbc90c
RV
13974 (inputs
13975 `(("ghc-primitive" ,ghc-primitive)
13976 ("ghc-random" ,ghc-random)
13977 ("ghc-quickcheck" ,ghc-quickcheck)
13978 ;; ("ghc-hunit" ,ghc-hunit)
13979 ;; ("ghc-test-framework" ,ghc-test-framework)
13980 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13981 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13982 ))
13983 (home-page "https://github.com/haskell/vector")
13984 (synopsis "Efficient Arrays")
13985 (description "This library provides an efficient implementation of
13986Int-indexed arrays (both mutable and immutable), with a powerful loop
13987optimisation framework.")
13988 (license license:bsd-3)))
13989
13990(define-public ghc-vector-algorithms
13991 (package
13992 (name "ghc-vector-algorithms")
e71f316f 13993 (version "0.8.0.1")
dddbc90c
RV
13994 (source
13995 (origin
13996 (method url-fetch)
13997 (uri (string-append "https://hackage.haskell.org/package/"
13998 "vector-algorithms-" version "/"
13999 "vector-algorithms-" version ".tar.gz"))
14000 (sha256
14001 (base32
e71f316f 14002 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
14003 (build-system haskell-build-system)
14004 (inputs
14005 `(("ghc-vector" ,ghc-vector)))
14006 (native-inputs
14007 `(("ghc-quickcheck" ,ghc-quickcheck)))
14008 (home-page "https://github.com/bos/math-functions")
14009 (synopsis "Algorithms for vector arrays in Haskell")
14010 (description "This Haskell library algorithms for vector arrays.")
14011 (license license:bsd-3)))
14012
14013(define-public ghc-vector-binary-instances
14014 (package
14015 (name "ghc-vector-binary-instances")
ca0701ef 14016 (version "0.2.5.1")
dddbc90c
RV
14017 (source
14018 (origin
14019 (method url-fetch)
14020 (uri (string-append
14021 "https://hackage.haskell.org/package/"
14022 "vector-binary-instances/vector-binary-instances-"
14023 version ".tar.gz"))
14024 (sha256
14025 (base32
ca0701ef 14026 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 14027 (build-system haskell-build-system)
dddbc90c
RV
14028 (inputs
14029 `(("ghc-vector" ,ghc-vector)))
14030 (native-inputs
14031 `(("ghc-tasty" ,ghc-tasty)
14032 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14033 (home-page "https://github.com/bos/vector-binary-instances")
14034 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
14035 (description "This library provides instances of @code{Binary} for the
14036types defined in the @code{vector} package, making it easy to serialize
14037vectors to and from disk. We use the generic interface to vectors, so all
14038vector types are supported. Specific instances are provided for unboxed,
14039boxed and storable vectors.")
14040 (license license:bsd-3)))
14041
14042(define-public ghc-vector-builder
14043 (package
14044 (name "ghc-vector-builder")
1fc05441 14045 (version "0.3.8")
dddbc90c
RV
14046 (source
14047 (origin
14048 (method url-fetch)
14049 (uri (string-append "https://hackage.haskell.org/package/"
14050 "vector-builder-" version "/"
14051 "vector-builder-" version ".tar.gz"))
14052 (sha256
14053 (base32
1fc05441 14054 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
14055 (build-system haskell-build-system)
14056 (inputs `(("ghc-vector" ,ghc-vector)
14057 ("ghc-semigroups" ,ghc-semigroups)
14058 ("ghc-base-prelude" ,ghc-base-prelude)))
14059 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
14060 ("ghc-tasty" ,ghc-tasty)
14061 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14062 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
14063 ("ghc-hunit" ,ghc-hunit)
14064 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
14065 ("ghc-rerebase" ,ghc-rerebase)))
14066 (home-page "https://github.com/nikita-volkov/vector-builder")
14067 (synopsis "Vector builder for Haskell")
14068 (description "This Haskell package provides an API for constructing vectors.
14069It provides the composable @code{Builder} abstraction, which has instances of the
14070@code{Monoid} and @code{Semigroup} classes.
14071
14072You would first use the @code{Builder} abstraction to specify the structure of
14073the vector; then you can execute the builder to actually produce the
14074vector. ")
14075 (license license:expat)))
14076
14077(define-public ghc-vector-th-unbox
14078 (package
14079 (name "ghc-vector-th-unbox")
63056e61 14080 (version "0.2.1.7")
dddbc90c
RV
14081 (source
14082 (origin
14083 (method url-fetch)
14084 (uri (string-append "https://hackage.haskell.org/package/"
14085 "vector-th-unbox-" version "/"
14086 "vector-th-unbox-" version ".tar.gz"))
14087 (sha256
14088 (base32
63056e61 14089 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
14090 (build-system haskell-build-system)
14091 (inputs
14092 `(("ghc-vector" ,ghc-vector)
14093 ("ghc-data-default" ,ghc-data-default)))
14094 (home-page "https://github.com/liyang/vector-th-unbox")
14095 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
14096 (description "This Haskell library provides a Template Haskell
14097deriver for unboxed vectors, given a pair of coercion functions to
14098and from some existing type with an Unbox instance.")
14099 (license license:bsd-3)))
14100
14101(define-public ghc-void
14102 (package
14103 (name "ghc-void")
51889121 14104 (version "0.7.3")
dddbc90c
RV
14105 (source
14106 (origin
14107 (method url-fetch)
14108 (uri (string-append
14109 "https://hackage.haskell.org/package/void/void-"
14110 version
14111 ".tar.gz"))
14112 (sha256
14113 (base32
51889121 14114 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
14115 (build-system haskell-build-system)
14116 (inputs
14117 `(("ghc-semigroups" ,ghc-semigroups)
14118 ("ghc-hashable" ,ghc-hashable)))
14119 (home-page "https://github.com/ekmett/void")
14120 (synopsis
14121 "Logically uninhabited data type")
14122 (description
14123 "A Haskell 98 logically uninhabited data type, used to indicate that a
14124given term should not exist.")
14125 (license license:bsd-3)))
14126
14127(define-public ghc-wave
14128 (package
14129 (name "ghc-wave")
1631a0f7 14130 (version "0.2.0")
dddbc90c
RV
14131 (source (origin
14132 (method url-fetch)
14133 (uri (string-append
14134 "https://hackage.haskell.org/package/wave/wave-"
14135 version
14136 ".tar.gz"))
14137 (sha256
14138 (base32
1631a0f7 14139 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
14140 (build-system haskell-build-system)
14141 (arguments
14142 '(#:phases
14143 (modify-phases %standard-phases
14144 (add-before 'configure 'update-constraints
14145 (lambda _
14146 (substitute* "wave.cabal"
14147 (("temporary.* < 1\\.3")
14148 "temporary >= 1.1 && < 1.4")))))))
14149 (inputs
14150 `(("ghc-cereal" ,ghc-cereal)
14151 ("ghc-data-default-class"
14152 ,ghc-data-default-class)
14153 ("ghc-quickcheck" ,ghc-quickcheck)
14154 ("ghc-temporary" ,ghc-temporary)))
14155 (native-inputs
14156 `(("hspec-discover" ,hspec-discover)
14157 ("ghc-hspec" ,ghc-hspec)))
14158 (home-page "https://github.com/mrkkrp/wave")
14159 (synopsis "Work with WAVE and RF64 files in Haskell")
14160 (description "This package allows you to work with WAVE and RF64
14161files in Haskell.")
14162 (license license:bsd-3)))
14163
14164(define-public ghc-wcwidth
14165 (package
14166 (name "ghc-wcwidth")
14167 (version "0.0.2")
14168 (source
14169 (origin
14170 (method url-fetch)
14171 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
14172 version ".tar.gz"))
14173 (sha256
14174 (base32
14175 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
14176 (build-system haskell-build-system)
14177 (inputs
14178 `(("ghc-setlocale" ,ghc-setlocale)
14179 ("ghc-utf8-string" ,ghc-utf8-string)
14180 ("ghc-attoparsec" ,ghc-attoparsec)))
14181 (home-page "https://github.com/solidsnack/wcwidth/")
14182 (synopsis "Haskell bindings to wcwidth")
14183 (description "This package provides Haskell bindings to your system's
14184native wcwidth and a command line tool to examine the widths assigned by it.
14185The command line tool can compile a width table to Haskell code that assigns
14186widths to the Char type.")
14187 (license license:bsd-3)))
14188
14189(define-public ghc-wcwidth-bootstrap
14190 (package
14191 (inherit ghc-wcwidth)
14192 (name "ghc-wcwidth-bootstrap")
14193 (inputs
14194 `(("ghc-setlocale" ,ghc-setlocale)
14195 ("ghc-utf8-string" ,ghc-utf8-string)
14196 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 14197 (properties '((hidden? #t)))))
dddbc90c
RV
14198
14199(define-public ghc-weigh
14200 (package
14201 (name "ghc-weigh")
b6d9777f 14202 (version "0.0.14")
dddbc90c
RV
14203 (source
14204 (origin
14205 (method url-fetch)
14206 (uri (string-append "https://hackage.haskell.org/package/weigh/"
14207 "weigh-" version ".tar.gz"))
14208 (sha256
14209 (base32
b6d9777f 14210 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
14211 (build-system haskell-build-system)
14212 (inputs
14213 `(("ghc-split" ,ghc-split)
14214 ("ghc-temporary" ,ghc-temporary)))
14215 (home-page "https://github.com/fpco/weigh#readme")
14216 (synopsis "Measure allocations of a Haskell functions/values")
14217 (description "This package provides tools to measure the memory usage of a
14218Haskell value or function.")
14219 (license license:bsd-3)))
14220
14221(define-public ghc-wl-pprint
14222 (package
14223 (name "ghc-wl-pprint")
14224 (version "1.2.1")
14225 (source (origin
14226 (method url-fetch)
14227 (uri (string-append
14228 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
14229 version ".tar.gz"))
14230 (sha256
14231 (base32
14232 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
14233 (build-system haskell-build-system)
14234 (home-page "https://hackage.haskell.org/package/wl-pprint")
14235 (synopsis "Wadler/Leijen pretty printer")
14236 (description
14237 "This is a pretty printing library based on Wadler's paper @i{A Prettier
14238Printer}. This version allows the library user to declare overlapping
14239instances of the @code{Pretty} class.")
14240 (license license:bsd-3)))
14241
14242(define-public ghc-wl-pprint-annotated
14243 (package
14244 (name "ghc-wl-pprint-annotated")
14245 (version "0.1.0.1")
14246 (source
14247 (origin
14248 (method url-fetch)
14249 (uri (string-append
14250 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
14251 version
14252 ".tar.gz"))
14253 (sha256
14254 (base32
14255 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
14256 (build-system haskell-build-system)
14257 (native-inputs
14258 `(("ghc-tasty" ,ghc-tasty)
14259 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
14260 (home-page
14261 "https://github.com/minad/wl-pprint-annotated#readme")
14262 (synopsis
14263 "Wadler/Leijen pretty printer with annotation support")
14264 (description
14265 "Annotations are useful for coloring. This is a limited version of
14266@code{wl-pprint-extras} without support for point effects and without the free
14267monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
14268Compared to @code{annotated-wl-pprint} this library provides a slightly
14269modernized interface.")
14270 (license license:bsd-3)))
14271
14272(define-public ghc-wl-pprint-text
14273 (package
14274 (name "ghc-wl-pprint-text")
14275 (version "1.2.0.0")
14276 (source
14277 (origin
14278 (method url-fetch)
14279 (uri (string-append
14280 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
14281 version ".tar.gz"))
14282 (sha256
14283 (base32
14284 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
14285 (build-system haskell-build-system)
14286 (inputs
14287 `(("ghc-base-compat" ,ghc-base-compat)))
14288 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
14289 (synopsis "Wadler/Leijen Pretty Printer for Text values")
14290 (description
14291 "A clone of wl-pprint for use with the text library.")
14292 (license license:bsd-3)))
14293
14294(define-public ghc-word8
14295 (package
14296 (name "ghc-word8")
14297 (version "0.1.3")
14298 (source
14299 (origin
14300 (method url-fetch)
14301 (uri (string-append
14302 "https://hackage.haskell.org/package/word8/word8-"
14303 version
14304 ".tar.gz"))
14305 (sha256
14306 (base32
14307 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
14308 (build-system haskell-build-system)
14309 (native-inputs
14310 `(("ghc-hspec" ,ghc-hspec)
14311 ("hspec-discover" ,hspec-discover)))
14312 (home-page "https://hackage.haskell.org/package/word8")
14313 (synopsis "Word8 library for Haskell")
14314 (description "Word8 library to be used with @code{Data.ByteString}.")
14315 (license license:bsd-3)))
14316
14317(define-public ghc-x11
14318 (package
14319 (name "ghc-x11")
6c4581a3 14320 (version "1.9.1")
dddbc90c
RV
14321 (source
14322 (origin
14323 (method url-fetch)
14324 (uri (string-append "https://hackage.haskell.org/package/X11/"
14325 "X11-" version ".tar.gz"))
14326 (sha256
6c4581a3 14327 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c 14328 (build-system haskell-build-system)
54a5fd07
TS
14329 (arguments
14330 `(#:extra-directories
14331 ("libx11" "libxrandr" "libxinerama" "libxscrnsaver")))
dddbc90c
RV
14332 (inputs
14333 `(("libx11" ,libx11)
14334 ("libxrandr" ,libxrandr)
14335 ("libxinerama" ,libxinerama)
14336 ("libxscrnsaver" ,libxscrnsaver)
14337 ("ghc-data-default" ,ghc-data-default)))
14338 (home-page "https://github.com/haskell-pkg-janitors/X11")
14339 (synopsis "Bindings to the X11 graphics library")
14340 (description
14341 "This package provides Haskell bindings to the X11 graphics library. The
14342bindings are a direct translation of the C bindings.")
14343 (license license:bsd-3)))
14344
14345(define-public ghc-x11-xft
14346 (package
14347 (name "ghc-x11-xft")
14348 (version "0.3.1")
14349 (source
14350 (origin
14351 (method url-fetch)
14352 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
14353 "X11-xft-" version ".tar.gz"))
14354 (sha256
14355 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
54a5fd07
TS
14356 (arguments
14357 `(#:extra-directories ("libx11" "libxft" "xorgproto")))
dddbc90c
RV
14358 (inputs
14359 `(("ghc-x11" ,ghc-x11)
14360 ("ghc-utf8-string" ,ghc-utf8-string)
14361 ("libx11" ,libx11)
14362 ("libxft" ,libxft)
14363 ("xorgproto" ,xorgproto)))
14364 (native-inputs
14365 `(("pkg-config" ,pkg-config)))
14366 (build-system haskell-build-system)
14367 (home-page "https://hackage.haskell.org/package/X11-xft")
14368 (synopsis "Bindings to Xft")
14369 (description
14370 "Bindings to the Xft, X Free Type interface library, and some Xrender
14371parts.")
14372 (license license:lgpl2.1)))
14373
14374(define-public ghc-xdg-basedir
14375 (package
14376 (name "ghc-xdg-basedir")
14377 (version "0.2.2")
14378 (source
14379 (origin
14380 (method url-fetch)
14381 (uri (string-append
14382 "https://hackage.haskell.org/package/xdg-basedir/"
14383 "xdg-basedir-" version ".tar.gz"))
14384 (sha256
14385 (base32
14386 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
14387 (build-system haskell-build-system)
702a1012 14388 (home-page "https://github.com/willdonnelly/xdg-basedir")
dddbc90c
RV
14389 (synopsis "XDG Base Directory library for Haskell")
14390 (description "This package provides a library implementing the XDG Base Directory spec.")
14391 (license license:bsd-3)))
14392
14393(define-public ghc-xml
14394 (package
14395 (name "ghc-xml")
14396 (version "1.3.14")
14397 (source
14398 (origin
14399 (method url-fetch)
14400 (uri (string-append
14401 "https://hackage.haskell.org/package/xml/xml-"
14402 version
14403 ".tar.gz"))
14404 (sha256
14405 (base32
14406 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
14407 (build-system haskell-build-system)
2b62f5d0 14408 (home-page "https://github.com/GaloisInc/xml")
dddbc90c
RV
14409 (synopsis "Simple XML library for Haskell")
14410 (description "This package provides a simple XML library for Haskell.")
14411 (license license:bsd-3)))
14412
14413(define-public ghc-xml-conduit
14414 (package
14415 (name "ghc-xml-conduit")
14416 (version "1.8.0.1")
14417 (source
14418 (origin
14419 (method url-fetch)
14420 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
14421 "xml-conduit-" version ".tar.gz"))
14422 (sha256
14423 (base32
14424 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
14425 (build-system haskell-build-system)
14426 (inputs
14427 `(("ghc-conduit" ,ghc-conduit)
14428 ("ghc-conduit-extra" ,ghc-conduit-extra)
14429 ("ghc-doctest" ,ghc-doctest)
14430 ("ghc-resourcet" ,ghc-resourcet)
14431 ("ghc-xml-types" ,ghc-xml-types)
14432 ("ghc-attoparsec" ,ghc-attoparsec)
14433 ("ghc-data-default-class" ,ghc-data-default-class)
14434 ("ghc-blaze-markup" ,ghc-blaze-markup)
14435 ("ghc-blaze-html" ,ghc-blaze-html)
14436 ("ghc-monad-control" ,ghc-monad-control)
14437 ("ghc-hspec" ,ghc-hspec)
14438 ("ghc-hunit" ,ghc-hunit)))
14439 (home-page "https://github.com/snoyberg/xml")
14440 (synopsis "Utilities for dealing with XML with the conduit package")
14441 (description
14442 "This package provides pure-Haskell utilities for dealing with XML with
14443the @code{conduit} package.")
14444 (license license:expat)))
14445
14446(define-public ghc-xml-types
14447 (package
14448 (name "ghc-xml-types")
14449 (version "0.3.6")
14450 (source
14451 (origin
14452 (method url-fetch)
14453 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
14454 "xml-types-" version ".tar.gz"))
14455 (sha256
14456 (base32
14457 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
14458 (build-system haskell-build-system)
14459 (home-page "https://john-millikin.com/software/haskell-xml/")
14460 (synopsis "Basic types for representing XML")
14461 (description "This package provides basic types for representing XML
14462documents.")
14463 (license license:expat)))
14464
14465(define-public ghc-yaml
14466 (package
14467 (name "ghc-yaml")
b58e5b84 14468 (version "0.11.1.2")
dddbc90c
RV
14469 (source (origin
14470 (method url-fetch)
14471 (uri (string-append "https://hackage.haskell.org/package/"
14472 "yaml/yaml-" version ".tar.gz"))
14473 (sha256
14474 (base32
b58e5b84 14475 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 14476 (build-system haskell-build-system)
dddbc90c
RV
14477 (inputs
14478 `(("ghc-conduit" ,ghc-conduit)
14479 ("ghc-resourcet" ,ghc-resourcet)
14480 ("ghc-aeson" ,ghc-aeson)
14481 ("ghc-unordered-containers" ,ghc-unordered-containers)
14482 ("ghc-vector" ,ghc-vector)
14483 ("ghc-attoparsec" ,ghc-attoparsec)
14484 ("ghc-scientific" ,ghc-scientific)
14485 ("ghc-semigroups" ,ghc-semigroups)
14486 ("ghc-temporary" ,ghc-temporary)
14487 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
14488 ("ghc-base-compat" ,ghc-base-compat)
14489 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
14490 (native-inputs
14491 `(("ghc-hspec" ,ghc-hspec)
14492 ("ghc-hunit" ,ghc-hunit)
14493 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
14494 ("ghc-mockery" ,ghc-mockery)
14495 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
14496 (home-page "https://github.com/snoyberg/yaml/")
14497 (synopsis "Parsing and rendering YAML documents")
14498 (description
14499 "This package provides a library to parse and render YAML documents.")
14500 (license license:bsd-3)))
14501
14502(define-public ghc-zip-archive
14503 (package
14504 (name "ghc-zip-archive")
93c1fdd3 14505 (version "0.4.1")
dddbc90c
RV
14506 (source
14507 (origin
14508 (method url-fetch)
14509 (uri (string-append
14510 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
14511 version
14512 ".tar.gz"))
14513 (sha256
14514 (base32
93c1fdd3 14515 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 14516 (build-system haskell-build-system)
93c1fdd3
TS
14517 (arguments
14518 `(#:phases
14519 (modify-phases %standard-phases
14520 (add-before 'check 'set-PATH-for-tests
14521 (lambda* (#:key inputs #:allow-other-keys)
14522 (let ((unzip (assoc-ref inputs "unzip"))
14523 (which (assoc-ref inputs "which"))
14524 (path (getenv "PATH")))
14525 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
14526 #t))))))
dddbc90c
RV
14527 (inputs
14528 `(("ghc-digest" ,ghc-digest)
14529 ("ghc-temporary" ,ghc-temporary)
14530 ("ghc-zlib" ,ghc-zlib)))
14531 (native-inputs
14532 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
14533 ("unzip" ,unzip)
14534 ("which" ,which)))
dddbc90c
RV
14535 (home-page "https://hackage.haskell.org/package/zip-archive")
14536 (synopsis "Zip archive library for Haskell")
14537 (description "The zip-archive library provides functions for creating,
14538modifying, and extracting files from zip archives in Haskell.")
14539 (license license:bsd-3)))
14540
14541(define-public ghc-zlib
14542 (package
14543 (name "ghc-zlib")
bf12089a 14544 (version "0.6.2.1")
534d6caa 14545 (outputs '("out" "static" "doc"))
dddbc90c
RV
14546 (source
14547 (origin
14548 (method url-fetch)
14549 (uri (string-append
14550 "https://hackage.haskell.org/package/zlib/zlib-"
14551 version
14552 ".tar.gz"))
14553 (sha256
14554 (base32
bf12089a 14555 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
14556 (build-system haskell-build-system)
14557 (arguments
54a5fd07
TS
14558 `(#:extra-directories ("zlib")
14559 #:phases
dddbc90c
RV
14560 (modify-phases %standard-phases
14561 (add-before 'configure 'strip-test-framework-constraints
14562 (lambda _
14563 (substitute* "zlib.cabal"
14564 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
14565 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
14566 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
14567 (inputs `(("zlib" ,zlib)))
14568 (native-inputs
14569 `(("ghc-quickcheck" ,ghc-quickcheck)
14570 ("ghc-tasty" ,ghc-tasty)
14571 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14572 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14573 (home-page "https://hackage.haskell.org/package/zlib")
14574 (synopsis
14575 "Compression and decompression in the gzip and zlib formats")
14576 (description
14577 "This package provides a pure interface for compressing and decompressing
14578streams of data represented as lazy @code{ByteString}s. It uses the zlib C
14579library so it has high performance. It supports the @code{zlib}, @code{gzip}
14580and @code{raw} compression formats. It provides a convenient high level API
14581suitable for most tasks and for the few cases where more control is needed it
14582provides access to the full zlib feature set.")
bbf8bf31 14583 (license license:bsd-3)))
14e41996
RV
14584
14585(define-public ghc-zlib-bindings
14586 (package
14587 (name "ghc-zlib-bindings")
14588 (version "0.1.1.5")
14589 (source
14590 (origin
14591 (method url-fetch)
14592 (uri (string-append "https://hackage.haskell.org/package/"
14593 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
14594 (sha256
14595 (base32
14596 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
14597 (build-system haskell-build-system)
14598 (inputs
14599 `(("ghc-zlib" ,ghc-zlib)))
14600 (native-inputs
14601 `(("ghc-hspec" ,ghc-hspec)
14602 ("ghc-quickcheck" ,ghc-quickcheck)))
14603 (arguments
14604 `(#:cabal-revision
14605 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
14606 (home-page "https://github.com/snapframework/zlib-bindings")
14607 (synopsis "Low-level bindings to the @code{zlib} package")
14608 (description "This package provides low-level bindings to the
14609@code{zlib} package.")
14610 (license license:bsd-3)))
8428e92c
TS
14611
14612(define-public ghc-zstd
14613 (package
14614 (name "ghc-zstd")
14615 (version "0.1.1.2")
14616 (source
14617 (origin
14618 (method url-fetch)
14619 (uri (string-append "https://hackage.haskell.org/package/"
14620 "zstd/zstd-" version ".tar.gz"))
14621 (sha256
14622 (base32
14623 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
14624 (build-system haskell-build-system)
14625 (native-inputs
14626 `(("ghc-quickcheck" ,ghc-quickcheck)
14627 ("ghc-test-framework" ,ghc-test-framework)
14628 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
14629 (home-page "https://github.com/luispedro/hs-zstd")
14630 (synopsis "Haskell bindings to the Zstandard compression algorithm")
14631 (description "This library provides Haskell bindings to the
14632Zstandard compression algorithm, a fast lossless compression algorithm
14633targeting real-time compression scenarios at zlib-level and better
14634compression ratios.")
14635 (license license:bsd-3)))