gnu: qtserialbus: Add libsocketcan support.
[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)
330 (inputs
331 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
332 ("alsa-lib" ,alsa-lib)))
333 (native-inputs
334 `(("pkg-config" ,pkg-config)))
228d2901 335 (home-page "https://wiki.haskell.org/ALSA")
dddbc90c
RV
336 (synopsis "Binding to the ALSA Library API (Exceptions)")
337 (description "This package provides access to ALSA infrastructure, that is
338needed by both alsa-seq and alsa-pcm.")
339 (license license:bsd-3)))
340
f2ed1e6d
JS
341(define-public ghc-alsa-mixer
342 (package
343 (name "ghc-alsa-mixer")
344 (version "0.3.0")
345 (source
346 (origin
347 (method url-fetch)
348 (uri
349 (string-append
350 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
351 version ".tar.gz"))
352 (sha256
353 (base32
354 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
355 (build-system haskell-build-system)
356 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
357 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
358 (home-page "https://github.com/ttuegel/alsa-mixer")
359 (synopsis "Bindings to the ALSA simple mixer API")
360 (description
361 "This package provides bindings to the ALSA simple mixer API.")
362 (license license:bsd-3)))
363
dddbc90c
RV
364(define-public ghc-annotated-wl-pprint
365 (package
366 (name "ghc-annotated-wl-pprint")
367 (version "0.7.0")
368 (source
369 (origin
370 (method url-fetch)
371 (uri (string-append
372 "https://hackage.haskell.org/package/annotated-wl-pprint"
373 "/annotated-wl-pprint-" version
374 ".tar.gz"))
375 (sha256
376 (base32
377 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
378 (build-system haskell-build-system)
379 (home-page
380 "https://github.com/david-christiansen/annotated-wl-pprint")
381 (synopsis
382 "The Wadler/Leijen Pretty Printer, with annotation support")
383 (description "This is a modified version of wl-pprint, which was based on
384Wadler's paper \"A Prettier Printer\". This version allows the library user
385to annotate the text with semantic information, which can later be rendered in
386a variety of ways.")
387 (license license:bsd-3)))
388
389(define-public ghc-ansi-terminal
390 (package
391 (name "ghc-ansi-terminal")
f1b4a73f 392 (version "0.9.1")
dddbc90c
RV
393 (source
394 (origin
395 (method url-fetch)
396 (uri (string-append
397 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
398 version
399 ".tar.gz"))
400 (sha256
401 (base32
f1b4a73f 402 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
403 (build-system haskell-build-system)
404 (inputs
405 `(("ghc-colour" ,ghc-colour)))
406 (home-page "https://github.com/feuerbach/ansi-terminal")
407 (synopsis "ANSI terminal support for Haskell")
408 (description "This package provides ANSI terminal support for Haskell. It
409allows cursor movement, screen clearing, color output showing or hiding the
410cursor, and changing the title.")
411 (license license:bsd-3)))
412
413(define-public ghc-ansi-wl-pprint
414 (package
415 (name "ghc-ansi-wl-pprint")
c38746eb 416 (version "0.6.9")
7b01a977
RV
417 (source
418 (origin
419 (method url-fetch)
420 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 421 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
422 version ".tar.gz"))
423 (sha256
424 (base32
c38746eb 425 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
426 (build-system haskell-build-system)
427 (inputs
dddbc90c
RV
428 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
429 (home-page "https://github.com/ekmett/ansi-wl-pprint")
430 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
431 (description "This is a pretty printing library based on Wadler's paper
432\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
433colored output using the ansi-terminal package.")
434 (license license:bsd-3)))
435
436(define-public ghc-appar
437 (package
438 (name "ghc-appar")
1159d1a5 439 (version "0.1.8")
dddbc90c
RV
440 (source
441 (origin
442 (method url-fetch)
443 (uri (string-append
444 "https://hackage.haskell.org/package/appar/appar-"
445 version
446 ".tar.gz"))
447 (sha256
448 (base32
1159d1a5 449 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
450 (build-system haskell-build-system)
451 (home-page
452 "https://hackage.haskell.org/package/appar")
453 (synopsis "Simple applicative parser")
454 (description "This package provides a simple applicative parser in Parsec
455style.")
456 (license license:bsd-3)))
457
af369394
JS
458(define-public ghc-assoc
459 (package
460 (name "ghc-assoc")
461 (version "1.0.1")
462 (source
463 (origin
464 (method url-fetch)
465 (uri (string-append
466 "https://hackage.haskell.org/package/assoc/assoc-"
467 version
468 ".tar.gz"))
469 (sha256
470 (base32
471 "1m9n4vp190bvn2wcrd4ggfwa9pi93jp0zgx02mdgywn2zfidw020"))))
472 (build-system haskell-build-system)
473 (inputs
474 `(("ghc-bifunctors" ,ghc-bifunctors)
475 ("ghc-tagged" ,ghc-tagged)))
476 (home-page
477 "http://hackage.haskell.org/package/assoc")
478 (synopsis
479 "Swap and assoc: Symmetric and Semigroupy Bifunctors")
480 (description
481 "Provides generalisations of @code{swap :: (a,b) -> (b,a)} and
482@code{assoc :: ((a,b),c) -> (a,(b,c))} to @code{Bifunctor}s supporting
483similar operations (e.g. @code{Either}, @code{These}).")
484 (license license:bsd-3)))
485
dddbc90c
RV
486(define-public ghc-async
487 (package
488 (name "ghc-async")
048ef066 489 (version "2.2.2")
dddbc90c
RV
490 (source
491 (origin
492 (method url-fetch)
493 (uri (string-append
494 "https://hackage.haskell.org/package/async/async-"
495 version
496 ".tar.gz"))
497 (sha256
498 (base32
048ef066 499 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
500 (build-system haskell-build-system)
501 (inputs
502 `(("ghc-hashable" ,ghc-hashable)
503 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
504 ("ghc-test-framework" ,ghc-test-framework)
505 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
506 (home-page "https://github.com/simonmar/async")
507 (synopsis "Library to run IO operations asynchronously")
508 (description "Async provides a library to run IO operations
509asynchronously, and wait for their results. It is a higher-level interface
510over threads in Haskell, in which @code{Async a} is a concurrent thread that
511will eventually deliver a value of type @code{a}.")
7b01a977
RV
512 (license license:bsd-3)))
513
9ad9ec2e
AG
514(define-public ghc-atomic-primops
515 (package
516 (name "ghc-atomic-primops")
af16c6b0 517 (version "0.8.3")
9ad9ec2e
AG
518 (source
519 (origin
520 (method url-fetch)
521 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
522 "/atomic-primops-" version ".tar.gz"))
523 (sha256
524 (base32
af16c6b0 525 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
9ad9ec2e
AG
526 (build-system haskell-build-system)
527 (inputs `(("ghc-primitive" ,ghc-primitive)))
528 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
529 (synopsis "Safe approach to CAS and other atomic ops")
530 (description
531 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
532use safely, because pointer equality is a highly unstable property in Haskell.
533This library provides a safer method based on the concept of @code{Ticket}s.")
534 (license license:bsd-3)))
535
dddbc90c 536(define-public ghc-atomic-write
79fcc5e5 537 (package
dddbc90c 538 (name "ghc-atomic-write")
c09d1e62 539 (version "0.2.0.6")
79fcc5e5
RV
540 (source
541 (origin
542 (method url-fetch)
dddbc90c
RV
543 (uri (string-append
544 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
545 version
546 ".tar.gz"))
79fcc5e5
RV
547 (sha256
548 (base32
c09d1e62 549 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
550 (build-system haskell-build-system)
551 (inputs
552 `(("ghc-temporary" ,ghc-temporary)
553 ("ghc-unix-compat" ,ghc-unix-compat)))
554 (native-inputs
555 `(("ghc-temporary" ,ghc-temporary)
556 ("ghc-unix-compat" ,ghc-unix-compat)
557 ("ghc-hspec" ,ghc-hspec)
558 ("hspec-discover" ,hspec-discover)))
559 (home-page "https://github.com/stackbuilders/atomic-write")
560 (synopsis "Atomically write to a file")
561 (description
562 "Atomically write to a file on POSIX-compliant systems while preserving
563permissions. @code{mv} is an atomic operation. This makes it simple to write
564to a file atomically just by using the @code{mv} operation. However, this
565will destroy the permissions on the original file. This library preserves
566permissions while atomically writing to a file.")
567 (license license:expat)))
568
b7250901
JS
569(define-public ghc-atomic-write-0.2.0.7
570 (package
571 (inherit ghc-atomic-write)
572 (version "0.2.0.7")
573 (source
574 (origin
575 (inherit (package-source ghc-atomic-write))
576 (uri (string-append
577 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
578 version
579 ".tar.gz"))
580 (sha256
581 (base32
582 "03cn3ii74h0w3g4h78xsx9v2sn58r3qsr2dbdwq340xwhiwcgxdm"))))))
583
dddbc90c
RV
584(define-public ghc-attoparsec
585 (package
586 (name "ghc-attoparsec")
511c3204 587 (version "0.13.2.3")
dddbc90c
RV
588 (source
589 (origin
590 (method url-fetch)
591 (uri (string-append
592 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
593 version
594 ".tar.gz"))
595 (sha256
596 (base32
511c3204 597 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 598 (build-system haskell-build-system)
79fcc5e5 599 (arguments
dddbc90c
RV
600 `(#:phases
601 (modify-phases %standard-phases
602 (add-after 'unpack 'patch-for-newer-quickcheck
603 (lambda _
604 (substitute* "attoparsec.cabal"
605 (("QuickCheck >= 2\\.7 && < 2\\.10")
606 "QuickCheck >= 2.7 && < 2.12"))
607 ;; This test fails because of the newer QuickCheck:
608 ;; <https://github.com/bos/attoparsec/issues/134>.
609 (substitute* "tests/QC/ByteString.hs"
610 ((", testProperty \"satisfyWith\" satisfyWith")
611 "")))))))
612 (inputs
613 `(("ghc-scientific" ,ghc-scientific)))
614 (native-inputs
615 `(("ghc-tasty" ,ghc-tasty)
616 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
617 ("ghc-quickcheck" ,ghc-quickcheck)
618 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
619 ("ghc-vector" ,ghc-vector)))
620 (home-page "https://github.com/bos/attoparsec")
621 (synopsis "Fast combinator parsing for bytestrings and text")
622 (description "This library provides a fast parser combinator library,
623aimed particularly at dealing efficiently with network protocols and
624complicated text/binary file formats.")
79fcc5e5
RV
625 (license license:bsd-3)))
626
dddbc90c 627(define-public ghc-attoparsec-bootstrap
6b34d01c 628 (package
dddbc90c
RV
629 (inherit ghc-attoparsec)
630 (name "ghc-attoparsec-bootstrap")
631 (arguments `(#:tests? #f))
632 (inputs
633 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
634 (native-inputs '())
799d8d3c 635 (properties '((hidden? #t)))))
dddbc90c
RV
636
637(define-public ghc-attoparsec-iso8601
638 (package
639 (name "ghc-attoparsec-iso8601")
97f267c8 640 (version "1.0.1.0")
6b34d01c
RV
641 (source
642 (origin
643 (method url-fetch)
644 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
645 "attoparsec-iso8601-" version "/"
646 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
647 (sha256
648 (base32
97f267c8 649 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 650 (build-system haskell-build-system)
dddbc90c
RV
651 (arguments
652 `(#:cabal-revision
97f267c8 653 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
654 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
655 ("ghc-base-compat" ,ghc-base-compat)))
656 (home-page "https://github.com/bos/aeson")
657 (synopsis "Parse ISO 8601 dates")
658 (description "Haskell library for parsing of ISO 8601 dates, originally
659from aeson.")
6b34d01c 660 (license license:bsd-3)))
b57e99f5 661
dddbc90c 662(define-public ghc-auto-update
b57e99f5 663 (package
dddbc90c 664 (name "ghc-auto-update")
11b1b6cd 665 (version "0.1.6")
dddbc90c
RV
666 (source
667 (origin
668 (method url-fetch)
669 (uri (string-append
670 "https://hackage.haskell.org/package/auto-update/auto-update-"
671 version
672 ".tar.gz"))
673 (sha256
674 (base32
11b1b6cd 675 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 676 (build-system haskell-build-system)
11b1b6cd
TS
677 (native-inputs
678 `(("ghc-hspec" ,ghc-hspec)
679 ("ghc-hunit" ,ghc-hunit)
680 ("ghc-retry" ,ghc-retry)
681 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
682 (home-page "https://github.com/yesodweb/wai")
683 (synopsis "Efficiently run periodic, on-demand actions")
684 (description "This library provides mechanisms to efficiently run
685periodic, on-demand actions in Haskell.")
686 (license license:expat)))
687
688(define-public ghc-aws
689 (package
690 (name "ghc-aws")
691 (version "0.20")
b57e99f5
RV
692 (source
693 (origin
694 (method url-fetch)
695 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
696 "aws-" version "/aws-" version ".tar.gz"))
697 (sha256 (base32
698 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
699 (build-system haskell-build-system)
700 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
701 (inputs
702 `(("ghc-aeson" ,ghc-aeson)
703 ("ghc-attoparsec" ,ghc-attoparsec)
704 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
705 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
706 ("ghc-blaze-builder" ,ghc-blaze-builder)
707 ("ghc-byteable" ,ghc-byteable)
708 ("ghc-case-insensitive" ,ghc-case-insensitive)
709 ("ghc-cereal" ,ghc-cereal)
710 ("ghc-conduit" ,ghc-conduit)
711 ("ghc-conduit-extra" ,ghc-conduit-extra)
712 ("ghc-cryptonite" ,ghc-cryptonite)
713 ("ghc-data-default" ,ghc-data-default)
714 ("ghc-http-conduit" ,ghc-http-conduit)
715 ("ghc-http-types" ,ghc-http-types)
716 ("ghc-lifted-base" ,ghc-lifted-base)
717 ("ghc-monad-control" ,ghc-monad-control)
718 ("ghc-network" ,ghc-network)
719 ("ghc-old-locale" ,ghc-old-locale)
720 ("ghc-safe" ,ghc-safe)
721 ("ghc-scientific" ,ghc-scientific)
722 ("ghc-tagged" ,ghc-tagged)
723 ("ghc-unordered-containers" ,ghc-unordered-containers)
724 ("ghc-utf8-string" ,ghc-utf8-string)
725 ("ghc-vector" ,ghc-vector)
726 ("ghc-xml-conduit" ,ghc-xml-conduit)))
727 (native-inputs
728 `(("ghc-quickcheck" ,ghc-quickcheck)
729 ("ghc-errors" ,ghc-errors)
730 ("ghc-http-client" ,ghc-http-client)
731 ("ghc-http-client-tls" ,ghc-http-client-tls)
732 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
733 ("ghc-tasty" ,ghc-tasty)
734 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
735 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
736 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
737 (home-page "https://github.com/aristidb/aws")
738 (synopsis "Amazon Web Services for Haskell")
739 (description "This package attempts to provide support for using
740Amazon Web Services like S3 (storage), SQS (queuing) and others to
741Haskell programmers. The ultimate goal is to support all Amazon
742Web Services.")
743 (license license:bsd-3)))
744
745(define-public ghc-base16-bytestring
746 (package
747 (name "ghc-base16-bytestring")
748 (version "0.1.1.6")
749 (source
750 (origin
751 (method url-fetch)
752 (uri (string-append
753 "https://hackage.haskell.org/package/base16-bytestring/"
754 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
755 (sha256
756 (base32
dddbc90c 757 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 758 (build-system haskell-build-system)
dddbc90c
RV
759 (home-page "https://github.com/bos/base16-bytestring")
760 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
761 (description
762 "This package provides a Haskell library for working with base16-encoded
763data quickly and efficiently, using the ByteString type.")
b57e99f5 764 (license license:bsd-3)))
bbf8bf31 765
dddbc90c 766(define-public ghc-base64-bytestring
bbf8bf31 767 (package
dddbc90c
RV
768 (name "ghc-base64-bytestring")
769 (version "1.0.0.2")
bbf8bf31
RV
770 (source
771 (origin
772 (method url-fetch)
dddbc90c
RV
773 (uri (string-append
774 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
775 version
776 ".tar.gz"))
777 (sha256
778 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
779 (build-system haskell-build-system)
780 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
781 (home-page "https://github.com/bos/base64-bytestring")
782 (synopsis "Base64 encoding and decoding for ByteStrings")
783 (description "This library provides fast base64 encoding and decoding for
784Haskell @code{ByteString}s.")
785 (license license:bsd-3)))
786
787(define-public ghc-base-compat
788 (package
789 (name "ghc-base-compat")
4daaa371 790 (version "0.10.5")
dddbc90c
RV
791 (source
792 (origin
793 (method url-fetch)
794 (uri (string-append
795 "https://hackage.haskell.org/package/base-compat/base-compat-"
796 version
797 ".tar.gz"))
bbf8bf31
RV
798 (sha256
799 (base32
4daaa371 800 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
801 (build-system haskell-build-system)
802 (native-inputs
dddbc90c
RV
803 `(("ghc-quickcheck" ,ghc-quickcheck)
804 ("ghc-hspec" ,ghc-hspec)
805 ("hspec-discover" ,hspec-discover)))
806 (home-page "https://hackage.haskell.org/package/base-compat")
807 (synopsis "Haskell compiler compatibility library")
808 (description "This library provides functions available in later versions
809of base to a wider range of compilers, without requiring the use of CPP
810pragmas in your code.")
811 (license license:bsd-3)))
812
f9d78c7f
TS
813(define-public ghc-base-compat-batteries
814 (package
815 (name "ghc-base-compat-batteries")
816 (version "0.10.5")
817 (source
818 (origin
819 (method url-fetch)
820 (uri (string-append "https://hackage.haskell.org/package/"
821 "base-compat-batteries/base-compat-batteries-"
822 version ".tar.gz"))
823 (sha256
824 (base32
825 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
826 (build-system haskell-build-system)
827 (inputs
828 `(("ghc-base-compat" ,ghc-base-compat)))
829 (native-inputs
830 `(("ghc-hspec" ,ghc-hspec)
831 ("ghc-quickcheck" ,ghc-quickcheck)
832 ("hspec-discover" ,hspec-discover)))
833 (arguments
834 `(#:cabal-revision
835 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
3ef91e15 836 (home-page "https://hackage.haskell.org/package/base-compat-batteries")
f9d78c7f
TS
837 (synopsis "base-compat with extra batteries")
838 (description "This library provides functions available in later
839versions of @code{base} to a wider range of compilers, without requiring
840you to use CPP pragmas in your code. This package provides the same API
841as the @code{base-compat} library, but depends on compatibility
842packages (such as @code{semigroups}) to offer a wider support window
843than @code{base-compat}, which has no dependencies.")
844 (license license:expat)))
845
dddbc90c
RV
846(define-public ghc-basement
847 (package
848 (name "ghc-basement")
8b56c1fd 849 (version "0.0.11")
dddbc90c
RV
850 (source
851 (origin
852 (method url-fetch)
853 (uri (string-append "https://hackage.haskell.org/package/"
854 "basement/basement-" version ".tar.gz"))
855 (sha256
856 (base32
8b56c1fd 857 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
858 (build-system haskell-build-system)
859 (home-page "https://github.com/haskell-foundation/foundation")
860 (synopsis "Basic primitives for Foundation starter pack")
861 (description
862 "This package contains basic primitives for the Foundation set of
863packages.")
864 (license license:bsd-3)))
865
866(define-public ghc-base-orphans
867 (package
868 (name "ghc-base-orphans")
780477fb 869 (version "0.8.1")
dddbc90c
RV
870 (source
871 (origin
872 (method url-fetch)
873 (uri (string-append
874 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
875 version
876 ".tar.gz"))
877 (sha256
878 (base32
780477fb 879 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
880 (build-system haskell-build-system)
881 (native-inputs
882 `(("ghc-quickcheck" ,ghc-quickcheck)
883 ("ghc-hspec" ,ghc-hspec)
884 ("hspec-discover" ,hspec-discover)))
885 (home-page "https://hackage.haskell.org/package/base-orphans")
886 (synopsis "Orphan instances for backwards compatibility")
887 (description "This package defines orphan instances that mimic instances
888available in later versions of base to a wider (older) range of compilers.")
889 (license license:bsd-3)))
890
891(define-public ghc-base-prelude
892 (package
893 (name "ghc-base-prelude")
894 (version "1.3")
895 (source
896 (origin
897 (method url-fetch)
898 (uri (string-append "https://hackage.haskell.org/package/"
899 "base-prelude-" version "/"
900 "base-prelude-" version ".tar.gz"))
901 (sha256
902 (base32
903 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
904 (build-system haskell-build-system)
905 (home-page "https://github.com/nikita-volkov/base-prelude")
906 (synopsis "The most complete prelude formed solely from the Haskell's base
907package")
908 (description "This Haskell package aims to reexport all the non-conflicting
909and most general definitions from the \"base\" package.
910
911This includes APIs for applicatives, arrows, monoids, foldables, traversables,
912exceptions, generics, ST, MVars and STM.
913
914This package will never have any dependencies other than \"base\".
915
916Versioning policy:
917
918The versioning policy of this package deviates from PVP in the sense
919that its exports in part are transitively determined by the version of \"base\".
920Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
921the bounds of \"base\" as well.")
922 (license license:expat)))
923
924(define-public ghc-base-unicode-symbols
925 (package
926 (name "ghc-base-unicode-symbols")
927 (version "0.2.3")
928 (source
929 (origin
930 (method url-fetch)
931 (uri (string-append
932 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
933 version
934 ".tar.gz"))
935 (sha256
936 (base32
937 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
938 (build-system haskell-build-system)
228d2901 939 (home-page "https://wiki.haskell.org/Unicode-symbols")
dddbc90c
RV
940 (synopsis "Unicode alternatives for common functions and operators")
941 (description "This package defines new symbols for a number of functions,
942operators and types in the base package. All symbols are documented with
943their actual definition and information regarding their Unicode code point.
944They should be completely interchangeable with their definitions. For
945further Unicode goodness you can enable the @code{UnicodeSyntax}
946@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
947language extension}. This extension enables Unicode characters to be used to
948stand for certain ASCII character sequences, i.e. → instead of @code{->},
949∀ instead of @code{forall} and many others.")
950 (license license:bsd-3)))
951
ec8491b0
ASM
952(define-public ghc-basic-prelude
953 (package
954 (name "ghc-basic-prelude")
955 (version "0.7.0")
956 (source
957 (origin
958 (method url-fetch)
959 (uri (string-append
960 "https://hackage.haskell.org/package/basic-prelude/"
961 "basic-prelude-" version ".tar.gz"))
962 (sha256
963 (base32
964 "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
965 (build-system haskell-build-system)
966 (inputs
967 `(("ghc-hashable" ,ghc-hashable)
968 ("ghc-unordered-containers"
969 ,ghc-unordered-containers)
970 ("ghc-vector" ,ghc-vector)))
971 (home-page "https://github.com/snoyberg/basic-prelude#readme")
972 (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
973 (description
974 "The premise of basic-prelude is that there are a lot of very commonly
975desired features missing from the standard Prelude, such as commonly used
976operators (<$> and >=>, for instance) and imports for common datatypes
977(e.g., ByteString and Vector). At the same time, there are lots of other
978components which are more debatable, such as providing polymorphic versions
979of common functions.
980
981So basic-prelude is intended to give a common foundation for a number of
982alternate preludes. The package provides two modules: CorePrelude provides
983the common ground for other preludes to build on top of, while BasicPrelude
984exports CorePrelude together with commonly used list functions to provide a
985drop-in replacement for the standard Prelude.
986
987Users wishing to have an improved Prelude can use BasicPrelude. Developers
988wishing to create a new prelude should use CorePrelude.")
989 (license license:expat)))
990
dddbc90c
RV
991(define-public ghc-bifunctors
992 (package
993 (name "ghc-bifunctors")
0beaec66 994 (version "5.5.5")
dddbc90c
RV
995 (source
996 (origin
997 (method url-fetch)
998 (uri (string-append
999 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
1000 version
1001 ".tar.gz"))
1002 (sha256
1003 (base32
0beaec66 1004 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
1005 (build-system haskell-build-system)
1006 (inputs
1007 `(("ghc-base-orphans" ,ghc-base-orphans)
1008 ("ghc-comonad" ,ghc-comonad)
1009 ("ghc-th-abstraction" ,ghc-th-abstraction)
1010 ("ghc-transformers-compat" ,ghc-transformers-compat)
1011 ("ghc-tagged" ,ghc-tagged)
1012 ("ghc-semigroups" ,ghc-semigroups)))
1013 (native-inputs
1014 `(("ghc-hspec" ,ghc-hspec)
1015 ("hspec-discover" ,hspec-discover)
1016 ("ghc-quickcheck" ,ghc-quickcheck)))
1017 (home-page "https://github.com/ekmett/bifunctors/")
1018 (synopsis "Bifunctors for Haskell")
1019 (description "This package provides bifunctors for Haskell.")
1020 (license license:bsd-3)))
1021
1022(define-public ghc-bindings-dsl
1023 (package
1024 (name "ghc-bindings-dsl")
1025 (version "1.0.25")
1026 (source
1027 (origin
1028 (method url-fetch)
1029 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
1030 "bindings-DSL-" version ".tar.gz"))
1031 (sha256
1032 (base32
1033 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
1034 (build-system haskell-build-system)
1035 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
1036 (synopsis "FFI domain specific language, on top of hsc2hs")
1037 (description
1038 "This is a set of macros to be used when writing Haskell FFI. They were
1039designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
1040extract from them all Haskell code needed to mimic such interfaces. All
1041Haskell names used are automatically derived from C names, structures are
1042mapped to Haskell instances of @code{Storable}, and there are also macros you
1043can use with C code to help write bindings to inline functions or macro
1044functions.")
1045 (license license:bsd-3)))
1046
64f42786
TS
1047(define-public ghc-bitarray
1048 (package
1049 (name "ghc-bitarray")
1050 (version "0.0.1.1")
1051 (source
1052 (origin
1053 (method url-fetch)
1054 (uri (string-append "https://hackage.haskell.org/package/"
1055 "bitarray/bitarray-" version ".tar.gz"))
1056 (sha256
1057 (base32
1058 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
1059 (build-system haskell-build-system)
1060 (arguments
1061 `(#:cabal-revision
1062 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
1063 (home-page "https://hackage.haskell.org/package/bitarray")
1064 (synopsis "Mutable and immutable bit arrays")
1065 (description "The package provides mutable and immutable bit arrays.")
1066 (license license:bsd-3)))
1067
dddbc90c
RV
1068(define-public ghc-blaze-builder
1069 (package
1070 (name "ghc-blaze-builder")
1071 (version "0.4.1.0")
1072 (source
1073 (origin
1074 (method url-fetch)
1075 (uri (string-append
1076 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
1077 version
1078 ".tar.gz"))
1079 (sha256
1080 (base32
1081 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
1082 (build-system haskell-build-system)
1083 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
1084 (inputs
1085 `(("ghc-utf8-string" ,ghc-utf8-string)))
1086 (home-page "https://github.com/lpsmith/blaze-builder")
1087 (synopsis "Efficient buffered output")
1088 (description "This library provides an implementation of the older
1089@code{blaze-builder} interface in terms of the new builder that shipped with
1090@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1091bridge to the new builder, so that code that uses the old interface can
1092interoperate with code that uses the new implementation.")
1093 (license license:bsd-3)))
1094
1095(define-public ghc-blaze-markup
1096 (package
1097 (name "ghc-blaze-markup")
7d30fcf3 1098 (version "0.8.2.3")
dddbc90c
RV
1099 (source
1100 (origin
1101 (method url-fetch)
1102 (uri (string-append "https://hackage.haskell.org/package/"
1103 "blaze-markup/blaze-markup-"
1104 version ".tar.gz"))
1105 (sha256
1106 (base32
7d30fcf3 1107 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
1108 (build-system haskell-build-system)
1109 (arguments
1110 `(#:phases
1111 (modify-phases %standard-phases
1112 (add-before 'configure 'update-constraints
1113 (lambda _
1114 (substitute* "blaze-markup.cabal"
1115 (("tasty >= 1\\.0 && < 1\\.1")
1116 "tasty >= 1.0 && < 1.2")))))))
1117 (inputs
1118 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1119 (native-inputs
1120 `(("ghc-hunit" ,ghc-hunit)
1121 ("ghc-quickcheck" ,ghc-quickcheck)
1122 ("ghc-tasty" ,ghc-tasty)
1123 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1124 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1125 (home-page "https://jaspervdj.be/blaze")
1126 (synopsis "Fast markup combinator library for Haskell")
1127 (description "This library provides core modules of a markup combinator
1128library for Haskell.")
1129 (license license:bsd-3)))
1130
1131(define-public ghc-bloomfilter
1132 (package
1133 (name "ghc-bloomfilter")
1134 (version "2.0.1.0")
1135 (source
1136 (origin
1137 (method url-fetch)
1138 (uri (string-append "https://hackage.haskell.org/package/"
1139 "bloomfilter/bloomfilter-" version ".tar.gz"))
1140 (sha256
1141 (base32
1142 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1143 (build-system haskell-build-system)
1144 (native-inputs
1145 `(("ghc-quickcheck" ,ghc-quickcheck)
1146 ("ghc-random" ,ghc-random)
1147 ("ghc-test-framework" ,ghc-test-framework)
1148 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1149 (home-page "https://github.com/bos/bloomfilter")
1150 (synopsis "Pure and impure Bloom filter implementations")
1151 (description "This package provides both mutable and immutable Bloom
1152filter data types, along with a family of hash functions and an easy-to-use
1153interface.")
1154 (license license:bsd-3)))
1155
1156(define-public ghc-boxes
1157 (package
1158 (name "ghc-boxes")
1159 (version "0.1.5")
1160 (source
1161 (origin
1162 (method url-fetch)
1163 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1164 version ".tar.gz"))
1165 (sha256
1166 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1167 (build-system haskell-build-system)
1168 (inputs
1169 `(("ghc-split" ,ghc-split)
1170 ("ghc-quickcheck" ,ghc-quickcheck)))
1171 (home-page "https://hackage.haskell.org/package/boxes")
1172 (synopsis "2D text pretty-printing library")
1173 (description
1174 "Boxes is a pretty-printing library for laying out text in two dimensions,
1175using a simple box model.")
1176 (license license:bsd-3)))
1177
1178(define-public ghc-byteable
1179 (package
1180 (name "ghc-byteable")
1181 (version "0.1.1")
1182 (source (origin
1183 (method url-fetch)
1184 (uri (string-append "https://hackage.haskell.org/package/"
1185 "byteable/byteable-" version ".tar.gz"))
1186 (sha256
1187 (base32
1188 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1189 (build-system haskell-build-system)
1190 (home-page "https://github.com/vincenthz/hs-byteable")
1191 (synopsis "Type class for sequence of bytes")
1192 (description
1193 "This package provides an abstract class to manipulate sequence of bytes.
1194The use case of this class is abstracting manipulation of types that are just
1195wrapping a bytestring with stronger and more meaniful name.")
1196 (license license:bsd-3)))
1197
1198(define-public ghc-byteorder
1199 (package
1200 (name "ghc-byteorder")
1201 (version "1.0.4")
1202 (source
1203 (origin
1204 (method url-fetch)
1205 (uri (string-append
1206 "https://hackage.haskell.org/package/byteorder/byteorder-"
1207 version
1208 ".tar.gz"))
1209 (sha256
1210 (base32
1211 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1212 (build-system haskell-build-system)
1213 (home-page
1214 "http://community.haskell.org/~aslatter/code/byteorder")
1215 (synopsis
1216 "Exposes the native endianness of the system")
1217 (description
1218 "This package is for working with the native byte-ordering of the
1219system.")
1220 (license license:bsd-3)))
1221
1222(define-public ghc-bytes
1223 (package
1224 (name "ghc-bytes")
1225 (version "0.15.5")
1226 (source
1227 (origin
1228 (method url-fetch)
1229 (uri
1230 (string-append "https://hackage.haskell.org/package/bytes-"
1231 version "/bytes-"
1232 version ".tar.gz"))
1233 (file-name (string-append name "-" version ".tar.gz"))
1234 (sha256
1235 (base32
1236 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1237 (build-system haskell-build-system)
1238 (inputs `(("ghc-cereal" ,ghc-cereal)
1239 ("cabal-doctest" ,cabal-doctest)
1240 ("ghc-doctest" ,ghc-doctest)
1241 ("ghc-scientific" ,ghc-scientific)
1242 ("ghc-transformers-compat" ,ghc-transformers-compat)
1243 ("ghc-unordered-containers" ,ghc-unordered-containers)
1244 ("ghc-void" ,ghc-void)
1245 ("ghc-vector" ,ghc-vector)))
1246 (synopsis "Serialization between @code{binary} and @code{cereal}")
1247 (description "This package provides a simple compatibility shim that lets
1248you work with both @code{binary} and @code{cereal} with one chunk of
1249serialization code.")
1250 (home-page "https://hackage.haskell.org/package/bytes")
1251 (license license:bsd-3)))
1252
1253(define-public ghc-bytestring-builder
1254 (package
1255 (name "ghc-bytestring-builder")
13ac8a7f 1256 (version "0.10.8.2.0")
dddbc90c
RV
1257 (source
1258 (origin
1259 (method url-fetch)
1260 (uri (string-append
1261 "https://hackage.haskell.org/package/bytestring-builder"
1262 "/bytestring-builder-" version ".tar.gz"))
1263 (sha256
1264 (base32
13ac8a7f 1265 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1266 (build-system haskell-build-system)
1267 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1268 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1269 (synopsis "The new bytestring builder, packaged outside of GHC")
1270 (description "This package provides the bytestring builder that is
1271debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1272Compatibility package for older packages.")
1273 (license license:bsd-3)))
1274
1275(define-public ghc-bytestring-handle
1276 (package
1277 (name "ghc-bytestring-handle")
1278 (version "0.1.0.6")
1279 (source
1280 (origin
1281 (method url-fetch)
1282 (uri (string-append
1283 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1284 version ".tar.gz"))
1285 (sha256
1286 (base32
1287 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1288 (build-system haskell-build-system)
1289 (arguments
853748c4
TS
1290 `(#:cabal-revision
1291 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1292 #:phases
dddbc90c
RV
1293 (modify-phases %standard-phases
1294 (add-before 'configure 'update-constraints
1295 (lambda _
1296 (substitute* "bytestring-handle.cabal"
1297 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1298 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1299 (inputs
1300 `(("ghc-hunit" ,ghc-hunit)
1301 ("ghc-quickcheck" ,ghc-quickcheck)
1302 ("ghc-test-framework" ,ghc-test-framework)
1303 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1304 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1305 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1306 (synopsis "ByteString-backed Handles")
1307 (description "ByteString-backed Handles") ; There is no description
1308 (license license:bsd-3)))
1309
1310(define-public ghc-bytestring-lexing
1311 (package
1312 (name "ghc-bytestring-lexing")
1313 (version "0.5.0.2")
1314 (source
1315 (origin
1316 (method url-fetch)
1317 (uri (string-append "https://hackage.haskell.org/package/"
1318 "bytestring-lexing/bytestring-lexing-"
1319 version ".tar.gz"))
1320 (sha256
1321 (base32
1322 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1323 (build-system haskell-build-system)
1324 (home-page "http://code.haskell.org/~wren/")
1325 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1326 (description
1327 "This package provides tools to parse and produce literals efficiently
1328from strict or lazy bytestrings.")
1329 (license license:bsd-2)))
1330
1331(define-public ghc-bzlib-conduit
1332 (package
1333 (name "ghc-bzlib-conduit")
5fba8d6d 1334 (version "0.3.0.2")
dddbc90c
RV
1335 (source
1336 (origin
1337 (method url-fetch)
1338 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1339 "bzlib-conduit-" version ".tar.gz"))
1340 (sha256
1341 (base32
5fba8d6d 1342 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1343 (build-system haskell-build-system)
1344 (inputs
1345 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1346 ("ghc-conduit" ,ghc-conduit)
1347 ("ghc-data-default-class" ,ghc-data-default-class)
1348 ("ghc-resourcet" ,ghc-resourcet)))
1349 (native-inputs
1350 `(("ghc-hspec" ,ghc-hspec)
1351 ("ghc-random" ,ghc-random)))
1352 (home-page "https://github.com/snoyberg/bzlib-conduit")
1353 (synopsis "Streaming compression/decompression via conduits")
1354 (description
1355 "This package provides Haskell bindings to bzlib and Conduit support for
1356streaming compression and decompression.")
1357 (license license:bsd-3)))
1358
1359(define-public ghc-c2hs
1360 (package
1361 (name "ghc-c2hs")
1362 (version "0.28.6")
1363 (source
1364 (origin
1365 (method url-fetch)
1366 (uri (string-append
1367 "https://hackage.haskell.org/package/c2hs/c2hs-"
1368 version
1369 ".tar.gz"))
1370 (sha256
1371 (base32
1372 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1373 (build-system haskell-build-system)
1374 (inputs
1375 `(("ghc-language-c" ,ghc-language-c)
1376 ("ghc-dlist" ,ghc-dlist)))
1377 (native-inputs
1378 `(("ghc-test-framework" ,ghc-test-framework)
1379 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1380 ("ghc-hunit" ,ghc-hunit)
a723d36d 1381 ("ghc-shelly" ,ghc-shelly)))
dddbc90c 1382 (arguments
bfebc598 1383 `(#:phases
dddbc90c
RV
1384 (modify-phases %standard-phases
1385 (add-before 'check 'set-cc
1386 ;; add a cc executable in the path, needed for some tests to pass
1387 (lambda* (#:key inputs #:allow-other-keys)
1388 (let ((gcc (assoc-ref inputs "gcc"))
1389 (tmpbin (tmpnam))
1390 (curpath (getenv "PATH")))
1391 (mkdir-p tmpbin)
1392 (symlink (which "gcc") (string-append tmpbin "/cc"))
1393 (setenv "PATH" (string-append tmpbin ":" curpath)))
1394 #t))
1395 (add-after 'check 'remove-cc
1396 ;; clean the tmp dir made in 'set-cc
1397 (lambda _
1398 (let* ((cc-path (which "cc"))
1399 (cc-dir (dirname cc-path)))
1400 (delete-file-recursively cc-dir)
1401 #t))))))
1402 (home-page "https://github.com/haskell/c2hs")
1403 (synopsis "Create Haskell bindings to C libraries")
1404 (description "C->Haskell assists in the development of Haskell bindings to
1405C libraries. It extracts interface information from C header files and
1406generates Haskell code with foreign imports and marshaling. Unlike writing
1407foreign imports by hand (or using hsc2hs), this ensures that C functions are
1408imported with the correct Haskell types.")
1409 (license license:gpl2)))
1410
1411(define-public ghc-cairo
1412 (package
1413 (name "ghc-cairo")
1414 (version "0.13.5.0")
1415 (source
1416 (origin
1417 (method url-fetch)
1418 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1419 "cairo-" version ".tar.gz"))
1420 (sha256
1421 (base32
1422 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1423 (build-system haskell-build-system)
1424 (arguments
1425 `(#:modules ((guix build haskell-build-system)
1426 (guix build utils)
1427 (ice-9 match)
1428 (srfi srfi-26))
1429 #:phases
1430 (modify-phases %standard-phases
1431 ;; FIXME: This is a copy of the standard configure phase with a tiny
1432 ;; difference: this package needs the -package-db flag to be passed
1433 ;; to "runhaskell" in addition to the "configure" action, because it
1434 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1435 ;; this option the Setup.hs file cannot be evaluated. The
1436 ;; haskell-build-system should be changed to pass "-package-db" to
1437 ;; "runhaskell" in any case.
1438 (replace 'configure
1439 (lambda* (#:key outputs inputs tests? (configure-flags '())
1440 #:allow-other-keys)
1441 (let* ((out (assoc-ref outputs "out"))
1442 (name-version (strip-store-file-name out))
1443 (input-dirs (match inputs
1444 (((_ . dir) ...)
1445 dir)
1446 (_ '())))
1447 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1448 (params (append `(,(string-append "--prefix=" out))
1449 `(,(string-append "--libdir=" out "/lib"))
1450 `(,(string-append "--bindir=" out "/bin"))
1451 `(,(string-append
1452 "--docdir=" out
1453 "/share/doc/" name-version))
1454 '("--libsubdir=$compiler/$pkg-$version")
1455 '("--package-db=../package.conf.d")
1456 '("--global")
1457 `(,@(map
1458 (cut string-append "--extra-include-dirs=" <>)
1459 (search-path-as-list '("include") input-dirs)))
1460 `(,@(map
1461 (cut string-append "--extra-lib-dirs=" <>)
1462 (search-path-as-list '("lib") input-dirs)))
1463 (if tests?
1464 '("--enable-tests")
1465 '())
1466 configure-flags)))
1467 (unsetenv "GHC_PACKAGE_PATH")
1468 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1469 "Setup.hs" "configure" params)
1470 (setenv "GHC_PACKAGE_PATH" ghc-path)
1471 #t))))))
1472 (inputs
1473 `(("ghc-utf8-string" ,ghc-utf8-string)
1474 ("cairo" ,cairo)))
1475 (native-inputs
1476 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1477 ("pkg-config" ,pkg-config)))
1478 (home-page "http://projects.haskell.org/gtk2hs/")
1479 (synopsis "Haskell bindings to the Cairo vector graphics library")
1480 (description
1481 "Cairo is a library to render high quality vector graphics. There exist
1482various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1483documents, amongst others.")
1484 (license license:bsd-3)))
1485
1486(define-public ghc-call-stack
1487 (package
1488 (name "ghc-call-stack")
1489 (version "0.1.0")
1490 (source
1491 (origin
1492 (method url-fetch)
1493 (uri (string-append "https://hackage.haskell.org/package/"
1494 "call-stack/call-stack-"
1495 version ".tar.gz"))
1496 (sha256
1497 (base32
1498 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1499 (build-system haskell-build-system)
1500 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1501 (home-page "https://github.com/sol/call-stack#readme")
1502 (synopsis "Use GHC call-stacks in a backward compatible way")
1503 (description "This package provides a compatibility layer for using GHC
1504call stacks with different versions of the compiler.")
1505 (license license:expat)))
1506
1507;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1508;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1509(define-public ghc-call-stack-boot
1510 (hidden-package
1511 (package
1512 (inherit ghc-call-stack)
1513 (arguments '(#:tests? #f))
1514 (inputs '()))))
1515
1516(define-public ghc-case-insensitive
1517 (package
1518 (name "ghc-case-insensitive")
1519 (version "1.2.0.11")
1520 (outputs '("out" "doc"))
1521 (source
1522 (origin
1523 (method url-fetch)
1524 (uri (string-append
1525 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1526 version
1527 ".tar.gz"))
1528 (sha256
1529 (base32
1530 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1531 (build-system haskell-build-system)
1532 ;; these inputs are necessary to use this library
1533 (inputs
1534 `(("ghc-hashable" ,ghc-hashable)))
1535 (arguments
1536 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1537 (home-page
1538 "https://github.com/basvandijk/case-insensitive")
1539 (synopsis "Case insensitive string comparison")
1540 (description
1541 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1542constructor which can be parameterised by a string-like type like:
1543@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1544the resulting type will be insensitive to cases.")
1545 (license license:bsd-3)))
1546
6ba536a1
JS
1547(define-public ghc-cborg
1548 (package
1549 (name "ghc-cborg")
1550 (version "0.2.2.0")
1551 (source
1552 (origin
1553 (method url-fetch)
1554 (uri (string-append
1555 "mirror://hackage/package/cborg/cborg-"
1556 version
1557 ".tar.gz"))
1558 (sha256
1559 (base32
1560 "1rdnvy0w17s70ikmbyrnwax5rvqh19l95sh8i7ipgxi23z1r0bp1"))))
1561 (build-system haskell-build-system)
1562 (inputs
1563 `(("ghc-half" ,ghc-half)
1564 ("ghc-primitive" ,ghc-primitive)))
1565 (native-inputs
1566 `(("ghc-aeson" ,ghc-aeson)
1567 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1568 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
1569 ("ghc-fail" ,ghc-fail)
1570 ("ghc-quickcheck" ,ghc-quickcheck)
1571 ("ghc-scientific" ,ghc-scientific)
1572 ("ghc-tasty" ,ghc-tasty)
1573 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1574 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
1575 ("ghc-vector" ,ghc-vector)))
1576 (home-page "http://hackage.haskell.org/package/cborg")
1577 (synopsis "Concise Binary Object Representation")
1578 (description
1579 "This package (formerly binary-serialise-cbor) provides an
1580efficient implementation of the Concise Binary Object
1581Representation (CBOR), as specified by RFC 7049 at
1582https://tools.ietf.org/html/rfc7049.
1583
1584If you are looking for a library for serialisation of Haskell values, have a
1585look at the @url{https://hackage.haskell.org/package/serialise} package, which
1586is built upon this library.
1587
1588An implementation of the standard bijection between CBOR and JSON is provided
1589by the @url{https://hackage.haskell.org/package/cborg-json} package.
1590
1591Also see @code{https://hackage.haskell.org/package/cbor-tool} for a convenient
1592command-line utility for working with CBOR data.")
1593 (license license:bsd-3)))
1594
5434fec9
JS
1595(define-public ghc-cborg-json
1596 (package
1597 (name "ghc-cborg-json")
1598 (version "0.2.2.0")
1599 (source
1600 (origin
1601 (method url-fetch)
1602 (uri (string-append
1603 "mirror://hackage/package/cborg-json/cborg-json-"
1604 version
1605 ".tar.gz"))
1606 (sha256
1607 (base32 "0ysilz7rrjk94sqr3a61s98hr9qfi1xg13bskmlpc6mpgi2s4s5b"))))
1608 (build-system haskell-build-system)
1609 (inputs
1610 `(("ghc-aeson" ,ghc-aeson)
1611 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
1612 ("ghc-unordered-containers" ,ghc-unordered-containers)
1613 ("ghc-scientific" ,ghc-scientific)
1614 ("ghc-vector" ,ghc-vector)
1615 ("ghc-cborg" ,ghc-cborg)))
1616 (home-page "https://github.com/well-typed/cborg")
1617 (synopsis "A library for encoding JSON as CBOR")
1618 (description
1619 "This package implements the bijection between JSON and CBOR
1620defined in the CBOR specification, RFC 7049.")
1621 (license license:bsd-3)))
1622
dddbc90c
RV
1623(define-public ghc-cereal
1624 (package
1625 (name "ghc-cereal")
bd95427e 1626 (version "0.5.8.1")
dddbc90c
RV
1627 (source
1628 (origin
1629 (method url-fetch)
1630 (uri (string-append
1631 "https://hackage.haskell.org/package/cereal/cereal-"
1632 version
1633 ".tar.gz"))
1634 (sha256
1635 (base32
bd95427e 1636 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1637 (build-system haskell-build-system)
1638 (native-inputs
1639 `(("ghc-quickcheck" ,ghc-quickcheck)
1640 ("ghc-fail" ,ghc-fail)
1641 ("ghc-test-framework" ,ghc-test-framework)
1642 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1643 (home-page "https://hackage.haskell.org/package/cereal")
1644 (synopsis "Binary serialization library")
1645 (description "This package provides a binary serialization library,
1646similar to @code{binary}, that introduces an @code{isolate} primitive for
1647parser isolation, and labeled blocks for better error messages.")
1648 (license license:bsd-3)))
1649
1650(define-public ghc-cereal-conduit
1651 (package
1652 (name "ghc-cereal-conduit")
1653 (version "0.8.0")
1654 (source
1655 (origin
1656 (method url-fetch)
1657 (uri (string-append "https://hackage.haskell.org/package/"
1658 "cereal-conduit/cereal-conduit-"
1659 version ".tar.gz"))
1660 (sha256
1661 (base32
1662 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1663 (build-system haskell-build-system)
1664 (inputs
1665 `(("ghc-conduit" ,ghc-conduit)
1666 ("ghc-resourcet" ,ghc-resourcet)
1667 ("ghc-cereal" ,ghc-cereal)))
1668 (native-inputs
1669 `(("ghc-hunit" ,ghc-hunit)))
1670 (home-page "https://github.com/snoyberg/conduit")
1671 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1672 (description
1673 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1674@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1675 (license license:bsd-3)))
1676
1677(define-public ghc-cgi
1678 (package
1679 (name "ghc-cgi")
b6b2c218 1680 (version "3001.4.0.0")
dddbc90c
RV
1681 (source
1682 (origin
1683 (method url-fetch)
1684 (uri (string-append
1685 "https://hackage.haskell.org/package/cgi/cgi-"
1686 version
1687 ".tar.gz"))
1688 (sha256
1689 (base32
b6b2c218 1690 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1691 (build-system haskell-build-system)
dddbc90c
RV
1692 (inputs
1693 `(("ghc-exceptions" ,ghc-exceptions)
1694 ("ghc-multipart" ,ghc-multipart)
1695 ("ghc-network-uri" ,ghc-network-uri)
1696 ("ghc-network" ,ghc-network)))
1697 (native-inputs
1698 `(("ghc-doctest" ,ghc-doctest)
1699 ("ghc-quickcheck" ,ghc-quickcheck)))
1700 (home-page
1701 "https://github.com/cheecheeo/haskell-cgi")
1702 (synopsis "Library for writing CGI programs")
1703 (description
1704 "This is a Haskell library for writing CGI programs.")
1705 (license license:bsd-3)))
1706
1707(define-public ghc-charset
1708 (package
1709 (name "ghc-charset")
1710 (version "0.3.7.1")
1711 (source
1712 (origin
1713 (method url-fetch)
1714 (uri (string-append
1715 "https://hackage.haskell.org/package/charset/charset-"
1716 version
1717 ".tar.gz"))
1718 (sha256
1719 (base32
1720 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1721 (build-system haskell-build-system)
35ee173c
TS
1722 (arguments
1723 `(#:cabal-revision
1724 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1725 (inputs
1726 `(("ghc-semigroups" ,ghc-semigroups)
1727 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1728 (home-page "https://github.com/ekmett/charset")
1729 (synopsis "Fast unicode character sets for Haskell")
1730 (description "This package provides fast unicode character sets for
1731Haskell, based on complemented PATRICIA tries.")
1732 (license license:bsd-3)))
1733
1734(define-public ghc-chart
1735 (package
1736 (name "ghc-chart")
6cd84b98 1737 (version "1.9.1")
dddbc90c
RV
1738 (source
1739 (origin
1740 (method url-fetch)
1741 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1742 "Chart-" version ".tar.gz"))
1743 (sha256
1744 (base32
6cd84b98 1745 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
dddbc90c
RV
1746 (build-system haskell-build-system)
1747 (inputs
1748 `(("ghc-old-locale" ,ghc-old-locale)
1749 ("ghc-lens" ,ghc-lens)
1750 ("ghc-colour" ,ghc-colour)
1751 ("ghc-data-default-class" ,ghc-data-default-class)
1752 ("ghc-operational" ,ghc-operational)
1753 ("ghc-vector" ,ghc-vector)))
1754 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1755 (synopsis "Library for generating 2D charts and plots")
1756 (description
1757 "This package provides a library for generating 2D charts and plots, with
1758backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1759 (license license:bsd-3)))
1760
1761(define-public ghc-chart-cairo
1762 (package
1763 (name "ghc-chart-cairo")
5cf9264d 1764 (version "1.9.1")
dddbc90c
RV
1765 (source
1766 (origin
1767 (method url-fetch)
1768 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1769 "Chart-cairo-" version ".tar.gz"))
1770 (sha256
1771 (base32
5cf9264d 1772 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
dddbc90c
RV
1773 (build-system haskell-build-system)
1774 (inputs
1775 `(("ghc-old-locale" ,ghc-old-locale)
1776 ("ghc-cairo" ,ghc-cairo)
1777 ("ghc-colour" ,ghc-colour)
1778 ("ghc-data-default-class" ,ghc-data-default-class)
1779 ("ghc-operational" ,ghc-operational)
1780 ("ghc-lens" ,ghc-lens)
1781 ("ghc-chart" ,ghc-chart)))
1782 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1783 (synopsis "Cairo backend for Charts")
1784 (description "This package provides a Cairo vector graphics rendering
1785backend for the Charts library.")
1786 (license license:bsd-3)))
1787
1788(define-public ghc-chasingbottoms
1789 (package
1790 (name "ghc-chasingbottoms")
1f67853e 1791 (version "1.3.1.7")
dddbc90c
RV
1792 (source
1793 (origin
1794 (method url-fetch)
1795 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1796 "ChasingBottoms-" version ".tar.gz"))
1797 (sha256
1798 (base32
1f67853e 1799 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1800 (build-system haskell-build-system)
1801 (inputs
1802 `(("ghc-quickcheck" ,ghc-quickcheck)
1803 ("ghc-random" ,ghc-random)
1804 ("ghc-syb" ,ghc-syb)))
1805 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1806 (synopsis "Testing of partial and infinite values in Haskell")
1807 (description
1808 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1809 ;; rendered properly.
1810 "This is a library for testing code involving bottoms or infinite values.
1811For the underlying theory and a larger example involving use of QuickCheck,
1812see the article
1813@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1814\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1815Partial and Infinite Values\"}.")
1816 (license license:expat)))
1817
1818(define-public ghc-cheapskate
1819 (package
1820 (name "ghc-cheapskate")
5e18bb9e 1821 (version "0.1.1.1")
dddbc90c
RV
1822 (source
1823 (origin
1824 (method url-fetch)
1825 (uri (string-append
1826 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1827 version
1828 ".tar.gz"))
1829 (sha256
1830 (base32
5e18bb9e 1831 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1832 (build-system haskell-build-system)
1833 (inputs
1834 `(("ghc-blaze-html" ,ghc-blaze-html)
1835 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1836 ("ghc-data-default" ,ghc-data-default)
1837 ("ghc-syb" ,ghc-syb)
1838 ("ghc-uniplate" ,ghc-uniplate)))
1839 (home-page "https://github.com/jgm/cheapskate")
1840 (synopsis "Experimental markdown processor")
1841 (description "Cheapskate is an experimental Markdown processor in pure
1842Haskell. It aims to process Markdown efficiently and in the most forgiving
1843possible way. It is designed to deal with any input, including garbage, with
1844linear performance. Output is sanitized by default for protection against
1845cross-site scripting (@dfn{XSS}) attacks.")
1846 (license license:bsd-3)))
1847
1848(define-public ghc-chell
1849 (package
1850 (name "ghc-chell")
acdd03be 1851 (version "0.5")
dddbc90c
RV
1852 (source
1853 (origin
1854 (method url-fetch)
1855 (uri (string-append
1856 "https://hackage.haskell.org/package/chell/chell-"
1857 version ".tar.gz"))
1858 (sha256
1859 (base32
acdd03be 1860 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1861 (build-system haskell-build-system)
acdd03be
TS
1862 (arguments
1863 `(#:cabal-revision
1864 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1865 (inputs
1866 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1867 ("ghc-patience" ,ghc-patience)
1868 ("ghc-random" ,ghc-random)
1869 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1870 (home-page "https://john-millikin.com/software/chell/")
1871 (synopsis "Simple and intuitive library for automated testing")
1872 (description
1873 "Chell is a simple and intuitive library for automated testing.
1874It natively supports assertion-based testing, and can use companion
1875libraries such as @code{chell-quickcheck} to support more complex
1876testing strategies.")
1877 (license license:expat)))
1878
1879(define-public ghc-chell-quickcheck
1880 (package
1881 (name "ghc-chell-quickcheck")
e0e21831 1882 (version "0.2.5.2")
dddbc90c
RV
1883 (source
1884 (origin
1885 (method url-fetch)
1886 (uri (string-append
1887 "https://hackage.haskell.org/package/chell-quickcheck/"
1888 "chell-quickcheck-" version ".tar.gz"))
1889 (sha256
1890 (base32
e0e21831 1891 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1892 (build-system haskell-build-system)
1893 (arguments
1894 `(#:phases
1895 (modify-phases %standard-phases
1896 (add-before 'configure 'update-constraints
1897 (lambda _
1898 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1899 (("QuickCheck >= 2\\.3 && < 2\\.13")
1900 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1901 (inputs
1902 `(("ghc-chell" ,ghc-chell)
1903 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1904 ("ghc-random" ,ghc-random)
1905 ("ghc-quickcheck" ,ghc-quickcheck)))
1906 (home-page "https://john-millikin.com/software/chell/")
1907 (synopsis "QuickCheck support for the Chell testing library")
1908 (description "More complex tests for @code{chell}.")
1909 (license license:expat)))
1910
1911(define ghc-chell-quickcheck-bootstrap
1912 (package
1913 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1914 (version "0.2.5.2")
dddbc90c
RV
1915 (source
1916 (origin
1917 (method url-fetch)
1918 (uri (string-append
1919 "https://hackage.haskell.org/package/chell-quickcheck/"
1920 "chell-quickcheck-" version ".tar.gz"))
1921 (sha256
1922 (base32
e0e21831 1923 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1924 (build-system haskell-build-system)
1925 (inputs
1926 `(("ghc-chell" ,ghc-chell)
1927 ("ghc-random" ,ghc-random)
1928 ("ghc-quickcheck" ,ghc-quickcheck)))
1929 (arguments
1930 `(#:tests? #f
1931 #:phases
1932 (modify-phases %standard-phases
1933 (add-before 'configure 'update-constraints
1934 (lambda _
1935 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1936 (("QuickCheck >= 2\\.3 && < 2\\.13")
1937 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1938 (home-page "https://john-millikin.com/software/chell/")
1939 (synopsis "QuickCheck support for the Chell testing library")
1940 (description "More complex tests for @code{chell}.")
1941 (license license:expat)))
1942
1943(define-public ghc-chunked-data
1944 (package
1945 (name "ghc-chunked-data")
1946 (version "0.3.1")
1947 (source
1948 (origin
1949 (method url-fetch)
1950 (uri (string-append "https://hackage.haskell.org/package/"
1951 "chunked-data-" version "/"
1952 "chunked-data-" version ".tar.gz"))
1953 (sha256
1954 (base32
1955 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1956 (build-system haskell-build-system)
1957 (inputs `(("ghc-vector" ,ghc-vector)
1958 ("ghc-semigroups" ,ghc-semigroups)))
1959 (home-page "https://github.com/snoyberg/mono-traversable")
1960 (synopsis "Typeclasses for dealing with various chunked data
1961representations for Haskell")
1962 (description "This Haskell package was originally present in
1963classy-prelude.")
1964 (license license:expat)))
1965
1966(define-public ghc-clock
1967 (package
1968 (name "ghc-clock")
0841b6f2 1969 (version "0.8")
dddbc90c
RV
1970 (source
1971 (origin
1972 (method url-fetch)
1973 (uri (string-append
1974 "https://hackage.haskell.org/package/"
1975 "clock/"
1976 "clock-" version ".tar.gz"))
1977 (sha256
0841b6f2 1978 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1979 (build-system haskell-build-system)
1980 (inputs
1981 `(("ghc-tasty" ,ghc-tasty)
1982 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1983 (home-page "https://hackage.haskell.org/package/clock")
1984 (synopsis "High-resolution clock for Haskell")
1985 (description "A package for convenient access to high-resolution clock and
1986timer functions of different operating systems via a unified API.")
1987 (license license:bsd-3)))
1988
1989;; This package builds `clock` without tests, since the tests rely on tasty
1990;; and tasty-quickcheck, which in turn require clock to build.
1991(define-public ghc-clock-bootstrap
1992 (package
1993 (inherit ghc-clock)
1994 (name "ghc-clock-bootstrap")
1995 (arguments '(#:tests? #f))
1996 (inputs '())
1997 (properties '((hidden? #t)))))
1998
1999(define-public ghc-cmark
2000 (package
2001 (name "ghc-cmark")
6bdd36c0 2002 (version "0.6")
dddbc90c
RV
2003 (source (origin
2004 (method url-fetch)
6bdd36c0 2005 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
2006 ;; See cbits/cmark_version.h.
2007 (uri (string-append "https://hackage.haskell.org/package/"
2008 "cmark/cmark-" version ".tar.gz"))
2009 (sha256
2010 (base32
6bdd36c0 2011 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
2012 (build-system haskell-build-system)
2013 (native-inputs
2014 `(("ghc-hunit" ,ghc-hunit)))
2015 (home-page "https://github.com/jgm/commonmark-hs")
2016 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
2017 (description
2018 "This package provides Haskell bindings for
2019@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
2020CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
2021sources, and does not require prior installation of the C library.")
2022 (license license:bsd-3)))
2023
2024(define-public ghc-cmark-gfm
2025 (package
2026 (name "ghc-cmark-gfm")
24fc8dae 2027 (version "0.2.0")
dddbc90c
RV
2028 (source
2029 (origin
2030 (method url-fetch)
2031 (uri (string-append "https://hackage.haskell.org/package/"
2032 "cmark-gfm/cmark-gfm-"
2033 version ".tar.gz"))
2034 (sha256
2035 (base32
24fc8dae 2036 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
2037 (build-system haskell-build-system)
2038 (native-inputs
2039 `(("ghc-hunit" ,ghc-hunit)))
2040 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
2041 (synopsis
2042 "Fast, accurate GitHub Flavored Markdown parser and renderer")
2043 (description
2044 "This package provides Haskell bindings for libcmark-gfm, the reference
2045parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
2046It includes sources for libcmark-gfm and does not require prior installation
2047of the C library.")
2048 (license license:bsd-3)))
2049
2050(define-public ghc-cmdargs
2051 (package
2052 (name "ghc-cmdargs")
2053 (version "0.10.20")
2054 (source
2055 (origin
2056 (method url-fetch)
2057 (uri (string-append
2058 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
2059 version ".tar.gz"))
2060 (sha256
2061 (base32
2062 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
2063 (build-system haskell-build-system)
2064 (home-page
2065 "http://community.haskell.org/~ndm/cmdargs/")
2066 (synopsis "Command line argument processing")
2067 (description
2068 "This library provides an easy way to define command line parsers.")
2069 (license license:bsd-3)))
2070
2071(define-public ghc-code-page
2072 (package
2073 (name "ghc-code-page")
f6bb6519 2074 (version "0.2")
dddbc90c
RV
2075 (source
2076 (origin
2077 (method url-fetch)
2078 (uri (string-append
2079 "https://hackage.haskell.org/package/code-page/code-page-"
2080 version ".tar.gz"))
2081 (sha256
2082 (base32
f6bb6519 2083 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
2084 (build-system haskell-build-system)
2085 (home-page "https://github.com/RyanGlScott/code-page")
2086 (synopsis "Windows code page library for Haskell")
2087 (description "A cross-platform library with functions for adjusting
2088code pages on Windows. On all other operating systems, the library does
2089nothing.")
2090 (license license:bsd-3)))
2091
2092(define-public ghc-colour
2093(package
2094 (name "ghc-colour")
bc9d1af9 2095 (version "2.3.5")
dddbc90c
RV
2096 (source
2097 (origin
2098 (method url-fetch)
2099 (uri (string-append
2100 "https://hackage.haskell.org/package/colour/colour-"
2101 version ".tar.gz"))
2102 (sha256
2103 (base32
bc9d1af9 2104 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
2105 (arguments
2106 ;; The tests for this package have the following dependency cycle:
2107 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
2108 `(#:tests? #f))
2109 (build-system haskell-build-system)
228d2901 2110 (home-page "https://wiki.haskell.org/Colour")
dddbc90c
RV
2111 (synopsis "Model for human colour perception")
2112 (description
2113 "This package provides a data type for colours and transparency.
2114Colours can be blended and composed. Various colour spaces are
2115supported. A module of colour names (\"Data.Colour.Names\") is provided.")
2116 (license license:expat)))
2117
2118(define-public ghc-comonad
2119 (package
2120 (name "ghc-comonad")
1a825512 2121 (version "5.0.5")
dddbc90c
RV
2122 (source
2123 (origin
2124 (method url-fetch)
2125 (uri (string-append
2126 "https://hackage.haskell.org/package/comonad/comonad-"
2127 version
2128 ".tar.gz"))
2129 (sha256
2130 (base32
1a825512 2131 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
2132 (build-system haskell-build-system)
2133 (native-inputs
2134 `(("cabal-doctest" ,cabal-doctest)
2135 ("ghc-doctest" ,ghc-doctest)))
2136 (inputs
2137 `(("ghc-contravariant" ,ghc-contravariant)
2138 ("ghc-distributive" ,ghc-distributive)
2139 ("ghc-semigroups" ,ghc-semigroups)
2140 ("ghc-tagged" ,ghc-tagged)
2141 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2142 (home-page "https://github.com/ekmett/comonad/")
2143 (synopsis "Comonads for Haskell")
2144 (description "This library provides @code{Comonad}s for Haskell.")
2145 (license license:bsd-3)))
2146
2147(define-public ghc-concatenative
2148 (package
2149 (name "ghc-concatenative")
2150 (version "1.0.1")
2151 (source (origin
2152 (method url-fetch)
2153 (uri (string-append
2154 "https://hackage.haskell.org/package/concatenative/concatenative-"
2155 version ".tar.gz"))
2156 (sha256
2157 (base32
2158 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2159 (build-system haskell-build-system)
2160 (home-page
2161 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2162 (synopsis "Library for postfix control flow")
2163 (description
2164 "Concatenative gives Haskell Factor-style combinators and arrows for
2165postfix notation. For more information on stack based languages, see
2166@uref{https://concatenative.org}.")
2167 (license license:bsd-3)))
2168
2169(define-public ghc-concurrent-extra
2170 (package
2171 (name "ghc-concurrent-extra")
2172 (version "0.7.0.12")
2173 (source
2174 (origin
2175 (method url-fetch)
2176 (uri (string-append "https://hackage.haskell.org/package/"
2177 "concurrent-extra/concurrent-extra-"
2178 version ".tar.gz"))
2179 (sha256
2180 (base32
2181 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2182 (build-system haskell-build-system)
2183 (arguments
2184 ;; XXX: The ReadWriteLock 'stressTest' fails.
2185 `(#:tests? #f))
2186 (inputs
2187 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2188 (native-inputs
2189 `(("ghc-async" ,ghc-async)
2190 ("ghc-hunit" ,ghc-hunit)
2191 ("ghc-random" ,ghc-random)
2192 ("ghc-test-framework" ,ghc-test-framework)
2193 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2194 (home-page "https://github.com/basvandijk/concurrent-extra")
2195 (synopsis "Extra concurrency primitives")
2196 (description "This Haskell library offers (among other things) the
2197following selection of synchronisation primitives:
2198
2199@itemize
2200@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2201@item @code{Event}: Wake multiple threads by signalling an event.
2202@item @code{Lock}: Enforce exclusive access to a resource. Also known
2203as a binary semaphore or mutex. The package additionally provides an
2204alternative that works in the STM monad.
2205@item @code{RLock}: A lock which can be acquired multiple times by the
2206same thread. Also known as a reentrant mutex.
2207@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2208to protect shared resources which may be concurrently read, but only
2209sequentially written.
2210@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2211@end itemize
2212
2213Please consult the API documentation of the individual modules for more
2214detailed information.
2215
2216This package was inspired by the concurrency libraries of Java and
2217Python.")
2218 (license license:bsd-3)))
2219
2220(define-public ghc-concurrent-output
2221 (package
2222 (name "ghc-concurrent-output")
4fce0a4a 2223 (version "1.10.11")
dddbc90c
RV
2224 (source
2225 (origin
2226 (method url-fetch)
2227 (uri (string-append
2228 "mirror://hackage/package/concurrent-output/concurrent-output-"
2229 version
2230 ".tar.gz"))
2231 (sha256
2232 (base32
4fce0a4a 2233 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
2234 (build-system haskell-build-system)
2235 (inputs
2236 `(("ghc-async" ,ghc-async)
2237 ("ghc-exceptions" ,ghc-exceptions)
2238 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2239 ("ghc-terminal-size" ,ghc-terminal-size)))
2240 (home-page
2241 "https://hackage.haskell.org/package/concurrent-output")
2242 (synopsis
2243 "Ungarble output from several threads or commands")
2244 (description
2245 "Lets multiple threads and external processes concurrently output to the
2246console, without it getting all garbled up.
2247
2248Built on top of that is a way of defining multiple output regions, which are
2249automatically laid out on the screen and can be individually updated by
2250concurrent threads. Can be used for progress displays etc.")
2251 (license license:bsd-2)))
2252
2253(define-public ghc-conduit
2254 (package
2255 (name "ghc-conduit")
1ac981d4 2256 (version "1.3.1.1")
dddbc90c
RV
2257 (source (origin
2258 (method url-fetch)
2259 (uri (string-append "https://hackage.haskell.org/package/"
2260 "conduit/conduit-" version ".tar.gz"))
2261 (sha256
2262 (base32
1ac981d4 2263 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
2264 (build-system haskell-build-system)
2265 (inputs
2266 `(("ghc-exceptions" ,ghc-exceptions)
2267 ("ghc-lifted-base" ,ghc-lifted-base)
2268 ("ghc-mono-traversable" ,ghc-mono-traversable)
2269 ("ghc-mmorph" ,ghc-mmorph)
2270 ("ghc-resourcet" ,ghc-resourcet)
2271 ("ghc-silently" ,ghc-silently)
2272 ("ghc-transformers-base" ,ghc-transformers-base)
2273 ("ghc-unliftio" ,ghc-unliftio)
2274 ("ghc-unliftio-core" ,ghc-unliftio-core)
2275 ("ghc-vector" ,ghc-vector)
2276 ("ghc-void" ,ghc-void)))
2277 (native-inputs
2278 `(("ghc-quickcheck" ,ghc-quickcheck)
2279 ("ghc-hspec" ,ghc-hspec)
2280 ("ghc-safe" ,ghc-safe)
2281 ("ghc-split" ,ghc-split)))
2282 (home-page "https://github.com/snoyberg/conduit")
2283 (synopsis "Streaming data library ")
2284 (description
2285 "The conduit package is a solution to the streaming data problem,
2286allowing for production, transformation, and consumption of streams of data
2287in constant memory. It is an alternative to lazy I/O which guarantees
2288deterministic resource handling, and fits in the same general solution
2289space as enumerator/iteratee and pipes.")
2290 (license license:expat)))
2291
2292(define-public ghc-conduit-algorithms
2293 (package
2294 (name "ghc-conduit-algorithms")
503b74ae 2295 (version "0.0.11.0")
dddbc90c
RV
2296 (source
2297 (origin
2298 (method url-fetch)
2299 (uri (string-append "https://hackage.haskell.org/package/"
2300 "conduit-algorithms/conduit-algorithms-"
2301 version ".tar.gz"))
2302 (sha256
2303 (base32
503b74ae 2304 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2305 (build-system haskell-build-system)
2306 (inputs
2307 `(("ghc-async" ,ghc-async)
2308 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2309 ("ghc-conduit" ,ghc-conduit)
2310 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2311 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2312 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2313 ("ghc-exceptions" ,ghc-exceptions)
2314 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2315 ("ghc-monad-control" ,ghc-monad-control)
2316 ("ghc-pqueue" ,ghc-pqueue)
2317 ("ghc-resourcet" ,ghc-resourcet)
2318 ("ghc-stm-conduit" ,ghc-stm-conduit)
2319 ("ghc-streaming-commons" ,ghc-streaming-commons)
2320 ("ghc-unliftio-core" ,ghc-unliftio-core)
2321 ("ghc-vector" ,ghc-vector)))
2322 (native-inputs
2323 `(("ghc-hunit" ,ghc-hunit)
2324 ("ghc-test-framework" ,ghc-test-framework)
2325 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2326 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2327 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2328 (synopsis "Conduit-based algorithms")
2329 (description
2330 "This package provides algorithms on @code{Conduits}, including higher
2331level asynchronous processing and some other utilities.")
2332 (license license:expat)))
2333
2334(define-public ghc-conduit-combinators
2335 (package
2336 (name "ghc-conduit-combinators")
2337 (version "1.3.0")
2338 (source
2339 (origin
2340 (method url-fetch)
2341 (uri (string-append "https://hackage.haskell.org/package/"
2342 "conduit-combinators-" version "/"
2343 "conduit-combinators-" version ".tar.gz"))
2344 (sha256
2345 (base32
2346 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2347 (build-system haskell-build-system)
2348 (inputs `(("ghc-conduit" ,ghc-conduit)
2349 ("ghc-conduit-extra" ,ghc-conduit-extra)
2350 ("ghc-transformers-base" ,ghc-transformers-base)
2351 ("ghc-primitive" ,ghc-primitive)
2352 ("ghc-vector" ,ghc-vector)
2353 ("ghc-void" ,ghc-void)
2354 ("ghc-mwc-random" ,ghc-mwc-random)
2355 ("ghc-unix-compat" ,ghc-unix-compat)
2356 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2357 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2358 ("ghc-resourcet" ,ghc-resourcet)
2359 ("ghc-monad-control" ,ghc-monad-control)
2360 ("ghc-chunked-data" ,ghc-chunked-data)
2361 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2362 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2363 ("ghc-silently" ,ghc-silently)
2364 ("ghc-safe" ,ghc-safe)
2365 ("ghc-quickcheck" ,ghc-quickcheck)))
2366 (home-page "https://github.com/snoyberg/mono-traversable")
2367 (synopsis "Commonly used conduit functions, for both chunked and
2368unchunked data")
2369 (description "This Haskell package provides a replacement for Data.Conduit.List,
2370as well as a convenient Conduit module.")
2371 (license license:expat)))
2372
2373(define-public ghc-conduit-extra
2374 (package
2375 (name "ghc-conduit-extra")
151774d9 2376 (version "1.3.4")
dddbc90c
RV
2377 (source
2378 (origin
2379 (method url-fetch)
2380 (uri (string-append "https://hackage.haskell.org/package/"
2381 "conduit-extra/conduit-extra-"
2382 version ".tar.gz"))
2383 (sha256
2384 (base32
151774d9 2385 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2386 (build-system haskell-build-system)
2387 (inputs
2388 `(("ghc-conduit" ,ghc-conduit)
2389 ("ghc-exceptions" ,ghc-exceptions)
2390 ("ghc-monad-control" ,ghc-monad-control)
2391 ("ghc-transformers-base" ,ghc-transformers-base)
2392 ("ghc-typed-process" ,ghc-typed-process)
2393 ("ghc-async" ,ghc-async)
2394 ("ghc-attoparsec" ,ghc-attoparsec)
2395 ("ghc-blaze-builder" ,ghc-blaze-builder)
2396 ("ghc-network" ,ghc-network)
2397 ("ghc-primitive" ,ghc-primitive)
2398 ("ghc-resourcet" ,ghc-resourcet)
2399 ("ghc-streaming-commons" ,ghc-streaming-commons)
2400 ("ghc-hspec" ,ghc-hspec)
2401 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2402 ("ghc-quickcheck" ,ghc-quickcheck)))
2403 (native-inputs
2404 `(("hspec-discover" ,hspec-discover)))
2405 (home-page "https://github.com/snoyberg/conduit")
2406 (synopsis "Conduit adapters for common libraries")
2407 (description
2408 "The @code{conduit} package itself maintains relative small dependencies.
2409The purpose of this package is to collect commonly used utility functions
2410wrapping other library dependencies, without depending on heavier-weight
2411dependencies. The basic idea is that this package should only depend on
2412@code{haskell-platform} packages and @code{conduit}.")
2413 (license license:expat)))
2414
b59c3518
TS
2415(define-public ghc-conduit-zstd
2416 (package
2417 (name "ghc-conduit-zstd")
2418 (version "0.0.1.1")
2419 (source
2420 (origin
2421 (method url-fetch)
2422 (uri (string-append "https://hackage.haskell.org/package/"
2423 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2424 (sha256
2425 (base32
2426 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2427 (build-system haskell-build-system)
2428 (inputs
2429 `(("ghc-conduit" ,ghc-conduit)
2430 ("ghc-zstd" ,ghc-zstd)))
2431 (native-inputs
2432 `(("ghc-hunit" ,ghc-hunit)
2433 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2434 ("ghc-conduit-extra" ,ghc-conduit-extra)
2435 ("ghc-test-framework" ,ghc-test-framework)
2436 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2437 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2438 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2439 (synopsis "Conduit-based ZStd Compression")
2440 (description "Zstandard compression packaged as a conduit. This is
2441a very thin wrapper around the
2442@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2443interface}.")
2444 (license license:expat)))
2445
dddbc90c
RV
2446(define-public ghc-configurator
2447 (package
2448 (name "ghc-configurator")
2449 (version "0.3.0.0")
2450 (source
2451 (origin
2452 (method url-fetch)
2453 (uri (string-append "https://hackage.haskell.org/package/"
2454 "configurator/configurator-"
2455 version ".tar.gz"))
2456 (sha256
2457 (base32
2458 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2459 (build-system haskell-build-system)
2460 (inputs
2461 `(("ghc-attoparsec" ,ghc-attoparsec)
2462 ("ghc-hashable" ,ghc-hashable)
2463 ("ghc-unix-compat" ,ghc-unix-compat)
2464 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2465 (native-inputs
2466 `(("ghc-hunit" ,ghc-hunit)
2467 ("ghc-test-framework" ,ghc-test-framework)
2468 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
702a1012 2469 (home-page "https://github.com/bos/configurator")
dddbc90c
RV
2470 (synopsis "Configuration management")
2471 (description
2472 "This package provides a configuration management library for programs
2473and daemons. The features include:
2474
2475@enumerate
2476@item Automatic, dynamic reloading in response to modifications to
2477 configuration files.
2478@item A simple, but flexible, configuration language, supporting several of
2479 the most commonly needed types of data, along with interpolation of strings
2480 from the configuration or the system environment (e.g. @code{$(HOME)}).
2481@item Subscription-based notification of changes to configuration properties.
2482@item An @code{import} directive allows the configuration of a complex
2483 application to be split across several smaller files, or common configuration
2484 data to be shared across several applications.
2485@end enumerate\n")
2486 (license license:bsd-3)))
2487
2488(define-public ghc-connection
2489 (package
2490 (name "ghc-connection")
6ee0d258 2491 (version "0.3.1")
dddbc90c
RV
2492 (source (origin
2493 (method url-fetch)
2494 (uri (string-append "https://hackage.haskell.org/package/"
2495 "connection/connection-"
2496 version ".tar.gz"))
2497 (sha256
2498 (base32
6ee0d258 2499 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2500 (build-system haskell-build-system)
2501 (inputs
2502 `(("ghc-byteable" ,ghc-byteable)
2503 ("ghc-data-default-class" ,ghc-data-default-class)
2504 ("ghc-network" ,ghc-network)
2505 ("ghc-tls" ,ghc-tls)
2506 ("ghc-socks" ,ghc-socks)
2507 ("ghc-x509" ,ghc-x509)
2508 ("ghc-x509-store" ,ghc-x509-store)
2509 ("ghc-x509-system" ,ghc-x509-system)
2510 ("ghc-x509-validation" ,ghc-x509-validation)))
2511 (home-page "https://github.com/vincenthz/hs-connection")
2512 (synopsis "Simple and easy network connections API")
2513 (description
2514 "This package provides a simple network library for all your connection
2515needs. It provides a very simple API to create sockets to a destination with
2516the choice of SSL/TLS, and SOCKS.")
2517 (license license:bsd-3)))
2518
2519(define-public ghc-constraints
2520 (package
2521 (name "ghc-constraints")
2522 (version "0.10.1")
2523 (source
2524 (origin
2525 (method url-fetch)
2526 (uri (string-append
2527 "https://hackage.haskell.org/package/constraints/constraints-"
2528 version ".tar.gz"))
2529 (sha256
2530 (base32
2531 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2532 (build-system haskell-build-system)
2533 (inputs
2534 `(("ghc-hashable" ,ghc-hashable)
2535 ("ghc-semigroups" ,ghc-semigroups)
2536 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2537 (native-inputs
2538 `(("ghc-hspec" ,ghc-hspec)
2539 ("hspec-discover" ,hspec-discover)))
2540 (home-page "https://github.com/ekmett/constraints/")
2541 (synopsis "Constraint manipulation")
2542 (description
2543 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2544They stopped crashing the compiler in GHC 7.6. This package provides
2545a vocabulary for working with them.")
2546 (license license:bsd-3)))
2547
2548(define-public ghc-contravariant
2549 (package
2550 (name "ghc-contravariant")
e7b35ff0 2551 (version "1.5.2")
dddbc90c
RV
2552 (source
2553 (origin
2554 (method url-fetch)
2555 (uri (string-append
2556 "https://hackage.haskell.org/package/contravariant/contravariant-"
2557 version
2558 ".tar.gz"))
2559 (sha256
2560 (base32
e7b35ff0 2561 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2562 (build-system haskell-build-system)
2563 (inputs
2564 `(("ghc-void" ,ghc-void)
2565 ("ghc-transformers-compat" ,ghc-transformers-compat)
2566 ("ghc-statevar" ,ghc-statevar)
2567 ("ghc-semigroups" ,ghc-semigroups)))
2568 (home-page
2569 "https://github.com/ekmett/contravariant/")
2570 (synopsis "Contravariant functors")
2571 (description "Contravariant functors for Haskell.")
2572 (license license:bsd-3)))
2573
2574(define-public ghc-contravariant-extras
2575 (package
2576 (name "ghc-contravariant-extras")
2577 (version "0.3.4")
2578 (source
2579 (origin
2580 (method url-fetch)
2581 (uri (string-append "https://hackage.haskell.org/package/"
2582 "contravariant-extras-" version "/"
2583 "contravariant-extras-" version ".tar.gz"))
2584 (sha256
2585 (base32
2586 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2587 (build-system haskell-build-system)
f3aca086
TS
2588 (arguments
2589 `(#:cabal-revision
2590 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2591 (inputs
2592 `(("ghc-tuple-th" ,ghc-tuple-th)
2593 ("ghc-contravariant" ,ghc-contravariant)
2594 ("ghc-base-prelude" ,ghc-base-prelude)
2595 ("ghc-semigroups" ,ghc-semigroups)))
2596 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2597 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2598 (description "This Haskell package provides extras for the
2599@code{ghc-contravariant} package.")
2600 (license license:expat)))
2601
2602(define-public ghc-convertible
2603 (package
2604 (name "ghc-convertible")
2605 (version "1.1.1.0")
2606 (source
2607 (origin
2608 (method url-fetch)
2609 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2610 "convertible-" version ".tar.gz"))
2611 (sha256
2612 (base32
2613 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2614 (build-system haskell-build-system)
2615 (inputs
2616 `(("ghc-old-time" ,ghc-old-time)
2617 ("ghc-old-locale" ,ghc-old-locale)))
2618 (home-page "https://hackage.haskell.org/package/convertible")
2619 (synopsis "Typeclasses and instances for converting between types")
2620 (description
2621 "This package provides a typeclass with a single function that is
2622designed to help convert between different types: numeric values, dates and
2623times, and the like. The conversions perform bounds checking and return a
2624pure @code{Either} value. This means that you need not remember which specific
2625function performs the conversion you desire.")
2626 (license license:bsd-3)))
2627
2628(define-public ghc-data-accessor
2629 (package
2630 (name "ghc-data-accessor")
6dcca515 2631 (version "0.2.2.8")
dddbc90c
RV
2632 (source
2633 (origin
2634 (method url-fetch)
2635 (uri (string-append
2636 "mirror://hackage/package/data-accessor/data-accessor-"
2637 version ".tar.gz"))
2638 (sha256
6dcca515 2639 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c 2640 (build-system haskell-build-system)
228d2901 2641 (home-page "https://wiki.haskell.org/Record_access")
dddbc90c
RV
2642 (synopsis
2643 "Haskell utilities for accessing and manipulating fields of records")
2644 (description "This package provides Haskell modules for accessing and
2645manipulating fields of records.")
2646 (license license:bsd-3)))
2647
2648(define-public ghc-data-accessor-transformers
2649 (package
2650 (name "ghc-data-accessor-transformers")
2651 (version "0.2.1.7")
2652 (source
2653 (origin
2654 (method url-fetch)
2655 (uri (string-append
2656 "mirror://hackage/package/data-accessor-transformers/"
2657 "data-accessor-transformers-" version ".tar.gz"))
2658 (sha256
2659 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2660 (build-system haskell-build-system)
2661 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
228d2901 2662 (home-page "https://wiki.haskell.org/Record_access")
dddbc90c
RV
2663 (synopsis "Use Accessor to access state in transformers State monad")
2664 (description "This package provides Haskell modules to allow use of
2665Accessor to access state in transformers State monad.")
2666 (license license:bsd-3)))
2667
2668(define-public ghc-data-default
2669 (package
2670 (name "ghc-data-default")
2671 (version "0.7.1.1")
2672 (source
2673 (origin
2674 (method url-fetch)
2675 (uri (string-append
2676 "https://hackage.haskell.org/package/data-default/data-default-"
2677 version
2678 ".tar.gz"))
2679 (sha256
2680 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2681 (build-system haskell-build-system)
2682 (inputs
2683 `(("ghc-data-default-class"
2684 ,ghc-data-default-class)
2685 ("ghc-data-default-instances-base"
2686 ,ghc-data-default-instances-base)
2687 ("ghc-data-default-instances-containers"
2688 ,ghc-data-default-instances-containers)
2689 ("ghc-data-default-instances-dlist"
2690 ,ghc-data-default-instances-dlist)
2691 ("ghc-data-default-instances-old-locale"
2692 ,ghc-data-default-instances-old-locale)))
2693 (home-page "https://hackage.haskell.org/package/data-default")
2694 (synopsis "Types with default values")
2695 (description
2696 "This package defines a class for types with a default value, and
2697provides instances for types from the base, containers, dlist and old-locale
2698packages.")
2699 (license license:bsd-3)))
2700
2701(define-public ghc-data-default-class
2702 (package
2703 (name "ghc-data-default-class")
2704 (version "0.1.2.0")
2705 (source
2706 (origin
2707 (method url-fetch)
2708 (uri (string-append
2709 "https://hackage.haskell.org/package/data-default-class/"
2710 "data-default-class-" version ".tar.gz"))
2711 (sha256
2712 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2713 (build-system haskell-build-system)
2714 (home-page "https://hackage.haskell.org/package/data-default-class")
2715 (synopsis "Types with default values")
2716 (description
2717 "This package defines a class for types with default values.")
2718 (license license:bsd-3)))
2719
2720(define-public ghc-data-default-instances-base
2721 (package
2722 (name "ghc-data-default-instances-base")
2723 (version "0.1.0.1")
2724 (source
2725 (origin
2726 (method url-fetch)
2727 (uri (string-append
2728 "https://hackage.haskell.org/package/"
2729 "data-default-instances-base/"
2730 "data-default-instances-base-" version ".tar.gz"))
2731 (sha256
2732 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2733 (build-system haskell-build-system)
2734 (inputs
2735 `(("ghc-data-default-class" ,ghc-data-default-class)))
2736 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2737 (synopsis "Default instances for types in base")
2738 (description
2739 "This package provides default instances for types from the base
2740package.")
2741 (license license:bsd-3)))
2742
2743(define-public ghc-data-default-instances-containers
2744 (package
2745 (name "ghc-data-default-instances-containers")
2746 (version "0.0.1")
2747 (source
2748 (origin
2749 (method url-fetch)
2750 (uri (string-append
2751 "https://hackage.haskell.org/package/"
2752 "data-default-instances-containers/"
2753 "data-default-instances-containers-" version ".tar.gz"))
2754 (sha256
2755 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2756 (build-system haskell-build-system)
2757 (inputs
2758 `(("ghc-data-default-class" ,ghc-data-default-class)))
2759 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2760 (synopsis "Default instances for types in containers")
2761 (description "Provides default instances for types from the containers
2762package.")
2763 (license license:bsd-3)))
2764
2765(define-public ghc-data-default-instances-dlist
2766 (package
2767 (name "ghc-data-default-instances-dlist")
2768 (version "0.0.1")
2769 (source
2770 (origin
2771 (method url-fetch)
2772 (uri (string-append
2773 "https://hackage.haskell.org/package/"
2774 "data-default-instances-dlist/"
2775 "data-default-instances-dlist-" version ".tar.gz"))
2776 (sha256
2777 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2778 (build-system haskell-build-system)
2779 (inputs
2780 `(("ghc-data-default-class" ,ghc-data-default-class)
2781 ("ghc-dlist" ,ghc-dlist)))
2782 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2783 (synopsis "Default instances for types in dlist")
2784 (description "Provides default instances for types from the dlist
2785package.")
2786 (license license:bsd-3)))
2787
2788(define-public ghc-data-default-instances-old-locale
2789 (package
2790 (name "ghc-data-default-instances-old-locale")
2791 (version "0.0.1")
2792 (source
2793 (origin
2794 (method url-fetch)
2795 (uri (string-append
2796 "https://hackage.haskell.org/package/"
2797 "data-default-instances-old-locale/"
2798 "data-default-instances-old-locale-" version ".tar.gz"))
2799 (sha256
2800 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2801 (build-system haskell-build-system)
2802 (inputs
2803 `(("ghc-data-default-class" ,ghc-data-default-class)
2804 ("ghc-old-locale" ,ghc-old-locale)))
2805 (home-page
2806 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2807 (synopsis "Default instances for types in old-locale")
2808 (description "Provides Default instances for types from the old-locale
2809 package.")
2810 (license license:bsd-3)))
2811
82c36002
JS
2812(define-public ghc-data-fix
2813 (package
2814 (name "ghc-data-fix")
2815 (version "0.2.0")
2816 (source
2817 (origin
2818 (method url-fetch)
2819 (uri (string-append
2820 "mirror://hackage/package/data-fix/"
2821 "data-fix-" version ".tar.gz"))
2822 (sha256
2823 (base32 "14hk6hq5hdb3l5bhmzhw086jpzlvp9qbw9dzw30wlz5jbh2ihmvy"))))
2824 (build-system haskell-build-system)
2825 (home-page "https://github.com/spell-music/data-fix")
2826 (synopsis "Fixpoint data types")
2827 (description
2828 "Fixpoint types and recursion schemes. If you define your AST as
2829fixpoint type, you get fold and unfold operations for free.
2830
2831Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel")
2832 (license license:bsd-3)))
2833
dddbc90c
RV
2834(define-public ghc-data-hash
2835 (package
2836 (name "ghc-data-hash")
2837 (version "0.2.0.1")
2838 (source
2839 (origin
2840 (method url-fetch)
2841 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2842 "/data-hash-" version ".tar.gz"))
2843 (sha256
2844 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2845 (build-system haskell-build-system)
2846 (inputs
2847 `(("ghc-quickcheck" ,ghc-quickcheck)
2848 ("ghc-test-framework" ,ghc-test-framework)
2849 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2850 (home-page "https://hackage.haskell.org/package/data-hash")
2851 (synopsis "Combinators for building fast hashing functions")
2852 (description
2853 "This package provides combinators for building fast hashing functions.
2854It includes hashing functions for all basic Haskell98 types.")
2855 (license license:bsd-3)))
2856
2857(define-public ghc-data-ordlist
2858 (package
2859 (name "ghc-data-ordlist")
2860 (version "0.4.7.0")
2861 (source
2862 (origin
2863 (method url-fetch)
2864 (uri (string-append
2865 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2866 version ".tar.gz"))
2867 (sha256
2868 (base32
2869 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2870 (build-system haskell-build-system)
2871 (home-page "https://hackage.haskell.org/package/data-ordlist")
2872 (synopsis "Set and bag operations on ordered lists")
2873 (description
2874 "This module provides set and multiset operations on ordered lists.")
2875 (license license:bsd-3)))
2876
d05f32d6
JS
2877(define-public ghc-dbus
2878 (package
2879 (name "ghc-dbus")
2880 (version "1.2.7")
2881 (source
2882 (origin
2883 (method url-fetch)
2884 (uri
2885 (string-append
2886 "mirror://hackage/package/dbus/dbus-"
2887 version ".tar.gz"))
2888 (sha256
2889 (base32
2890 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2891 (build-system haskell-build-system)
2892 (inputs
2893 `(("ghc-cereal" ,ghc-cereal)
2894 ("ghc-conduit" ,ghc-conduit)
2895 ("ghc-exceptions" ,ghc-exceptions)
2896 ("ghc-lens" ,ghc-lens)
2897 ("ghc-network" ,ghc-network)
2898 ("ghc-random" ,ghc-random)
2899 ("ghc-split" ,ghc-split)
2900 ("ghc-th-lift" ,ghc-th-lift)
2901 ("ghc-vector" ,ghc-vector)
2902 ("ghc-xml-conduit" ,ghc-xml-conduit)
2903 ("ghc-xml-types" ,ghc-xml-types)))
2904 (native-inputs
2905 `(("ghc-extra" ,ghc-extra)
2906 ("ghc-quickcheck" ,ghc-quickcheck)
2907 ("ghc-resourcet" ,ghc-resourcet)
2908 ("ghc-tasty" ,ghc-tasty)
2909 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2910 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2911 ;; FIXME - Some tests try to talk to network.
2912 (arguments `(#:tests? #f))
2913 (home-page "https://github.com/rblaze/haskell-dbus")
2914 (synopsis "Client library for the D-Bus IPC system")
2915 (description
2916 "D-Bus is a simple, message-based protocol for inter-process
2917communication, which allows applications to interact with other parts
2918of the machine and the user's session using remote procedure
2919calls. D-Bus is a essential part of the modern Linux desktop, where
2920it replaces earlier protocols such as CORBA and DCOP. This library
2921is an implementation of the D-Bus protocol in Haskell. It can be used
2922to add D-Bus support to Haskell applications, without the awkward
2923interfaces common to foreign bindings.")
2924 (license license:asl2.0)))
2925
dddbc90c
RV
2926(define-public ghc-deepseq-generics
2927 (package
2928 (name "ghc-deepseq-generics")
2929 (version "0.2.0.0")
2930 (source (origin
2931 (method url-fetch)
2932 (uri (string-append "https://hackage.haskell.org/package/"
2933 "deepseq-generics/deepseq-generics-"
2934 version ".tar.gz"))
2935 (sha256
2936 (base32
2937 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2938 (build-system haskell-build-system)
2939 (arguments
2940 `(#:cabal-revision
490ceae4 2941 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2942 (native-inputs
2943 `(("ghc-hunit" ,ghc-hunit)
2944 ("ghc-test-framework" ,ghc-test-framework)
2945 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2946 (home-page "https://github.com/hvr/deepseq-generics")
2947 (synopsis "Generic RNF implementation")
2948 (description
2949 "This package provides a @code{GHC.Generics}-based
2950@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2951providing an @code{rnf} implementation.")
2952 (license license:bsd-3)))
2953
e924e17e
TS
2954(define-public ghc-dense-linear-algebra
2955 (package
2956 (name "ghc-dense-linear-algebra")
2957 (version "0.1.0.0")
2958 (source
2959 (origin
2960 (method url-fetch)
2961 (uri (string-append "https://hackage.haskell.org/package/"
2962 "dense-linear-algebra/dense-linear-algebra-"
2963 version ".tar.gz"))
2964 (sha256
2965 (base32
2966 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2967 (build-system haskell-build-system)
2968 (inputs
2969 `(("ghc-math-functions" ,ghc-math-functions)
2970 ("ghc-primitive" ,ghc-primitive)
2971 ("ghc-vector" ,ghc-vector)
2972 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2973 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2974 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2975 (native-inputs
2976 `(("ghc-hspec" ,ghc-hspec)
2977 ("ghc-quickcheck" ,ghc-quickcheck)))
50153437 2978 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
e924e17e
TS
2979 (synopsis "Simple and incomplete implementation of linear algebra")
2980 (description "This library is simply a collection of linear-algebra
2981related modules split from the statistics library.")
2982 (license license:bsd-2)))
2983
dddbc90c
RV
2984(define-public ghc-descriptive
2985 (package
2986 (name "ghc-descriptive")
2987 (version "0.9.5")
2988 (source
2989 (origin
2990 (method url-fetch)
2991 (uri (string-append
2992 "https://hackage.haskell.org/package/descriptive/descriptive-"
2993 version
2994 ".tar.gz"))
2995 (sha256
2996 (base32
2997 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2998 (build-system haskell-build-system)
2999 (inputs
3000 `(("ghc-aeson" ,ghc-aeson)
3001 ("ghc-bifunctors" ,ghc-bifunctors)
3002 ("ghc-scientific" ,ghc-scientific)
3003 ("ghc-vector" ,ghc-vector)))
3004 (native-inputs
3005 `(("ghc-hunit" ,ghc-hunit)
3006 ("ghc-hspec" ,ghc-hspec)))
3007 (home-page
3008 "https://github.com/chrisdone/descriptive")
3009 (synopsis
3010 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
3011 (description
3012 "This package provides datatypes and functions for creating consumers
3013and parsers with useful semantics.")
3014 (license license:bsd-3)))
3015
1859c94a
TS
3016(define-public ghc-diagrams-core
3017 (package
3018 (name "ghc-diagrams-core")
3019 (version "1.4.2")
3020 (source
3021 (origin
3022 (method url-fetch)
3023 (uri (string-append "https://hackage.haskell.org/package/"
3024 "diagrams-core/diagrams-core-" version ".tar.gz"))
3025 (sha256
3026 (base32
3027 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
3028 (build-system haskell-build-system)
3029 (inputs
3030 `(("ghc-unordered-containers" ,ghc-unordered-containers)
3031 ("ghc-semigroups" ,ghc-semigroups)
3032 ("ghc-monoid-extras" ,ghc-monoid-extras)
3033 ("ghc-dual-tree" ,ghc-dual-tree)
3034 ("ghc-lens" ,ghc-lens)
3035 ("ghc-linear" ,ghc-linear)
3036 ("ghc-adjunctions" ,ghc-adjunctions)
3037 ("ghc-distributive" ,ghc-distributive)
3038 ("ghc-profunctors" ,ghc-profunctors)))
3039 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3040 (synopsis "Core libraries for diagrams embedded domain-specific language")
3041 (description "This package provides the core modules underlying
3042diagrams, an embedded domain-specific language for compositional,
3043declarative drawing.")
3044 (license license:bsd-3)))
3045
f9f1a630
TS
3046(define-public ghc-diagrams-lib
3047 (package
3048 (name "ghc-diagrams-lib")
3049 (version "1.4.2.3")
3050 (source
3051 (origin
3052 (method url-fetch)
3053 (uri (string-append "https://hackage.haskell.org/package/"
3054 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
3055 (sha256
3056 (base32
3057 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
3058 (build-system haskell-build-system)
3059 (inputs
3060 `(("ghc-semigroups" ,ghc-semigroups)
3061 ("ghc-monoid-extras" ,ghc-monoid-extras)
3062 ("ghc-dual-tree" ,ghc-dual-tree)
3063 ("ghc-diagrams-core" ,ghc-diagrams-core)
3064 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
3065 ("ghc-active" ,ghc-active)
3066 ("ghc-colour" ,ghc-colour)
3067 ("ghc-data-default-class" ,ghc-data-default-class)
3068 ("ghc-fingertree" ,ghc-fingertree)
3069 ("ghc-intervals" ,ghc-intervals)
3070 ("ghc-lens" ,ghc-lens)
3071 ("ghc-tagged" ,ghc-tagged)
3072 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3073 ("ghc-juicypixels" ,ghc-juicypixels)
3074 ("ghc-hashable" ,ghc-hashable)
3075 ("ghc-linear" ,ghc-linear)
3076 ("ghc-adjunctions" ,ghc-adjunctions)
3077 ("ghc-distributive" ,ghc-distributive)
3078 ("ghc-fsnotify" ,ghc-fsnotify)
3079 ("ghc-unordered-containers" ,ghc-unordered-containers)
3080 ("ghc-profunctors" ,ghc-profunctors)
3081 ("ghc-exceptions" ,ghc-exceptions)
3082 ("ghc-cereal" ,ghc-cereal)))
3083 (native-inputs
3084 `(("ghc-tasty" ,ghc-tasty)
3085 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3086 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
3087 ("ghc-numeric-extras" ,ghc-numeric-extras)))
3088 (arguments
3089 `(#:cabal-revision
3090 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
3091 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3092 (synopsis "Embedded domain-specific language for declarative graphics")
3093 (description "Diagrams is a flexible, extensible embedded
3094domain-specific language (EDSL) for creating graphics of many types.
3095Graphics can be created in arbitrary vector spaces and rendered with
3096multiple backends. This package provides a standard library of
3097primitives and operations for creating diagrams.")
3098 (license license:bsd-3)))
3099
fd33ffa0
TS
3100(define-public ghc-diagrams-solve
3101 (package
3102 (name "ghc-diagrams-solve")
3103 (version "0.1.1")
3104 (source
3105 (origin
3106 (method url-fetch)
3107 (uri (string-append "https://hackage.haskell.org/package/"
3108 "diagrams-solve/diagrams-solve-"
3109 version ".tar.gz"))
3110 (sha256
3111 (base32
3112 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
3113 (build-system haskell-build-system)
3114 (native-inputs
3115 `(("ghc-tasty" ,ghc-tasty)
3116 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3117 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
3118 (arguments
3119 `(#:cabal-revision
3120 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
3121 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3122 (synopsis "Pure Haskell solver routines used by diagrams")
3123 (description "This library provides Pure Haskell solver routines for
3124use by the
3125@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3126diagrams framework}. It currently includes routines for finding real
3127roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
3128and cyclic tridiagonal linear systems.")
3129 (license license:bsd-3)))
3130
74be1cb7
TS
3131(define-public ghc-diagrams-svg
3132 (package
3133 (name "ghc-diagrams-svg")
3134 (version "1.4.2")
3135 (source
3136 (origin
3137 (method url-fetch)
3138 (uri (string-append "https://hackage.haskell.org/package/"
3139 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
3140 (sha256
3141 (base32
3142 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
3143 (build-system haskell-build-system)
3144 (inputs
3145 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
3146 ("ghc-colour" ,ghc-colour)
3147 ("ghc-diagrams-core" ,ghc-diagrams-core)
3148 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
3149 ("ghc-monoid-extras" ,ghc-monoid-extras)
3150 ("ghc-svg-builder" ,ghc-svg-builder)
3151 ("ghc-juicypixels" ,ghc-juicypixels)
3152 ("ghc-split" ,ghc-split)
3153 ("ghc-lens" ,ghc-lens)
3154 ("ghc-hashable" ,ghc-hashable)
3155 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3156 ("ghc-semigroups" ,ghc-semigroups)))
3157 (arguments
3158 `(#:cabal-revision
3159 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
3160 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3161 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
3162 (description "This package provides a modular backend for rendering
3163diagrams created with the diagrams embedded domain-specific
3164language (EDSL) to Scalable Vector Graphics (SVG) files.")
3165 (license license:bsd-3)))
3166
4eb9a167
TS
3167(define-public ghc-dictionary-sharing
3168 (package
3169 (name "ghc-dictionary-sharing")
3170 (version "0.1.0.0")
3171 (source
3172 (origin
3173 (method url-fetch)
3174 (uri (string-append "https://hackage.haskell.org/package/"
3175 "dictionary-sharing/dictionary-sharing-"
3176 version ".tar.gz"))
3177 (sha256
3178 (base32
3179 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3180 (build-system haskell-build-system)
3181 (arguments
3182 `(#:cabal-revision
3183 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3184 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3185 (synopsis "Sharing/memoization of class members")
3186 (description "This library provides tools for ensuring that class
3187members are shared.")
3188 (license license:bsd-3)))
3189
dddbc90c
RV
3190(define-public ghc-diff
3191 (package
3192 (name "ghc-diff")
3193 (version "0.3.4")
3194 (source (origin
3195 (method url-fetch)
3196 (uri (string-append "https://hackage.haskell.org/package/"
3197 "Diff/Diff-" version ".tar.gz"))
a531ff94 3198 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
3199 (sha256
3200 (base32
3201 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3202 (build-system haskell-build-system)
3203 (native-inputs
3204 `(("ghc-quickcheck" ,ghc-quickcheck)
3205 ("ghc-test-framework" ,ghc-test-framework)
3206 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3207 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3208 (synopsis "O(ND) diff algorithm in Haskell")
3209 (description
3210 "This package provides an implementation of the standard diff algorithm,
3211and utilities for pretty printing.")
3212 (license license:bsd-3)))
3213
3214(define-public ghc-disk-free-space
3215 (package
3216 (name "ghc-disk-free-space")
3217 (version "0.1.0.1")
3218 (source
3219 (origin
3220 (method url-fetch)
3221 (uri (string-append "https://hackage.haskell.org/package/"
3222 "disk-free-space/disk-free-space-"
3223 version ".tar.gz"))
3224 (sha256
3225 (base32
3226 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3227 (build-system haskell-build-system)
3228 (home-page "https://github.com/redneb/disk-free-space")
3229 (synopsis "Retrieve information about disk space usage")
3230 (description "A cross-platform library for retrieving information about
3231disk space usage.")
3232 (license license:bsd-3)))
3233
3234(define-public ghc-distributive
3235 (package
3236 (name "ghc-distributive")
e4c92f28 3237 (version "0.6.1")
dddbc90c
RV
3238 (source
3239 (origin
3240 (method url-fetch)
3241 (uri (string-append
3242 "https://hackage.haskell.org/package/distributive/distributive-"
3243 version
3244 ".tar.gz"))
3245 (sha256
3246 (base32
e4c92f28 3247 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 3248 (build-system haskell-build-system)
dddbc90c
RV
3249 (inputs
3250 `(("ghc-tagged" ,ghc-tagged)
3251 ("ghc-base-orphans" ,ghc-base-orphans)
3252 ("ghc-transformers-compat" ,ghc-transformers-compat)
3253 ("ghc-semigroups" ,ghc-semigroups)
3254 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3255 (native-inputs
3256 `(("cabal-doctest" ,cabal-doctest)
3257 ("ghc-doctest" ,ghc-doctest)
3258 ("ghc-hspec" ,ghc-hspec)
3259 ("hspec-discover" ,hspec-discover)))
3260 (home-page "https://github.com/ekmett/distributive/")
3261 (synopsis "Distributive functors for Haskell")
3262 (description "This package provides distributive functors for Haskell.
3263Dual to @code{Traversable}.")
3264 (license license:bsd-3)))
3265
3266(define-public ghc-dlist
3267 (package
3268 (name "ghc-dlist")
197ddf33 3269 (version "0.8.0.7")
dddbc90c
RV
3270 (source
3271 (origin
3272 (method url-fetch)
3273 (uri (string-append
3274 "https://hackage.haskell.org/package/dlist/dlist-"
3275 version
3276 ".tar.gz"))
3277 (sha256
197ddf33 3278 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
3279 (build-system haskell-build-system)
3280 (inputs
3281 `(("ghc-quickcheck" ,ghc-quickcheck)))
3282 (home-page "https://github.com/spl/dlist")
3283 (synopsis "Difference lists")
3284 (description
3285 "Difference lists are a list-like type supporting O(1) append. This is
3286particularly useful for efficient logging and pretty printing (e.g. with the
3287Writer monad), where list append quickly becomes too expensive.")
3288 (license license:bsd-3)))
3289
3290(define-public ghc-doctemplates
3291 (package
3292 (name "ghc-doctemplates")
3293 (version "0.2.2.1")
3294 (source
3295 (origin
3296 (method url-fetch)
3297 (uri (string-append "https://hackage.haskell.org/package/"
3298 "doctemplates/doctemplates-"
3299 version ".tar.gz"))
3300 (sha256
3301 (base32
3302 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3303 (build-system haskell-build-system)
3304 (inputs
3305 `(("ghc-aeson" ,ghc-aeson)
3306 ("ghc-blaze-markup" ,ghc-blaze-markup)
3307 ("ghc-blaze-html" ,ghc-blaze-html)
3308 ("ghc-vector" ,ghc-vector)
3309 ("ghc-unordered-containers" ,ghc-unordered-containers)
3310 ("ghc-scientific" ,ghc-scientific)))
3311 (native-inputs
3312 `(("ghc-hspec" ,ghc-hspec)))
3313 (home-page "https://github.com/jgm/doctemplates#readme")
3314 (synopsis "Pandoc-style document templates")
3315 (description
3316 "This package provides a simple text templating system used by pandoc.")
3317 (license license:bsd-3)))
3318
3319(define-public ghc-doctest
3320 (package
3321 (name "ghc-doctest")
19c14a0f 3322 (version "0.16.2")
dddbc90c
RV
3323 (source
3324 (origin
3325 (method url-fetch)
3326 (uri (string-append
3327 "https://hackage.haskell.org/package/doctest/doctest-"
3328 version
3329 ".tar.gz"))
3330 (sha256
3331 (base32
19c14a0f 3332 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
3333 (build-system haskell-build-system)
3334 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3335 (inputs
3336 `(("ghc-syb" ,ghc-syb)
3337 ("ghc-paths" ,ghc-paths)
3338 ("ghc-base-compat" ,ghc-base-compat)
3339 ("ghc-code-page" ,ghc-code-page)
3340 ("ghc-hunit" ,ghc-hunit)
3341 ("ghc-hspec" ,ghc-hspec)
3342 ("ghc-quickcheck" ,ghc-quickcheck)
3343 ("ghc-stringbuilder" ,ghc-stringbuilder)
3344 ("ghc-silently" ,ghc-silently)
3345 ("ghc-setenv" ,ghc-setenv)))
3346 (home-page
3347 "https://github.com/sol/doctest#readme")
3348 (synopsis "Test interactive Haskell examples")
3349 (description "The doctest program checks examples in source code comments.
3350It is modeled after doctest for Python, see
3351@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3352 (license license:expat)))
3353
2b2c8911
JS
3354(define-public ghc-dotgen
3355 (package
3356 (name "ghc-dotgen")
3357 (version "0.4.2")
3358 (source
3359 (origin
3360 (method url-fetch)
3361 (uri (string-append
3362 "mirror://hackage/package/dotgen/dotgen-"
3363 version
3364 ".tar.gz"))
3365 (sha256
3366 (base32
3367 "148q93qsmqgr5pzdwvpjqfd6bdm1pwzcp2rblfwswx2x8c5f43fg"))))
3368 (build-system haskell-build-system)
3369 (home-page "https://github.com/ku-fpg/dotgen")
3370 (synopsis
3371 "Simple interface for building .dot graph files")
3372 (description
3373 "This package provides a simple interface for building .dot graph
3374files, for input into the dot and graphviz tools. It includes a
3375monadic interface for building graphs.")
3376 (license license:bsd-3)))
3377
dddbc90c
RV
3378(define-public ghc-double-conversion
3379 (package
3380 (name "ghc-double-conversion")
3381 (version "2.0.2.0")
3382 (source
3383 (origin
3384 (method url-fetch)
3385 (uri (string-append "https://hackage.haskell.org/package/"
3386 "double-conversion/double-conversion-"
3387 version ".tar.gz"))
3388 (sha256
3389 (base32
3390 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3391 (build-system haskell-build-system)
3392 (native-inputs
3393 `(("ghc-hunit" ,ghc-hunit)
3394 ("ghc-test-framework" ,ghc-test-framework)
3395 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3396 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3397 (home-page "https://github.com/bos/double-conversion")
3398 (synopsis "Fast conversion between double precision floating point and text")
3399 (description
3400 "This package provides a library that performs fast, accurate conversion
3401between double precision floating point and text.")
3402 (license license:bsd-3)))
3403
577a78b7
TS
3404(define-public ghc-dual-tree
3405 (package
3406 (name "ghc-dual-tree")
3407 (version "0.2.2.1")
3408 (source
3409 (origin
3410 (method url-fetch)
3411 (uri (string-append "https://hackage.haskell.org/package/"
3412 "dual-tree/dual-tree-" version ".tar.gz"))
3413 (sha256
3414 (base32
3415 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3416 (build-system haskell-build-system)
3417 (inputs
3418 `(("ghc-semigroups" ,ghc-semigroups)
3419 ("ghc-newtype-generics" ,ghc-newtype-generics)
3420 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3421 (native-inputs
3422 `(("ghc-quickcheck" ,ghc-quickcheck)
3423 ("ghc-testing-feat" ,ghc-testing-feat)))
3424 (home-page "https://hackage.haskell.org/package/dual-tree")
3425 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3426 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3427cached) and downwards-traveling (i.e. accumulating) monoidal
3428annotations. This is used as the core data structure underlying the
3429@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3430diagrams framework}, but potentially has other applications as well.")
3431 (license license:bsd-3)))
3432
dddbc90c
RV
3433(define-public ghc-easy-file
3434 (package
3435 (name "ghc-easy-file")
3436 (version "0.2.2")
3437 (source
3438 (origin
3439 (method url-fetch)
3440 (uri (string-append
3441 "https://hackage.haskell.org/package/easy-file/easy-file-"
3442 version
3443 ".tar.gz"))
3444 (sha256
3445 (base32
3446 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3447 (build-system haskell-build-system)
3448 (home-page
3449 "https://github.com/kazu-yamamoto/easy-file")
3450 (synopsis "File handling library for Haskell")
3451 (description "This library provides file handling utilities for Haskell.")
3452 (license license:bsd-3)))
3453
3454(define-public ghc-easyplot
3455 (package
3456 (name "ghc-easyplot")
3457 (version "1.0")
3458 (source
3459 (origin
3460 (method url-fetch)
3461 (uri (string-append
3462 "https://hackage.haskell.org/package/easyplot/easyplot-"
3463 version ".tar.gz"))
3464 (sha256
3465 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3466 (build-system haskell-build-system)
3467 (propagated-inputs `(("gnuplot" ,gnuplot)))
3468 (arguments
3469 `(#:phases (modify-phases %standard-phases
3470 (add-after 'unpack 'fix-setup-suffix
3471 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3472 (home-page "https://hub.darcs.net/scravy/easyplot")
3473 (synopsis "Haskell plotting library based on gnuplot")
3474 (description "This package provides a plotting library for
3475Haskell, using gnuplot for rendering.")
3476 (license license:expat)))
3477
3478(define-public ghc-echo
3479 (package
3480 (name "ghc-echo")
3481 (version "0.1.3")
3482 (source
3483 (origin
3484 (method url-fetch)
3485 (uri (string-append
3486 "https://hackage.haskell.org/package/echo/echo-"
3487 version ".tar.gz"))
3488 (sha256
3489 (base32
3490 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3491 (build-system haskell-build-system)
3492 (arguments
3493 `(#:cabal-revision
3494 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3495 (home-page "https://github.com/RyanGlScott/echo")
3496 (synopsis "Echo terminal input portably")
3497 (description "The @code{base} library exposes the @code{hGetEcho} and
3498@code{hSetEcho} functions for querying and setting echo status, but
3499unfortunately, neither function works with MinTTY consoles on Windows.
3500This library provides an alternative interface which works with both
3501MinTTY and other consoles.")
3502 (license license:bsd-3)))
3503
3504(define-public ghc-edisonapi
3505 (package
3506 (name "ghc-edisonapi")
3507 (version "1.3.1")
3508 (source
3509 (origin
3510 (method url-fetch)
3511 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3512 "/EdisonAPI-" version ".tar.gz"))
3513 (sha256
3514 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3515 (build-system haskell-build-system)
3516 (home-page "http://rwd.rdockins.name/edison/home/")
3517 (synopsis "Library of efficient, purely-functional data structures (API)")
3518 (description
3519 "Edison is a library of purely functional data structures written by
3520Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3521value EDiSon (Efficient Data Structures). Edison provides several families of
3522abstractions, each with multiple implementations. The main abstractions
3523provided by Edison are: Sequences such as stacks, queues, and dequeues;
3524Collections such as sets, bags and heaps; and Associative Collections such as
3525finite maps and priority queues where the priority and element are distinct.")
3526 (license license:expat)))
3527
3528(define-public ghc-edisoncore
3529 (package
3530 (name "ghc-edisoncore")
3531 (version "1.3.2.1")
3532 (source
3533 (origin
3534 (method url-fetch)
3535 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3536 "/EdisonCore-" version ".tar.gz"))
3537 (sha256
3538 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3539 (build-system haskell-build-system)
3540 (inputs
3541 `(("ghc-quickcheck" ,ghc-quickcheck)
3542 ("ghc-edisonapi" ,ghc-edisonapi)))
3543 (home-page "http://rwd.rdockins.name/edison/home/")
3544 (synopsis "Library of efficient, purely-functional data structures")
3545 (description
3546 "This package provides the core Edison data structure implementations,
3547including multiple sequence, set, bag, and finite map concrete implementations
3548with various performance characteristics.")
3549 (license license:expat)))
3550
3551(define-public ghc-edit-distance
3552 (package
3553 (name "ghc-edit-distance")
3554 (version "0.2.2.1")
3555 (source
3556 (origin
3557 (method url-fetch)
3558 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3559 "/edit-distance-" version ".tar.gz"))
3560 (sha256
3561 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3562 (build-system haskell-build-system)
3563 (arguments
3564 `(#:phases
3565 (modify-phases %standard-phases
3566 (add-before 'configure 'update-constraints
3567 (lambda _
3568 (substitute* "edit-distance.cabal"
3569 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3570 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3571 (inputs
3572 `(("ghc-random" ,ghc-random)
3573 ("ghc-test-framework" ,ghc-test-framework)
3574 ("ghc-quickcheck" ,ghc-quickcheck)
3575 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3576 (home-page "https://github.com/phadej/edit-distance")
3577 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3578 (description
3579 "This package provides optimized functions to determine the edit
3580distances for fuzzy matching, including Levenshtein and restricted
3581Damerau-Levenshtein algorithms.")
3582 (license license:bsd-3)))
3583
3ebae41f
TS
3584(define-public ghc-edit-distance-vector
3585 (package
3586 (name "ghc-edit-distance-vector")
3587 (version "1.0.0.4")
3588 (source
3589 (origin
3590 (method url-fetch)
3591 (uri (string-append "https://hackage.haskell.org/package/"
3592 "edit-distance-vector/edit-distance-vector-"
3593 version ".tar.gz"))
3594 (sha256
3595 (base32
3596 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3597 (build-system haskell-build-system)
3598 (inputs
3599 `(("ghc-vector" ,ghc-vector)))
3600 (native-inputs
3601 `(("ghc-quickcheck" ,ghc-quickcheck)
3602 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3603 (home-page "https://github.com/thsutton/edit-distance-vector")
3604 (synopsis "Calculate edit distances and edit scripts between vectors")
3605 (description "This package provides implementation of the
3606Wagner-Fischer dynamic programming algorithm to find the optimal edit
3607script and cost between two sequences. The implementation in this
3608package is specialised to sequences represented with @code{Data.Vector}
3609but is otherwise agnostic to:
3610@itemize
3611@item The type of values in the vectors;
3612@item The type representing edit operations; and
3613@item The type representing the cost of operations.
3614@end itemize")
3615 (license license:bsd-3)) )
3616
dddbc90c
RV
3617(define-public ghc-either
3618 (package
3619 (name "ghc-either")
a3fd4dc7 3620 (version "5.0.1.1")
dddbc90c
RV
3621 (source
3622 (origin
3623 (method url-fetch)
3624 (uri (string-append "https://hackage.haskell.org/package/"
3625 "either-" version "/"
3626 "either-" version ".tar.gz"))
3627 (sha256
3628 (base32
a3fd4dc7 3629 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3630 (build-system haskell-build-system)
3631 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3632 ("ghc-exceptions" ,ghc-exceptions)
3633 ("ghc-free" ,ghc-free)
3634 ("ghc-monad-control" ,ghc-monad-control)
3635 ("ghc-manodrandom" ,ghc-monadrandom)
3636 ("ghc-mmorph" ,ghc-mmorph)
3637 ("ghc-profunctors" ,ghc-profunctors)
3638 ("ghc-semigroups" ,ghc-semigroups)
3639 ("ghc-semigroupoids" ,ghc-semigroupoids)
3640 ("ghc-transformers-base" ,ghc-transformers-base)))
3641 (native-inputs
3642 `(("ghc-quickcheck" ,ghc-quickcheck)
3643 ("ghc-test-framework" ,ghc-test-framework)
3644 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3645 (home-page "https://github.com/ekmett/either")
3646 (synopsis "Provides an either monad transformer for Haskell")
3647 (description "This Haskell package provides an either monad transformer.")
3648 (license license:bsd-3)))
3649
3650(define-public ghc-email-validate
3651 (package
3652 (name "ghc-email-validate")
a4fe1c64 3653 (version "2.3.2.12")
dddbc90c
RV
3654 (source
3655 (origin
3656 (method url-fetch)
3657 (uri (string-append
3658 "https://hackage.haskell.org/package/"
3659 "email-validate/email-validate-"
3660 version
3661 ".tar.gz"))
3662 (sha256
3663 (base32
a4fe1c64 3664 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3665 (build-system haskell-build-system)
3666 (inputs
3667 `(("ghc-attoparsec" ,ghc-attoparsec)
3668 ("ghc-hspec" ,ghc-hspec)
3669 ("ghc-quickcheck" ,ghc-quickcheck)
3670 ("ghc-doctest" ,ghc-doctest)))
3671 (home-page
3672 "https://github.com/Porges/email-validate-hs")
3673 (synopsis "Email address validator for Haskell")
3674 (description
3675 "This Haskell package provides a validator that can validate an email
3676address string against RFC 5322.")
3677 (license license:bsd-3)))
3678
3679(define-public ghc-enclosed-exceptions
3680 (package
3681 (name "ghc-enclosed-exceptions")
3682 (version "1.0.3")
3683 (source (origin
3684 (method url-fetch)
3685 (uri (string-append "https://hackage.haskell.org/package/"
3686 "enclosed-exceptions/enclosed-exceptions-"
3687 version ".tar.gz"))
3688 (sha256
3689 (base32
3690 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3691 (build-system haskell-build-system)
3692 ;; FIXME: one of the tests blocks forever:
3693 ;; "thread blocked indefinitely in an MVar operation"
3694 (arguments '(#:tests? #f))
3695 (inputs
3696 `(("ghc-lifted-base" ,ghc-lifted-base)
3697 ("ghc-monad-control" ,ghc-monad-control)
3698 ("ghc-async" ,ghc-async)
3699 ("ghc-transformers-base" ,ghc-transformers-base)))
3700 (native-inputs
3701 `(("ghc-hspec" ,ghc-hspec)
3702 ("ghc-quickcheck" ,ghc-quickcheck)))
3703 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3704 (synopsis "Catch all exceptions from within an enclosed computation")
3705 (description
3706 "This library implements a technique to catch all exceptions raised
3707within an enclosed computation, while remaining responsive to (external)
3708asynchronous exceptions.")
3709 (license license:expat)))
3710
3711(define-public ghc-equivalence
3712 (package
3713 (name "ghc-equivalence")
801cf5b1 3714 (version "0.3.5")
dddbc90c
RV
3715 (source
3716 (origin
3717 (method url-fetch)
3718 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3719 "/equivalence-" version ".tar.gz"))
3720 (sha256
801cf5b1 3721 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
dddbc90c
RV
3722 (build-system haskell-build-system)
3723 (inputs
3724 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3725 ("ghc-transformers-compat" ,ghc-transformers-compat)
801cf5b1
TS
3726 ("ghc-fail" ,ghc-fail)
3727 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
3728 (home-page "https://github.com/pa-ba/equivalence")
3729 (synopsis "Maintaining an equivalence relation implemented as union-find")
3730 (description
3731 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3732Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
373322(2), 1975) in order to maintain an equivalence relation. This
3734implementation is a port of the @code{union-find} package using the @code{ST}
3735monad transformer (instead of the IO monad).")
3736 (license license:bsd-3)))
3737
3738(define-public ghc-erf
3739 (package
3740 (name "ghc-erf")
3741 (version "2.0.0.0")
3742 (source
3743 (origin
3744 (method url-fetch)
3745 (uri (string-append "https://hackage.haskell.org/package/"
3746 "erf-" version "/"
3747 "erf-" version ".tar.gz"))
3748 (sha256
3749 (base32
3750 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3751 (build-system haskell-build-system)
3752 (home-page "https://hackage.haskell.org/package/erf")
3753 (synopsis "The error function, erf, and related functions for Haskell")
3754 (description "This Haskell library provides a type class for the
3755error function, erf, and related functions. Instances for Float and
3756Double.")
3757 (license license:bsd-3)))
3758
3759(define-public ghc-errorcall-eq-instance
3760 (package
3761 (name "ghc-errorcall-eq-instance")
3762 (version "0.3.0")
3763 (source
3764 (origin
3765 (method url-fetch)
3766 (uri (string-append "https://hackage.haskell.org/package/"
3767 "errorcall-eq-instance/errorcall-eq-instance-"
3768 version ".tar.gz"))
3769 (sha256
3770 (base32
3771 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3772 (build-system haskell-build-system)
3773 (inputs
3774 `(("ghc-base-orphans" ,ghc-base-orphans)))
3775 (native-inputs
3776 `(("ghc-quickcheck" ,ghc-quickcheck)
3777 ("ghc-hspec" ,ghc-hspec)
3778 ("hspec-discover" ,hspec-discover)))
3ef91e15 3779 (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
dddbc90c
RV
3780 (synopsis "Orphan Eq instance for ErrorCall")
3781 (description
3782 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3783This package provides an orphan instance.")
3784 (license license:expat)))
3785
3786(define-public ghc-errors
3787 (package
3788 (name "ghc-errors")
3789 (version "2.3.0")
3790 (source
3791 (origin
3792 (method url-fetch)
3793 (uri (string-append "https://hackage.haskell.org/package/"
3794 "errors-" version "/"
3795 "errors-" version ".tar.gz"))
3796 (sha256
3797 (base32
3798 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3799 (build-system haskell-build-system)
3800 (inputs
3801 `(("ghc-exceptions" ,ghc-exceptions)
3802 ("ghc-transformers-compat" ,ghc-transformers-compat)
3803 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3804 ("ghc-safe" ,ghc-safe)))
3805 (home-page "https://github.com/gabriel439/haskell-errors-library")
3806 (synopsis "Error handling library for Haskell")
3807 (description "This library encourages an error-handling style that
3808directly uses the type system, rather than out-of-band exceptions.")
3809 (license license:bsd-3)))
3810
3811(define-public ghc-esqueleto
2648b604
TS
3812 (package
3813 (name "ghc-esqueleto")
2f6ad77b 3814 (version "3.3.1.1")
2648b604
TS
3815 (source
3816 (origin
3817 (method url-fetch)
3818 (uri (string-append "https://hackage.haskell.org/package/"
3819 "esqueleto/esqueleto-" version ".tar.gz"))
3820 (sha256
3821 (base32
2f6ad77b 3822 "1qi28ma8j5kfygjxnixlazxsyrkdqv8ljz3icwqi5dlscsnj6v3v"))))
2648b604
TS
3823 (build-system haskell-build-system)
3824 (arguments
3825 `(#:haddock? #f ; Haddock reports an internal error.
3826 #:phases
3827 (modify-phases %standard-phases
3828 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3829 ;; SQLite backends. Since we only have Haskell packages for
3830 ;; SQLite, we remove the other two test suites. FIXME: Add the
3831 ;; other backends and run all three test suites.
3832 (add-before 'configure 'remove-non-sqlite-test-suites
3833 (lambda _
3834 (use-modules (ice-9 rdelim))
3835 (with-atomic-file-replacement "esqueleto.cabal"
3836 (lambda (in out)
3837 (let loop ((line (read-line in 'concat)) (deleting? #f))
3838 (cond
3839 ((eof-object? line) #t)
3840 ((string-every char-set:whitespace line)
3841 (unless deleting? (display line out))
3842 (loop (read-line in 'concat) #f))
3843 ((member line '("test-suite mysql\n"
3844 "test-suite postgresql\n"))
3845 (loop (read-line in 'concat) #t))
3846 (else
3847 (unless deleting? (display line out))
3848 (loop (read-line in 'concat) deleting?)))))))))))
3849 (inputs
3850 `(("ghc-blaze-html" ,ghc-blaze-html)
3851 ("ghc-conduit" ,ghc-conduit)
3852 ("ghc-monad-logger" ,ghc-monad-logger)
3853 ("ghc-persistent" ,ghc-persistent)
3854 ("ghc-resourcet" ,ghc-resourcet)
3855 ("ghc-tagged" ,ghc-tagged)
3856 ("ghc-unliftio" ,ghc-unliftio)
3857 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3858 (native-inputs
3859 `(("ghc-hspec" ,ghc-hspec)
3860 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3861 ("ghc-persistent-template" ,ghc-persistent-template)))
3862 (home-page "https://github.com/bitemyapp/esqueleto")
3863 (synopsis "Type-safe embedded domain specific language for SQL queries")
3864 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3865language (EDSL) for SQL queries that works with SQL backends as provided by
3866@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3867to learn new concepts, just new syntax, and it's fairly easy to predict the
3868generated SQL and optimize it for your backend.")
2648b604 3869 (license license:bsd-3)))
dddbc90c
RV
3870
3871(define-public ghc-exactprint
3872 (package
3873 (name "ghc-exactprint")
50614014 3874 (version "0.6.1")
dddbc90c
RV
3875 (source
3876 (origin
3877 (method url-fetch)
3878 (uri (string-append
3879 "https://hackage.haskell.org/package/"
3880 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3881 (sha256
3882 (base32
50614014 3883 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3884 (build-system haskell-build-system)
3885 (inputs
3886 `(("ghc-paths" ,ghc-paths)
3887 ("ghc-syb" ,ghc-syb)
3888 ("ghc-free" ,ghc-free)))
3889 (native-inputs
3890 `(("ghc-hunit" ,ghc-hunit)
3891 ("ghc-diff" ,ghc-diff)
3892 ("ghc-silently" ,ghc-silently)
3893 ("ghc-filemanip" ,ghc-filemanip)))
3894 (home-page
3ef91e15 3895 "https://hackage.haskell.org/package/ghc-exactprint")
dddbc90c
RV
3896 (synopsis "ExactPrint for GHC")
3897 (description
3898 "Using the API Annotations available from GHC 7.10.2, this library
3899provides a means to round-trip any code that can be compiled by GHC, currently
3900excluding @file{.lhs} files.")
3901 (license license:bsd-3)))
3902
3903(define-public ghc-exceptions
3904 (package
3905 (name "ghc-exceptions")
46d3e65b 3906 (version "0.10.3")
dddbc90c
RV
3907 (source
3908 (origin
3909 (method url-fetch)
3910 (uri (string-append
3911 "https://hackage.haskell.org/package/exceptions/exceptions-"
3912 version
3913 ".tar.gz"))
3914 (sha256
3915 (base32
46d3e65b 3916 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3917 (build-system haskell-build-system)
3918 (native-inputs
3919 `(("ghc-quickcheck" ,ghc-quickcheck)
3920 ("ghc-test-framework" ,ghc-test-framework)
3921 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3922 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3923 (inputs
3924 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3925 (home-page "https://github.com/ekmett/exceptions/")
3926 (synopsis "Extensible optionally-pure exceptions")
3927 (description "This library provides extensible optionally-pure exceptions
3928for Haskell.")
3929 (license license:bsd-3)))
3930
3931(define-public ghc-executable-path
3932 (package
3933 (name "ghc-executable-path")
3934 (version "0.0.3.1")
3935 (source (origin
3936 (method url-fetch)
3937 (uri (string-append "https://hackage.haskell.org/package/"
3938 "executable-path/executable-path-"
3939 version ".tar.gz"))
3940 (sha256
3941 (base32
3942 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3943 (build-system haskell-build-system)
3944 (home-page "https://hackage.haskell.org/package/executable-path")
3945 (synopsis "Find out the full path of the executable")
3946 (description
3947 "The documentation of @code{System.Environment.getProgName} says that
3948\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3949instead, for maximum portability, we just return the leafname of the program
3950as invoked.\" This library tries to provide the missing path.")
3951 (license license:public-domain)))
3952
3953(define-public ghc-extensible-exceptions
3954 (package
3955 (name "ghc-extensible-exceptions")
3956 (version "0.1.1.4")
3957 (source
3958 (origin
3959 (method url-fetch)
3960 (uri (string-append "https://hackage.haskell.org/package/"
3961 "extensible-exceptions/extensible-exceptions-"
3962 version ".tar.gz"))
3963 (sha256
3964 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3965 (build-system haskell-build-system)
3966 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3967 (synopsis "Extensible exceptions for Haskell")
3968 (description
3969 "This package provides extensible exceptions for both new and old
3970versions of GHC (i.e., < 6.10).")
3971 (license license:bsd-3)))
3972
3973(define-public ghc-extra
3974 (package
3975 (name "ghc-extra")
0cec5c4e 3976 (version "1.6.21")
dddbc90c
RV
3977 (source
3978 (origin
3979 (method url-fetch)
3980 (uri (string-append
3981 "https://hackage.haskell.org/package/extra/extra-"
3982 version
3983 ".tar.gz"))
3984 (sha256
3985 (base32
0cec5c4e 3986 "1gjx98w4w61g043k6rzc8i34cbxpcigi8lb6i7pp1vwp8w8jm5vl"))))
dddbc90c
RV
3987 (build-system haskell-build-system)
3988 (inputs
3989 `(("ghc-clock" ,ghc-clock)
10650c44 3990 ("ghc-semigroups" ,ghc-semigroups)
b431f6c9
ASM
3991 ("ghc-quickcheck" ,ghc-quickcheck)
3992 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
dddbc90c
RV
3993 (home-page "https://github.com/ndmitchell/extra")
3994 (synopsis "Extra Haskell functions")
3995 (description "This library provides extra functions for the standard
3996Haskell libraries. Most functions are simple additions, filling out missing
3997functionality. A few functions are available in later versions of GHC, but
3998this package makes them available back to GHC 7.2.")
3999 (license license:bsd-3)))
4000
4001(define-public ghc-fail
4002 (package
4003 (name "ghc-fail")
4004 (version "4.9.0.0")
4005 (source
4006 (origin
4007 (method url-fetch)
4008 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
4009 version ".tar.gz"))
4010 (sha256
4011 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
4012 (build-system haskell-build-system)
4013 (arguments `(#:haddock? #f)) ; Package contains no documentation.
4014 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
4015 (synopsis "Forward-compatible MonadFail class")
4016 (description
4017 "This package contains the @code{Control.Monad.Fail} module providing the
4018@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
4019class that became available in
4020@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
4021older @code{base} package versions. This package turns into an empty package
4022when used with GHC versions which already provide the
4023@code{Control.Monad.Fail} module.")
4024 (license license:bsd-3)))
4025
4026(define-public ghc-fast-logger
4027 (package
4028 (name "ghc-fast-logger")
d443a52a 4029 (version "2.4.17")
dddbc90c
RV
4030 (source
4031 (origin
4032 (method url-fetch)
4033 (uri (string-append
4034 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
4035 version
4036 ".tar.gz"))
4037 (sha256
4038 (base32
d443a52a 4039 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
4040 (build-system haskell-build-system)
4041 (inputs
4042 `(("ghc-auto-update" ,ghc-auto-update)
4043 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
4044 ("ghc-unix-time" ,ghc-unix-time)
4045 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
4046 (native-inputs
4047 `(("hspec-discover" ,hspec-discover)
4048 ("ghc-hspec" ,ghc-hspec)))
4049 (home-page "https://hackage.haskell.org/package/fast-logger")
4050 (synopsis "Fast logging system")
4051 (description "This library provides a fast logging system for Haskell.")
4052 (license license:bsd-3)))
4053
4054(define-public ghc-feed
4055 (package
4056 (name "ghc-feed")
a41c16dc 4057 (version "1.2.0.1")
dddbc90c
RV
4058 (source
4059 (origin
4060 (method url-fetch)
4061 (uri (string-append "https://hackage.haskell.org/package/"
4062 "feed/feed-" version ".tar.gz"))
4063 (sha256
4064 (base32
a41c16dc 4065 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 4066 (build-system haskell-build-system)
dddbc90c
RV
4067 (inputs
4068 `(("ghc-base-compat" ,ghc-base-compat)
4069 ("ghc-old-locale" ,ghc-old-locale)
4070 ("ghc-old-time" ,ghc-old-time)
4071 ("ghc-safe" ,ghc-safe)
4072 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
4073 ("ghc-utf8-string" ,ghc-utf8-string)
4074 ("ghc-xml-conduit" ,ghc-xml-conduit)
4075 ("ghc-xml-types" ,ghc-xml-types)))
4076 (native-inputs
4077 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 4078 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
4079 ("ghc-test-framework" ,ghc-test-framework)
4080 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4081 (home-page "https://github.com/bergmark/feed")
4082 (synopsis "Haskell package for handling various syndication formats")
4083 (description "This Haskell package includes tools for generating and
4084consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
4085 (license license:bsd-3)))
4086
4087(define-public ghc-fgl
4088 (package
4089 (name "ghc-fgl")
17482b26 4090 (version "5.7.0.1")
dddbc90c
RV
4091 (outputs '("out" "doc"))
4092 (source
4093 (origin
4094 (method url-fetch)
4095 (uri (string-append
4096 "https://hackage.haskell.org/package/fgl/fgl-"
4097 version
4098 ".tar.gz"))
4099 (sha256
4100 (base32
17482b26 4101 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
4102 (build-system haskell-build-system)
4103 (arguments
4104 `(#:phases
4105 (modify-phases %standard-phases
4106 (add-before 'configure 'update-constraints
4107 (lambda _
4108 (substitute* "fgl.cabal"
17482b26
TS
4109 (("QuickCheck >= 2\\.8 && < 2\\.13")
4110 "QuickCheck >= 2.8 && < 2.14")
4111 (("hspec >= 2\\.1 && < 2\\.7")
4112 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4113 (inputs
4114 `(("ghc-hspec" ,ghc-hspec)
4115 ("ghc-quickcheck" ,ghc-quickcheck)))
4116 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
4117 (synopsis
4118 "Martin Erwig's Functional Graph Library")
4119 (description "The functional graph library, FGL, is a collection of type
4120and function definitions to address graph problems. The basis of the library
4121is an inductive definition of graphs in the style of algebraic data types that
4122encourages inductive, recursive definitions of graph algorithms.")
4123 (license license:bsd-3)))
4124
4125(define-public ghc-fgl-arbitrary
4126 (package
4127 (name "ghc-fgl-arbitrary")
4128 (version "0.2.0.3")
4129 (source
4130 (origin
4131 (method url-fetch)
4132 (uri (string-append
4133 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
4134 version ".tar.gz"))
4135 (sha256
4136 (base32
4137 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
4138 (build-system haskell-build-system)
4139 (arguments
4140 `(#:phases
4141 (modify-phases %standard-phases
4142 (add-before 'configure 'update-constraints
4143 (lambda _
4144 (substitute* "fgl-arbitrary.cabal"
4145 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 4146 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 4147 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 4148 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4149 (inputs
4150 `(("ghc-fgl" ,ghc-fgl)
4151 ("ghc-quickcheck" ,ghc-quickcheck)
4152 ("ghc-hspec" ,ghc-hspec)))
4153 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
4154 (synopsis "QuickCheck support for fgl")
4155 (description
4156 "Provides Arbitrary instances for fgl graphs to avoid adding a
4157QuickCheck dependency for fgl whilst still making the instances
4158available to others. Also available are non-fgl-specific functions
4159for generating graph-like data structures.")
4160 (license license:bsd-3)))
4161
4162(define-public ghc-file-embed
4163 (package
4164 (name "ghc-file-embed")
b5920d50 4165 (version "0.0.11")
dddbc90c
RV
4166 (source
4167 (origin
4168 (method url-fetch)
4169 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
4170 "file-embed-" version ".tar.gz"))
4171 (sha256
4172 (base32
b5920d50 4173 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
4174 (build-system haskell-build-system)
4175 (home-page "https://github.com/snoyberg/file-embed")
4176 (synopsis "Use Template Haskell to embed file contents directly")
4177 (description
4178 "This package allows you to use Template Haskell to read a file or all
4179the files in a directory, and turn them into @code{(path, bytestring)} pairs
4180embedded in your Haskell code.")
4181 (license license:bsd-3)))
4182
4183(define-public ghc-filemanip
4184 (package
4185 (name "ghc-filemanip")
4186 (version "0.3.6.3")
4187 (source (origin
4188 (method url-fetch)
4189 (uri (string-append "https://hackage.haskell.org/package/"
4190 "filemanip/filemanip-" version ".tar.gz"))
4191 (sha256
4192 (base32
4193 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
4194 (build-system haskell-build-system)
4195 (inputs
4196 `(("ghc-unix-compat" ,ghc-unix-compat)))
4197 (home-page "https://github.com/bos/filemanip")
4198 (synopsis "File and directory manipulation for Haskell")
4199 (description
4200 "This package provides a Haskell library for working with files and
4201directories. It includes code for pattern matching, finding files, modifying
4202file contents, and more.")
4203 (license license:bsd-3)))
4204
bb62932a
KM
4205(define-public ghc-filepath-bytestring
4206 (package
4207 (name "ghc-filepath-bytestring")
4208 (version "1.4.2.1.1")
4209 (source
4210 (origin
4211 (method url-fetch)
4212 (uri (string-append
4213 "https://hackage.haskell.org/package/filepath-bytestring/"
4214 "filepath-bytestring-" version ".tar.gz"))
4215 (sha256
4216 (base32
4217 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4218 (build-system haskell-build-system)
4219 (native-inputs
4220 `(("ghc-quickcheck" ,ghc-quickcheck)))
3ef91e15 4221 (home-page "https://hackage.haskell.org/package/filepath-bytestring")
bb62932a
KM
4222 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4223 (description "This package provides a drop-in replacement for the standard
4224@code{filepath} library, operating on @code{RawFilePath} values rather than
4225@code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4226 (license license:bsd-3)))
4227
dddbc90c
RV
4228(define-public ghc-findbin
4229 (package
4230 (name "ghc-findbin")
4231 (version "0.0.5")
4232 (source
4233 (origin
4234 (method url-fetch)
4235 (uri (string-append
4236 "https://hackage.haskell.org/package/FindBin/FindBin-"
4237 version ".tar.gz"))
4238 (sha256
4239 (base32
4240 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4241 (build-system haskell-build-system)
4242 (home-page "https://github.com/audreyt/findbin")
4243 (synopsis "Get the absolute path of the running program")
4244 (description
4245 "This module locates the full directory of the running program, to allow
4246the use of paths relative to it. FindBin supports invocation of Haskell
4247programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4248an executable.")
4249 (license license:bsd-3)))
4250
4251(define-public ghc-fingertree
4252 (package
4253 (name "ghc-fingertree")
aac14fdc 4254 (version "0.1.4.2")
dddbc90c
RV
4255 (source
4256 (origin
4257 (method url-fetch)
4258 (uri (string-append
4259 "https://hackage.haskell.org/package/fingertree/fingertree-"
4260 version ".tar.gz"))
4261 (sha256
4262 (base32
aac14fdc 4263 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
4264 (build-system haskell-build-system)
4265 (native-inputs
4266 `(("ghc-hunit" ,ghc-hunit)
4267 ("ghc-quickcheck" ,ghc-quickcheck)
4268 ("ghc-test-framework" ,ghc-test-framework)
4269 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4270 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4271 (home-page "https://hackage.haskell.org/package/fingertree")
4272 (synopsis "Generic finger-tree structure")
4273 (description "This library provides finger trees, a general sequence
4274representation with arbitrary annotations, for use as a base for
4275implementations of various collection types. It includes examples, as
4276described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4277simple general-purpose data structure\".")
4278 (license license:bsd-3)))
4279
4280(define-public ghc-fixed
4281 (package
4282 (name "ghc-fixed")
099dda5b 4283 (version "0.3")
dddbc90c
RV
4284 (source
4285 (origin
4286 (method url-fetch)
4287 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4288 version ".tar.gz"))
4289 (sha256
4290 (base32
099dda5b 4291 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
4292 (build-system haskell-build-system)
4293 (home-page "https://github.com/ekmett/fixed")
4294 (synopsis "Signed 15.16 precision fixed point arithmetic")
4295 (description
4296 "This package provides functions for signed 15.16 precision fixed point
4297arithmetic.")
4298 (license license:bsd-3)))
4299
f169f713
JS
4300(define-public ghc-fmlist
4301 (package
4302 (name "ghc-fmlist")
fe9b83a6 4303 (version "0.9.3")
f169f713
JS
4304 (source
4305 (origin
4306 (method url-fetch)
4307 (uri
4308 (string-append
4309 "https://hackage.haskell.org/package/fmlist/fmlist-"
4310 version ".tar.gz"))
4311 (sha256
4312 (base32
fe9b83a6 4313 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
4314 (build-system haskell-build-system)
4315 (home-page "https://github.com/sjoerdvisscher/fmlist")
4316 (synopsis "FoldMap lists")
4317 (description "FoldMap lists are lists represented by their
4318@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4319append, just like DLists, but other operations might have favorable
4320performance characteristics as well. These wild claims are still
4321completely unverified though.")
4322 (license license:bsd-3)))
4323
dddbc90c
RV
4324(define-public ghc-foldl
4325 (package
4326 (name "ghc-foldl")
26c4104f 4327 (version "1.4.5")
dddbc90c
RV
4328 (source
4329 (origin
4330 (method url-fetch)
4331 (uri (string-append "https://hackage.haskell.org/package/"
4332 "foldl-" version "/"
4333 "foldl-" version ".tar.gz"))
4334 (sha256
4335 (base32
26c4104f 4336 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
4337 (build-system haskell-build-system)
4338 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4339 ("ghc-primitive" ,ghc-primitive)
4340 ("ghc-vector" ,ghc-vector)
4341 ("ghc-unordered-containers" ,ghc-unordered-containers)
4342 ("ghc-hashable" ,ghc-hashable)
4343 ("ghc-contravariant" ,ghc-contravariant)
4344 ("ghc-semigroups" ,ghc-semigroups)
4345 ("ghc-profunctors" ,ghc-profunctors)
4346 ("ghc-semigroupoids" ,ghc-semigroupoids)
4347 ("ghc-comonad" ,ghc-comonad)
4348 ("ghc-vector-builder" ,ghc-vector-builder)))
4349 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4350 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4351 (description "This Haskell library provides strict left folds that stream
4352in constant memory, and you can combine folds using @code{Applicative} style
4353to derive new folds. Derived folds still traverse the container just once
4354and are often as efficient as hand-written folds.")
4355 (license license:bsd-3)))
4356
4357(define-public ghc-foundation
4358 (package
4359 (name "ghc-foundation")
0a702df9 4360 (version "0.0.25")
dddbc90c
RV
4361 (source
4362 (origin
4363 (method url-fetch)
4364 (uri (string-append "https://hackage.haskell.org/package/"
4365 "foundation/foundation-" version ".tar.gz"))
4366 (sha256
4367 (base32
0a702df9 4368 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c 4369 (build-system haskell-build-system)
59cd7518
TS
4370 (arguments
4371 `(#:phases
4372 (modify-phases %standard-phases
4373 ;; This test is broken. For details, see
4374 ;; https://github.com/haskell-foundation/foundation/issues/530
4375 (add-after 'unpack 'patch-tests
4376 (lambda _
4377 (substitute* "tests/Test/Foundation/Number.hs"
4378 ((", testDividible proxy") ""))
4379 #t)))))
dddbc90c
RV
4380 (inputs `(("ghc-basement" ,ghc-basement)))
4381 (home-page "https://github.com/haskell-foundation/foundation")
4382 (synopsis "Alternative prelude with batteries and no dependencies")
4383 (description
4384 "This package provides a custom prelude with no dependencies apart from
4385the base package.
4386
4387Foundation has the following goals:
4388
4389@enumerate
4390@item provide a base like sets of modules that provide a consistent set of
4391 features and bugfixes across multiple versions of GHC (unlike base).
4392@item provide a better and more efficient prelude than base's prelude.
4393@item be self-sufficient: no external dependencies apart from base;
4394@item provide better data-types: packed unicode string by default, arrays;
4395@item Numerical classes that better represent mathematical things (no more
4396 all-in-one @code{Num});
4397@item I/O system with less lazy IO.
4398@end enumerate\n")
4399 (license license:bsd-3)))
4400
4401(define-public ghc-free
4402 (package
4403 (name "ghc-free")
4081565d 4404 (version "5.1.2")
dddbc90c
RV
4405 (source
4406 (origin
4407 (method url-fetch)
4408 (uri (string-append
4409 "https://hackage.haskell.org/package/free/free-"
4410 version
4411 ".tar.gz"))
4412 (sha256
4413 (base32
4081565d 4414 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
4415 (build-system haskell-build-system)
4416 (inputs
4417 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4418 ("ghc-profunctors" ,ghc-profunctors)
4419 ("ghc-exceptions" ,ghc-exceptions)
4420 ("ghc-bifunctors" ,ghc-bifunctors)
4421 ("ghc-comonad" ,ghc-comonad)
4422 ("ghc-distributive" ,ghc-distributive)
4423 ("ghc-semigroupoids" ,ghc-semigroupoids)
4424 ("ghc-semigroups" ,ghc-semigroups)
4425 ("ghc-transformers-base" ,ghc-transformers-base)
4426 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4427 (home-page "https://github.com/ekmett/free/")
4428 (synopsis "Unrestricted monads for Haskell")
4429 (description "This library provides free monads, which are useful for many
4430tree-like structures and domain specific languages. If @code{f} is a
4431@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4432whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4433is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4434f} makes no constraining assumptions beyond those given by @code{f} and the
4435definition of @code{Monad}.")
4436 (license license:bsd-3)))
4437
4438(define-public ghc-fsnotify
4439 (package
4440 (name "ghc-fsnotify")
4441 (version "0.3.0.1")
4442 (source (origin
4443 (method url-fetch)
4444 (uri (string-append
4445 "https://hackage.haskell.org/package/fsnotify/"
4446 "fsnotify-" version ".tar.gz"))
4447 (sha256
4448 (base32
4449 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4450 (build-system haskell-build-system)
4451 (inputs
4452 `(("ghc-async" ,ghc-async)
4453 ("ghc-unix-compat" ,ghc-unix-compat)
4454 ("ghc-hinotify" ,ghc-hinotify)
4455 ("ghc-tasty" ,ghc-tasty)
4456 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4457 ("ghc-random" ,ghc-random)
4458 ("ghc-shelly" ,ghc-shelly)
4459 ("ghc-temporary" ,ghc-temporary)))
4460 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4461 (synopsis "Cross platform library for file change notification.")
4462 (description "Cross platform library for file creation, modification, and
4463deletion notification. This library builds upon existing libraries for platform
4464specific Windows, Mac, and Linux file system event notification.")
4465 (license license:bsd-3)))
4466
4467(define-public ghc-generic-deriving
4468 (package
4469 (name "ghc-generic-deriving")
55c1e6be 4470 (version "1.12.4")
dddbc90c
RV
4471 (source
4472 (origin
4473 (method url-fetch)
4474 (uri (string-append
4475 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4476 version
4477 ".tar.gz"))
4478 (sha256
4479 (base32
55c1e6be 4480 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
4481 (build-system haskell-build-system)
4482 (inputs
4483 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4484 (native-inputs
4485 `(("ghc-hspec" ,ghc-hspec)
4486 ("hspec-discover" ,hspec-discover)))
4487 (home-page "https://hackage.haskell.org/package/generic-deriving")
4488 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4489 (description "This package provides functionality for generalising the
4490deriving mechanism in Haskell to arbitrary classes.")
4491 (license license:bsd-3)))
4492
89e9082e
JS
4493(define-public ghc-generic-random
4494 (package
4495 (name "ghc-generic-random")
4496 (version "1.2.0.0")
4497 (source
4498 (origin
4499 (method url-fetch)
4500 (uri (string-append
4501 "https://hackage.haskell.org/package/generic-random/"
4502 "generic-random-" version ".tar.gz"))
4503 (sha256
4504 (base32 "130lmblycxnpqbsl7vf6a90zccibnvcb5zaclfajcn3by39007lv"))))
4505 (build-system haskell-build-system)
4506 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
4507 (native-inputs
4508 `(("ghc-inspection-testing" ,ghc-inspection-testing)))
4509 (arguments
4510 `(#:cabal-revision
4511 ("1" "1d0hx41r7yq2a86ydnfh2fv540ah8cz05l071s2z4wxcjw0ymyn4")))
4512 (home-page
4513 "https://github.com/lysxia/generic-random")
4514 (synopsis
4515 "Generic random generators for QuickCheck")
4516 (description
4517 "Derive instances of @code{Arbitrary} for QuickCheck, with various options
4518to customize implementations.
4519
4520Automating the arbitrary boilerplate also ensures that when a type changes to
4521have more or fewer constructors, then the generator either fixes itself to
4522generate that new case (when using the uniform distribution) or causes a
4523compilation error so you remember to fix it (when using an explicit
4524distribution).
4525
4526This package also offers a simple (optional) strategy to ensure termination
4527for recursive types: make @code{Test.QuickCheck.Gen}'s size parameter decrease
4528at every recursive call; when it reaches zero, sample directly from a
4529trivially terminating generator given explicitly (@code{genericArbitraryRec}
4530and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).")
4531 (license license:expat)))
4532
23e4b264
JS
4533(define-public ghc-generic-random-1.3.0.1
4534 (package
4535 (inherit ghc-generic-random)
4536 (version "1.3.0.1")
4537 (source
4538 (origin
4539 (method url-fetch)
4540 (uri (string-append
4541 "https://hackage.haskell.org/package/generic-random/"
4542 "generic-random-" version ".tar.gz"))
4543 (sha256
4544 (base32 "0d9w7xcmsb31b95fr9d5jwbsajcl1yi4347dlbw4bybil2vjwd7k"))))
4545 (arguments '())))
4546
dddbc90c
RV
4547(define-public ghc-generics-sop
4548 (package
4549 (name "ghc-generics-sop")
3ed40e10 4550 (version "0.4.0.1")
dddbc90c
RV
4551 (source
4552 (origin
4553 (method url-fetch)
4554 (uri (string-append "https://hackage.haskell.org/package/"
4555 "generics-sop-" version "/"
4556 "generics-sop-" version ".tar.gz"))
4557 (sha256
4558 (base32
3ed40e10 4559 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 4560 (build-system haskell-build-system)
3ed40e10
TS
4561 (inputs
4562 `(("ghc-sop-core" ,ghc-sop-core)
4563 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4564 (home-page "https://github.com/well-typed/generics-sop")
4565 (synopsis "Generic Programming using True Sums of Products for Haskell")
4566 (description "This Haskell package supports the definition of generic
4567functions. Datatypes are viewed in a uniform, structured way: the choice
4568between constructors is represented using an n-ary sum, and the arguments of
4569each constructor are represented using an n-ary product.")
4570 (license license:bsd-3)))
4571
4572(define-public ghc-geniplate-mirror
4573 (package
4574 (name "ghc-geniplate-mirror")
4575 (version "0.7.6")
4576 (source
4577 (origin
4578 (method url-fetch)
4579 (uri (string-append "https://hackage.haskell.org/package"
4580 "/geniplate-mirror"
4581 "/geniplate-mirror-" version ".tar.gz"))
4582 (sha256
4583 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4584 (build-system haskell-build-system)
74a7dd7f
TS
4585 (arguments
4586 `(#:cabal-revision
4587 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4588 (home-page "https://github.com/danr/geniplate")
4589 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4590 (description
4591 "Use Template Haskell to generate Uniplate-like functions. This is a
4592maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4593geniplate} package, written by Lennart Augustsson.")
4594 (license license:bsd-3)))
4595
4596(define-public ghc-genvalidity
4597 (package
4598 (name "ghc-genvalidity")
920f44a1 4599 (version "0.8.0.0")
dddbc90c
RV
4600 (source
4601 (origin
4602 (method url-fetch)
4603 (uri (string-append
4604 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4605 version
4606 ".tar.gz"))
4607 (sha256
4608 (base32
920f44a1 4609 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4610 (build-system haskell-build-system)
4611 (inputs
4612 `(("ghc-quickcheck" ,ghc-quickcheck)
4613 ("ghc-validity" ,ghc-validity)))
4614 (native-inputs
4615 `(("ghc-hspec" ,ghc-hspec)
4616 ("hspec-discover" ,hspec-discover)
4617 ("ghc-hspec-core" ,ghc-hspec-core)))
4618 (home-page
4619 "https://github.com/NorfairKing/validity")
4620 (synopsis
4621 "Testing utilities for the @code{validity} library")
4622 (description
4623 "This package provides testing utilities that are useful in conjunction
4624with the @code{Validity} typeclass.")
4625 (license license:expat)))
4626
4627(define-public ghc-genvalidity-property
4628 (package
4629 (name "ghc-genvalidity-property")
e4ede35b 4630 (version "0.4.0.0")
dddbc90c
RV
4631 (source
4632 (origin
4633 (method url-fetch)
4634 (uri (string-append
4635 "https://hackage.haskell.org/package/"
4636 "genvalidity-property/genvalidity-property-"
4637 version
4638 ".tar.gz"))
4639 (sha256
4640 (base32
e4ede35b 4641 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4642 (build-system haskell-build-system)
4643 (inputs
4644 `(("ghc-quickcheck" ,ghc-quickcheck)
4645 ("ghc-genvalidity" ,ghc-genvalidity)
4646 ("ghc-hspec" ,ghc-hspec)
4647 ("hspec-discover" ,hspec-discover)
4648 ("ghc-validity" ,ghc-validity)))
4649 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4650 (home-page
4651 "https://github.com/NorfairKing/validity")
4652 (synopsis
4653 "Standard properties for functions on @code{Validity} types")
4654 (description
4655 "This package supplements the @code{Validity} typeclass with standard
4656properties for functions operating on them.")
4657 (license license:expat)))
4658
e71fb573
TS
4659(define-public ghc-getopt-generics
4660 (package
4661 (name "ghc-getopt-generics")
4662 (version "0.13.0.4")
4663 (source
4664 (origin
4665 (method url-fetch)
4666 (uri (string-append "https://hackage.haskell.org/package/"
4667 "getopt-generics/getopt-generics-"
4668 version ".tar.gz"))
4669 (sha256
4670 (base32
4671 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4672 (build-system haskell-build-system)
4673 (inputs
4674 `(("ghc-base-compat" ,ghc-base-compat)
4675 ("ghc-base-orphans" ,ghc-base-orphans)
4676 ("ghc-generics-sop" ,ghc-generics-sop)
4677 ("ghc-tagged" ,ghc-tagged)))
4678 (native-inputs
4679 `(("ghc-quickcheck" ,ghc-quickcheck)
4680 ("ghc-hspec" ,ghc-hspec)
4681 ("ghc-safe" ,ghc-safe)
4682 ("ghc-silently" ,ghc-silently)
4683 ("hspec-discover" ,hspec-discover)))
4684 (home-page "https://github.com/soenkehahn/getopt-generics")
4685 (synopsis "Create command line interfaces with ease")
4686 (description "This library provides tools to create command line
4687interfaces with ease.")
4688 (license license:bsd-3)))
4689
dddbc90c
RV
4690(define-public ghc-gitrev
4691 (package
4692 (name "ghc-gitrev")
4693 (version "1.3.1")
4694 (source
4695 (origin
4696 (method url-fetch)
4697 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4698 version ".tar.gz"))
4699 (sha256
4700 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4701 (build-system haskell-build-system)
4702 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4703 (home-page "https://github.com/acfoltzer/gitrev")
4704 (synopsis "Compile git revision info into Haskell projects")
4705 (description
4706 "This package provides some handy Template Haskell splices for including
4707the current git hash and branch in the code of your project. This is useful
4708for including in panic messages, @command{--version} output, or diagnostic
4709info for more informative bug reports.")
4710 (license license:bsd-3)))
4711
4712(define-public ghc-glob
4713 (package
4714 (name "ghc-glob")
b900f486 4715 (version "0.10.0")
dddbc90c
RV
4716 (source
4717 (origin
4718 (method url-fetch)
4719 (uri (string-append "https://hackage.haskell.org/package/"
4720 "Glob-" version "/"
4721 "Glob-" version ".tar.gz"))
4722 (sha256
4723 (base32
b900f486 4724 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4725 (build-system haskell-build-system)
4726 (inputs
4727 `(("ghc-dlist" ,ghc-dlist)
4728 ("ghc-semigroups" ,ghc-semigroups)
4729 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4730 (native-inputs
4731 `(("ghc-hunit" ,ghc-hunit)
4732 ("ghc-quickcheck" ,ghc-quickcheck)
4733 ("ghc-test-framework" ,ghc-test-framework)
4734 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4735 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4736 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4737 (synopsis "Haskell library matching glob patterns against file paths")
4738 (description "This package provides a Haskell library for @dfn{globbing}:
4739matching patterns against file paths.")
4740 (license license:bsd-3)))
4741
4742(define-public ghc-gluraw
4743 (package
4744 (name "ghc-gluraw")
4745 (version "2.0.0.4")
4746 (source
4747 (origin
4748 (method url-fetch)
4749 (uri (string-append
4750 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4751 version
4752 ".tar.gz"))
4753 (sha256
4754 (base32
4755 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4756 (build-system haskell-build-system)
4757 (inputs
4758 `(("ghc-openglraw" ,ghc-openglraw)))
228d2901 4759 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
4760 (synopsis "Raw Haskell bindings GLU")
4761 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4762utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4763basis for a nicer interface.")
4764 (license license:bsd-3)))
4765
4766(define-public ghc-glut
4767 (package
4768 (name "ghc-glut")
8284bd09 4769 (version "2.7.0.15")
dddbc90c
RV
4770 (source
4771 (origin
4772 (method url-fetch)
4773 (uri (string-append
4774 "https://hackage.haskell.org/package/GLUT/GLUT-"
4775 version
4776 ".tar.gz"))
4777 (sha256
4778 (base32
8284bd09 4779 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4780 (build-system haskell-build-system)
4781 (inputs
4782 `(("ghc-statevar" ,ghc-statevar)
4783 ("ghc-opengl" ,ghc-opengl)
4784 ("ghc-openglraw" ,ghc-openglraw)
4785 ("freeglut" ,freeglut)))
228d2901 4786 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
4787 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4788 (description "This library provides Haskell bindings for the OpenGL
4789Utility Toolkit, a window system-independent toolkit for writing OpenGL
4790programs.")
4791 (license license:bsd-3)))
4792
4793(define-public ghc-gnuplot
4794 (package
4795 (name "ghc-gnuplot")
d34860c7 4796 (version "0.5.6")
dddbc90c
RV
4797 (source
4798 (origin
4799 (method url-fetch)
4800 (uri (string-append
4801 "mirror://hackage/package/gnuplot/gnuplot-"
4802 version ".tar.gz"))
4803 (sha256
d34860c7 4804 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4805 (build-system haskell-build-system)
4806 (inputs
4807 `(("ghc-temporary" ,ghc-temporary)
4808 ("ghc-utility-ht" ,ghc-utility-ht)
4809 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4810 ("ghc-data-accessor" ,ghc-data-accessor)
4811 ("ghc-semigroups" ,ghc-semigroups)
4812 ("gnuplot" ,gnuplot)))
4813 (arguments
4814 `(#:phases
4815 (modify-phases %standard-phases
4816 (add-before 'configure 'fix-path-to-gnuplot
4817 (lambda* (#:key inputs #:allow-other-keys)
4818 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4819 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4820 (("(gnuplotName = ).*$" all cmd)
4821 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
228d2901 4822 (home-page "https://wiki.haskell.org/Gnuplot")
dddbc90c
RV
4823 (synopsis "2D and 3D plots using gnuplot")
4824 (description "This package provides a Haskell module for creating 2D and
48253D plots using gnuplot.")
4826 (license license:bsd-3)))
4827
4828(define-public ghc-graphviz
4829 (package
4830 (name "ghc-graphviz")
c264bd42 4831 (version "2999.20.0.3")
dddbc90c
RV
4832 (source (origin
4833 (method url-fetch)
4834 (uri (string-append "https://hackage.haskell.org/package/"
4835 "graphviz/graphviz-" version ".tar.gz"))
4836 (sha256
4837 (base32
c264bd42 4838 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4839 (build-system haskell-build-system)
c264bd42
TS
4840 (arguments
4841 `(#:phases
4842 (modify-phases %standard-phases
4843 (add-before 'configure 'update-constraints
4844 (lambda _
4845 (substitute* "graphviz.cabal"
4846 (("QuickCheck >= 2\\.3 && < 2\\.13")
4847 "QuickCheck >= 2.3 && < 2.14")
4848 (("hspec >= 2\\.1 && < 2\\.7")
4849 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4850 (inputs
4851 `(("ghc-quickcheck" ,ghc-quickcheck)
4852 ("ghc-colour" ,ghc-colour)
4853 ("ghc-dlist" ,ghc-dlist)
4854 ("ghc-fgl" ,ghc-fgl)
4855 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4856 ("ghc-polyparse" ,ghc-polyparse)
4857 ("ghc-temporary" ,ghc-temporary)
4858 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4859 (native-inputs
4860 `(("ghc-hspec" ,ghc-hspec)
4861 ("graphviz" ,graphviz)
4862 ("hspec-discover" ,hspec-discover)))
4863 (home-page "https://hackage.haskell.org/package/graphviz")
4864 (synopsis "Bindings to Graphviz for graph visualisation")
4865 (description
4866 "This library provides bindings for the Dot language used by
4867the @uref{https://graphviz.org/, Graphviz} suite of programs for
4868visualising graphs, as well as functions to call those programs.
4869Main features of the graphviz library include:
4870
4871@enumerate
4872@item Almost complete coverage of all Graphviz attributes and syntax
4873@item Support for specifying clusters
4874@item The ability to use a custom node type
4875@item Functions for running a Graphviz layout tool with all specified output types
4876@item Generate and parse Dot code with two options: strict and liberal
4877@item Functions to convert FGL graphs and other graph-like data structures
4878@item Round-trip support for passing an FGL graph through Graphviz to augment node
4879and edge labels with positional information, etc.
4880@end enumerate\n")
4881 (license license:bsd-3)))
4882
f3e18645
TS
4883(define-public ghc-groups
4884 (package
4885 (name "ghc-groups")
4886 (version "0.4.1.0")
4887 (source
4888 (origin
4889 (method url-fetch)
4890 (uri (string-append "https://hackage.haskell.org/package/"
4891 "groups/groups-" version ".tar.gz"))
4892 (sha256
4893 (base32
4894 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4895 (build-system haskell-build-system)
4896 (home-page "https://hackage.haskell.org/package/groups")
4897 (synopsis "Haskell 98 groups")
4898 (description "This package provides Haskell 98 groups. A group is a
4899monoid with invertibility.")
4900 (license license:bsd-3)))
4901
dddbc90c
RV
4902(define-public ghc-gtk2hs-buildtools
4903 (package
4904 (name "ghc-gtk2hs-buildtools")
b79b43d4 4905 (version "0.13.5.4")
dddbc90c
RV
4906 (source
4907 (origin
4908 (method url-fetch)
4909 (uri (string-append "https://hackage.haskell.org/package/"
4910 "gtk2hs-buildtools/gtk2hs-buildtools-"
4911 version ".tar.gz"))
4912 (sha256
4913 (base32
b79b43d4 4914 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4915 (build-system haskell-build-system)
4916 (inputs
4917 `(("ghc-random" ,ghc-random)
4918 ("ghc-hashtables" ,ghc-hashtables)))
4919 (native-inputs
4920 `(("ghc-alex" ,ghc-alex)
4921 ("ghc-happy" ,ghc-happy)))
4922 (home-page "http://projects.haskell.org/gtk2hs/")
4923 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4924 (description
4925 "This package provides a set of helper programs necessary to build the
4926Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4927that is used to generate FFI declarations, a tool to build a type hierarchy
4928that mirrors the C type hierarchy of GObjects found in glib, and a generator
4929for signal declarations that are used to call back from C to Haskell. These
4930tools are not needed to actually run Gtk2Hs programs.")
4931 (license license:gpl2)))
4932
4933(define-public ghc-hackage-security
4934 (package
4935 (name "ghc-hackage-security")
4936 (version "0.5.3.0")
4937 (source
4938 (origin
4939 (method url-fetch)
4940 (uri (string-append "https://hackage.haskell.org/package/"
4941 "hackage-security/hackage-security-"
4942 version ".tar.gz"))
4943 (sha256
4944 (base32
4945 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4946 (build-system haskell-build-system)
4947 (arguments
034380f3
TS
4948 `(#:cabal-revision
4949 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4950 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4951 (inputs
4952 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4953 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4954 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4955 ("ghc-ed25519" ,ghc-ed25519)
4956 ("ghc-network" ,ghc-network)
4957 ("ghc-network-uri" ,ghc-network-uri)
4958 ("ghc-tar" ,ghc-tar)
4959 ("ghc-zlib" ,ghc-zlib)))
4960 (native-inputs
4961 `(("ghc-network-uri" ,ghc-network-uri)
4962 ("ghc-quickcheck" ,ghc-quickcheck)
4963 ("ghc-tar" ,ghc-tar)
4964 ("ghc-tasty" ,ghc-tasty)
4965 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4966 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4967 ("ghc-temporary" ,ghc-temporary)
4968 ("ghc-zlib" ,ghc-zlib)))
4969 (home-page "https://github.com/haskell/hackage-security")
4970 (synopsis "Hackage security library")
4971 (description "This Hackage security library provides both server and
4972client utilities for securing @uref{http://hackage.haskell.org/, the
4973Hackage package server}. It is based on
4974@uref{http://theupdateframework.com/, The Update Framework}, a set of
4975recommendations developed by security researchers at various universities
4976in the US as well as developers on the @uref{https://www.torproject.org/,
4977Tor project}.")
4978 (license license:bsd-3)))
4979
4980(define-public ghc-haddock
4981 (package
4982 (name "ghc-haddock")
b0d34d23 4983 (version "2.22.0")
dddbc90c
RV
4984 (source
4985 (origin
4986 (method url-fetch)
4987 (uri (string-append
4988 "https://hackage.haskell.org/package/haddock/haddock-"
4989 version
4990 ".tar.gz"))
4991 (sha256
4992 (base32
b0d34d23 4993 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
dddbc90c
RV
4994 (build-system haskell-build-system)
4995 (arguments
4996 `(#:phases
4997 (modify-phases %standard-phases
b0d34d23
TS
4998 ;; The release tarball for 2.22.0 is missing the test data for
4999 ;; the Hoogle test, causing it to fail. This is fixed in the
5000 ;; next release, but for now we disable it.
5001 (add-before 'configure 'remove-hoogle-test
dddbc90c
RV
5002 (lambda _
5003 (use-modules (ice-9 rdelim))
5004 (with-atomic-file-replacement "haddock.cabal"
5005 (lambda (in out)
5006 (let loop ((line (read-line in 'concat)) (deleting? #f))
5007 (cond
5008 ((eof-object? line) #t)
5009 ((string-every char-set:whitespace line)
5010 (unless deleting? (display line out))
5011 (loop (read-line in 'concat) #f))
b0d34d23 5012 ((string=? line "test-suite hoogle-test\n")
dddbc90c
RV
5013 (loop (read-line in 'concat) #t))
5014 (else
5015 (unless deleting? (display line out))
b0d34d23
TS
5016 (loop (read-line in 'concat) deleting?))))))))
5017 (add-before 'check 'add-haddock-to-path
5018 (lambda _
5019 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
5020 ":" (getenv "PATH")))
5021 #t)))))
dddbc90c
RV
5022 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
5023 (native-inputs
b0d34d23
TS
5024 `(("ghc-haddock-test" ,ghc-haddock-test)
5025 ("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
5026 (home-page "https://www.haskell.org/haddock/")
5027 (synopsis
5028 "Documentation-generation tool for Haskell libraries")
5029 (description
5030 "Haddock is a documentation-generation tool for Haskell libraries.")
5031 (license license:bsd-3)))
5032
5033(define-public ghc-haddock-api
5034 (package
5035 (name "ghc-haddock-api")
1b84d8ef 5036 (version "2.22.0")
dddbc90c
RV
5037 (source
5038 (origin
5039 (method url-fetch)
5040 (uri (string-append
5041 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
5042 version
5043 ".tar.gz"))
1b84d8ef 5044 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
dddbc90c
RV
5045 (sha256
5046 (base32
1b84d8ef 5047 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
dddbc90c
RV
5048 (build-system haskell-build-system)
5049 (arguments
5050 `(#:phases
5051 (modify-phases %standard-phases
5052 (add-before 'configure 'update-constraints
5053 (lambda _
5054 (substitute* "haddock-api.cabal"
1b84d8ef
TS
5055 (("QuickCheck \\^>= 2\\.11")
5056 "QuickCheck ^>= 2.13")
5057 (("hspec >= 2\\.4\\.4 && < 2\\.6")
5058 "hspec >= 2.4.4 && < 2.8")))))))
dddbc90c
RV
5059 (inputs
5060 `(("ghc-paths" ,ghc-paths)
5061 ("ghc-haddock-library" ,ghc-haddock-library)))
5062 (native-inputs
5063 `(("ghc-quickcheck" ,ghc-quickcheck)
5064 ("ghc-hspec" ,ghc-hspec)
5065 ("hspec-discover" ,hspec-discover)))
5066 (home-page "https://www.haskell.org/haddock/")
5067 (synopsis "API for documentation-generation tool Haddock")
5068 (description "This package provides an API to Haddock, the
5069documentation-generation tool for Haskell libraries.")
5070 (license license:bsd-3)))
5071
5072(define-public ghc-haddock-library
5073 (package
5074 (name "ghc-haddock-library")
10707d57 5075 (version "1.7.0")
dddbc90c
RV
5076 (source
5077 (origin
5078 (method url-fetch)
5079 (uri (string-append
5080 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
5081 version
5082 ".tar.gz"))
5083 (sha256
5084 (base32
10707d57 5085 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
5086 (build-system haskell-build-system)
5087 (arguments
5088 `(#:phases
5089 (modify-phases %standard-phases
10707d57
TS
5090 ;; Since there is no revised Cabal file upstream, we have to
5091 ;; patch it manually.
dddbc90c
RV
5092 (add-before 'configure 'relax-test-suite-dependencies
5093 (lambda _
5094 (substitute* "haddock-library.cabal"
10707d57
TS
5095 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
5096 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
5097 #t)))))
5098 (native-inputs
5099 `(("ghc-base-compat" ,ghc-base-compat)
5100 ("ghc-hspec" ,ghc-hspec)
5101 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
5102 ("ghc-quickcheck" ,ghc-quickcheck)
5103 ("ghc-tree-diff" ,ghc-tree-diff)
5104 ("hspec-discover" ,hspec-discover)))
5105 (home-page "https://www.haskell.org/haddock/")
5106 (synopsis "Library exposing some functionality of Haddock")
5107 (description
5108 "Haddock is a documentation-generation tool for Haskell libraries. These
5109modules expose some functionality of it without pulling in the GHC dependency.
5110Please note that the API is likely to change so specify upper bounds in your
5111project if you can't release often. For interacting with Haddock itself, see
5112the ‘haddock’ package.")
5113 (license license:bsd-3)))
5114
b0d34d23
TS
5115;; This package is needed for testing 'ghc-haddock'. It is no longer
5116;; published to Hackage, but it is maintained in the Haddock Git
5117;; repository.
5118(define ghc-haddock-test
5119 (package
5120 (name "ghc-haddock-test")
5121 (version "2.22.0")
5122 (source
5123 (origin
5124 (method git-fetch)
5125 (uri (git-reference
b0e7b699 5126 (url "https://github.com/haskell/haddock")
b0d34d23
TS
5127 (commit (string-append "haddock-" version "-release"))))
5128 (file-name (git-file-name name version))
5129 (sha256
5130 (base32
5131 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
5132 (build-system haskell-build-system)
5133 (arguments
5134 `(#:phases
5135 (modify-phases %standard-phases
5136 (add-after 'unpack 'change-directory
5137 (lambda _
5138 (chdir "haddock-test"))))))
5139 (inputs
5140 `(("ghc-syb" ,ghc-syb)
5141 ("ghc-xml" ,ghc-xml)))
228d2901 5142 (home-page "https://www.haskell.org/haddock/")
b0d34d23
TS
5143 (synopsis "Test utilities for Haddock")
5144 (description "This package provides test utilities for Haddock.")
5145 (license license:bsd-3)
5146 (properties '((hidden? #t)))))
5147
dddbc90c
RV
5148(define-public ghc-half
5149 (package
5150 (name "ghc-half")
5151 (version "0.3")
5152 (source
5153 (origin
5154 (method url-fetch)
5155 (uri (string-append
5156 "https://hackage.haskell.org/package/half/half-"
5157 version ".tar.gz"))
5158 (sha256
5159 (base32
5160 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
5161 (build-system haskell-build-system)
5162 (native-inputs
5163 `(("ghc-hspec" ,ghc-hspec)
5164 ("ghc-quickcheck" ,ghc-quickcheck)))
5165 (home-page "https://github.com/ekmett/half")
5166 (synopsis "Half-precision floating-point computations")
5167 (description "This library provides a half-precision floating-point
5168computation library for Haskell.")
5169 (license license:bsd-3)))
5170
5171(define-public ghc-happy
5172 (package
5173 (name "ghc-happy")
90e7b0e4 5174 (version "1.19.12")
dddbc90c
RV
5175 (source
5176 (origin
5177 (method url-fetch)
5178 (uri (string-append
5179 "https://hackage.haskell.org/package/happy/happy-"
5180 version
5181 ".tar.gz"))
5182 (sha256
5183 (base32
90e7b0e4 5184 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
5185 (build-system haskell-build-system)
5186 (arguments
5187 `(#:phases
5188 (modify-phases %standard-phases
5189 (add-after 'unpack 'skip-test-issue93
5190 (lambda _
5191 ;; Tests run out of memory on a system with 2GB of available RAM,
5192 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
5193 (substitute* "tests/Makefile"
5194 ((" issue93.y ") " "))
5195 #t)))))
5196 (home-page "https://hackage.haskell.org/package/happy")
5197 (synopsis "Parser generator for Haskell")
5198 (description "Happy is a parser generator for Haskell. Given a grammar
5199specification in BNF, Happy generates Haskell code to parse the grammar.
5200Happy works in a similar way to the yacc tool for C.")
5201 (license license:bsd-3)))
5202
5203(define-public ghc-hashable
5204 (package
5205 (name "ghc-hashable")
5206 (version "1.2.7.0")
5207 (outputs '("out" "doc"))
5208 (source
5209 (origin
5210 (method url-fetch)
5211 (uri (string-append
5212 "https://hackage.haskell.org/package/hashable/hashable-"
5213 version
5214 ".tar.gz"))
5215 (sha256
5216 (base32
5217 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
5218 (build-system haskell-build-system)
65a16a45
TS
5219 (arguments
5220 `(#:cabal-revision
5221 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
5222 (inputs
5223 `(("ghc-random" ,ghc-random)))
5224 (native-inputs
5225 `(("ghc-test-framework" ,ghc-test-framework)
5226 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5227 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5228 ("ghc-hunit" ,ghc-hunit)
5229 ("ghc-quickcheck" ,ghc-quickcheck)))
5230 (home-page "https://github.com/tibbe/hashable")
5231 (synopsis "Class for types that can be converted to a hash value")
5232 (description
5233 "This package defines a class, @code{Hashable}, for types that can be
5234converted to a hash value. This class exists for the benefit of hashing-based
5235data structures. The package provides instances for basic types and a way to
5236combine hash values.")
5237 (license license:bsd-3)))
5238
5239(define-public ghc-hashable-bootstrap
5240 (package
5241 (inherit ghc-hashable)
5242 (name "ghc-hashable-bootstrap")
65a16a45
TS
5243 (arguments
5244 `(#:tests? #f
5245 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
5246 (native-inputs '())
5247 (properties '((hidden? #t)))))
5248
5249(define-public ghc-hashable-time
5250 (package
5251 (name "ghc-hashable-time")
f5051e31 5252 (version "0.2.0.2")
dddbc90c
RV
5253 (source
5254 (origin
5255 (method url-fetch)
5256 (uri (string-append
5257 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5258 version
5259 ".tar.gz"))
5260 (sha256
5261 (base32
f5051e31 5262 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
5263 (build-system haskell-build-system)
5264 (arguments
5265 `(#:cabal-revision
f5051e31 5266 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c 5267 (inputs `(("ghc-hashable" ,ghc-hashable)))
3b02036e 5268 (home-page "https://hackage.haskell.org/package/hashable-time")
dddbc90c
RV
5269 (synopsis "Hashable instances for Data.Time")
5270 (description
5271 "This package provides @code{Hashable} instances for types in
5272@code{Data.Time}.")
5273 (license license:bsd-3)))
5274
5275(define-public ghc-hashtables
5276 (package
5277 (name "ghc-hashtables")
19edf0d0 5278 (version "1.2.3.4")
dddbc90c
RV
5279 (source
5280 (origin
5281 (method url-fetch)
5282 (uri (string-append
5283 "https://hackage.haskell.org/package/hashtables/hashtables-"
5284 version ".tar.gz"))
5285 (sha256
19edf0d0 5286 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
5287 (build-system haskell-build-system)
5288 (inputs
5289 `(("ghc-hashable" ,ghc-hashable)
5290 ("ghc-primitive" ,ghc-primitive)
5291 ("ghc-vector" ,ghc-vector)))
5292 (home-page "https://github.com/gregorycollins/hashtables")
5293 (synopsis "Haskell Mutable hash tables in the ST monad")
5294 (description "This package provides a Haskell library including a
5295couple of different implementations of mutable hash tables in the ST
5296monad, as well as a typeclass abstracting their common operations, and
5297a set of wrappers to use the hash tables in the IO monad.")
5298 (license license:bsd-3)))
5299
dd26713e
JS
5300(define-public ghc-haskeline-0.8
5301 (package
5302 (name "ghc-haskeline")
5303 (version "0.8.0.0")
5304 (source
5305 (origin
5306 (method url-fetch)
5307 (uri (string-append
5308 "https://hackage.haskell.org/package/haskeline/haskeline-"
5309 version
5310 ".tar.gz"))
5311 (sha256
5312 (base32
5313 "0gqsa5s0drim9m42hv4wrq61mnvcdylxysfxfw3acncwilfrn9pb"))))
5314 (build-system haskell-build-system)
5315 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
5316 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
5317 ;; FIXME: Tests failing
5318 (arguments `(#:tests? #f))
5319 (home-page "https://github.com/judah/haskeline")
5320 (synopsis
5321 "Command-line interface for user input, written in Haskell")
5322 (description
5323 "Haskeline provides a user interface for line input in command-line
5324programs. This library is similar in purpose to readline, but since it is
5325written in Haskell it is (hopefully) more easily used in other Haskell
5326programs.
5327
5328Haskeline runs both on POSIX-compatible systems and on Windows.")
5329 (license license:bsd-3)))
5330
dddbc90c
RV
5331(define-public ghc-haskell-lexer
5332 (package
5333 (name "ghc-haskell-lexer")
5334 (version "1.0.2")
5335 (source
5336 (origin
5337 (method url-fetch)
5338 (uri (string-append
5339 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5340 version ".tar.gz"))
5341 (sha256
5342 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5343 (build-system haskell-build-system)
3ef91e15 5344 (home-page "https://hackage.haskell.org/package/haskell-lexer")
dddbc90c
RV
5345 (synopsis "Fully compliant Haskell 98 lexer")
5346 (description
5347 "This package provides a fully compliant Haskell 98 lexer.")
5348 (license license:bsd-3)))
5349
5350(define-public ghc-haskell-src
5351 (package
5352 (name "ghc-haskell-src")
5353 (version "1.0.3.0")
5354 (source
5355 (origin
5356 (method url-fetch)
5357 (uri (string-append
5358 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5359 version
5360 ".tar.gz"))
5361 (sha256
5362 (base32
5363 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5364 (build-system haskell-build-system)
5365 (inputs
5366 `(("ghc-happy" ,ghc-happy)
5367 ("ghc-syb" ,ghc-syb)))
5368 (home-page
5369 "https://hackage.haskell.org/package/haskell-src")
5370 (synopsis
5371 "Support for manipulating Haskell source code")
5372 (description
5373 "The @code{haskell-src} package provides support for manipulating Haskell
5374source code. The package provides a lexer, parser and pretty-printer, and a
5375definition of a Haskell abstract syntax tree (AST). Common uses of this
5376package are to parse or generate Haskell 98 code.")
5377 (license license:bsd-3)))
5378
5379(define-public ghc-haskell-src-exts
5380 (package
5381 (name "ghc-haskell-src-exts")
37a05591 5382 (version "1.21.1")
dddbc90c
RV
5383 (source
5384 (origin
5385 (method url-fetch)
5386 (uri (string-append
5387 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5388 version
5389 ".tar.gz"))
5390 (sha256
5391 (base32
37a05591 5392 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
5393 (build-system haskell-build-system)
5394 (inputs
5395 `(("cpphs" ,cpphs)
5396 ("ghc-happy" ,ghc-happy)
5397 ("ghc-pretty-show" ,ghc-pretty-show)))
5398 (native-inputs
5399 `(("ghc-smallcheck" ,ghc-smallcheck)
5400 ("ghc-tasty" ,ghc-tasty)
5401 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5402 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5403 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5404 (synopsis "Library for manipulating Haskell source")
5405 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5406extension of the standard @code{haskell-src} package, and handles most
5407registered syntactic extensions to Haskell. All extensions implemented in GHC
5408are supported. Apart from these standard extensions, it also handles regular
5409patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5410 (license license:bsd-3)))
5411
5412(define-public ghc-haskell-src-exts-util
5413 (package
5414 (name "ghc-haskell-src-exts-util")
77355bdf 5415 (version "0.2.5")
dddbc90c
RV
5416 (source
5417 (origin
5418 (method url-fetch)
5419 (uri (string-append "https://hackage.haskell.org/package/"
5420 "haskell-src-exts-util/haskell-src-exts-util-"
5421 version ".tar.gz"))
5422 (sha256
5423 (base32
77355bdf 5424 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
5425 (build-system haskell-build-system)
5426 (inputs
5427 `(("ghc-data-default" ,ghc-data-default)
5428 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5429 ("ghc-semigroups" ,ghc-semigroups)
5430 ("ghc-uniplate" ,ghc-uniplate)))
5431 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5432 (synopsis "Helper functions for working with haskell-src-exts trees")
5433 (description
5434 "This package provides helper functions for working with
5435@code{haskell-src-exts} trees.")
5436 (license license:bsd-3)))
5437
5438(define-public ghc-haskell-src-meta
5439 (package
5440 (name "ghc-haskell-src-meta")
e94b3c72 5441 (version "0.8.3")
dddbc90c
RV
5442 (source (origin
5443 (method url-fetch)
5444 (uri (string-append "https://hackage.haskell.org/package/"
5445 "haskell-src-meta/haskell-src-meta-"
5446 version ".tar.gz"))
5447 (sha256
5448 (base32
e94b3c72 5449 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
5450 (build-system haskell-build-system)
5451 (inputs
5452 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5453 ("ghc-syb" ,ghc-syb)
5454 ("ghc-th-orphans" ,ghc-th-orphans)))
5455 (native-inputs
5456 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
5457 ("ghc-tasty" ,ghc-tasty)
5458 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5459 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5460 (synopsis "Parse source to template-haskell abstract syntax")
5461 (description
5462 "This package provides tools to parse Haskell sources to the
5463template-haskell abstract syntax.")
5464 (license license:bsd-3)))
5465
5466(define-public ghc-hasktags
5467 (package
5468 (name "ghc-hasktags")
5469 (version "0.71.2")
5470 (source
5471 (origin
5472 (method url-fetch)
5473 (uri (string-append
5474 "https://hackage.haskell.org/package/hasktags/hasktags-"
5475 version
5476 ".tar.gz"))
5477 (sha256
5478 (base32
5479 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5480 (build-system haskell-build-system)
5481 (inputs
5482 `(("ghc-system-filepath" ,ghc-system-filepath)
5483 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5484 (native-inputs
5485 `(("ghc-json" ,ghc-json)
5486 ("ghc-utf8-string" ,ghc-utf8-string)
5487 ("ghc-microlens-platform" ,ghc-microlens-platform)
5488 ("ghc-hunit" ,ghc-hunit)))
702a1012 5489 (home-page "https://github.com/MarcWeber/hasktags")
dddbc90c
RV
5490 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5491 (description
5492 "This package provides a means of generating tag files for Emacs and
5493Vim.")
5494 (license license:bsd-3)))
5495
5496(define-public ghc-hex
5497 (package
5498 (name "ghc-hex")
5499 (version "0.1.2")
5500 (source
5501 (origin
5502 (method url-fetch)
5503 (uri (string-append "https://hackage.haskell.org/package/"
5504 "hex-" version "/"
5505 "hex-" version ".tar.gz"))
5506 (sha256
5507 (base32
5508 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5509 (build-system haskell-build-system)
5510 (home-page "https://hackage.haskell.org/package/hex")
5511 (synopsis "Convert strings into hexadecimal and back")
5512 (description "This package provides conversion functions between
5513bytestrings and their hexademical representation.")
5514 (license license:bsd-3)))
5515
5516(define-public ghc-highlighting-kate
5517 (package
5518 (name "ghc-highlighting-kate")
5519 (version "0.6.4")
5520 (source (origin
5521 (method url-fetch)
5522 (uri (string-append "https://hackage.haskell.org/package/"
5523 "highlighting-kate/highlighting-kate-"
5524 version ".tar.gz"))
5525 (sha256
5526 (base32
5527 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5528 (build-system haskell-build-system)
5529 (inputs
5530 `(("ghc-diff" ,ghc-diff)
5531 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5532 (native-inputs
5533 `(("ghc-blaze-html" ,ghc-blaze-html)
5534 ("ghc-utf8-string" ,ghc-utf8-string)))
5535 (home-page "https://github.com/jgm/highlighting-kate")
5536 (synopsis "Syntax highlighting library")
5537 (description
5538 "Highlighting-kate is a syntax highlighting library with support for
5539nearly one hundred languages. The syntax parsers are automatically generated
5540from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5541supported by Kate can be added. An (optional) command-line program is
5542provided, along with a utility for generating new parsers from Kate XML syntax
5543descriptions.")
5544 (license license:gpl2+)))
5545
5546(define-public ghc-hindent
5547 (package
5548 (name "ghc-hindent")
f545f894 5549 (version "5.3.1")
dddbc90c
RV
5550 (source
5551 (origin
5552 (method url-fetch)
5553 (uri (string-append
5554 "https://hackage.haskell.org/package/hindent/hindent-"
5555 version
5556 ".tar.gz"))
5557 (sha256
5558 (base32
f545f894 5559 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5560 (build-system haskell-build-system)
5561 (arguments
5562 `(#:modules ((guix build haskell-build-system)
5563 (guix build utils)
5564 (guix build emacs-utils))
5565 #:imported-modules (,@%haskell-build-system-modules
5566 (guix build emacs-utils))
5567 #:phases
5568 (modify-phases %standard-phases
5569 (add-after 'install 'emacs-install
5570 (lambda* (#:key inputs outputs #:allow-other-keys)
5571 (let* ((out (assoc-ref outputs "out"))
5572 (elisp-file "elisp/hindent.el")
d53e87cf 5573 (dest (string-append out "/share/emacs/site-lisp"))
dddbc90c
RV
5574 (emacs (string-append (assoc-ref inputs "emacs")
5575 "/bin/emacs")))
5576 (make-file-writable elisp-file)
5577 (emacs-substitute-variables elisp-file
5578 ("hindent-process-path"
5579 (string-append out "/bin/hindent")))
5580 (install-file elisp-file dest)
5581 (emacs-generate-autoloads "hindent" dest)))))))
5582 (inputs
5583 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5584 ("ghc-monad-loops" ,ghc-monad-loops)
5585 ("ghc-utf8-string" ,ghc-utf8-string)
5586 ("ghc-exceptions" ,ghc-exceptions)
5587 ("ghc-yaml" ,ghc-yaml)
5588 ("ghc-unix-compat" ,ghc-unix-compat)
5589 ("ghc-path" ,ghc-path)
5590 ("ghc-path-io" ,ghc-path-io)
5591 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5592 (native-inputs
5593 `(("ghc-hspec" ,ghc-hspec)
5594 ("ghc-diff" ,ghc-diff)
5595 ("emacs" ,emacs-minimal)))
5596 (home-page
5597 "https://github.com/commercialhaskell/hindent")
5598 (synopsis "Extensible Haskell pretty printer")
5599 (description
5600 "This package provides automatic formatting for Haskell files. Both a
5601library and an executable.")
5602 (license license:bsd-3)))
5603
5604(define-public ghc-hinotify
5605 (package
5606 (name "ghc-hinotify")
c2342abb 5607 (version "0.4")
dddbc90c
RV
5608 (source (origin
5609 (method url-fetch)
5610 (uri (string-append
5611 "https://hackage.haskell.org/package/hinotify/"
5612 "hinotify-" version ".tar.gz"))
5613 (sha256
5614 (base32
c2342abb 5615 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5616 (build-system haskell-build-system)
5617 (inputs
5618 `(("ghc-async" ,ghc-async)))
5619 (home-page "https://github.com/kolmodin/hinotify.git")
5620 (synopsis "Haskell binding to inotify")
5621 (description "This library provides a wrapper to the Linux kernel's inotify
5622feature, allowing applications to subscribe to notifications when a file is
5623accessed or modified.")
5624 (license license:bsd-3)))
5625
5626(define-public ghc-hmatrix
5627 (package
5628 (name "ghc-hmatrix")
65e29ed1 5629 (version "0.20.0.0")
dddbc90c
RV
5630 (source
5631 (origin
5632 (method url-fetch)
5633 (uri (string-append
5634 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5635 version ".tar.gz"))
5636 (sha256
65e29ed1 5637 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
5638 (build-system haskell-build-system)
5639 (inputs
5640 `(("ghc-random" ,ghc-random)
5641 ("ghc-split" ,ghc-split)
5642 ("ghc-storable-complex" ,ghc-storable-complex)
5643 ("ghc-semigroups" ,ghc-semigroups)
5644 ("ghc-vector" ,ghc-vector)
5645 ;;("openblas" ,openblas)
5646 ("lapack" ,lapack)))
5647 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5648 ;; disables inclusion of the LAPACK functions.
5649 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5650 (home-page "https://github.com/albertoruiz/hmatrix")
5651 (synopsis "Haskell numeric linear algebra library")
5652 (description "The HMatrix package provices a Haskell library for
5653dealing with linear systems, matrix decompositions, and other
5654numerical computations based on BLAS and LAPACK.")
5655 (license license:bsd-3)))
5656
5657(define-public ghc-hmatrix-gsl
5658 (package
5659 (name "ghc-hmatrix-gsl")
5660 (version "0.19.0.1")
5661 (source
5662 (origin
5663 (method url-fetch)
5664 (uri (string-append
5665 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5666 version ".tar.gz"))
5667 (sha256
5668 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5669 (build-system haskell-build-system)
5670 (inputs
5671 `(("ghc-hmatrix" ,ghc-hmatrix)
5672 ("ghc-vector" ,ghc-vector)
5673 ("ghc-random" ,ghc-random)
5674 ("gsl" ,gsl)))
5675 (native-inputs `(("pkg-config" ,pkg-config)))
5676 (home-page "https://github.com/albertoruiz/hmatrix")
5677 (synopsis "Haskell GSL binding")
5678 (description "This Haskell library provides a purely functional
5679interface to selected numerical computations, internally implemented
5680using GSL.")
5681 (license license:gpl3+)))
5682
5683(define-public ghc-hmatrix-gsl-stats
5684 (package
5685 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5686 (version "0.4.1.8")
dddbc90c
RV
5687 (source
5688 (origin
5689 (method url-fetch)
5690 (uri
5691 (string-append
5692 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5693 version ".tar.gz"))
5694 (sha256
e9b359f5 5695 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5696 (build-system haskell-build-system)
5697 (inputs
5698 `(("ghc-vector" ,ghc-vector)
5699 ("ghc-storable-complex" ,ghc-storable-complex)
5700 ("ghc-hmatrix" ,ghc-hmatrix)
5701 ("gsl" ,gsl)))
5702 (native-inputs `(("pkg-config" ,pkg-config)))
5703 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5704 (synopsis "GSL Statistics interface for Haskell")
5705 (description "This Haskell library provides a purely functional
5706interface for statistics based on hmatrix and GSL.")
5707 (license license:bsd-3)))
5708
5709(define-public ghc-hmatrix-special
5710 (package
5711 (name "ghc-hmatrix-special")
5712 (version "0.19.0.0")
5713 (source
5714 (origin
5715 (method url-fetch)
5716 (uri
5717 (string-append
5718 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5719 version ".tar.gz"))
5720 (sha256
5721 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5722 (build-system haskell-build-system)
5723 (inputs
5724 `(("ghc-hmatrix" ,ghc-hmatrix)
5725 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5726 (home-page "https://github.com/albertoruiz/hmatrix")
5727 (synopsis "Haskell interface to GSL special functions")
5728 (description "This library provides an interface to GSL special
5729functions for Haskell.")
5730 (license license:gpl3+)))
5731
5732(define-public ghc-hostname
5733 (package
5734 (name "ghc-hostname")
5735 (version "1.0")
5736 (source
5737 (origin
5738 (method url-fetch)
5739 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5740 "hostname-" version ".tar.gz"))
5741 (sha256
5742 (base32
5743 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5744 (build-system haskell-build-system)
5745 (home-page "https://hackage.haskell.org/package/hostname")
5746 (synopsis "Hostname in Haskell")
5747 (description "Network.HostName is a simple package providing a means to
5748determine the hostname.")
5749 (license license:bsd-3)))
5750
5751(define-public ghc-hourglass
5752 (package
5753 (name "ghc-hourglass")
5754 (version "0.2.12")
5755 (source (origin
5756 (method url-fetch)
5757 (uri (string-append "https://hackage.haskell.org/package/"
5758 "hourglass/hourglass-" version ".tar.gz"))
5759 (sha256
5760 (base32
5761 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5762 (build-system haskell-build-system)
5763 (inputs
5764 `(("ghc-old-locale" ,ghc-old-locale)))
5765 (native-inputs
5766 `(("ghc-tasty" ,ghc-tasty)
5767 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5768 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5769 (home-page "https://github.com/vincenthz/hs-hourglass")
5770 (synopsis "Simple time-related library for Haskell")
5771 (description
5772 "This is a simple time library providing a simple but powerful and
5773performant API. The backbone of the library are the @code{Timeable} and
5774@code{Time} type classes. Each @code{Timeable} instances can be converted to
5775a type that has a @code{Time} instances, and thus are different
5776representations of current time.")
5777 (license license:bsd-3)))
5778
5779(define-public ghc-hpack
5780 (package
5781 (name "ghc-hpack")
06344a3a 5782 (version "0.31.2")
dddbc90c
RV
5783 (source
5784 (origin
5785 (method url-fetch)
5786 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5787 "hpack-" version ".tar.gz"))
06344a3a 5788 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5789 (sha256
5790 (base32
06344a3a 5791 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5792 (build-system haskell-build-system)
5793 (inputs
5794 `(("ghc-aeson" ,ghc-aeson)
5795 ("ghc-bifunctors" ,ghc-bifunctors)
5796 ("ghc-cryptonite" ,ghc-cryptonite)
5797 ("ghc-glob" ,ghc-glob)
5798 ("ghc-http-client" ,ghc-http-client)
5799 ("ghc-http-client-tls" ,ghc-http-client-tls)
5800 ("ghc-http-types" ,ghc-http-types)
06344a3a 5801 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5802 ("ghc-scientific" ,ghc-scientific)
5803 ("ghc-unordered-containers" ,ghc-unordered-containers)
5804 ("ghc-vector" ,ghc-vector)
5805 ("ghc-yaml" ,ghc-yaml)))
5806 (native-inputs
5807 `(("ghc-hspec" ,ghc-hspec)
5808 ("ghc-hunit" ,ghc-hunit)
5809 ("ghc-interpolate" ,ghc-interpolate)
5810 ("ghc-mockery" ,ghc-mockery)
5811 ("ghc-quickcheck" ,ghc-quickcheck)
5812 ("ghc-temporary" ,ghc-temporary)
5813 ("hspec-discover" ,hspec-discover)))
5814 (home-page "https://github.com/sol/hpack")
5815 (synopsis "Tools for an alternative Haskell package format")
5816 (description
5817 "Hpack is a format for Haskell packages. It is an alternative to the
5818Cabal package format and follows different design principles. Hpack packages
5819are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5820@code{stack} support @code{package.yaml} natively. For other build tools the
5821@code{hpack} executable can be used to generate a @code{.cabal} file from
5822@code{package.yaml}.")
5823 (license license:expat)))
5824
5825(define-public ghc-hs-bibutils
5826 (package
5827 (name "ghc-hs-bibutils")
ebcb4f23 5828 (version "6.7.0.0")
dddbc90c
RV
5829 (source
5830 (origin
5831 (method url-fetch)
5832 (uri (string-append
5833 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5834 version ".tar.gz"))
5835 (sha256
5836 (base32
ebcb4f23 5837 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5838 (build-system haskell-build-system)
5839 (inputs `(("ghc-syb" ,ghc-syb)))
5840 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5841 (synopsis "Haskell bindings to bibutils")
5842 (description
5843 "This package provides Haskell bindings to @code{bibutils}, a library
5844that interconverts between various bibliography formats using a common
5845MODS-format XML intermediate.")
5846 (license license:gpl2+)))
5847
5848(define-public ghc-hslogger
5849 (package
5850 (name "ghc-hslogger")
e5ccc5f7 5851 (version "1.2.12")
dddbc90c
RV
5852 (source
5853 (origin
5854 (method url-fetch)
5855 (uri (string-append "https://hackage.haskell.org/package/"
5856 "hslogger-" version "/" "hslogger-"
5857 version ".tar.gz"))
5858 (sha256 (base32
e5ccc5f7 5859 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5860 (build-system haskell-build-system)
5861 (inputs
5862 `(("ghc-network" ,ghc-network)
5863 ("ghc-old-locale" ,ghc-old-locale)))
5864 (native-inputs
5865 `(("ghc-hunit" ,ghc-hunit)))
5866 (home-page "https://software.complete.org/hslogger")
5867 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5868 (description "Hslogger lets each log message have a priority and source be
5869associated with it. The programmer can then define global handlers that route
5870or filter messages based on the priority and source. It also has a syslog
5871handler built in.")
5872 (license license:bsd-3)))
5873
5874(define-public ghc-hslua
5875 (package
5876 (name "ghc-hslua")
cc784d7b 5877 (version "1.0.3.2")
dddbc90c
RV
5878 (source (origin
5879 (method url-fetch)
5880 (uri (string-append "https://hackage.haskell.org/package/"
5881 "hslua/hslua-" version ".tar.gz"))
5882 (sha256
5883 (base32
cc784d7b 5884 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5885 (build-system haskell-build-system)
5886 (arguments
5887 `(#:configure-flags '("-fsystem-lua")))
5888 (inputs
5889 `(("lua" ,lua)
5890 ("ghc-exceptions" ,ghc-exceptions)
5891 ("ghc-fail" ,ghc-fail)))
5892 (native-inputs
5893 `(("ghc-tasty" ,ghc-tasty)
5894 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5895 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5896 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5897 ("ghc-quickcheck" ,ghc-quickcheck)
5898 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5899 (home-page "https://hackage.haskell.org/package/hslua")
5900 (synopsis "Lua language interpreter embedding in Haskell")
5901 (description
5902 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5903described in @url{https://www.lua.org/}.")
5904 (license license:expat)))
5905
ff303e4e
TS
5906(define-public ghc-hslua-module-system
5907 (package
5908 (name "ghc-hslua-module-system")
5909 (version "0.2.1")
5910 (source
5911 (origin
5912 (method url-fetch)
5913 (uri (string-append "https://hackage.haskell.org/package/"
5914 "hslua-module-system/hslua-module-system-"
5915 version ".tar.gz"))
5916 (sha256
5917 (base32
5918 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5919 (build-system haskell-build-system)
5920 (inputs
5921 `(("ghc-exceptions" ,ghc-exceptions)
5922 ("ghc-hslua" ,ghc-hslua)
5923 ("ghc-temporary" ,ghc-temporary)))
5924 (native-inputs
5925 `(("ghc-tasty" ,ghc-tasty)
5926 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5927 (home-page "https://github.com/hslua/hslua-module-system")
5928 (synopsis "Lua module wrapper around Haskell's System module")
5929 (description "This library provides access to system information and
5930functionality to Lua scripts via Haskell's @code{System} module. Intended
5931usage for this package is to preload it by adding the loader function to
5932@code{package.preload}. Note that the Lua @code{package} library must have
5933already been loaded before the loader can be added.")
5934 (license license:expat)))
5935
dddbc90c
RV
5936(define-public ghc-hslua-module-text
5937 (package
5938 (name "ghc-hslua-module-text")
ecaf0b0c 5939 (version "0.2.1")
dddbc90c
RV
5940 (source
5941 (origin
5942 (method url-fetch)
5943 (uri (string-append "https://hackage.haskell.org/package/"
5944 "hslua-module-text/hslua-module-text-"
5945 version ".tar.gz"))
5946 (sha256
5947 (base32
ecaf0b0c 5948 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5949 (build-system haskell-build-system)
dddbc90c
RV
5950 (inputs
5951 `(("ghc-hslua" ,ghc-hslua)))
5952 (native-inputs
5953 `(("ghc-tasty" ,ghc-tasty)
5954 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5955 (home-page "https://github.com/hslua/hslua-module-text")
5956 (synopsis "Lua module for text")
5957 (description
5958 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5959for Haskell. The functions provided by this module are @code{upper},
5960@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5961 (license license:expat)))
5962
fac520bf
TS
5963(define-public ghc-hsyaml
5964 (package
5965 (name "ghc-hsyaml")
5966 (version "0.1.2.0")
5967 (source
5968 (origin
5969 (method url-fetch)
5970 (uri (string-append "https://hackage.haskell.org/package/"
5971 "HsYAML/HsYAML-" version ".tar.gz"))
5972 (sha256
5973 (base32
5974 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5975 (build-system haskell-build-system)
5976 (arguments
5977 `(#:cabal-revision
5978 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5979 (home-page "https://github.com/haskell-hvr/HsYAML")
5980 (synopsis "Pure Haskell YAML 1.2 parser")
5981 (description "This library provides a
5982@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5983for Haskell. Its features include:
5984
5985@itemize
5986@item Pure Haskell implementation with small dependency footprint and
5987emphasis on strict compliance with the YAML 1.2 specification.
5988
5989@item Direct decoding to native Haskell types via (aeson-inspired)
5990typeclass-based API (see @code{Data.YAML}).
5991
5992@item Support for constructing custom YAML node graph
5993representation (including support for cyclic YAML data structures).
5994
5995@item Support for the standard (untyped) @emph{Failsafe}, (strict)
5996@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5997typing rules as defined in the YAML 1.2 specification (including support
5998for user-defined custom schemas).
5999
6000@item Event-based API resembling LibYAML's Event-based API (see
6001@code{Data.YAML.Event}).
6002
6003@item Low-level API access to lexical token-based scanner (see
6004@code{Data.YAML.Token}).
6005@end itemize")
6006 (license license:gpl2+)))
6007
dddbc90c
RV
6008(define-public ghc-http-api-data
6009 (package
6010 (name "ghc-http-api-data")
a57236eb 6011 (version "0.4.1")
dddbc90c
RV
6012 (source
6013 (origin
6014 (method url-fetch)
6015 (uri (string-append "https://hackage.haskell.org/package/"
6016 "http-api-data-" version "/"
6017 "http-api-data-" version ".tar.gz"))
6018 (sha256
6019 (base32
a57236eb 6020 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 6021 (build-system haskell-build-system)
dddbc90c
RV
6022 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
6023 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 6024 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
6025 ("ghc-hashable" ,ghc-hashable)
6026 ("ghc-http-types" ,ghc-http-types)
a57236eb 6027 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 6028 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 6029 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
6030 (native-inputs
6031 `(("cabal-doctest" ,cabal-doctest)
6032 ("ghc-nats" ,ghc-nats)
6033 ("ghc-hunit" ,ghc-hunit)
6034 ("ghc-hspec" ,ghc-hspec)
6035 ("ghc-quickcheck" ,ghc-quickcheck)
6036 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6037 ("ghc-doctest" ,ghc-doctest)
6038 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
6039 (home-page "https://github.com/fizruk/http-api-data")
6040 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
6041query parameters")
6042 (description "This Haskell package defines typeclasses used for converting
6043Haskell data types to and from HTTP API data.")
6044 (license license:bsd-3)))
6045
6046(define-public ghc-ieee754
6047 (package
6048 (name "ghc-ieee754")
6049 (version "0.8.0")
6050 (source (origin
6051 (method url-fetch)
6052 (uri (string-append
6053 "https://hackage.haskell.org/package/ieee754/"
6054 "ieee754-" version ".tar.gz"))
6055 (sha256
6056 (base32
6057 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
6058 (build-system haskell-build-system)
6059 (home-page "https://github.com/patperry/hs-ieee754")
6060 (synopsis "Utilities for dealing with IEEE floating point numbers")
6061 (description "Utilities for dealing with IEEE floating point numbers,
6062ported from the Tango math library; approximate and exact equality comparisons
6063for general types.")
6064 (license license:bsd-3)))
6065
6066(define-public ghc-ifelse
6067 (package
6068 (name "ghc-ifelse")
6069 (version "0.85")
6070 (source
6071 (origin
6072 (method url-fetch)
6073 (uri (string-append "https://hackage.haskell.org/package/"
6074 "IfElse/IfElse-" version ".tar.gz"))
6075 (sha256
6076 (base32
6077 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
6078 (build-system haskell-build-system)
3ef91e15 6079 (home-page "https://hackage.haskell.org/package/IfElse")
dddbc90c
RV
6080 (synopsis "Monadic control flow with anaphoric variants")
6081 (description "This library provides functions for control flow inside of
6082monads with anaphoric variants on @code{if} and @code{when} and a C-like
6083@code{switch} function.")
6084 (license license:bsd-3)))
6085
6086(define-public ghc-indents
6087 (package
6088 (name "ghc-indents")
d66473fb 6089 (version "0.5.0.1")
dddbc90c
RV
6090 (source (origin
6091 (method url-fetch)
6092 (uri (string-append
6093 "https://hackage.haskell.org/package/indents/indents-"
6094 version ".tar.gz"))
6095 (sha256
6096 (base32
d66473fb 6097 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
6098 (build-system haskell-build-system)
6099 ;; This package needs an older version of tasty.
6100 (arguments '(#:tests? #f))
6101 (inputs
6102 `(("ghc-concatenative" ,ghc-concatenative)))
6103 (native-inputs
6104 `(("ghc-tasty" ,ghc-tasty)
6105 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6106 (home-page "http://patch-tag.com/r/salazar/indents")
6107 (synopsis "Indentation sensitive parser-combinators for parsec")
6108 (description
6109 "This library provides functions for use in parsing indentation sensitive
6110contexts. It parses blocks of lines all indented to the same level as well as
6111lines continued at an indented level below.")
6112 (license license:bsd-3)))
6113
1f656b17
TS
6114(define-public ghc-infer-license
6115 (package
6116 (name "ghc-infer-license")
6117 (version "0.2.0")
6118 (source
6119 (origin
6120 (method url-fetch)
6121 (uri (string-append "https://hackage.haskell.org/package/"
6122 "infer-license/infer-license-" version ".tar.gz"))
6123 (sha256
6124 (base32
6125 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
6126 (build-system haskell-build-system)
6127 (inputs
6128 `(("ghc-text-metrics" ,ghc-text-metrics)))
6129 (native-inputs
6130 `(("ghc-hspec" ,ghc-hspec)
6131 ("hspec-discover" ,hspec-discover)))
3ef91e15 6132 (home-page "https://hackage.haskell.org/package/infer-license")
1f656b17
TS
6133 (synopsis "Infer software license from a given license file")
6134 (description "This library provides tools to infer a software
6135license from a given license file.")
6136 (license license:expat)))
6137
dddbc90c
RV
6138(define-public ghc-inline-c
6139 (package
6140 (name "ghc-inline-c")
55ec98f2 6141 (version "0.7.0.1")
dddbc90c
RV
6142 (source
6143 (origin
6144 (method url-fetch)
6145 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
6146 "inline-c-" version ".tar.gz"))
6147 (sha256
6148 (base32
55ec98f2 6149 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
6150 (build-system haskell-build-system)
6151 (inputs
6152 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
6153 ("ghc-cryptohash" ,ghc-cryptohash)
6154 ("ghc-hashable" ,ghc-hashable)
6155 ("ghc-parsers" ,ghc-parsers)
6156 ("ghc-unordered-containers" ,ghc-unordered-containers)
6157 ("ghc-vector" ,ghc-vector)))
6158 (native-inputs
6159 `(("ghc-quickcheck" ,ghc-quickcheck)
6160 ("ghc-hspec" ,ghc-hspec)
6161 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
6162 ("ghc-regex-posix" ,ghc-regex-posix)))
3ef91e15 6163 (home-page "https://hackage.haskell.org/package/inline-c")
dddbc90c
RV
6164 (synopsis "Write Haskell source files including C code inline")
6165 (description
6166 "inline-c lets you seamlessly call C libraries and embed high-performance
6167inline C code in Haskell modules. Haskell and C can be freely intermixed in
6168the same source file, and data passed to and from code in either language with
6169minimal overhead. No FFI required.")
6170 (license license:expat)))
6171
6172(define-public ghc-inline-c-cpp
6173 (package
6174 (name "ghc-inline-c-cpp")
cae58e56 6175 (version "0.3.0.3")
dddbc90c
RV
6176 (source
6177 (origin
6178 (method url-fetch)
6179 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
6180 "inline-c-cpp-" version ".tar.gz"))
6181 (sha256
6182 (base32
cae58e56 6183 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
6184 (build-system haskell-build-system)
6185 (inputs
6186 `(("ghc-inline-c" ,ghc-inline-c)
6187 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
6188 (native-inputs
6189 `(("ghc-hspec" ,ghc-hspec)))
6190 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
6191 (synopsis "Lets you embed C++ code into Haskell")
6192 (description
6193 "This package provides utilities to inline C++ code into Haskell using
6194@code{inline-c}.")
6195 (license license:expat)))
6196
6197(define-public ghc-integer-logarithms
6198 (package
6199 (name "ghc-integer-logarithms")
86a704db 6200 (version "1.0.3")
dddbc90c
RV
6201 (source
6202 (origin
6203 (method url-fetch)
6204 (uri (string-append "https://hackage.haskell.org/package/"
6205 "integer-logarithms/integer-logarithms-"
6206 version ".tar.gz"))
6207 (sha256
6208 (base32
86a704db 6209 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
6210 (build-system haskell-build-system)
6211 (arguments
6212 `(#:phases
6213 (modify-phases %standard-phases
6214 (add-before 'configure 'update-constraints
6215 (lambda _
6216 (substitute* "integer-logarithms.cabal"
6217 (("tasty >= 0\\.10 && < 1\\.1")
6218 "tasty >= 0.10 && < 1.2")))))))
6219 (native-inputs
6220 `(("ghc-quickcheck" ,ghc-quickcheck)
6221 ("ghc-smallcheck" ,ghc-smallcheck)
6222 ("ghc-tasty" ,ghc-tasty)
6223 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6224 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6225 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
6226 (home-page "https://github.com/Bodigrim/integer-logarithms")
6227 (synopsis "Integer logarithms")
6228 (description
6229 "This package provides the following modules:
6230@code{Math.NumberTheory.Logarithms} and
6231@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
6232@code{GHC.Integer.Logarithms.Compat} and
6233@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
6234in migrated modules.")
6235 (license license:expat)))
6236
6237(define-public ghc-integer-logarithms-bootstrap
6238 (package
6239 (inherit ghc-integer-logarithms)
6240 (name "ghc-integer-logarithms-bootstrap")
6241 (arguments `(#:tests? #f))
6242 (native-inputs '())
799d8d3c 6243 (properties '((hidden? #t)))))
dddbc90c
RV
6244
6245(define-public ghc-interpolate
6246 (package
6247 (name "ghc-interpolate")
6248 (version "0.2.0")
6249 (source
6250 (origin
6251 (method url-fetch)
6252 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
6253 "interpolate-" version ".tar.gz"))
6254 (sha256
6255 (base32
6256 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
6257 (build-system haskell-build-system)
6258 (inputs
6259 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
6260 (native-inputs
6261 `(("ghc-base-compat" ,ghc-base-compat)
6262 ("ghc-hspec" ,ghc-hspec)
6263 ("ghc-quickcheck" ,ghc-quickcheck)
6264 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6265 ("hspec-discover" ,hspec-discover)))
6266 (home-page "https://github.com/sol/interpolate")
6267 (synopsis "String interpolation library")
6268 (description "This package provides a string interpolation library for
6269Haskell.")
6270 (license license:expat)))
6271
6272(define-public ghc-intervalmap
6273 (package
6274 (name "ghc-intervalmap")
e4946e32 6275 (version "0.6.1.1")
dddbc90c
RV
6276 (source
6277 (origin
6278 (method url-fetch)
6279 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
6280 "IntervalMap-" version ".tar.gz"))
6281 (sha256
6282 (base32
e4946e32 6283 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
6284 (build-system haskell-build-system)
6285 (native-inputs
6286 `(("ghc-quickcheck" ,ghc-quickcheck)))
6287 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6288 (synopsis "Containers for intervals, with efficient search")
6289 (description
6290 "This package provides ordered containers of intervals, with efficient
6291search for all keys containing a point or overlapping an interval. See the
6292example code on the home page for a quick introduction.")
6293 (license license:bsd-3)))
6294
f7ca1fa8
TS
6295(define-public ghc-intervals
6296 (package
6297 (name "ghc-intervals")
6298 (version "0.8.1")
6299 (source
6300 (origin
6301 (method url-fetch)
6302 (uri (string-append "https://hackage.haskell.org/package/"
6303 "intervals/intervals-" version ".tar.gz"))
6304 (sha256
6305 (base32
6306 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6307 (build-system haskell-build-system)
6308 (inputs
6309 `(("ghc-distributive" ,ghc-distributive)))
6310 (native-inputs
6311 `(("cabal-doctest" ,cabal-doctest)
6312 ("ghc-doctest" ,ghc-doctest)
6313 ("ghc-quickcheck" ,ghc-quickcheck)))
6314 (arguments
6315 `(#:cabal-revision
6316 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6317 (home-page "https://github.com/ekmett/intervals")
6318 (synopsis "Interval arithmetic")
6319 (description "This library provides
6320@code{Numeric.Interval.Interval}, which represets a closed, convex set
6321of floating point values.")
6322 (license license:bsd-3)))
6323
dddbc90c
RV
6324(define-public ghc-invariant
6325 (package
6326 (name "ghc-invariant")
d3a0e0b4 6327 (version "0.5.3")
dddbc90c
RV
6328 (source
6329 (origin
6330 (method url-fetch)
6331 (uri (string-append
6332 "https://hackage.haskell.org/package/invariant/invariant-"
6333 version ".tar.gz"))
6334 (sha256
6335 (base32
d3a0e0b4 6336 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
6337 (build-system haskell-build-system)
6338 (inputs
6339 `(("ghc-bifunctors" ,ghc-bifunctors)
6340 ("ghc-comonad" ,ghc-comonad)
6341 ("ghc-contravariant" ,ghc-contravariant)
6342 ("ghc-profunctors" ,ghc-profunctors)
6343 ("ghc-semigroups" ,ghc-semigroups)
6344 ("ghc-statevar" ,ghc-statevar)
6345 ("ghc-tagged" ,ghc-tagged)
6346 ("ghc-th-abstraction" ,ghc-th-abstraction)
6347 ("ghc-transformers-compat" ,ghc-transformers-compat)
6348 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6349 (native-inputs
6350 `(("ghc-hspec" ,ghc-hspec)
6351 ("ghc-quickcheck" ,ghc-quickcheck)
6352 ("hspec-discover" ,hspec-discover)))
6353 (home-page "https://github.com/nfrisby/invariant-functors")
6354 (synopsis "Haskell98 invariant functors")
6355 (description "Haskell98 invariant functors (also known as exponential
6356functors). For more information, see Edward Kmett's article
6357@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6358 (license license:bsd-2)))
6359
6360(define-public ghc-io-streams
6361 (package
6362 (name "ghc-io-streams")
59e98d75 6363 (version "1.5.1.0")
dddbc90c
RV
6364 (source
6365 (origin
6366 (method url-fetch)
6367 (uri (string-append "https://hackage.haskell.org/package/"
6368 "io-streams/io-streams-" version ".tar.gz"))
6369 (sha256
6370 (base32
59e98d75 6371 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
6372 (build-system haskell-build-system)
6373 (inputs
6374 `(("ghc-attoparsec" ,ghc-attoparsec)
6375 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6376 ("ghc-network" ,ghc-network)
6377 ("ghc-primitive" ,ghc-primitive)
6378 ("ghc-vector" ,ghc-vector)
6379 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6380 (native-inputs
6381 `(("ghc-hunit" ,ghc-hunit)
6382 ("ghc-quickcheck" ,ghc-quickcheck)
6383 ("ghc-test-framework" ,ghc-test-framework)
6384 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6385 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6386 ("ghc-zlib" ,ghc-zlib)))
3ef91e15 6387 (home-page "https://hackage.haskell.org/package/io-streams")
dddbc90c
RV
6388 (synopsis "Simple and composable stream I/O")
6389 (description "This library contains simple and easy-to-use
6390primitives for I/O using streams.")
6391 (license license:bsd-3)))
6392
6393(define-public ghc-io-streams-haproxy
6394 (package
6395 (name "ghc-io-streams-haproxy")
1a4fbc36 6396 (version "1.0.1.0")
dddbc90c
RV
6397 (source
6398 (origin
6399 (method url-fetch)
6400 (uri (string-append "https://hackage.haskell.org/package/"
6401 "io-streams-haproxy/io-streams-haproxy-"
6402 version ".tar.gz"))
6403 (sha256
6404 (base32
1a4fbc36 6405 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
6406 (build-system haskell-build-system)
6407 (inputs
6408 `(("ghc-attoparsec" ,ghc-attoparsec)
6409 ("ghc-io-streams" ,ghc-io-streams)
6410 ("ghc-network" ,ghc-network)))
6411 (native-inputs
6412 `(("ghc-hunit" ,ghc-hunit)
6413 ("ghc-test-framework" ,ghc-test-framework)
6414 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
6415 (home-page "http://snapframework.com/")
6416 (synopsis "HAProxy protocol 1.5 support for io-streams")
6417 (description "HAProxy protocol version 1.5 support
6418(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6419for applications using io-streams. The proxy protocol allows information
6420about a networked peer (like remote address and port) to be propagated
6421through a forwarding proxy that is configured to speak this protocol.")
6422 (license license:bsd-3)))
6423
6424(define-public ghc-iproute
6425 (package
6426 (name "ghc-iproute")
ec25d536 6427 (version "1.7.7")
dddbc90c
RV
6428 (source
6429 (origin
6430 (method url-fetch)
6431 (uri (string-append
6432 "https://hackage.haskell.org/package/iproute/iproute-"
6433 version
6434 ".tar.gz"))
6435 (sha256
6436 (base32
ec25d536 6437 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
6438 (build-system haskell-build-system)
6439 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6440 ; exported by ghc-byteorder. Doctest issue.
6441 (inputs
6442 `(("ghc-appar" ,ghc-appar)
6443 ("ghc-byteorder" ,ghc-byteorder)
6444 ("ghc-network" ,ghc-network)
6445 ("ghc-safe" ,ghc-safe)))
6446 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6447 (synopsis "IP routing table")
6448 (description "IP Routing Table is a tree of IP ranges to search one of
6449them on the longest match base. It is a kind of TRIE with one way branching
6450removed. Both IPv4 and IPv6 are supported.")
6451 (license license:bsd-3)))
6452
4828e54e
TS
6453(define-public ghc-ipynb
6454 (package
6455 (name "ghc-ipynb")
6456 (version "0.1")
6457 (source
6458 (origin
6459 (method url-fetch)
6460 (uri (string-append "https://hackage.haskell.org/package/"
6461 "ipynb/ipynb-" version ".tar.gz"))
6462 (sha256
6463 (base32
6464 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6465 (build-system haskell-build-system)
6466 (inputs
6467 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6468 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6469 ("ghc-aeson" ,ghc-aeson)
6470 ("ghc-semigroups" ,ghc-semigroups)))
6471 (native-inputs
6472 `(("ghc-tasty" ,ghc-tasty)
6473 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6474 ("ghc-aeson-diff" ,ghc-aeson-diff)
6475 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6476 ("ghc-microlens" ,ghc-microlens)
6477 ("ghc-vector" ,ghc-vector)))
6478 (home-page "https://hackage.haskell.org/package/ipynb")
6479 (synopsis "Data structure for working with Jupyter notebooks")
6480 (description "This library defines a data structure for representing
6481Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6482instances for conversion to and from JSON .ipynb files.")
6483 (license license:bsd-3)))
6484
dddbc90c
RV
6485(define-public ghc-iwlib
6486 (package
6487 (name "ghc-iwlib")
6488 (version "0.1.0")
6489 (source
6490 (origin
6491 (method url-fetch)
6492 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6493 version ".tar.gz"))
6494 (sha256
6495 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6496 (build-system haskell-build-system)
6497 (inputs
6498 `(("wireless-tools" ,wireless-tools)))
6499 (home-page "https://github.com/jaor/iwlib")
6500 (synopsis "Haskell binding to the iw wireless networking library")
6501 (description
6502 "IWlib is a thin Haskell binding to the iw C library. It provides
6503information about the current wireless network connections, and adapters on
6504supported systems.")
6505 (license license:bsd-3)))
6506
6507(define-public ghc-json
6508 (package
6509 (name "ghc-json")
0ad3d574 6510 (version "0.9.3")
dddbc90c
RV
6511 (source
6512 (origin
6513 (method url-fetch)
6514 (uri (string-append "https://hackage.haskell.org/package/json/"
6515 "json-" version ".tar.gz"))
6516 (sha256
6517 (base32
0ad3d574 6518 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6519 (build-system haskell-build-system)
6520 (inputs
6521 `(("ghc-syb" ,ghc-syb)))
6522 (home-page "https://hackage.haskell.org/package/json")
6523 (synopsis "Serializes Haskell data to and from JSON")
6524 (description "This package provides a parser and pretty printer for
6525converting between Haskell values and JSON.
6526JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6527 (license license:bsd-3)))
6528
6529(define-public ghc-juicypixels
6530 (package
6531 (name "ghc-juicypixels")
b50b6004 6532 (version "3.3.4")
dddbc90c
RV
6533 (source (origin
6534 (method url-fetch)
6535 (uri (string-append "https://hackage.haskell.org/package/"
6536 "JuicyPixels/JuicyPixels-"
6537 version ".tar.gz"))
6538 (sha256
6539 (base32
b50b6004 6540 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
6541 (build-system haskell-build-system)
6542 (inputs
6543 `(("ghc-zlib" ,ghc-zlib)
6544 ("ghc-vector" ,ghc-vector)
6545 ("ghc-primitive" ,ghc-primitive)
6546 ("ghc-mmap" ,ghc-mmap)))
6547 (home-page "https://github.com/Twinside/Juicy.Pixels")
6548 (synopsis "Picture loading and serialization library")
6549 (description
6550 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6551TIFF and GIF formats.")
6552 (license license:bsd-3)))
6553
6554(define-public ghc-kan-extensions
6555 (package
6556 (name "ghc-kan-extensions")
6557 (version "5.2")
6558 (source
6559 (origin
6560 (method url-fetch)
6561 (uri (string-append
6562 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6563 version
6564 ".tar.gz"))
6565 (sha256
6566 (base32
6567 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6568 (build-system haskell-build-system)
6569 (inputs
6570 `(("ghc-adjunctions" ,ghc-adjunctions)
6571 ("ghc-comonad" ,ghc-comonad)
6572 ("ghc-contravariant" ,ghc-contravariant)
6573 ("ghc-distributive" ,ghc-distributive)
6574 ("ghc-free" ,ghc-free)
6575 ("ghc-invariant" ,ghc-invariant)
6576 ("ghc-semigroupoids" ,ghc-semigroupoids)
6577 ("ghc-tagged" ,ghc-tagged)
6578 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6579 (home-page "https://github.com/ekmett/kan-extensions/")
6580 (synopsis "Kan extensions library")
6581 (description "This library provides Kan extensions, Kan lifts, various
6582forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6583 (license license:bsd-3)))
6584
6585(define-public ghc-language-c
6586 (package
6587 (name "ghc-language-c")
4e1cf651 6588 (version "0.8.3")
dddbc90c
RV
6589 (source
6590 (origin
6591 (method url-fetch)
6592 (uri (string-append "https://hackage.haskell.org/package/"
6593 "language-c/language-c-" version ".tar.gz"))
6594 (sha256
6595 (base32
4e1cf651 6596 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6597 (build-system haskell-build-system)
6598 (inputs `(("ghc-syb" ,ghc-syb)))
6599 (native-inputs
6600 `(("ghc-happy" ,ghc-happy)
6601 ("ghc-alex" ,ghc-alex)))
6602 (home-page "https://visq.github.io/language-c/")
6603 (synopsis "Analysis and generation of C code")
6604 (description
6605 "Language C is a Haskell library for the analysis and generation of C code.
6606It features a complete, well-tested parser and pretty printer for all of C99
6607and a large set of GNU extensions.")
6608 (license license:bsd-3)))
6609
6610(define-public ghc-language-glsl
6611 (package
6612 (name "ghc-language-glsl")
6613 (version "0.3.0")
6614 (source
6615 (origin
6616 (method url-fetch)
6617 (uri (string-append "https://hackage.haskell.org/package/"
6618 "language-glsl/language-glsl-" version ".tar.gz"))
6619 (sha256
6620 (base32
6621 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6622 (build-system haskell-build-system)
6623 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6624 (arguments
6625 `(#:tests? #f
6626 #:cabal-revision
6627 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
3ef91e15 6628 (home-page "https://hackage.haskell.org/package/language-glsl")
dddbc90c
RV
6629 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6630 (description "This package is a Haskell library for the
6631representation, parsing, and pretty-printing of GLSL 1.50 code.")
6632 (license license:bsd-3)))
6633
6634(define-public ghc-language-haskell-extract
6635 (package
6636 (name "ghc-language-haskell-extract")
6637 (version "0.2.4")
6638 (source
6639 (origin
6640 (method url-fetch)
6641 (uri (string-append "https://hackage.haskell.org/package/"
6642 "language-haskell-extract-" version "/"
6643 "language-haskell-extract-" version ".tar.gz"))
6644 (sha256
6645 (base32
6646 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6647 (build-system haskell-build-system)
6648 (inputs
6649 `(("ghc-regex-posix" ,ghc-regex-posix)))
6650 (home-page "https://github.com/finnsson/template-helper")
6651 (synopsis "Haskell module to automatically extract functions from
6652the local code")
6653 (description "This package contains helper functions on top of
6654Template Haskell.
6655
6656For example, @code{functionExtractor} extracts all functions after a
6657regexp-pattern, which can be useful if you wish to extract all functions
6658beginning with @code{test} (for a test framework) or all functions beginning
6659with @code{wc} (for a web service).")
6660 (license license:bsd-3)))
6661
6662(define-public ghc-lens
6663 (package
6664 (name "ghc-lens")
262e6323 6665 (version "4.17.1")
dddbc90c
RV
6666 (source
6667 (origin
6668 (method url-fetch)
6669 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6670 version ".tar.gz"))
6671 (sha256
6672 (base32
262e6323 6673 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6674 (build-system haskell-build-system)
dddbc90c
RV
6675 (inputs
6676 `(("ghc-base-orphans" ,ghc-base-orphans)
6677 ("ghc-bifunctors" ,ghc-bifunctors)
6678 ("ghc-distributive" ,ghc-distributive)
6679 ("ghc-exceptions" ,ghc-exceptions)
6680 ("ghc-free" ,ghc-free)
6681 ("ghc-kan-extensions" ,ghc-kan-extensions)
6682 ("ghc-parallel" ,ghc-parallel)
6683 ("ghc-reflection" ,ghc-reflection)
6684 ("ghc-semigroupoids" ,ghc-semigroupoids)
6685 ("ghc-vector" ,ghc-vector)
6686 ("ghc-call-stack" ,ghc-call-stack)
6687 ("ghc-comonad" ,ghc-comonad)
6688 ("ghc-contravariant" ,ghc-contravariant)
6689 ("ghc-hashable" ,ghc-hashable)
6690 ("ghc-profunctors" ,ghc-profunctors)
6691 ("ghc-semigroups" ,ghc-semigroups)
6692 ("ghc-tagged" ,ghc-tagged)
6693 ("ghc-transformers-compat" ,ghc-transformers-compat)
6694 ("ghc-unordered-containers" ,ghc-unordered-containers)
6695 ("ghc-void" ,ghc-void)
6696 ("ghc-generic-deriving" ,ghc-generic-deriving)
6697 ("ghc-nats" ,ghc-nats)
6698 ("ghc-simple-reflect" ,ghc-simple-reflect)
6699 ("hlint" ,hlint)))
6700 (native-inputs
6701 `(("cabal-doctest" ,cabal-doctest)
6702 ("ghc-doctest" ,ghc-doctest)
6703 ("ghc-hunit" ,ghc-hunit)
6704 ("ghc-test-framework" ,ghc-test-framework)
6705 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6706 ("ghc-test-framework-th" ,ghc-test-framework-th)
6707 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6708 ("ghc-quickcheck" ,ghc-quickcheck)))
6709 (home-page "https://github.com/ekmett/lens/")
6710 (synopsis "Lenses, Folds and Traversals")
6711 (description "This library provides @code{Control.Lens}. The combinators
6712in @code{Control.Lens} provide a highly generic toolbox for composing families
6713of getters, folds, isomorphisms, traversals, setters and lenses and their
6714indexed variants.")
6715 (license license:bsd-3)))
6716
bcd35444
JS
6717(define-public ghc-lens-family-core
6718 (package
6719 (name "ghc-lens-family-core")
6720 (version "1.2.3")
6721 (source
6722 (origin
6723 (method url-fetch)
6724 (uri (string-append
6725 "mirror://hackage/package/lens-family-core/lens-family-core-"
6726 version
6727 ".tar.gz"))
6728 (sha256
6729 (base32
6730 "009rf10pj1cb50v44cc1pq7qvfrmkkk9dikahs9qmvbvgl3mykwi"))))
6731 (build-system haskell-build-system)
6732 (home-page
6733 "http://hackage.haskell.org/package/lens-family-core")
6734 (synopsis "Haskell 98 Lens Families")
6735 (description
6736 "This package provides first class functional references. In addition to
6737the usual operations of getting, setting and composition, plus integration
6738with the state monad, lens families provide some unique features:
6739
6740@itemize
6741@item Polymorphic updating
6742@item Traversals
6743@item Cast projection functions to read-only lenses
6744@item Cast @code{toList} functions to read-only traversals
6745@item Cast semantic editor combinators to modify-only traversals
6746@end itemize
6747
6748For optimal first-class support use the lens-family package with rank 2/rank N
6749polymorphism. @code{Lens.Family.Clone} allows for first-class support of
6750lenses and traversals for those who require Haskell 98.")
6751 (license license:bsd-3)))
6752
dddbc90c
RV
6753(define-public ghc-libffi
6754 (package
6755 (name "ghc-libffi")
6756 (version "0.1")
6757 (source
6758 (origin
6759 (method url-fetch)
6760 (uri (string-append "https://hackage.haskell.org/package/"
6761 "libffi/libffi-" version ".tar.gz"))
6762 (sha256
6763 (base32
6764 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6765 (build-system haskell-build-system)
6766 (native-inputs `(("pkg-config" ,pkg-config)))
6767 (inputs `(("libffi" ,libffi)))
3ef91e15 6768 (home-page "https://hackage.haskell.org/package/libffi")
dddbc90c
RV
6769 (synopsis "Haskell binding to libffi")
6770 (description
6771 "A binding to libffi, allowing C functions of types only known at runtime
6772to be called from Haskell.")
6773 (license license:bsd-3)))
6774
6775(define-public ghc-libmpd
6776 (package
6777 (name "ghc-libmpd")
bbf9845f 6778 (version "0.9.0.10")
dddbc90c
RV
6779 (source
6780 (origin
6781 (method url-fetch)
6782 (uri (string-append
6783 "mirror://hackage/package/libmpd/libmpd-"
6784 version
6785 ".tar.gz"))
6786 (sha256
6787 (base32
bbf9845f 6788 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6789 (build-system haskell-build-system)
6790 ;; Tests fail on i686.
6791 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6792 (arguments `(#:tests? #f))
6793 (inputs
6794 `(("ghc-attoparsec" ,ghc-attoparsec)
6795 ("ghc-old-locale" ,ghc-old-locale)
6796 ("ghc-data-default-class" ,ghc-data-default-class)
6797 ("ghc-network" ,ghc-network)
bbf9845f 6798 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6799 ("ghc-utf8-string" ,ghc-utf8-string)))
6800 (native-inputs
6801 `(("ghc-quickcheck" ,ghc-quickcheck)
6802 ("ghc-hspec" ,ghc-hspec)
6803 ("hspec-discover" ,hspec-discover)))
6804 (home-page "https://github.com/vimus/libmpd-haskell")
6805 (synopsis "Haskell client library for the Music Player Daemon")
6806 (description "This package provides a pure Haskell client library for the
6807Music Player Daemon.")
6808 (license license:expat)))
6809
e34df1c3
TS
6810(define-public ghc-lib-parser
6811 (package
6812 (name "ghc-lib-parser")
6813 (version "8.8.0.20190424")
6814 (source
6815 (origin
6816 (method url-fetch)
6817 (uri (string-append "https://hackage.haskell.org/package/"
6818 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6819 (sha256
6820 (base32
6821 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6822 (build-system haskell-build-system)
6823 (native-inputs
6824 `(("ghc-alex" ,ghc-alex)
6825 ("ghc-happy" ,ghc-happy)))
6826 (home-page "https://github.com/digital-asset/ghc-lib")
6827 (synopsis "The GHC API, decoupled from GHC versions")
6828 (description "This library implements the GHC API. It is like the
6829compiler-provided @code{ghc} package, but it can be loaded on many
6830compiler versions.")
6831 (license license:bsd-3)))
6832
dddbc90c
RV
6833(define-public ghc-libxml
6834 (package
6835 (name "ghc-libxml")
6836 (version "0.1.1")
6837 (source
6838 (origin
6839 (method url-fetch)
6840 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6841 "libxml-" version ".tar.gz"))
6842 (sha256
6843 (base32
6844 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6845 (build-system haskell-build-system)
6846 (inputs
6847 `(("libxml2" ,libxml2)))
6848 (arguments
6849 `(#:configure-flags
6850 `(,(string-append "--extra-include-dirs="
6851 (assoc-ref %build-inputs "libxml2")
6852 "/include/libxml2"))))
6853 (home-page "https://hackage.haskell.org/package/libxml")
6854 (synopsis "Haskell bindings to libxml2")
6855 (description
6856 "This library provides minimal Haskell binding to libxml2.")
6857 (license license:bsd-3)))
6858
0c2d6fc2
TS
6859(define-public ghc-libyaml
6860 (package
6861 (name "ghc-libyaml")
6862 (version "0.1.1.0")
6863 (source
6864 (origin
6865 (method url-fetch)
6866 (uri (string-append "https://hackage.haskell.org/package/"
6867 "libyaml/libyaml-" version ".tar.gz"))
6868 (sha256
6869 (base32
6870 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6871 (modules '((guix build utils)))
6872 (snippet
6873 ;; Delete bundled LibYAML.
6874 '(begin
6875 (delete-file-recursively "libyaml_src")
6876 #t))))
6877 (build-system haskell-build-system)
6878 (arguments
6879 `(#:configure-flags `("--flags=system-libyaml")))
6880 (inputs
6881 `(("ghc-conduit" ,ghc-conduit)
6882 ("ghc-resourcet" ,ghc-resourcet)
1b35d303 6883 ("libyaml" ,libyaml)))
0c2d6fc2
TS
6884 (home-page "https://github.com/snoyberg/yaml#readme")
6885 (synopsis "Low-level, streaming YAML interface.")
6886 (description "This package provides a Haskell wrapper over the
6887LibYAML C library.")
6888 (license license:bsd-3)))
6889
dddbc90c
RV
6890(define-public ghc-lifted-async
6891 (package
6892 (name "ghc-lifted-async")
b5b6d7ea 6893 (version "0.10.0.4")
dddbc90c
RV
6894 (source
6895 (origin
6896 (method url-fetch)
6897 (uri (string-append
6898 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6899 version ".tar.gz"))
6900 (sha256
6901 (base32
b5b6d7ea 6902 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6903 (build-system haskell-build-system)
6904 (inputs
6905 `(("ghc-async" ,ghc-async)
6906 ("ghc-lifted-base" ,ghc-lifted-base)
6907 ("ghc-transformers-base" ,ghc-transformers-base)
6908 ("ghc-monad-control" ,ghc-monad-control)
6909 ("ghc-constraints" ,ghc-constraints)
6910 ("ghc-hunit" ,ghc-hunit)
6911 ("ghc-tasty" ,ghc-tasty)
6912 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6913 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6914 ("ghc-tasty-th" ,ghc-tasty-th)))
6915 (home-page "https://github.com/maoe/lifted-async")
6916 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6917 (description
6918 "This package provides IO operations from @code{async} package lifted to any
6919instance of @code{MonadBase} or @code{MonadBaseControl}.")
6920 (license license:bsd-3)))
6921
6922(define-public ghc-lifted-base
6923 (package
6924 (name "ghc-lifted-base")
6925 (version "0.2.3.12")
6926 (source
6927 (origin
6928 (method url-fetch)
6929 (uri (string-append
6930 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6931 version
6932 ".tar.gz"))
6933 (sha256
6934 (base32
6935 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6936 (build-system haskell-build-system)
6937 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6938 (inputs
6939 `(("ghc-transformers-base" ,ghc-transformers-base)
6940 ("ghc-monad-control" ,ghc-monad-control)
6941 ("ghc-transformers-compat" ,ghc-transformers-compat)
6942 ("ghc-hunit" ,ghc-hunit)))
6943 (home-page "https://github.com/basvandijk/lifted-base")
6944 (synopsis "Lifted IO operations from the base library")
6945 (description "Lifted-base exports IO operations from the @code{base}
6946library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6947Note that not all modules from @code{base} are converted yet. The package
6948includes a copy of the @code{monad-peel} test suite written by Anders
6949Kaseorg.")
6950 (license license:bsd-3)))
6951
6952(define-public ghc-linear
6953 (package
6954 (name "ghc-linear")
86526f37 6955 (version "1.20.9")
dddbc90c
RV
6956 (source
6957 (origin
6958 (method url-fetch)
6959 (uri (string-append "https://hackage.haskell.org/package/linear/"
6960 "linear-" version ".tar.gz"))
6961 (sha256
6962 (base32
86526f37 6963 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6964 (build-system haskell-build-system)
6965 (inputs
6966 `(("ghc-adjunctions" ,ghc-adjunctions)
6967 ("ghc-base-orphans" ,ghc-base-orphans)
6968 ("ghc-bytes" ,ghc-bytes)
6969 ("ghc-cereal" ,ghc-cereal)
6970 ("ghc-distributive" ,ghc-distributive)
6971 ("ghc-hashable" ,ghc-hashable)
6972 ("ghc-lens" ,ghc-lens)
6973 ("ghc-reflection" ,ghc-reflection)
6974 ("ghc-semigroups" ,ghc-semigroups)
6975 ("ghc-semigroupoids" ,ghc-semigroupoids)
6976 ("ghc-tagged" ,ghc-tagged)
6977 ("ghc-transformers-compat" ,ghc-transformers-compat)
6978 ("ghc-unordered-containers" ,ghc-unordered-containers)
6979 ("ghc-vector" ,ghc-vector)
6980 ("ghc-void" ,ghc-void)))
6981 (native-inputs
6982 `(("cabal-doctest" ,cabal-doctest)
6983 ("ghc-doctest" ,ghc-doctest)
6984 ("ghc-simple-reflect" ,ghc-simple-reflect)
6985 ("ghc-test-framework" ,ghc-test-framework)
6986 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6987 ("ghc-hunit" ,ghc-hunit)))
702a1012 6988 (home-page "https://github.com/ekmett/linear/")
dddbc90c
RV
6989 (synopsis "Linear algebra library for Haskell")
6990 (description
6991 "This package provides types and combinators for linear algebra on free
6992vector spaces.")
6993 (license license:bsd-3)))
1307e4c7
JS
6994
6995(define-public ghc-listlike
6996 (package
6997 (name "ghc-listlike")
6998 (version "4.6.2")
6999 (source
7000 (origin
7001 (method url-fetch)
7002 (uri
7003 (string-append
7004 "https://hackage.haskell.org/package/ListLike/ListLike-"
7005 version ".tar.gz"))
7006 (sha256
7007 (base32
7008 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
7009 (build-system haskell-build-system)
7010 (inputs
7011 `(("ghc-vector" ,ghc-vector)
7012 ("ghc-dlist" ,ghc-dlist)
7013 ("ghc-fmlist" ,ghc-fmlist)
7014 ("ghc-hunit" ,ghc-hunit)
7015 ("ghc-quickcheck" ,ghc-quickcheck)
7016 ("ghc-random" ,ghc-random)
7017 ("ghc-utf8-string" ,ghc-utf8-string)))
7018 (home-page "https://github.com/JohnLato/listlike")
7019 (synopsis "Generic support for list-like structures")
7020 (description "The ListLike module provides a common interface to the
7021various Haskell types that are list-like. Predefined interfaces include
7022standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
7023Custom types can easily be made ListLike instances as well.
7024
7025ListLike also provides for String-like types, such as String and
7026ByteString, for types that support input and output, and for types that
7027can handle infinite lists.")
7028 (license license:bsd-3)))
dddbc90c 7029
84436be0
J
7030(define-public ghc-llvm-hs-pure
7031 (package
7032 (name "ghc-llvm-hs-pure")
7033 (version "9.0.0")
7034 (source
7035 (origin
7036 (method url-fetch)
7037 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
7038 "llvm-hs-pure-" version ".tar.gz"))
7039 (sha256
7040 (base32
7041 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
7042 (build-system haskell-build-system)
7043 (inputs
7044 `(("ghc-attoparsec" ,ghc-attoparsec)
7045 ("ghc-fail" ,ghc-fail)
7046 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7047 (native-inputs
7048 `(("ghc-tasty" ,ghc-tasty)
7049 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7050 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7051 (home-page "https://github.com/llvm-hs/llvm-hs/")
7052 (synopsis "Pure Haskell LLVM functionality (no FFI)")
7053 (description "llvm-hs-pure is a set of pure Haskell types and functions
7054for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
7055LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
7056llvm-hs-pure does not require LLVM to be available.")
7057 (license license:bsd-3)))
7058
e3ee8023
J
7059(define-public ghc-llvm-hs
7060 (package
7061 (name "ghc-llvm-hs")
7062 (version "9.0.1")
7063 (source
7064 (origin
7065 (method url-fetch)
7066 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
7067 version ".tar.gz"))
7068 (sha256
7069 (base32
7070 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
7071 (build-system haskell-build-system)
7072 (inputs
7073 `(("ghc-attoparsec" ,ghc-attoparsec)
7074 ("ghc-exceptions" ,ghc-exceptions)
7075 ("ghc-utf8-string" ,ghc-utf8-string)
7076 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
7077 ("llvm" ,llvm-9)))
7078 (native-inputs
7079 `(("ghc-tasty" ,ghc-tasty)
7080 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7081 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7082 ("ghc-quickcheck" ,ghc-quickcheck)
7083 ("ghc-temporary" ,ghc-temporary)
7084 ("ghc-pretty-show" ,ghc-pretty-show)
7085 ("ghc-temporary" ,ghc-temporary)))
7086 (home-page "https://github.com/llvm-hs/llvm-hs/")
7087 (synopsis "General purpose LLVM bindings for Haskell")
7088 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
7089current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
7090IR, and so offers two advantages: it handles almost all of the stateful
7091complexities of using the LLVM API to build IR; and it supports moving IR not
7092only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
7093into Haskell.")
7094 (license license:bsd-3)))
7095
dddbc90c
RV
7096(define-public ghc-logging-facade
7097 (package
7098 (name "ghc-logging-facade")
7099 (version "0.3.0")
7100 (source (origin
7101 (method url-fetch)
7102 (uri (string-append "https://hackage.haskell.org/package/"
7103 "logging-facade/logging-facade-"
7104 version ".tar.gz"))
7105 (sha256
7106 (base32
7107 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
7108 (build-system haskell-build-system)
7109 (native-inputs
7110 `(("ghc-hspec" ,ghc-hspec)
7111 ("hspec-discover" ,hspec-discover)))
7112 (home-page "https://hackage.haskell.org/package/logging-facade")
7113 (synopsis "Simple logging abstraction that allows multiple back-ends")
7114 (description
7115 "This package provides a simple logging abstraction that allows multiple
7116back-ends.")
7117 (license license:expat)))
7118
7119(define-public ghc-logict
7120 (package
7121 (name "ghc-logict")
79d9326f 7122 (version "0.7.0.2")
dddbc90c
RV
7123 (source
7124 (origin
7125 (method url-fetch)
7126 (uri (string-append
7127 "https://hackage.haskell.org/package/logict/logict-"
7128 version
7129 ".tar.gz"))
7130 (sha256
7131 (base32
79d9326f 7132 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 7133 (build-system haskell-build-system)
79d9326f
TS
7134 (native-inputs
7135 `(("ghc-tasty" ,ghc-tasty)
7136 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
7137 (home-page "http://code.haskell.org/~dolio/")
7138 (synopsis "Backtracking logic-programming monad")
7139 (description "This library provides a continuation-based, backtracking,
7140logic programming monad. An adaptation of the two-continuation implementation
7141found in the paper \"Backtracking, Interleaving, and Terminating Monad
7142Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
7143online}.")
7144 (license license:bsd-3)))
7145
7146(define-public ghc-lzma
7147 (package
7148 (name "ghc-lzma")
7149 (version "0.0.0.3")
7150 (source
7151 (origin
7152 (method url-fetch)
7153 (uri (string-append "https://hackage.haskell.org/package/lzma/"
7154 "lzma-" version ".tar.gz"))
7155 (sha256
7156 (base32
7157 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
7158 (build-system haskell-build-system)
7159 (arguments
7160 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
7161 #:cabal-revision
7162 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
7163 (native-inputs
7164 `(("ghc-hunit" ,ghc-hunit)
7165 ("ghc-quickcheck" ,ghc-quickcheck)
7166 ("ghc-tasty" ,ghc-tasty)
7167 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7168 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7169 (home-page "https://github.com/hvr/lzma")
7170 (synopsis "LZMA/XZ compression and decompression")
7171 (description
7172 "This package provides a pure interface for compressing and
7173decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
7174monadic incremental interface is provided as well.")
7175 (license license:bsd-3)))
7176
7177(define-public ghc-lzma-conduit
7178 (package
7179 (name "ghc-lzma-conduit")
7180 (version "1.2.1")
7181 (source
7182 (origin
7183 (method url-fetch)
7184 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
7185 "lzma-conduit-" version ".tar.gz"))
7186 (sha256
7187 (base32
7188 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
7189 (build-system haskell-build-system)
7190 (inputs
7191 `(("ghc-conduit" ,ghc-conduit)
7192 ("ghc-lzma" ,ghc-lzma)
7193 ("ghc-resourcet" ,ghc-resourcet)))
7194 (native-inputs
7195 `(("ghc-base-compat" ,ghc-base-compat)
7196 ("ghc-test-framework" ,ghc-test-framework)
7197 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7198 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7199 ("ghc-hunit" ,ghc-hunit)
7200 ("ghc-quickcheck" ,ghc-quickcheck)))
7201 (home-page "https://github.com/alphaHeavy/lzma-conduit")
7202 (synopsis "Conduit interface for lzma/xz compression")
7203 (description
7204 "This package provides a @code{Conduit} interface for the LZMA
7205compression algorithm used in the @code{.xz} file format.")
7206 (license license:bsd-3)))
7207
e405912c
KM
7208(define-public ghc-magic
7209 (package
7210 (name "ghc-magic")
7211 (version "1.1")
7212 (source
7213 (origin
7214 (method url-fetch)
7215 (uri (string-append
7216 "https://hackage.haskell.org/package/magic/magic-"
7217 version ".tar.gz"))
7218 (sha256
7219 (base32
7220 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
7221 (build-system haskell-build-system)
3ef91e15 7222 (home-page "https://hackage.haskell.org/package/magic")
e405912c
KM
7223 (synopsis "Interface to C file/magic library")
7224 (description
7225 "This package provides a full-featured binding to the C libmagic library.
7226With it, you can determine the type of a file by examining its contents rather
7227than its name.")
7228 (license license:bsd-3)))
7229
bcfe9dba
JS
7230(define-public ghc-managed
7231 (package
7232 (name "ghc-managed")
7233 (version "1.0.6")
7234 (source
7235 (origin
7236 (method url-fetch)
7237 (uri (string-append
7238 "mirror://hackage/package/managed/managed-"
7239 version
7240 ".tar.gz"))
7241 (sha256
7242 (base32
7243 "1kbrw99yh5x5blykmx2n88mplbbi4ss1ij5j17b7asw6q0ihm9zi"))))
7244 (build-system haskell-build-system)
7245 (home-page "http://hackage.haskell.org/package/managed")
7246 (synopsis "Monad for managed values")
7247 (description
7248 "In Haskell you very often acquire values using the with... idiom using
7249functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
7250special case of the ContT monad (from transformers) or the Codensity
7251monad (from kan-extensions). The main purpose behind this package is to
7252provide a restricted form of these monads specialized to this unusually common
7253case.
7254
7255The reason this package defines a specialized version of these types
7256is to:
7257
7258@itemize
7259@item be more beginner-friendly,
7260@item simplify inferred types and error messages, and:
7261@item provide some additional type class instances that would otherwise be
7262orphan instances
7263@end itemize")
7264 (license license:bsd-3)))
7265
dddbc90c
RV
7266(define-public ghc-markdown-unlit
7267 (package
7268 (name "ghc-markdown-unlit")
7269 (version "0.5.0")
7270 (source (origin
7271 (method url-fetch)
7272 (uri (string-append
7273 "mirror://hackage/package/markdown-unlit/"
7274 "markdown-unlit-" version ".tar.gz"))
7275 (sha256
7276 (base32
7277 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
7278 (build-system haskell-build-system)
7279 (inputs
7280 `(("ghc-base-compat" ,ghc-base-compat)
7281 ("ghc-hspec" ,ghc-hspec)
7282 ("ghc-quickcheck" ,ghc-quickcheck)
7283 ("ghc-silently" ,ghc-silently)
7284 ("ghc-stringbuilder" ,ghc-stringbuilder)
7285 ("ghc-temporary" ,ghc-temporary)
7286 ("hspec-discover" ,hspec-discover)))
7287 (home-page "https://github.com/sol/markdown-unlit#readme")
7288 (synopsis "Literate Haskell support for Markdown")
7289 (description "This package allows you to have a README.md that at the
7290same time is a literate Haskell program.")
7291 (license license:expat)))
7292
7293(define-public ghc-math-functions
7294 (package
7295 (name "ghc-math-functions")
b45de2bf 7296 (version "0.3.3.0")
dddbc90c
RV
7297 (source
7298 (origin
7299 (method url-fetch)
7300 (uri (string-append "https://hackage.haskell.org/package/"
7301 "math-functions-" version "/"
7302 "math-functions-" version ".tar.gz"))
7303 (sha256
7304 (base32
b45de2bf 7305 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
7306 (build-system haskell-build-system)
7307 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
7308 (inputs
b45de2bf
TS
7309 `(("ghc-data-default-class" ,ghc-data-default-class)
7310 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
7311 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
7312 (native-inputs
7313 `(("ghc-hunit" ,ghc-hunit)
7314 ("ghc-quickcheck" ,ghc-quickcheck)
7315 ("ghc-erf" ,ghc-erf)
7316 ("ghc-test-framework" ,ghc-test-framework)
7317 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7318 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7319 (home-page "https://github.com/bos/math-functions")
7320 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7321 (description "This Haskell library provides implementations of
7322special mathematical functions and Chebyshev polynomials. These
7323functions are often useful in statistical and numerical computing.")
7324 (license license:bsd-3)))
7325
7326(define-public ghc-megaparsec
7327 (package
7328 (name "ghc-megaparsec")
03b0c92e 7329 (version "7.0.5")
dddbc90c
RV
7330 (source
7331 (origin
7332 (method url-fetch)
7333 (uri (string-append "https://hackage.haskell.org/package/"
7334 "megaparsec/megaparsec-"
7335 version ".tar.gz"))
7336 (sha256
7337 (base32
03b0c92e 7338 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 7339 (build-system haskell-build-system)
dddbc90c
RV
7340 (inputs
7341 `(("ghc-case-insensitive" ,ghc-case-insensitive)
7342 ("ghc-parser-combinators" ,ghc-parser-combinators)
7343 ("ghc-scientific" ,ghc-scientific)))
7344 (native-inputs
7345 `(("ghc-quickcheck" ,ghc-quickcheck)
7346 ("ghc-hspec" ,ghc-hspec)
7347 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
7348 ("hspec-discover" ,hspec-discover)))
7349 (home-page "https://github.com/mrkkrp/megaparsec")
7350 (synopsis "Monadic parser combinators")
7351 (description
7352 "This is an industrial-strength monadic parser combinator library.
7353Megaparsec is a feature-rich package that strikes a nice balance between
7354speed, flexibility, and quality of parse errors.")
7355 (license license:bsd-2)))
7356
7357(define-public ghc-memory
7358 (package
7359 (name "ghc-memory")
d2c7d336 7360 (version "0.14.18")
dddbc90c
RV
7361 (source (origin
7362 (method url-fetch)
7363 (uri (string-append "https://hackage.haskell.org/package/"
7364 "memory/memory-" version ".tar.gz"))
7365 (sha256
7366 (base32
d2c7d336 7367 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
7368 (build-system haskell-build-system)
7369 (inputs
7370 `(("ghc-basement" ,ghc-basement)
7371 ("ghc-foundation" ,ghc-foundation)))
7372 (native-inputs
7373 `(("ghc-tasty" ,ghc-tasty)
7374 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7375 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7376 (home-page "https://github.com/vincenthz/hs-memory")
7377 (synopsis "Memory abstractions for Haskell")
7378 (description
7379 "This package provides memory abstractions, such as chunk of memory,
7380polymorphic byte array management and manipulation functions. It contains a
7381polymorphic byte array abstraction and functions similar to strict ByteString,
7382different type of byte array abstraction, raw memory IO operations (memory
7383set, memory copy, ..) and more")
7384 (license license:bsd-3)))
7385
7386(define-public ghc-memotrie
7387 (package
7388 (name "ghc-memotrie")
7389 (version "0.6.9")
7390 (source
7391 (origin
7392 (method url-fetch)
7393 (uri (string-append
7394 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7395 version
7396 ".tar.gz"))
7397 (sha256
7398 (base32
7399 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7400 (build-system haskell-build-system)
7401 (inputs
7402 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7403 (home-page "https://github.com/conal/MemoTrie")
7404 (synopsis "Trie-based memo functions")
7405 (description "This package provides a functional library for creating
7406efficient memo functions using tries.")
7407 (license license:bsd-3)))
7408
7409(define-public ghc-microlens
7410 (package
7411 (name "ghc-microlens")
82478c58 7412 (version "0.4.10")
dddbc90c
RV
7413 (source
7414 (origin
7415 (method url-fetch)
7416 (uri (string-append "https://hackage.haskell.org/package/"
7417 "microlens-" version "/"
7418 "microlens-" version ".tar.gz"))
7419 (sha256
7420 (base32
82478c58 7421 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
7422 (build-system haskell-build-system)
7423 (home-page
7424 "https://github.com/aelve/microlens")
7425 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7426 (description "This Haskell package provides a lens library, just like
7427@code{ghc-lens}, but smaller. It provides essential lenses and
7428traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7429nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7430combinators (like @code{failing} and @code{singular}), but everything else is
7431stripped. As the result, this package has no dependencies.")
7432 (license license:bsd-3)))
7433
1cd3333e
TS
7434(define-public ghc-microlens-aeson
7435 (package
7436 (name "ghc-microlens-aeson")
7437 (version "2.3.0.4")
7438 (source
7439 (origin
7440 (method url-fetch)
7441 (uri (string-append "https://hackage.haskell.org/package/"
7442 "microlens-aeson/microlens-aeson-"
7443 version ".tar.gz"))
b4a00fec 7444 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
7445 (sha256
7446 (base32
7447 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7448 (build-system haskell-build-system)
7449 (inputs
7450 `(("ghc-aeson" ,ghc-aeson)
7451 ("ghc-attoparsec" ,ghc-attoparsec)
7452 ("ghc-hashable" ,ghc-hashable)
7453 ("ghc-microlens" ,ghc-microlens)
7454 ("ghc-scientific" ,ghc-scientific)
7455 ("ghc-unordered-containers" ,ghc-unordered-containers)
7456 ("ghc-vector" ,ghc-vector)))
7457 (native-inputs
7458 `(("ghc-tasty" ,ghc-tasty)
7459 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7460 (home-page "https://github.com/fosskers/microlens-aeson")
7461 (synopsis "Law-abiding lenses for Aeson, using microlens")
7462 (description "This library provides law-abiding lenses for Aeson, using
7463microlens.")
7464 (license license:expat)))
7465
dddbc90c
RV
7466(define-public ghc-microlens-ghc
7467 (package
7468 (name "ghc-microlens-ghc")
027beb55 7469 (version "0.4.10")
dddbc90c
RV
7470 (source
7471 (origin
7472 (method url-fetch)
7473 (uri (string-append
7474 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7475 version
7476 ".tar.gz"))
7477 (sha256
7478 (base32
027beb55 7479 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
7480 (build-system haskell-build-system)
7481 (inputs `(("ghc-microlens" ,ghc-microlens)))
7482 (home-page "https://github.com/monadfix/microlens")
7483 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7484 (description "This library provides everything that @code{microlens}
7485provides plus instances to make @code{each}, @code{at}, and @code{ix}
7486usable with arrays, @code{ByteString}, and containers. This package is
7487a part of the @uref{http://hackage.haskell.org/package/microlens,
7488microlens} family; see the readme
7489@uref{https://github.com/aelve/microlens#readme, on Github}.")
7490 (license license:bsd-3)))
7491
7492(define-public ghc-microlens-mtl
7493 (package
7494 (name "ghc-microlens-mtl")
7495 (version "0.1.11.1")
7496 (source
7497 (origin
7498 (method url-fetch)
7499 (uri (string-append
7500 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7501 version
7502 ".tar.gz"))
7503 (sha256
7504 (base32
7505 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7506 (build-system haskell-build-system)
7507 (inputs
7508 `(("ghc-microlens" ,ghc-microlens)
7509 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7510 (home-page "https://github.com/monadfix/microlens")
7511 (synopsis
7512 "@code{microlens} support for Reader/Writer/State from mtl")
7513 (description
7514 "This package contains functions (like @code{view} or @code{+=}) which
7515work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7516mtl package. This package is a part of the
7517@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7518readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7519 (license license:bsd-3)))
7520
7521(define-public ghc-microlens-platform
7522 (package
7523 (name "ghc-microlens-platform")
85decc1f 7524 (version "0.3.11")
dddbc90c
RV
7525 (source
7526 (origin
7527 (method url-fetch)
7528 (uri (string-append
7529 "https://hackage.haskell.org/package/"
7530 "microlens-platform/microlens-platform-" version ".tar.gz"))
7531 (sha256
7532 (base32
85decc1f 7533 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
7534 (build-system haskell-build-system)
7535 (inputs
7536 `(("ghc-hashable" ,ghc-hashable)
7537 ("ghc-microlens" ,ghc-microlens)
7538 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7539 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7540 ("ghc-microlens-th" ,ghc-microlens-th)
7541 ("ghc-unordered-containers" ,ghc-unordered-containers)
7542 ("ghc-vector" ,ghc-vector)))
7543 (home-page "https://github.com/monadfix/microlens")
7544 (synopsis "Feature-complete microlens")
7545 (description
7546 "This package exports a module which is the recommended starting point
7547for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7548you aren't trying to keep your dependencies minimal. By importing
7549@code{Lens.Micro.Platform} you get all functions and instances from
7550@uref{http://hackage.haskell.org/package/microlens, microlens},
7551@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7552@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7553@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7554well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7555minor and major versions of @code{microlens-platform} are incremented whenever
7556the minor and major versions of any other @code{microlens} package are
7557incremented, so you can depend on the exact version of
7558@code{microlens-platform} without specifying the version of @code{microlens}
7559you need. This package is a part of the
7560@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7561readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7562 (license license:bsd-3)))
7563
7564(define-public ghc-microlens-th
7565 (package
7566 (name "ghc-microlens-th")
7ae52867 7567 (version "0.4.2.3")
dddbc90c
RV
7568 (source
7569 (origin
7570 (method url-fetch)
7571 (uri (string-append "https://hackage.haskell.org/package/"
7572 "microlens-th-" version "/"
7573 "microlens-th-" version ".tar.gz"))
7574 (sha256
7575 (base32
7ae52867 7576 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 7577 (build-system haskell-build-system)
7ae52867
TS
7578 (arguments
7579 `(#:cabal-revision
7580 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
7581 (inputs `(("ghc-microlens" ,ghc-microlens)
7582 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7583 (home-page
7584 "https://github.com/aelve/microlens")
7585 (synopsis "Automatic generation of record lenses for
7586@code{ghc-microlens}")
7587 (description "This Haskell package lets you automatically generate lenses
7588for data types; code was extracted from the lens package, and therefore
7589generated lenses are fully compatible with ones generated by lens (and can be
7590used both from lens and microlens).")
7591 (license license:bsd-3)))
7592
7593(define-public ghc-missingh
7594 (package
7595 (name "ghc-missingh")
641207cb 7596 (version "1.4.1.0")
dddbc90c
RV
7597 (source
7598 (origin
7599 (method url-fetch)
7600 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7601 "MissingH-" version ".tar.gz"))
7602 (sha256
7603 (base32
641207cb 7604 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
7605 (build-system haskell-build-system)
7606 ;; Tests require the unmaintained testpack package, which depends on the
7607 ;; outdated QuickCheck version 2.7, which can no longer be built with
7608 ;; recent versions of GHC and Haskell libraries.
7609 (arguments '(#:tests? #f))
7610 (inputs
7611 `(("ghc-network" ,ghc-network)
7612 ("ghc-hunit" ,ghc-hunit)
7613 ("ghc-regex-compat" ,ghc-regex-compat)
7614 ("ghc-hslogger" ,ghc-hslogger)
7615 ("ghc-random" ,ghc-random)
7616 ("ghc-old-time" ,ghc-old-time)
7617 ("ghc-old-locale" ,ghc-old-locale)))
7618 (native-inputs
7619 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7620 ("ghc-quickcheck" ,ghc-quickcheck)
7621 ("ghc-hunit" ,ghc-hunit)))
f1841ccf
TGR
7622 ;; ‘Official’ <http://software.complete.org/missingh> redirects to a 404.
7623 (home-page "https://github.com/haskell-hvr/missingh")
dddbc90c
RV
7624 (synopsis "Large utility library")
7625 (description
7626 "MissingH is a library of all sorts of utility functions for Haskell
7627programmers. It is written in pure Haskell and thus should be extremely
7628portable and easy to use.")
7629 (license license:bsd-3)))
7630
7631(define-public ghc-mmap
7632 (package
7633 (name "ghc-mmap")
7634 (version "0.5.9")
7635 (source (origin
7636 (method url-fetch)
7637 (uri (string-append "https://hackage.haskell.org/package/"
7638 "mmap/mmap-" version ".tar.gz"))
7639 (sha256
7640 (base32
7641 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7642 (build-system haskell-build-system)
7643 (home-page "https://hackage.haskell.org/package/mmap")
7644 (synopsis "Memory mapped files for Haskell")
7645 (description
7646 "This library provides a wrapper to @code{mmap}, allowing files or
7647devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7648@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7649do on-demand loading.")
7650 (license license:bsd-3)))
7651
7652(define-public ghc-mmorph
7653 (package
7654 (name "ghc-mmorph")
e0389704 7655 (version "1.1.3")
dddbc90c
RV
7656 (source
7657 (origin
7658 (method url-fetch)
7659 (uri (string-append
7660 "https://hackage.haskell.org/package/mmorph/mmorph-"
7661 version
7662 ".tar.gz"))
7663 (sha256
7664 (base32
e0389704 7665 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7666 (build-system haskell-build-system)
7667 (inputs
7668 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7669 (home-page "https://hackage.haskell.org/package/mmorph")
7670 (synopsis "Monad morphisms")
7671 (description
7672 "This library provides monad morphism utilities, most commonly used for
7673manipulating monad transformer stacks.")
7674 (license license:bsd-3)))
7675
7676(define-public ghc-mockery
7677 (package
7678 (name "ghc-mockery")
7679 (version "0.3.5")
7680 (source (origin
7681 (method url-fetch)
7682 (uri (string-append "https://hackage.haskell.org/package/"
7683 "mockery/mockery-" version ".tar.gz"))
7684 (sha256
7685 (base32
7686 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7687 (build-system haskell-build-system)
7688 (inputs
7689 `(("ghc-temporary" ,ghc-temporary)
7690 ("ghc-logging-facade" ,ghc-logging-facade)
7691 ("ghc-base-compat" ,ghc-base-compat)))
7692 (native-inputs
7693 `(("ghc-hspec" ,ghc-hspec)
7694 ("hspec-discover" ,hspec-discover)))
7695 (home-page "https://hackage.haskell.org/package/mockery")
7696 (synopsis "Support functions for automated testing")
7697 (description
7698 "The mockery package provides support functions for automated testing.")
7699 (license license:expat)))
7700
7701(define-public ghc-monad-control
7702 (package
7703 (name "ghc-monad-control")
7704 (version "1.0.2.3")
7705 (source
7706 (origin
7707 (method url-fetch)
7708 (uri (string-append
7709 "https://hackage.haskell.org/package/monad-control"
7710 "/monad-control-" version ".tar.gz"))
7711 (sha256
7712 (base32
7713 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7714 (build-system haskell-build-system)
7715 (inputs
7716 `(("ghc-transformers-base" ,ghc-transformers-base)
7717 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7718 (home-page "https://github.com/basvandijk/monad-control")
7719 (synopsis "Monad transformers to lift control operations like exception
7720catching")
7721 (description "This package defines the type class @code{MonadBaseControl},
7722a subset of @code{MonadBase} into which generic control operations such as
7723@code{catch} can be lifted from @code{IO} or any other base monad.")
7724 (license license:bsd-3)))
7725
7726(define-public ghc-monad-logger
7727 (package
7728 (name "ghc-monad-logger")
26980aae 7729 (version "0.3.30")
dddbc90c
RV
7730 (source
7731 (origin
7732 (method url-fetch)
7733 (uri (string-append "https://hackage.haskell.org/package/"
7734 "monad-logger-" version "/"
7735 "monad-logger-" version ".tar.gz"))
7736 (sha256
7737 (base32
26980aae 7738 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7739 (build-system haskell-build-system)
7740 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7741 ("ghc-stm-chans" ,ghc-stm-chans)
7742 ("ghc-lifted-base" ,ghc-lifted-base)
7743 ("ghc-resourcet" ,ghc-resourcet)
7744 ("ghc-conduit" ,ghc-conduit)
7745 ("ghc-conduit-extra" ,ghc-conduit-extra)
7746 ("ghc-fast-logger" ,ghc-fast-logger)
7747 ("ghc-transformers-base" ,ghc-transformers-base)
7748 ("ghc-monad-control" ,ghc-monad-control)
7749 ("ghc-monad-loops" ,ghc-monad-loops)
7750 ("ghc-blaze-builder" ,ghc-blaze-builder)
7751 ("ghc-exceptions" ,ghc-exceptions)))
7752 (home-page "https://github.com/kazu-yamamoto/logger")
7753 (synopsis "Provides a class of monads which can log messages for Haskell")
7754 (description "This Haskell package uses a monad transformer approach
7755for logging.
7756
7757This package provides Template Haskell functions for determining source
7758code locations of messages.")
7759 (license license:expat)))
7760
7761(define-public ghc-monad-loops
7762 (package
7763 (name "ghc-monad-loops")
7764 (version "0.4.3")
7765 (source
7766 (origin
7767 (method url-fetch)
7768 (uri (string-append "https://hackage.haskell.org/package/"
7769 "monad-loops-" version "/"
7770 "monad-loops-" version ".tar.gz"))
7771 (sha256
7772 (base32
7773 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7774 (build-system haskell-build-system)
7775 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7776 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7777 (home-page "https://github.com/mokus0/monad-loops")
7778 (synopsis "Monadic loops for Haskell")
7779 (description "This Haskell package provides some useful control
7780operators for looping.")
7781 (license license:public-domain)))
7782
7783(define-public ghc-monad-par
7784 (package
7785 (name "ghc-monad-par")
7786 (version "0.3.4.8")
7787 (source
7788 (origin
7789 (method url-fetch)
7790 (uri (string-append "https://hackage.haskell.org/package/"
7791 "monad-par-" version "/"
7792 "monad-par-" version ".tar.gz"))
faac56f3 7793 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7794 (sha256
7795 (base32
7796 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7797 (build-system haskell-build-system)
7798 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7799 ("ghc-abstract-deque" ,ghc-abstract-deque)
7800 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7801 ("ghc-mwc-random" ,ghc-mwc-random)
7802 ("ghc-parallel" ,ghc-parallel)))
7803 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7804 ("ghc-hunit" ,ghc-hunit)
7805 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7806 ("ghc-test-framework-quickcheck2"
7807 ,ghc-test-framework-quickcheck2)
7808 ("ghc-test-framework" ,ghc-test-framework)
7809 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7810 (home-page "https://github.com/simonmar/monad-par")
7811 (synopsis "Haskell library for parallel programming based on a monad")
7812 (description "The @code{Par} monad offers an API for parallel
7813programming. The library works for parallelising both pure and @code{IO}
7814computations, although only the pure version is deterministic. The default
7815implementation provides a work-stealing scheduler and supports forking tasks
7816that are much lighter weight than IO-threads.")
7817 (license license:bsd-3)))
7818
7819(define-public ghc-monad-par-extras
7820 (package
7821 (name "ghc-monad-par-extras")
7822 (version "0.3.3")
7823 (source
7824 (origin
7825 (method url-fetch)
7826 (uri (string-append "https://hackage.haskell.org/package/"
7827 "monad-par-extras-" version "/"
7828 "monad-par-extras-" version ".tar.gz"))
7829 (sha256
7830 (base32
7831 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7832 (build-system haskell-build-system)
7833 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7834 ("ghc-cereal" ,ghc-cereal)
7835 ("ghc-random" ,ghc-random)))
7836 (home-page "https://github.com/simonmar/monad-par")
7837 (synopsis "Combinators and extra features for Par monads for Haskell")
7838 (description "This Haskell package provides additional data structures,
7839and other added capabilities layered on top of the @code{Par} monad.")
7840 (license license:bsd-3)))
7841
dddbc90c
RV
7842(define-public ghc-monadrandom
7843 (package
7844 (name "ghc-monadrandom")
7845 (version "0.5.1.1")
7846 (source
7847 (origin
7848 (method url-fetch)
7849 (uri (string-append "https://hackage.haskell.org/package/"
7850 "MonadRandom-" version "/"
7851 "MonadRandom-" version ".tar.gz"))
7852 (sha256
7853 (base32
7854 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7855 (build-system haskell-build-system)
7856 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7857 ("ghc-primitive" ,ghc-primitive)
7858 ("ghc-fail" ,ghc-fail)
7859 ("ghc-random" ,ghc-random)))
7860 (home-page "https://github.com/byorgey/MonadRandom")
7861 (synopsis "Random-number generation monad for Haskell")
7862 (description "This Haskell package provides support for computations
7863which consume random values.")
7864 (license license:bsd-3)))
7865
7866(define-public ghc-monads-tf
7867 (package
7868 (name "ghc-monads-tf")
7869 (version "0.1.0.3")
7870 (source
7871 (origin
7872 (method url-fetch)
7873 (uri (string-append
7874 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7875 version ".tar.gz"))
7876 (sha256
7877 (base32
7878 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7879 (build-system haskell-build-system)
7880 (home-page "https://hackage.haskell.org/package/monads-tf")
7881 (synopsis "Monad classes, using type families")
7882 (description
7883 "Monad classes using type families, with instances for various monad transformers,
7884inspired by the paper 'Functional Programming with Overloading and Higher-Order
7885Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7886the @code{mtl-tf} package.")
7887 (license license:bsd-3)))
7888
7889(define-public ghc-mono-traversable
7890 (package
7891 (name "ghc-mono-traversable")
23bb445b 7892 (version "1.0.13.0")
dddbc90c
RV
7893 (source
7894 (origin
7895 (method url-fetch)
7896 (uri (string-append "https://hackage.haskell.org/package/"
7897 "mono-traversable-" version "/"
7898 "mono-traversable-" version ".tar.gz"))
7899 (sha256
7900 (base32
23bb445b 7901 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7902 (build-system haskell-build-system)
7903 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7904 ("ghc-hashable" ,ghc-hashable)
7905 ("ghc-vector" ,ghc-vector)
7906 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7907 ("ghc-split" ,ghc-split)))
7908 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7909 ("ghc-hunit" ,ghc-hunit)
7910 ("ghc-quickcheck" ,ghc-quickcheck)
7911 ("ghc-semigroups" ,ghc-semigroups)
7912 ("ghc-foldl" ,ghc-foldl)))
7913 (home-page "https://github.com/snoyberg/mono-traversable")
7914 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7915containers")
7916 (description "This Haskell package provides Monomorphic variants of the
7917Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7918basic typeclasses, you understand mono-traversable. In addition to what
7919you are used to, it adds on an IsSequence typeclass and has code for marking
7920data structures as non-empty.")
7921 (license license:expat)))
7922
471e77cf
TS
7923(define-public ghc-monoid-extras
7924 (package
7925 (name "ghc-monoid-extras")
7926 (version "0.5.1")
7927 (source
7928 (origin
7929 (method url-fetch)
7930 (uri (string-append "https://hackage.haskell.org/package/"
7931 "monoid-extras/monoid-extras-" version ".tar.gz"))
7932 (sha256
7933 (base32
7934 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7935 (build-system haskell-build-system)
7936 (inputs
7937 `(("ghc-groups" ,ghc-groups)
7938 ("ghc-semigroups" ,ghc-semigroups)
7939 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7940 (arguments
7941 `(#:cabal-revision
7942 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7943 (home-page "https://hackage.haskell.org/package/monoid-extras")
7944 (synopsis "Various extra monoid-related definitions and utilities")
7945 (description "This package provides various extra monoid-related
7946definitions and utilities, such as monoid actions, monoid coproducts,
7947semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7948\"cut\" monoids.")
7949 (license license:bsd-3)))
7950
4759b617
JS
7951(define-public ghc-mtl-compat
7952 (package
7953 (name "ghc-mtl-compat")
7954 (version "0.2.2")
7955 (source
7956 (origin
7957 (method url-fetch)
7958 (uri (string-append
7959 "mirror://hackage/package/mtl-compat/mtl-compat-"
7960 version
7961 ".tar.gz"))
7962 (sha256
7963 (base32
7964 "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
7965 (build-system haskell-build-system)
7966 (home-page
7967 "https://github.com/haskell-compat/mtl-compat")
7968 (synopsis
7969 "Backported Control.Monad.Except module from mtl")
7970 (description
7971 "This package backports the Control.Monad.Except module from mtl (if
7972using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
7973and the MonadError class.
7974
7975This package should only be used if there is a need to use the
7976Control.Monad.Except module specifically. If you just want the mtl class
7977instances for ExceptT, use transformers-compat instead, since mtl-compat does
7978nothing but reexport the instances from that package.
7979
7980Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
7981module defined in this package exports all of ExceptT's monad class instances.
7982Therefore, you may have to declare @code{import Control.Monad.Except ()} at
7983the top of your file to get all of the ExceptT instances in scope.")
7984 (license license:bsd-3)))
7985
dddbc90c
RV
7986(define-public ghc-murmur-hash
7987 (package
7988 (name "ghc-murmur-hash")
7989 (version "0.1.0.9")
7990 (source
7991 (origin
7992 (method url-fetch)
7993 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7994 "/murmur-hash-" version ".tar.gz"))
7995 (sha256
7996 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7997 (build-system haskell-build-system)
7998 (home-page "https://github.com/nominolo/murmur-hash")
7999 (synopsis "MurmurHash2 implementation for Haskell")
8000 (description
8001 "This package provides an implementation of MurmurHash2, a good, fast,
8002general-purpose, non-cryptographic hashing function. See
8003@url{https://sites.google.com/site/murmurhash/} for details. This
8004implementation is pure Haskell, so it might be a bit slower than a C FFI
8005binding.")
8006 (license license:bsd-3)))
8007
8008(define-public ghc-mwc-random
8009 (package
8010 (name "ghc-mwc-random")
33268e2c 8011 (version "0.14.0.0")
dddbc90c
RV
8012 (source
8013 (origin
8014 (method url-fetch)
8015 (uri (string-append "https://hackage.haskell.org/package/"
8016 "mwc-random-" version "/"
8017 "mwc-random-" version ".tar.gz"))
8018 (sha256
8019 (base32
33268e2c 8020 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
8021 (build-system haskell-build-system)
8022 (inputs
8023 `(("ghc-primitive" ,ghc-primitive)
8024 ("ghc-vector" ,ghc-vector)
8025 ("ghc-math-functions" ,ghc-math-functions)))
8026 (arguments
8027 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8028 (native-inputs
8029 `(("ghc-hunit" ,ghc-hunit)
8030 ("ghc-quickcheck" ,ghc-quickcheck)
8031 ("ghc-test-framework" ,ghc-test-framework)
8032 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8033 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8034 (home-page "https://github.com/bos/mwc-random")
8035 (synopsis "Random number generation library for Haskell")
8036 (description "This Haskell package contains code for generating
8037high quality random numbers that follow either a uniform or normal
8038distribution. The generated numbers are suitable for use in
8039statistical applications.
8040
8041The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8042multiply-with-carry generator, which has a period of 2^{8222} and
8043fares well in tests of randomness. It is also extremely fast,
8044between 2 and 3 times faster than the Mersenne Twister.")
8045 (license license:bsd-3)))
8046
8047(define-public ghc-nats
8048 (package
8049 (name "ghc-nats")
8050 (version "1.1.2")
8051 (source
8052 (origin
8053 (method url-fetch)
8054 (uri (string-append
8055 "https://hackage.haskell.org/package/nats/nats-"
8056 version
8057 ".tar.gz"))
8058 (sha256
8059 (base32
8060 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
8061 (build-system haskell-build-system)
8062 (arguments `(#:haddock? #f))
8063 (inputs
8064 `(("ghc-hashable" ,ghc-hashable)))
8065 (home-page "https://hackage.haskell.org/package/nats")
8066 (synopsis "Natural numbers")
8067 (description "This library provides the natural numbers for Haskell.")
8068 (license license:bsd-3)))
8069
8070(define-public ghc-nats-bootstrap
8071 (package
8072 (inherit ghc-nats)
8073 (name "ghc-nats-bootstrap")
8074 (inputs
8075 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
8076 (properties '((hidden? #t)))))
8077
52915062
EF
8078(define-public ghc-ncurses
8079 (package
8080 (name "ghc-ncurses")
8081 (version "0.2.16")
8082 (source
8083 (origin
8084 (method url-fetch)
8085 (uri (string-append
8086 "https://hackage.haskell.org/package/ncurses/ncurses-"
8087 version ".tar.gz"))
8088 (sha256
8089 (base32
8090 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
8091 (build-system haskell-build-system)
8092 (arguments
8093 '(#:phases
8094 (modify-phases %standard-phases
8095 (add-before 'build 'fix-includes
8096 (lambda _
8097 (substitute* '("cbits/hsncurses-shim.h"
8098 "lib/UI/NCurses.chs"
8099 "lib/UI/NCurses/Enums.chs"
8100 "lib/UI/NCurses/Panel.chs")
8101 (("<ncursesw/") "<"))
8102 #t)))
8103 #:cabal-revision
8104 ("1"
8105 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
8106 (inputs `(("ncurses" ,ncurses)))
8107 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
8108 (home-page "https://john-millikin.com/software/haskell-ncurses/")
8109 (synopsis "Modernised bindings to GNU ncurses")
8110 (description "GNU ncurses is a library for creating command-line application
8111with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
8112ncurses.")
8113 (license license:gpl3)))
8114
dddbc90c
RV
8115(define-public ghc-network
8116 (package
8117 (name "ghc-network")
d4473202 8118 (version "2.8.0.1")
dddbc90c
RV
8119 (outputs '("out" "doc"))
8120 (source
8121 (origin
8122 (method url-fetch)
8123 (uri (string-append
8124 "https://hackage.haskell.org/package/network/network-"
8125 version
8126 ".tar.gz"))
8127 (sha256
8128 (base32
d4473202 8129 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
8130 (build-system haskell-build-system)
8131 ;; The regression tests depend on an unpublished module.
8132 (arguments `(#:tests? #f))
8133 (native-inputs
8134 `(("ghc-hunit" ,ghc-hunit)
8135 ("ghc-doctest" ,ghc-doctest)
8136 ("ghc-test-framework" ,ghc-test-framework)
8137 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
8138 (home-page "https://github.com/haskell/network")
8139 (synopsis "Low-level networking interface")
8140 (description
8141 "This package provides a low-level networking interface.")
8142 (license license:bsd-3)))
4780db2c 8143
30eebbe6
TS
8144(define-public ghc-network-bsd
8145 (package
8146 (name "ghc-network-bsd")
8147 (version "2.8.0.0")
8148 (source
8149 (origin
8150 (method url-fetch)
8151 (uri (string-append "https://hackage.haskell.org/package/"
8152 "network-bsd/network-bsd-" version ".tar.gz"))
8153 (sha256
8154 (base32
8155 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
8156 (build-system haskell-build-system)
8157 (inputs
8158 `(("ghc-network" ,ghc-network)))
8159 (home-page "https://github.com/haskell/network-bsd")
8160 (synopsis "POSIX network database (<netdb.h>) API")
8161 (description "This package provides Haskell bindings to the the POSIX
8162network database (<netdb.h>) API.")
8163 (license license:bsd-3)))
8164
096781a1
TS
8165(define-public ghc-network-byte-order
8166 (package
8167 (name "ghc-network-byte-order")
8168 (version "0.1.1.1")
8169 (source
8170 (origin
8171 (method url-fetch)
8172 (uri (string-append "https://hackage.haskell.org/package/"
8173 "network-byte-order/network-byte-order-"
8174 version ".tar.gz"))
8175 (sha256
8176 (base32
8177 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
8178 (build-system haskell-build-system)
8179 (native-inputs
8180 `(("ghc-doctest" ,ghc-doctest)))
3ef91e15 8181 (home-page "https://hackage.haskell.org/package/network-byte-order")
096781a1
TS
8182 (synopsis "Network byte order utilities")
8183 (description "This library provides peek and poke functions for network
8184byte order.")
8185 (license license:bsd-3)))
8186
dddbc90c
RV
8187(define-public ghc-network-info
8188 (package
8189 (name "ghc-network-info")
8190 (version "0.2.0.10")
8191 (source
8192 (origin
8193 (method url-fetch)
8194 (uri (string-append "https://hackage.haskell.org/package/"
8195 "network-info-" version "/"
8196 "network-info-" version ".tar.gz"))
8197 (sha256
8198 (base32
8199 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
8200 (build-system haskell-build-system)
8201 (home-page "https://github.com/jystic/network-info")
8202 (synopsis "Access the local computer's basic network configuration")
8203 (description "This Haskell library provides simple read-only access to the
8204local computer's networking configuration. It is currently capable of
8205getting a list of all the network interfaces and their respective
8206IPv4, IPv6 and MAC addresses.")
8207 (license license:bsd-3)))
8208
8209(define-public ghc-network-uri
8210 (package
8211 (name "ghc-network-uri")
8212 (version "2.6.1.0")
8213 (outputs '("out" "doc"))
8214 (source
8215 (origin
8216 (method url-fetch)
8217 (uri (string-append
8218 "https://hackage.haskell.org/package/network-uri/network-uri-"
8219 version
8220 ".tar.gz"))
8221 (sha256
8222 (base32
8223 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
8224 (build-system haskell-build-system)
8225 (arguments
8226 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
8227 (inputs
8228 `(("ghc-network" ,ghc-network)))
8229 (native-inputs
8230 `(("ghc-hunit" ,ghc-hunit)))
8231 (home-page
8232 "https://github.com/haskell/network-uri")
8233 (synopsis "Library for URI manipulation")
8234 (description "This package provides an URI manipulation interface. In
8235@code{network-2.6} the @code{Network.URI} module was split off from the
8236@code{network} package into this package.")
8237 (license license:bsd-3)))
8238
8239(define-public ghc-newtype-generics
8240 (package
8241 (name "ghc-newtype-generics")
c07e16dd 8242 (version "0.5.4")
dddbc90c
RV
8243 (source
8244 (origin
8245 (method url-fetch)
8246 (uri (string-append "https://hackage.haskell.org/package/"
8247 "newtype-generics/newtype-generics-"
8248 version ".tar.gz"))
8249 (sha256
8250 (base32
c07e16dd 8251 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
8252 (build-system haskell-build-system)
8253 (native-inputs
8254 `(("ghc-hspec" ,ghc-hspec)
8255 ("hspec-discover" ,hspec-discover)))
702a1012 8256 (home-page "https://github.com/sjakobi/newtype-generics")
dddbc90c
RV
8257 (synopsis "Typeclass and set of functions for working with newtypes")
8258 (description "The @code{Newtype} typeclass represents the packing and
8259unpacking of a newtype, and allows you to operate under that newtype with
8260functions such as @code{ala}. Generics support was added in version 0.4,
8261making this package a full replacement for the original newtype package,
8262and an alternative to newtype-th.")
8263 (license license:bsd-3)))
8264
6b652f5a
JS
8265(define-public ghc-non-negative
8266 (package
8267 (name "ghc-non-negative")
8268 (version "0.1.2")
8269 (source
8270 (origin
8271 (method url-fetch)
8272 (uri
8273 (string-append
8274 "https://hackage.haskell.org/package/non-negative/non-negative-"
8275 version ".tar.gz"))
8276 (sha256
8277 (base32
8278 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
8279 (build-system haskell-build-system)
8280 (inputs
8281 `(("ghc-semigroups" ,ghc-semigroups)
8282 ("ghc-utility-ht" ,ghc-utility-ht)
8283 ("ghc-quickcheck" ,ghc-quickcheck)))
8284 (home-page "https://hackage.haskell.org/package/non-negative")
8285 (synopsis "Non-negative numbers class")
8286 (description "This library provides a class for non-negative numbers,
8287a wrapper which can turn any ordered numeric type into a member of that
8288class, and a lazy number type for non-negative numbers (a generalization
8289of Peano numbers).")
8290 (license license:gpl3+)))
8291
49bcca84
ASM
8292(define-public ghc-nonce
8293 (package
8294 (name "ghc-nonce")
8295 (version "1.0.7")
8296 (source
8297 (origin
8298 (method url-fetch)
8299 (uri (string-append
8300 "https://hackage.haskell.org/package/nonce/"
8301 "nonce-" version ".tar.gz"))
8302 (sha256
8303 (base32
8304 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
8305 (build-system haskell-build-system)
8306 (inputs
8307 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
8308 ("ghc-entropy" ,ghc-entropy)
8309 ("ghc-unliftio" ,ghc-unliftio)
8310 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8311 (home-page "https://github.com/prowdsponsor/nonce")
8312 (synopsis "Generate cryptographic nonces in Haskell")
8313 (description
8314 "A nonce is an arbitrary number used only once in a cryptographic
8315communication. This package contain helper functions for generating nonces.
8316There are many kinds of nonces used in different situations. It's not
8317guaranteed that by using the nonces from this package you won't have any
8318security issues. Please make sure that the nonces generated via this
8319package are usable on your design.")
8320 (license license:bsd-3)))
8321
194a82e6
TS
8322(define-public ghc-numeric-extras
8323 (package
8324 (name "ghc-numeric-extras")
8325 (version "0.1")
8326 (source
8327 (origin
8328 (method url-fetch)
8329 (uri (string-append "https://hackage.haskell.org/package/"
8330 "numeric-extras/numeric-extras-"
8331 version ".tar.gz"))
8332 (sha256
8333 (base32
8334 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
8335 (build-system haskell-build-system)
8336 (home-page "https://github.com/ekmett/numeric-extras")
8337 (synopsis "Useful tools from the C standard library")
8338 (description "This library provides some useful tools from the C
8339standard library.")
8340 (license license:bsd-3)))
8341
dddbc90c
RV
8342(define-public ghc-objectname
8343 (package
8344 (name "ghc-objectname")
8345 (version "1.1.0.1")
8346 (source
8347 (origin
8348 (method url-fetch)
8349 (uri (string-append
8350 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
8351 version
8352 ".tar.gz"))
8353 (sha256
8354 (base32
8355 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
8356 (build-system haskell-build-system)
8357 (home-page "https://hackage.haskell.org/package/ObjectName")
8358 (synopsis "Helper library for Haskell OpenGL")
8359 (description "This tiny package contains the class ObjectName, which
8360corresponds to the general notion of explicitly handled identifiers for API
8361objects, e.g. a texture object name in OpenGL or a buffer object name in
8362OpenAL.")
8363 (license license:bsd-3)))
8364
8365(define-public ghc-old-locale
8366 (package
8367 (name "ghc-old-locale")
8368 (version "1.0.0.7")
8369 (source
8370 (origin
8371 (method url-fetch)
8372 (uri (string-append
8373 "https://hackage.haskell.org/package/old-locale/old-locale-"
8374 version
8375 ".tar.gz"))
8376 (sha256
8377 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8378 (build-system haskell-build-system)
8379 (arguments
8380 `(#:cabal-revision
8381 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8382 (home-page "https://hackage.haskell.org/package/old-locale")
8383 (synopsis "Adapt to locale conventions")
8384 (description
8385 "This package provides the ability to adapt to locale conventions such as
8386date and time formats.")
8387 (license license:bsd-3)))
8388
8389(define-public ghc-old-time
8390 (package
8391 (name "ghc-old-time")
8392 (version "1.1.0.3")
8393 (source
8394 (origin
8395 (method url-fetch)
8396 (uri (string-append
8397 "https://hackage.haskell.org/package/old-time/old-time-"
8398 version
8399 ".tar.gz"))
8400 (sha256
8401 (base32
8402 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8403 (build-system haskell-build-system)
8404 (arguments
8405 `(#:cabal-revision
8406 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8407 (inputs
8408 `(("ghc-old-locale" ,ghc-old-locale)))
8409 (home-page "https://hackage.haskell.org/package/old-time")
8410 (synopsis "Time compatibility library for Haskell")
8411 (description "Old-time is a package for backwards compatibility with the
8412old @code{time} library. For new projects, the newer
8413@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8414 (license license:bsd-3)))
8415
8416(define-public ghc-opengl
8417 (package
8418 (name "ghc-opengl")
79a06910 8419 (version "3.0.3.0")
dddbc90c
RV
8420 (source
8421 (origin
8422 (method url-fetch)
8423 (uri (string-append
8424 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8425 version
8426 ".tar.gz"))
8427 (sha256
8428 (base32
79a06910 8429 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 8430 (build-system haskell-build-system)
79a06910
TS
8431 (arguments
8432 `(#:cabal-revision
8433 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
8434 (inputs
8435 `(("ghc-objectname" ,ghc-objectname)
8436 ("ghc-gluraw" ,ghc-gluraw)
8437 ("ghc-statevar" ,ghc-statevar)
8438 ("ghc-openglraw" ,ghc-openglraw)))
228d2901 8439 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
8440 (synopsis "Haskell bindings for the OpenGL graphics system")
8441 (description "This package provides Haskell bindings for the OpenGL
8442graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8443version 1.3).")
8444 (license license:bsd-3)))
8445
8446(define-public ghc-openglraw
8447 (package
8448 (name "ghc-openglraw")
15ebc815 8449 (version "3.3.3.0")
dddbc90c
RV
8450 (source
8451 (origin
8452 (method url-fetch)
8453 (uri (string-append
8454 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8455 version
8456 ".tar.gz"))
8457 (sha256
8458 (base32
15ebc815 8459 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
8460 (build-system haskell-build-system)
8461 (inputs
8462 `(("ghc-half" ,ghc-half)
8463 ("ghc-fixed" ,ghc-fixed)
8464 ("glu" ,glu)))
228d2901 8465 (home-page "https://wiki.haskell.org/Opengl")
dddbc90c
RV
8466 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8467 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8468graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8469of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8470offers access to all necessary functions, tokens and types plus a general
8471facility for loading extension entries. The module hierarchy closely mirrors
8472the naming structure of the OpenGL extensions, making it easy to find the
8473right module to import. All API entries are loaded dynamically, so no special
8474C header files are needed for building this package. If an API entry is not
8475found at runtime, a userError is thrown.")
8476 (license license:bsd-3)))
8477
8478(define-public ghc-operational
8479 (package
8480 (name "ghc-operational")
8481 (version "0.2.3.5")
8482 (source
8483 (origin
8484 (method url-fetch)
8485 (uri (string-append "https://hackage.haskell.org/package/operational/"
8486 "operational-" version ".tar.gz"))
8487 (sha256
8488 (base32
8489 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8490 (build-system haskell-build-system)
8491 (inputs
8492 `(("ghc-random" ,ghc-random)))
8493 (home-page "http://wiki.haskell.org/Operational")
8494 (synopsis "Implementation of difficult monads made easy with operational semantics")
8495 (description
8496 "This library makes it easy to implement monads with tricky control
8497flow. This is useful for: writing web applications in a sequential style,
8498programming games with a uniform interface for human and AI players and easy
8499replay capababilities, implementing fast parser monads, designing monadic
8500DSLs, etc.")
8501 (license license:bsd-3)))
8502
6f1477d2
JS
8503(define-public ghc-optional-args
8504 (package
8505 (name "ghc-optional-args")
8506 (version "1.0.2")
8507 (source
8508 (origin
8509 (method url-fetch)
8510 (uri (string-append
8511 "mirror://hackage/package/optional-args/optional-args-"
8512 version
8513 ".tar.gz"))
8514 (sha256
8515 (base32
8516 "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"))))
8517 (build-system haskell-build-system)
8518 (home-page
8519 "http://hackage.haskell.org/package/optional-args")
8520 (synopsis "Optional function arguments")
8521 (description
8522 "This library provides a type for specifying @code{Optional} function
8523arguments.")
8524 (license license:bsd-3)))
8525
dddbc90c
RV
8526(define-public ghc-options
8527 (package
8528 (name "ghc-options")
8529 (version "1.2.1.1")
8530 (source
8531 (origin
8532 (method url-fetch)
8533 (uri (string-append
8534 "https://hackage.haskell.org/package/options/options-"
8535 version ".tar.gz"))
8536 (sha256
8537 (base32
8538 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8539 (build-system haskell-build-system)
24cf2a8b
TS
8540 (arguments
8541 `(#:phases
8542 (modify-phases %standard-phases
8543 (add-before 'configure 'update-constraints
8544 (lambda _
8545 (substitute* "options.cabal"
8546 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8547 #t)))))
dddbc90c
RV
8548 (inputs
8549 `(("ghc-monads-tf" ,ghc-monads-tf)
8550 ("ghc-chell" ,ghc-chell)
8551 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8552 (home-page "https://john-millikin.com/software/haskell-options/")
8553 (synopsis "Powerful and easy-to-use command-line option parser")
8554 (description
8555 "The @code{options} package lets library and application developers
8556easily work with command-line options.")
8557 (license license:expat)))
8558
8559;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8560(define ghc-options-bootstrap
8561 (package
8562 (name "ghc-options-bootstrap")
8563 (version "1.2.1.1")
8564 (source
8565 (origin
8566 (method url-fetch)
8567 (uri (string-append
8568 "https://hackage.haskell.org/package/options/options-"
8569 version ".tar.gz"))
8570 (sha256
8571 (base32
8572 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8573 (build-system haskell-build-system)
8574 (arguments
8575 `(#:tests? #f))
8576 (inputs
8577 `(("ghc-monads-tf" ,ghc-monads-tf)))
8578 (home-page "https://john-millikin.com/software/haskell-options/")
8579 (synopsis "Powerful and easy-to-use command-line option parser")
8580 (description
8581 "The @code{options} package lets library and application developers
8582easily work with command-line options.")
8583 (license license:expat)))
8584
8585
8586(define-public ghc-optparse-applicative
8587 (package
8588 (name "ghc-optparse-applicative")
74bf6965 8589 (version "0.14.3.0")
dddbc90c
RV
8590 (source
8591 (origin
8592 (method url-fetch)
8593 (uri (string-append
8594 "https://hackage.haskell.org/package/optparse-applicative"
8595 "/optparse-applicative-" version ".tar.gz"))
8596 (sha256
8597 (base32
74bf6965 8598 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8599 (build-system haskell-build-system)
74bf6965
TS
8600 (arguments
8601 `(#:cabal-revision
8602 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8603 (inputs
8604 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8605 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8606 (native-inputs
8607 `(("ghc-quickcheck" ,ghc-quickcheck)))
8608 (home-page "https://github.com/pcapriotti/optparse-applicative")
8609 (synopsis "Utilities and combinators for parsing command line options")
8610 (description "This package provides utilities and combinators for parsing
8611command line options in Haskell.")
8612 (license license:bsd-3)))
8613
d56c8120
NG
8614(define-public ghc-jira-wiki-markup
8615 (package
8616 (name "ghc-jira-wiki-markup")
8617 (version "1.0.0")
8618 (source
8619 (origin
8620 (method url-fetch)
8621 (uri (string-append
8622 "https://hackage.haskell.org/package/jira-wiki-markup/"
8623 "jira-wiki-markup-" version ".tar.gz"))
8624 (sha256
8625 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8626 (build-system haskell-build-system)
8627 (native-inputs
8628 `(("ghc-tasty" ,ghc-tasty)
8629 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8630 (home-page "https://github.com/tarleb/jira-wiki-markup")
8631 (synopsis "Handle Jira wiki markup")
8632 (description
8633 "Parse jira wiki text into an abstract syntax tree for easy transformation
8634to other formats.")
8635 (license license:expat)))
8636
20690771
NG
8637(define-public ghc-emojis
8638 (package
8639 (name "ghc-emojis")
8640 (version "0.1")
8641 (source
8642 (origin
8643 (method url-fetch)
8644 (uri (string-append
8645 "https://hackage.haskell.org/package/emojis/"
8646 "emojis-" version ".tar.gz"))
8647 (sha256
8648 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8649 (build-system haskell-build-system)
8650 (native-inputs
8651 `(("ghc-hunit" ,ghc-hunit)))
8652 (home-page "https://github.com/jgm/emojis#readme")
8653 (synopsis "Conversion between emoji characters and their names.")
8654 (description
8655 "This package provides functions for converting emoji names to emoji
8656characters and vice versa.
8657
8658How does it differ from the @code{emoji} package?
8659@itemize
8660@item It supports a fuller range of emojis, including all those supported by
8661GitHub
8662@item It supports lookup of emoji aliases from emoji
8663@item It uses Text rather than String
8664@item It has a lighter dependency footprint: in particular, it does not
8665require aeson
8666@item It does not require TemplateHaskell
8667@end itemize")
8668 (license license:bsd-3)))
8669
e90a06fc
NG
8670(define-public ghc-text-conversions
8671 (package
8672 (name "ghc-text-conversions")
8673 (version "0.3.0")
8674 (source
8675 (origin
8676 (method url-fetch)
8677 (uri (string-append
8678 "https://hackage.haskell.org/package/text-conversions/"
8679 "text-conversions-" version ".tar.gz"))
8680 (sha256
8681 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8682 (build-system haskell-build-system)
8683 (inputs
8684 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8685 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8686 ("ghc-errors" ,ghc-errors)))
8687 (native-inputs
8688 `(("ghc-hspec" ,ghc-hspec)
27b09f3a 8689 ("hspec-discover" ,hspec-discover)))
e90a06fc
NG
8690 (home-page "https://github.com/cjdev/text-conversions#readme")
8691 (synopsis "Safe conversions between textual types")
8692 (description "Safe conversions between textual types")
8693 (license license:isc)))
8694
ba7cbae3
NG
8695(define-public ghc-doclayout
8696 (package
8697 (name "ghc-doclayout")
8698 (version "0.3")
8699 (source
8700 (origin
8701 (method url-fetch)
8702 (uri (string-append
8703 "https://hackage.haskell.org/package/doclayout/"
8704 "doclayout-" version ".tar.gz"))
8705 (sha256
8706 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8707 (build-system haskell-build-system)
8708 (inputs
8709 `(("ghc-safe" ,ghc-safe)))
8710 (native-inputs
8711 `(("ghc-tasty" ,ghc-tasty)
8712 ("ghc-tasty-golden" ,ghc-tasty-golden)
8713 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8714 (home-page "https://github.com/jgm/doclayout")
8715 (synopsis "Pretty-printing library for laying out text documents")
8716 (description
8717 "doclayout is a pretty-printing library for laying out text documents,
8718with several features not present in pretty-printing libraries designed for
8719code. It was designed for use in @code{Pandoc}.")
8720 (license license:bsd-3)))
8721
dddbc90c
RV
8722(define-public ghc-pandoc
8723 (package
8724 (name "ghc-pandoc")
d9b1567a 8725 (version "2.7.3")
dddbc90c
RV
8726 (source
8727 (origin
8728 (method url-fetch)
8729 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8730 version ".tar.gz"))
d9b1567a
TS
8731 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8732 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8733 (sha256
8734 (base32
d9b1567a 8735 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8736 (build-system haskell-build-system)
dddbc90c
RV
8737 (inputs
8738 `(("ghc-aeson" ,ghc-aeson)
8739 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8740 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8741 ("ghc-blaze-html" ,ghc-blaze-html)
8742 ("ghc-blaze-markup" ,ghc-blaze-markup)
8743 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8744 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8745 ("ghc-diff" ,ghc-diff)
8746 ("ghc-doctemplates" ,ghc-doctemplates)
8747 ("ghc-executable-path" ,ghc-executable-path)
8748 ("ghc-glob" ,ghc-glob)
8749 ("ghc-haddock-library" ,ghc-haddock-library)
8750 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8751 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8752 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8753 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8754 ("ghc-http" ,ghc-http)
8755 ("ghc-http-client" ,ghc-http-client)
8756 ("ghc-http-client-tls" ,ghc-http-client-tls)
8757 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8758 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8759 ("ghc-juicypixels" ,ghc-juicypixels)
8760 ("ghc-network" ,ghc-network)
8761 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8762 ("ghc-pandoc-types" ,ghc-pandoc-types)
8763 ("ghc-random" ,ghc-random)
8764 ("ghc-scientific" ,ghc-scientific)
8765 ("ghc-sha" ,ghc-sha)
8766 ("ghc-skylighting" ,ghc-skylighting)
8767 ("ghc-split" ,ghc-split)
8768 ("ghc-syb" ,ghc-syb)
8769 ("ghc-tagsoup" ,ghc-tagsoup)
8770 ("ghc-temporary" ,ghc-temporary)
8771 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8772 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8773 ("ghc-unordered-containers" ,ghc-unordered-containers)
8774 ("ghc-vector" ,ghc-vector)
8775 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8776 ("ghc-zip-archive" ,ghc-zip-archive)
8777 ("ghc-zlib" ,ghc-zlib)))
8778 (native-inputs
8779 `(("ghc-tasty" ,ghc-tasty)
8780 ("ghc-tasty-golden" ,ghc-tasty-golden)
8781 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8782 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8783 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8784 ("ghc-quickcheck" ,ghc-quickcheck)
8785 ("ghc-hunit" ,ghc-hunit)))
8786 (home-page "https://pandoc.org")
8787 (synopsis "Conversion between markup formats")
8788 (description
8789 "Pandoc is a Haskell library for converting from one markup format to
8790another, and a command-line tool that uses this library. It can read and
8791write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8792LaTeX, DocBook, and many more.
8793
8794Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8795definition lists, tables, and other features. A compatibility mode is
8796provided for those who need a drop-in replacement for Markdown.pl.")
8797 (license license:gpl2+)))
8798
8799(define-public ghc-pandoc-citeproc
8800 (package
8801 (name "ghc-pandoc-citeproc")
2da02d09 8802 (version "0.16.2")
dddbc90c
RV
8803 (source
8804 (origin
8805 (method url-fetch)
8806 (uri (string-append "https://hackage.haskell.org/package/"
8807 "pandoc-citeproc/pandoc-citeproc-"
8808 version ".tar.gz"))
8809 (sha256
8810 (base32
2da02d09 8811 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8812 (build-system haskell-build-system)
8813 (arguments
8814 `(#:phases
8815 (modify-phases %standard-phases
8816 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8817 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8818 (add-before 'configure 'patch-tests
8819 (lambda _
8820 (substitute* "tests/test-pandoc-citeproc.hs"
8821 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8822 "let allTests = citeprocTests"))))
8823 ;; Tests need to be run after installation.
8824 (delete 'check)
8825 (add-after 'install 'post-install-check
8826 (assoc-ref %standard-phases 'check)))))
8827 (inputs
8828 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8829 ("ghc-pandoc" ,ghc-pandoc)
8830 ("ghc-tagsoup" ,ghc-tagsoup)
8831 ("ghc-aeson" ,ghc-aeson)
8832 ("ghc-vector" ,ghc-vector)
8833 ("ghc-xml-conduit" ,ghc-xml-conduit)
8834 ("ghc-unordered-containers" ,ghc-unordered-containers)
8835 ("ghc-data-default" ,ghc-data-default)
8836 ("ghc-setenv" ,ghc-setenv)
8837 ("ghc-split" ,ghc-split)
8838 ("ghc-yaml" ,ghc-yaml)
8839 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8840 ("ghc-rfc5051" ,ghc-rfc5051)
8841 ("ghc-syb" ,ghc-syb)
8842 ("ghc-old-locale" ,ghc-old-locale)
8843 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8844 ("ghc-attoparsec" ,ghc-attoparsec)
8845 ("ghc-temporary" ,ghc-temporary)))
8846 (home-page "https://github.com/jgm/pandoc-citeproc")
8847 (synopsis "Library for using pandoc with citeproc")
8848 (description
8849 "The @code{pandoc-citeproc} library exports functions for using the
8850citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8851rendering bibliographic reference citations into a variety of styles using a
8852macro language called @dfn{Citation Style Language} (CSL). This package also
8853contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8854and also has a mode for converting bibliographic databases a YAML format
8855suitable for inclusion in pandoc YAML metadata.")
8856 (license license:bsd-3)))
8857
8858(define-public ghc-pandoc-types
8859 (package
8860 (name "ghc-pandoc-types")
0eaa88c8 8861 (version "1.17.6.1")
dddbc90c
RV
8862 (source (origin
8863 (method url-fetch)
8864 (uri (string-append "https://hackage.haskell.org/package/"
8865 "pandoc-types/pandoc-types-"
8866 version ".tar.gz"))
8867 (sha256
8868 (base32
0eaa88c8 8869 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8870 (build-system haskell-build-system)
8871 (inputs
8872 `(("ghc-syb" ,ghc-syb)
8873 ("ghc-aeson" ,ghc-aeson)
8874 ("ghc-string-qq" ,ghc-string-qq)))
8875 (native-inputs
8876 `(("ghc-quickcheck" ,ghc-quickcheck)
8877 ("ghc-test-framework" ,ghc-test-framework)
8878 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8879 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8880 ("ghc-hunit" ,ghc-hunit)))
d48b5c8a 8881 (home-page "https://johnmacfarlane.net/pandoc")
dddbc90c
RV
8882 (synopsis "Types for representing a structured document")
8883 (description
8884 "This module defines the @code{Pandoc} data structure, which is used by
8885pandoc to represent structured documents. It also provides functions for
8886building up, manipulating and serialising @code{Pandoc} structures.")
8887 (license license:bsd-3)))
8888
8889(define-public ghc-parallel
8890 (package
8891 (name "ghc-parallel")
8892 (version "3.2.2.0")
8893 (outputs '("out" "doc"))
8894 (source
8895 (origin
8896 (method url-fetch)
8897 (uri (string-append
8898 "https://hackage.haskell.org/package/parallel/parallel-"
8899 version
8900 ".tar.gz"))
8901 (sha256
8902 (base32
8903 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8904 (build-system haskell-build-system)
8905 (home-page "https://hackage.haskell.org/package/parallel")
8906 (synopsis "Parallel programming library")
8907 (description
8908 "This package provides a library for parallel programming.")
8909 (license license:bsd-3)))
8910
8911(define-public ghc-parsec-numbers
8912 (package
8913 (name "ghc-parsec-numbers")
8914 (version "0.1.0")
8915 (source
8916 (origin
8917 (method url-fetch)
8918 (uri (string-append "https://hackage.haskell.org/package/"
8919 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8920 (sha256
8921 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8922 (build-system haskell-build-system)
8923 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8924 (synopsis "Utilities for parsing numbers from strings")
8925 (description
8926 "This package provides the number parsers without the need to use a large
8927(and unportable) token parser.")
8928 (license license:bsd-3)))
8929
8930(define-public ghc-parser-combinators
8931 (package
8932 (name "ghc-parser-combinators")
2f173160 8933 (version "1.1.0")
dddbc90c
RV
8934 (source
8935 (origin
8936 (method url-fetch)
8937 (uri (string-append "https://hackage.haskell.org/package/"
8938 "parser-combinators/parser-combinators-"
8939 version ".tar.gz"))
8940 (sha256
8941 (base32
2f173160 8942 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8943 (build-system haskell-build-system)
8944 (home-page "https://github.com/mrkkrp/parser-combinators")
8945 (synopsis "Commonly useful parser combinators")
8946 (description
8947 "This is a lightweight package providing commonly useful parser
8948combinators.")
8949 (license license:bsd-3)))
8950
8951(define-public ghc-parsers
8952 (package
8953 (name "ghc-parsers")
6818f970 8954 (version "0.12.10")
dddbc90c
RV
8955 (source
8956 (origin
8957 (method url-fetch)
8958 (uri (string-append
8959 "https://hackage.haskell.org/package/parsers/parsers-"
8960 version
8961 ".tar.gz"))
8962 (sha256
8963 (base32
6818f970 8964 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8965 (build-system haskell-build-system)
8966 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8967 ; -package attoparsec-0.13.0.1"
8968 (inputs
8969 `(("ghc-base-orphans" ,ghc-base-orphans)
8970 ("ghc-attoparsec" ,ghc-attoparsec)
8971 ("ghc-scientific" ,ghc-scientific)
8972 ("ghc-charset" ,ghc-charset)
8973 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8974 (home-page "https://github.com/ekmett/parsers/")
8975 (synopsis "Parsing combinators")
8976 (description "This library provides convenient combinators for working
8977with and building parsing combinator libraries. Given a few simple instances,
8978you get access to a large number of canned definitions. Instances exist for
8979the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8980@code{Text.Read}.")
8981 (license license:bsd-3)))
8982
8983(define-public ghc-path
8984 (package
8985 (name "ghc-path")
8986 (version "0.6.1")
8987 (source
8988 (origin
8989 (method url-fetch)
8990 (uri (string-append
8991 "https://hackage.haskell.org/package/path/path-"
8992 version
8993 ".tar.gz"))
8994 (sha256
8995 (base32
8996 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8997 (build-system haskell-build-system)
8998 (arguments
8999 ;; TODO: There are some Windows-related tests and modules that need to be
9000 ;; danced around.
9001 `(#:tests? #f
9002 #:cabal-revision
9003 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
9004 (inputs
9005 `(("ghc-aeson" ,ghc-aeson)
9006 ("ghc-exceptions" ,ghc-exceptions)
9007 ("ghc-hashable" ,ghc-hashable)))
9008 (native-inputs
9009 `(("ghc-hspec" ,ghc-hspec)
9010 ("ghc-quickcheck" ,ghc-quickcheck)
9011 ("ghc-genvalidity" ,ghc-genvalidity)
9012 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
9013 ("ghc-hspec" ,ghc-hspec)
9014 ("ghc-validity" ,ghc-validity)))
9015 (home-page
3ef91e15 9016 "https://hackage.haskell.org/package/path")
dddbc90c
RV
9017 (synopsis "Support for well-typed paths")
9018 (description "This package introduces a type for paths upholding useful
9019invariants.")
9020 (license license:bsd-3)))
9021
9022(define-public ghc-path-io
9023 (package
9024 (name "ghc-path-io")
a06613ea 9025 (version "1.4.2")
dddbc90c
RV
9026 (source
9027 (origin
9028 (method url-fetch)
9029 (uri (string-append
9030 "https://hackage.haskell.org/package/path-io/path-io-"
9031 version
9032 ".tar.gz"))
9033 (sha256
9034 (base32
a06613ea 9035 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
9036 (build-system haskell-build-system)
9037 (inputs
9038 `(("ghc-dlist" ,ghc-dlist)
9039 ("ghc-exceptions" ,ghc-exceptions)
9040 ("ghc-path" ,ghc-path)
9041 ("ghc-transformers-base" ,ghc-transformers-base)
9042 ("ghc-unix-compat" ,ghc-unix-compat)
9043 ("ghc-temporary" ,ghc-temporary)))
9044 (native-inputs
9045 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
9046 (home-page
9047 "https://github.com/mrkkrp/path-io")
9048 (synopsis "Functions for manipulating well-typed paths")
9049 (description "This package provides an interface to the @code{directory}
9050package for users of @code{path}. It also implements some missing stuff like
9051recursive scanning and copying of directories, working with temporary
9052files/directories, and more.")
9053 (license license:bsd-3)))
9054
9055(define-public ghc-paths
9056 (package
9057 (name "ghc-paths")
9a8adeb1 9058 (version "0.1.0.12")
dddbc90c
RV
9059 (outputs '("out" "doc"))
9060 (source
9061 (origin
9062 (method url-fetch)
9063 (uri (string-append
9064 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
9065 version
9066 ".tar.gz"))
9067 (sha256
9068 (base32
9a8adeb1 9069 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
9070 (build-system haskell-build-system)
9071 (home-page "https://github.com/simonmar/ghc-paths")
9072 (synopsis
9073 "Knowledge of GHC's installation directories")
9074 (description
9075 "Knowledge of GHC's installation directories.")
9076 (license license:bsd-3)))
9077
9078(define-public ghc-patience
9079 (package
9080 (name "ghc-patience")
484476f3 9081 (version "0.3")
dddbc90c
RV
9082 (source
9083 (origin
9084 (method url-fetch)
9085 (uri (string-append
9086 "https://hackage.haskell.org/package/patience/patience-"
9087 version ".tar.gz"))
9088 (sha256
9089 (base32
484476f3 9090 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
9091 (build-system haskell-build-system)
9092 (home-page "https://hackage.haskell.org/package/patience")
9093 (synopsis "Patience diff and longest increasing subsequence")
9094 (description
9095 "This library implements the 'patience diff' algorithm, as well as the
9096patience algorithm for the longest increasing subsequence problem.
9097Patience diff computes the difference between two lists, for example the lines
9098of two versions of a source file. It provides a good balance between
9099performance, nice output for humans, and simplicity of implementation.")
9100 (license license:bsd-3)))
9101
25a221a8
JS
9102(define-public ghc-pattern-arrows
9103 (package
9104 (name "ghc-pattern-arrows")
9105 (version "0.0.2")
9106 (source
9107 (origin
9108 (method url-fetch)
9109 (uri (string-append
9110 "mirror://hackage/package/pattern-arrows/pattern-arrows-"
9111 version
9112 ".tar.gz"))
9113 (sha256
9114 (base32
9115 "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
9116 (build-system haskell-build-system)
9117 (home-page
9118 "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
9119 (synopsis "Arrows for Pretty Printing")
9120 (description
9121 "A library for generating concise pretty printers based on precedence
9122rules.")
9123 (license license:expat)))
9124
dddbc90c
RV
9125(define-public ghc-pcre-light
9126 (package
9127 (name "ghc-pcre-light")
9128 (version "0.4.0.4")
9129 (source
9130 (origin
9131 (method url-fetch)
9132 (uri (string-append
9133 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
9134 version
9135 ".tar.gz"))
9136 (sha256
9137 (base32
9138 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
9139 (build-system haskell-build-system)
9140 (inputs
9141 `(("pcre" ,pcre)))
9142 (native-inputs
9143 `(("pkg-config" ,pkg-config)))
9144 (home-page "https://github.com/Daniel-Diaz/pcre-light")
9145 (synopsis "Haskell library for Perl 5 compatible regular expressions")
9146 (description "This package provides a small, efficient, and portable regex
9147library for Perl 5 compatible regular expressions. The PCRE library is a set
9148of functions that implement regular expression pattern matching using the same
9149syntax and semantics as Perl 5.")
9150 (license license:bsd-3)))
9151
9152(define-public ghc-persistent
9153 (package
9154 (name "ghc-persistent")
8c9697a9 9155 (version "2.10.4")
dddbc90c
RV
9156 (source
9157 (origin
9158 (method url-fetch)
8c9697a9
ASM
9159 (uri (string-append
9160 "https://hackage.haskell.org/package/persistent/"
9161 "persistent-" version ".tar.gz"))
dddbc90c
RV
9162 (sha256
9163 (base32
8c9697a9 9164 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
dddbc90c 9165 (build-system haskell-build-system)
8c9697a9
ASM
9166 (inputs
9167 `(("ghc-aeson" ,ghc-aeson)
9168 ("ghc-attoparsec" ,ghc-attoparsec)
9169 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9170 ("ghc-blaze-html" ,ghc-blaze-html)
9171 ("ghc-conduit" ,ghc-conduit)
9172 ("ghc-fast-logger" ,ghc-fast-logger)
9173 ("ghc-http-api-data" ,ghc-http-api-data)
9174 ("ghc-monad-logger" ,ghc-monad-logger)
9175 ("ghc-path-pieces" ,ghc-path-pieces)
9176 ("ghc-resource-pool" ,ghc-resource-pool)
9177 ("ghc-resourcet" ,ghc-resourcet)
9178 ("ghc-scientific" ,ghc-scientific)
9179 ("ghc-silently" ,ghc-silently)
9180 ("ghc-unliftio-core" ,ghc-unliftio-core)
9181 ("ghc-unliftio" ,ghc-unliftio)
9182 ("ghc-unordered-containers"
9183 ,ghc-unordered-containers)
9184 ("ghc-vector" ,ghc-vector)))
dddbc90c
RV
9185 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9186 (home-page "https://www.yesodweb.com/book/persistent")
9187 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9188 (description "This Haskell package allows Haskell programs to access data
9189storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
9190way.")
9191 (license license:expat)))
9192
9193(define-public ghc-persistent-sqlite
9194 (package
9195 (name "ghc-persistent-sqlite")
78858787 9196 (version "2.10.5.2")
dddbc90c
RV
9197 (source
9198 (origin
9199 (method url-fetch)
78858787
ASM
9200 (uri (string-append
9201 "https://hackage.haskell.org/package/persistent-sqlite/"
9202 "persistent-sqlite-" version ".tar.gz"))
dddbc90c
RV
9203 (sha256
9204 (base32
78858787 9205 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
dddbc90c 9206 (build-system haskell-build-system)
78858787
ASM
9207 (inputs
9208 `(("ghc-persistent" ,ghc-persistent)
9209 ("ghc-aeson" ,ghc-aeson)
9210 ("ghc-conduit" ,ghc-conduit)
9211 ("ghc-microlens-th" ,ghc-microlens-th)
9212 ("ghc-monad-logger" ,ghc-monad-logger)
9213 ("ghc-resource-pool" ,ghc-resource-pool)
9214 ("ghc-resourcet" ,ghc-resourcet)
9215 ("ghc-unliftio-core" ,ghc-unliftio-core)
9216 ("ghc-unordered-containers"
9217 ,ghc-unordered-containers)))
9218 (native-inputs
9219 `(("ghc-persistent-template"
9220 ,ghc-persistent-template)
9221 ("ghc-persistent-test" ,ghc-persistent-test)
9222 ("ghc-exceptions" ,ghc-exceptions)
9223 ("ghc-fast-logger" ,ghc-fast-logger)
9224 ("ghc-hspec" ,ghc-hspec)
9225 ("ghc-hunit" ,ghc-hunit)
9226 ("ghc-quickcheck" ,ghc-quickcheck)
9227 ("ghc-system-fileio" ,ghc-system-fileio)
9228 ("ghc-system-filepath" ,ghc-system-filepath)
9229 ("ghc-temporary" ,ghc-temporary)))
dddbc90c
RV
9230 (home-page
9231 "https://www.yesodweb.com/book/persistent")
9232 (synopsis "Backend for the persistent library using sqlite3")
9233 (description "This Haskell package includes a thin sqlite3 wrapper based
9234on the direct-sqlite package, as well as the entire C library, so there are no
9235system dependencies.")
9236 (license license:expat)))
9237
9238(define-public ghc-persistent-template
9239 (package
9240 (name "ghc-persistent-template")
d5378e98 9241 (version "2.8.0")
dddbc90c
RV
9242 (source
9243 (origin
9244 (method url-fetch)
d5378e98
ASM
9245 (uri (string-append
9246 "https://hackage.haskell.org/package/persistent-template/"
9247 "persistent-template-" version ".tar.gz"))
dddbc90c
RV
9248 (sha256
9249 (base32
d5378e98 9250 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
dddbc90c 9251 (build-system haskell-build-system)
d5378e98
ASM
9252 (inputs
9253 `(("ghc-persistent" ,ghc-persistent)
9254 ("ghc-aeson" ,ghc-aeson)
9255 ("ghc-http-api-data" ,ghc-http-api-data)
9256 ("ghc-monad-control" ,ghc-monad-control)
9257 ("ghc-monad-logger" ,ghc-monad-logger)
9258 ("ghc-path-pieces" ,ghc-path-pieces)
9259 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
9260 ("ghc-unordered-containers"
9261 ,ghc-unordered-containers)))
9262 (native-inputs
9263 `(("ghc-hspec" ,ghc-hspec)
9264 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
9265 (home-page "https://www.yesodweb.com/book/persistent")
9266 (synopsis "Type-safe, non-relational, multi-backend persistence")
9267 (description "This Haskell package provides interfaces and helper
9268functions for the ghc-persistent package.")
9269 (license license:expat)))
9270
ce32f7c7
ASM
9271(define-public ghc-persistent-test
9272 (package
9273 (name "ghc-persistent-test")
9274 (version "2.0.3.1")
9275 (source
9276 (origin
9277 (method url-fetch)
9278 (uri (string-append
9279 "https://hackage.haskell.org/package/persistent-test/"
9280 "persistent-test-" version ".tar.gz"))
9281 (sha256
9282 (base32
9283 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
9284 (build-system haskell-build-system)
9285 (inputs
9286 `(("ghc-aeson" ,ghc-aeson)
9287 ("ghc-blaze-html" ,ghc-blaze-html)
9288 ("ghc-conduit" ,ghc-conduit)
9289 ("ghc-monad-control" ,ghc-monad-control)
9290 ("ghc-monad-logger" ,ghc-monad-logger)
9291 ("ghc-path-pieces" ,ghc-path-pieces)
9292 ("ghc-persistent" ,ghc-persistent)
9293 ("ghc-persistent-template" ,ghc-persistent-template)
9294 ("ghc-random" ,ghc-random)
9295 ("ghc-resourcet" ,ghc-resourcet)
9296 ("ghc-transformers-base" ,ghc-transformers-base)
9297 ("ghc-unliftio" ,ghc-unliftio)
9298 ("ghc-unliftio-core" ,ghc-unliftio-core)
9299 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9300 (native-inputs
9301 `(("ghc-quickcheck" ,ghc-quickcheck)
9302 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9303 ("ghc-hspec" ,ghc-hspec)
9304 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
9305 ("ghc-hunit" ,ghc-hunit)))
9306 (home-page "https://www.yesodweb.com/book/persistent")
9307 (synopsis "Tests for the Persistent database library")
9308 (description
9309 "This is only for use in developing libraries that should conform to
9310the persistent interface, not for users of the persistent suite of database
9311libraries.")
9312 (license license:expat)))
9313
0fb34235
JS
9314(define-public ghc-pgp-wordlist
9315 (package
9316 (name "ghc-pgp-wordlist")
9317 (version "0.1.0.3")
9318 (source
9319 (origin
9320 (method url-fetch)
9321 (uri (string-append
9322 "mirror://hackage/package/pgp-wordlist/pgp-wordlist-"
9323 version
9324 ".tar.gz"))
9325 (sha256
9326 (base32
9327 "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg"))))
9328 (build-system haskell-build-system)
9329 (inputs
9330 `(("ghc-vector" ,ghc-vector)))
9331 (native-inputs
9332 `(("ghc-hunit" ,ghc-hunit)
9333 ("ghc-tasty" ,ghc-tasty)
9334 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9335 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9336 ("ghc-doctest" ,ghc-doctest)))
9337 (home-page
9338 "https://github.com/quchen/pgp-wordlist")
9339 (synopsis
9340 "Translate between binary data and a human-readable collection of words")
9341 (description
9342 "The PGP Word List consists of two phonetic alphabets, each with one word
9343per possible byte value. A string of bytes is translated with these
9344alphabets, alternating between them at each byte.
9345
9346The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway
9347spellbind headwaters\", for example.
9348
9349For further information, see
9350@url{http://en.wikipedia.org/wiki/PGP_word_list}.")
9351 (license license:bsd-3)))
9352
4639fa32
ASM
9353(define-public ghc-pipes
9354 (package
9355 (name "ghc-pipes")
9356 (version "4.3.13")
9357 (source
9358 (origin
9359 (method url-fetch)
9360 (uri (string-append
9361 "https://hackage.haskell.org/package/pipes/"
9362 "pipes-" version ".tar.gz"))
9363 (sha256
9364 (base32
9365 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
9366 (build-system haskell-build-system)
9367 (inputs
9368 `(("ghc-exceptions" ,ghc-exceptions)
9369 ("ghc-mmorph" ,ghc-mmorph)
9370 ("ghc-void" ,ghc-void)
9371 ("ghc-semigroups" ,ghc-semigroups)))
9372 (native-inputs
9373 `(("ghc-quickcheck" ,ghc-quickcheck)
9374 ("ghc-test-framework" ,ghc-test-framework)
9375 ("ghc-test-framework-quickcheck2"
9376 ,ghc-test-framework-quickcheck2)))
9377 (home-page
9378 "https://hackage.haskell.org/package/pipes")
9379 (synopsis "Compositional pipelines")
9380 (description
9381 "A clean and powerful stream processing library that lets you build
9382and connect reusable streaming components. Advantages over traditional streaming
9383libraries:
9384@itemize
9385@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
9386and @code{yield}
9387@item Blazing fast: Implementation tuned for speed, including shortcut fusion
9388@item Lightweight Dependency: pipes is small and compiles very rapidly, including
9389dependencies
9390@item Elegant semantics: Use practical category theory
9391@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
9392@item Bidirectionality: Implement duplex channels
9393@end itemize")
9394 (license license:bsd-3)))
9395
451775a5
ASM
9396(define-public ghc-pointedlist
9397 (package
9398 (name "ghc-pointedlist")
9399 (version "0.6.1")
9400 (source
9401 (origin
9402 (method url-fetch)
9403 (uri (string-append
9404 "https://hackage.haskell.org/package/pointedlist/"
9405 "pointedlist-" version ".tar.gz"))
9406 (sha256
9407 (base32
9408 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
9409 (build-system haskell-build-system)
9410 (home-page
3ef91e15 9411 "https://hackage.haskell.org/package/pointedlist")
451775a5
ASM
9412 (synopsis
9413 "Zipper-like comonad which works as a list, tracking a position")
9414 (description
9415 "A PointedList tracks the position in a non-empty list which works
9416similarly to a zipper. A current item is always required, and therefore
9417the list may never be empty. A circular PointedList wraps around to the
9418other end when progressing past the actual edge.")
9419 (license license:bsd-3)))
9420
dddbc90c
RV
9421(define-public ghc-polyparse
9422 (package
9423 (name "ghc-polyparse")
9822b9ca 9424 (version "1.12.1")
dddbc90c
RV
9425 (source
9426 (origin
9427 (method url-fetch)
9428 (uri (string-append
9429 "https://hackage.haskell.org/package/polyparse/polyparse-"
9430 version
9431 ".tar.gz"))
9432 (sha256
9433 (base32
9822b9ca 9434 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
9435 (build-system haskell-build-system)
9436 (home-page
9437 "http://code.haskell.org/~malcolm/polyparse/")
9438 (synopsis
9439 "Alternative parser combinator libraries")
9440 (description
9441 "This package provides a variety of alternative parser combinator
9442libraries, including the original HuttonMeijer set. The Poly sets have
9443features like good error reporting, arbitrary token type, running state, lazy
9444parsing, and so on. Finally, Text.Parse is a proposed replacement for the
9445standard Read class, for better deserialisation of Haskell values from
9446Strings.")
9447 (license license:lgpl2.1)))
9448
9449(define-public ghc-pqueue
9450 (package
9451 (name "ghc-pqueue")
142415b0 9452 (version "1.4.1.2")
dddbc90c
RV
9453 (source
9454 (origin
9455 (method url-fetch)
9456 (uri (string-append "https://hackage.haskell.org/package/"
9457 "pqueue/pqueue-" version ".tar.gz"))
9458 (sha256
9459 (base32
142415b0 9460 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
9461 (build-system haskell-build-system)
9462 (native-inputs
9463 `(("ghc-quickcheck" ,ghc-quickcheck)))
9464 (home-page "https://hackage.haskell.org/package/pqueue")
9465 (synopsis "Reliable, persistent, fast priority queues")
9466 (description
9467 "This package provides a fast, reliable priority queue implementation
9468based on a binomial heap.")
9469 (license license:bsd-3)))
9470
9471(define-public ghc-prelude-extras
9472 (package
9473 (name "ghc-prelude-extras")
9474 (version "0.4.0.3")
9475 (source
9476 (origin
9477 (method url-fetch)
9478 (uri (string-append
9479 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
9480 version
9481 ".tar.gz"))
9482 (sha256
9483 (base32
9484 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
9485 (build-system haskell-build-system)
9486 (home-page "https://github.com/ekmett/prelude-extras")
9487 (synopsis "Higher order versions of Prelude classes")
9488 (description "This library provides higher order versions of
9489@code{Prelude} classes to ease programming with polymorphic recursion and
9490reduce @code{UndecidableInstances}.")
9491 (license license:bsd-3)))
9492
9493(define-public ghc-prettyclass
9494 (package
9495 (name "ghc-prettyclass")
9496 (version "1.0.0.0")
9497 (source
9498 (origin
9499 (method url-fetch)
9500 (uri (string-append "https://hackage.haskell.org/package/"
9501 "prettyclass/prettyclass-" version ".tar.gz"))
9502 (sha256
9503 (base32
9504 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9505 (build-system haskell-build-system)
3ef91e15 9506 (home-page "https://hackage.haskell.org/package/prettyclass")
dddbc90c
RV
9507 (synopsis "Pretty printing class similar to Show")
9508 (description "This package provides a pretty printing class similar
9509to @code{Show}, based on the HughesPJ pretty printing library. It
9510provides the pretty printing class and instances for the Prelude
9511types.")
9512 (license license:bsd-3)))
9513
2fad2bf7
JS
9514(define-public ghc-prettyprinter
9515 (package
9516 (name "ghc-prettyprinter")
9517 (version "1.2.1.1")
9518 (source
9519 (origin
9520 (method url-fetch)
9521 (uri (string-append
9522 "mirror://hackage/package/prettyprinter/prettyprinter-"
9523 version
9524 ".tar.gz"))
9525 (sha256
9526 (base32 "1p9c3q55hba4c0zyxc624g5df7wgsclpsmd8wqpdnmib882q9d1v"))))
9527 (build-system haskell-build-system)
9528 (native-inputs
9529 `(("ghc-doctest" ,ghc-doctest)
9530 ("ghc-pgp-wordlist" ,ghc-pgp-wordlist)
9531 ("ghc-tasty" ,ghc-tasty)
9532 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9533 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9534 (home-page "https://github.com/quchen/prettyprinter")
9535 (synopsis
9536 "Modern, easy to use, well-documented, extensible pretty-printer")
9537 (description
9538 "A prettyprinter/text rendering engine. Easy to use, well-documented,
9539ANSI terminal backend exists, HTML backend is trivial to implement, no name
9540clashes, @code{Text}-based, extensible.")
9541 (license license:bsd-2)))
9542
2496e49f
JS
9543(define-public ghc-prettyprinter-1.6
9544 (package
9545 (inherit ghc-prettyprinter)
9546 (version "1.6.1")
9547 (source
9548 (origin
9549 (method url-fetch)
9550 (uri (string-append
9551 "mirror://hackage/package/prettyprinter/prettyprinter-"
9552 version
9553 ".tar.gz"))
9554 (sha256
9555 (base32 "10fphxh8lvdaw7i8jyllwmj87w02db92mf99zfw5vddp9mv6b5rz"))))
9556 (inputs
9557 `(("ghc-quickckeck-instances" , ghc-quickcheck-instances)
9558 ,@(package-inputs ghc-prettyprinter)))))
9559
b4f24d66
JS
9560(define-public ghc-prettyprinter-ansi-terminal
9561 (package
9562 (name "ghc-prettyprinter-ansi-terminal")
9563 (version "1.1.1.2")
9564 (source
9565 (origin
9566 (method url-fetch)
9567 (uri (string-append
9568 "mirror://hackage/package/prettyprinter-ansi-terminal/"
9569 "prettyprinter-ansi-terminal-" version ".tar.gz"))
9570 (sha256
9571 (base32 "0ha6vz707qzb5ky7kdsnw2zgphg2dnxrpbrxy8gaw119vwhb9q6k"))))
9572 (build-system haskell-build-system)
9573 (inputs
9574 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9575 ("ghc-prettyprinter" ,ghc-prettyprinter-1.6)))
9576 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
9577 (home-page
9578 "https://github.com/quchen/prettyprinter")
9579 (synopsis
9580 "ANSI terminal backend for the prettyprinter package")
9581 (description "ANSI terminal backend for the prettyprinter package.")
9582 (license license:bsd-2)))
9583
dddbc90c
RV
9584(define-public ghc-pretty-hex
9585 (package
9586 (name "ghc-pretty-hex")
9587 (version "1.0")
9588 (source
9589 (origin
9590 (method url-fetch)
9591 (uri (string-append "https://hackage.haskell.org/package/"
9592 "pretty-hex-" version "/"
9593 "pretty-hex-" version ".tar.gz"))
9594 (sha256
9595 (base32
9596 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9597 (build-system haskell-build-system)
9598 (home-page "https://github.com/GaloisInc/hexdump")
9599 (synopsis "Haskell library for hex dumps of ByteStrings")
9600 (description "This Haskell library generates pretty hex dumps of
9601ByteStrings in the style of other common *nix hex dump tools.")
9602 (license license:bsd-3)))
9603
9604(define-public ghc-pretty-show
9605 (package
9606 (name "ghc-pretty-show")
7683a084 9607 (version "1.9.5")
dddbc90c
RV
9608 (source
9609 (origin
9610 (method url-fetch)
9611 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9612 "pretty-show-" version ".tar.gz"))
9613 (sha256
9614 (base32
7683a084 9615 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
9616 (build-system haskell-build-system)
9617 (inputs
9618 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9619 ("ghc-happy" ,ghc-happy)))
702a1012 9620 (home-page "https://wiki.github.com/yav/pretty-show")
dddbc90c
RV
9621 (synopsis "Tools for working with derived `Show` instances")
9622 (description
9623 "This package provides a library and an executable for working with
9624derived @code{Show} instances. By using the library, derived @code{Show}
9625instances can be parsed into a generic data structure. The @code{ppsh} tool
9626uses the library to produce human-readable versions of @code{Show} instances,
9627which can be quite handy for debugging Haskell programs. We can also render
9628complex generic values into an interactive Html page, for easier
9629examination.")
9630 (license license:expat)))
9631
f011e3d6
JS
9632(define-public ghc-pretty-simple
9633 (package
9634 (name "ghc-pretty-simple")
9635 (version "2.2.0.1")
9636 (source
9637 (origin
9638 (method url-fetch)
9639 (uri (string-append
9640 "mirror://hackage/package/pretty-simple/"
9641 "pretty-simple-" version ".tar.gz"))
9642 (sha256
9643 (base32 "0wsi9235ihm15s145lxi7325vv2k4bhighc5m88kn1lk0pl81aqq"))))
9644 (build-system haskell-build-system)
9645 (inputs
9646 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9647 ("ghc-glob" ,ghc-glob)
9648 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
9649 ("ghc-aeson" ,ghc-aeson)))
9650 (native-inputs
9651 `(("ghc-doctest" ,ghc-doctest)))
9652 (home-page "https://github.com/cdepillabout/pretty-simple")
9653 (synopsis "Pretty printer for data types with a 'Show' instance")
9654 (description
9655 "Pretty-simple is a pretty printer for Haskell data types that have a
9656Show instance.")
9657 (license license:bsd-3)))
9658
dddbc90c
RV
9659(define-public ghc-primitive
9660 (package
9661 (name "ghc-primitive")
9662 (version "0.6.4.0")
9663 (outputs '("out" "doc"))
9664 (source
9665 (origin
9666 (method url-fetch)
9667 (uri (string-append
9668 "https://hackage.haskell.org/package/primitive/primitive-"
9669 version
9670 ".tar.gz"))
9671 (sha256
9672 (base32
9673 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9674 (build-system haskell-build-system)
6cf0daa4
TS
9675 (arguments
9676 `(#:cabal-revision
9677 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
9678 (home-page
9679 "https://github.com/haskell/primitive")
9680 (synopsis "Primitive memory-related operations")
9681 (description
9682 "This package provides various primitive memory-related operations.")
9683 (license license:bsd-3)))
9684
21f5b9a9
JS
9685(define-public ghc-process-extras
9686 (package
9687 (name "ghc-process-extras")
9688 (version "0.7.4")
9689 (source
9690 (origin
9691 (method url-fetch)
9692 (uri
9693 (string-append
9694 "https://hackage.haskell.org/package/process-extras/"
9695 "process-extras-" version ".tar.gz"))
9696 (sha256
9697 (base32
9698 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9699 (build-system haskell-build-system)
9700 (inputs
9701 `(("ghc-data-default" ,ghc-data-default)
9702 ("ghc-generic-deriving" ,ghc-generic-deriving)
9703 ("ghc-hunit" ,ghc-hunit)
9704 ("ghc-listlike" ,ghc-listlike)))
9705 (home-page "https://github.com/seereason/process-extras")
9706 (synopsis "Extra tools for managing processes")
f74b6983 9707 (description "This package extends
21f5b9a9
JS
9708@url{http://hackage.haskell.org/package/process}. It allows you to read
9709process input and output as ByteStrings or Text, or write your own
9710ProcessOutput instance. It also provides lazy process input and output,
9711and a ProcessMaker class for more flexibility in the process creation
9712API.")
9713 (license license:expat)))
9714
dddbc90c
RV
9715(define-public ghc-profunctors
9716 (package
9717 (name "ghc-profunctors")
899b5297 9718 (version "5.3")
dddbc90c
RV
9719 (source
9720 (origin
9721 (method url-fetch)
9722 (uri (string-append
9723 "https://hackage.haskell.org/package/profunctors/profunctors-"
9724 version
9725 ".tar.gz"))
9726 (sha256
9727 (base32
899b5297 9728 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 9729 (build-system haskell-build-system)
dddbc90c
RV
9730 (inputs
9731 `(("ghc-base-orphans" ,ghc-base-orphans)
9732 ("ghc-bifunctors" ,ghc-bifunctors)
9733 ("ghc-comonad" ,ghc-comonad)
9734 ("ghc-contravariant" ,ghc-contravariant)
9735 ("ghc-distributive" ,ghc-distributive)
9736 ("ghc-semigroups" ,ghc-semigroups)
9737 ("ghc-tagged" ,ghc-tagged)))
9738 (home-page "https://github.com/ekmett/profunctors/")
9739 (synopsis "Profunctors for Haskell")
9740 (description "This library provides profunctors for Haskell.")
9741 (license license:bsd-3)))
9742
fbe32d46
ASM
9743(define-public ghc-project-template
9744 (package
9745 (name "ghc-project-template")
9746 (version "0.2.0.1")
9747 (source
9748 (origin
9749 (method url-fetch)
9750 (uri (string-append
9751 "https://hackage.haskell.org/package/project-template/project-template-"
9752 version ".tar.gz"))
9753 (sha256
9754 (base32
9755 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9756 (build-system haskell-build-system)
9757 (inputs
9758 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9759 ("ghc-conduit" ,ghc-conduit)
9760 ("ghc-conduit-extra" ,ghc-conduit-extra)
9761 ("ghc-resourcet" ,ghc-resourcet)))
9762 (native-inputs
9763 `(("ghc-hspec" ,ghc-hspec)
9764 ("hspec-discover" ,hspec-discover)
9765 ("ghc-quickcheck" ,ghc-quickcheck)))
9766 (arguments
9767 `(#:cabal-revision
9768 ("1"
9769 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9770 (home-page "https://github.com/fpco/haskell-ide")
9771 (synopsis "Specify Haskell project templates and generate files")
9772 (description
9773 "Haskell library for both generating and consuming project templates.
9774
9775ost IDEs provide the concept of a project template: instead of writing all
9776of the code for a project from scratch, you select a template, answer a few
9777questions, and a bunch of files are automatically generated.
9778
9779project-template tries to provide a canonical Haskell library for implementing
9780the ideal templating system.")
9781 (license license:bsd-3)))
9782
8a6e745d
JS
9783(define-public ghc-protolude
9784 (package
9785 (name "ghc-protolude")
9786 (version "0.2.3")
9787 (source
9788 (origin
9789 (method url-fetch)
9790 (uri (string-append
9791 "mirror://hackage/package/protolude/protolude-"
9792 version
9793 ".tar.gz"))
9794 (sha256
9795 (base32
9796 "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj"))))
9797 (build-system haskell-build-system)
9798 (inputs
9799 `(("ghc-async" ,ghc-async)
9800 ("ghc-hashable" ,ghc-hashable)
9801 ("ghc-mtl-compat" ,ghc-mtl-compat)
9802 ("ghc-transformers-compat" ,ghc-transformers-compat)))
9803 (home-page "https://github.com/protolude/protolude")
9804 (synopsis "Sensible set of defaults for writing custom Preludes")
9805 (description
9806 "Protolude gives you sensible defaults for writing custom Preludes to
9807replace the standard one provided by GHC.")
9808 (license license:expat)))
9809
cf123e32
MB
9810(define-public ghc-psqueue
9811 (package
9812 (name "ghc-psqueue")
9813 (version "1.1.0.1")
9814 (source (origin
9815 (method url-fetch)
9816 (uri (string-append "mirror://hackage/package/PSQueue-"
9817 version "/PSQueue-" version ".tar.gz"))
9818 (sha256
9819 (base32
9820 "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza"))))
9821 (build-system haskell-build-system)
9822 (home-page "https://hackage.haskell.org/package/PSQueue")
9823 (synopsis "Priority search queue")
9824 (description
9825 "A @dfn{priority search queue} efficiently supports the operations of
9826both a search tree and a priority queue. A @code{Binding} is a product of
9827a key and a priority. Bindings can be inserted, deleted, modified and queried
9828in logarithmic time, and the binding with the least priority can be retrieved
9829in constant time. A queue can be built from a list of bindings, sorted by
9830keys, in linear time.")
9831 (license license:bsd-3)))
9832
dddbc90c
RV
9833(define-public ghc-psqueues
9834 (package
9835 (name "ghc-psqueues")
5d133942 9836 (version "0.2.7.2")
dddbc90c
RV
9837 (source
9838 (origin
9839 (method url-fetch)
9840 (uri (string-append "https://hackage.haskell.org/package/"
9841 "psqueues-" version "/"
9842 "psqueues-" version ".tar.gz"))
9843 (sha256
9844 (base32
5d133942 9845 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
9846 (build-system haskell-build-system)
9847 (inputs
9848 `(("ghc-hashable" ,ghc-hashable)))
9849 (native-inputs
9850 `(("ghc-hunit" ,ghc-hunit)
9851 ("ghc-quickcheck" ,ghc-quickcheck)
9852 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
9853 ("ghc-tasty" ,ghc-tasty)
9854 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9855 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
9856 (home-page "https://github.com/jaspervdj/psqueues")
9857 (synopsis "Pure priority search queues")
9858 (description "The psqueues package provides
9859@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9860three different flavors:
9861
9862@itemize
9863@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9864fast insertion, deletion and lookup. This implementation is based on Ralf
9865Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9866Implementation Technique for Priority Search Queues}.
9867
9868Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9869PSQueue} library, although it is considerably faster and provides a slightly
9870different API.
9871
9872@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9873key type to @code{Int} and uses a
9874@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9875with an additional min-heap property.
9876
9877@item @code{HashPSQ k p v} is a fairly straightforward extension
9878of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9879@code{IntPSQ}. If there are any hash collisions, it uses an
9880@code{OrdPSQ} to resolve those. The performance of this implementation
9881is comparable to that of @code{IntPSQ}, but it is more widely
9882applicable since the keys are not restricted to @code{Int},
9883but rather to any @code{Hashable} datatype.
9884@end itemize
9885
9886Each of the three implementations provides the same API, so they can
9887be used interchangeably.
9888
9889Typical applications of Priority Search Queues include:
9890
9891@itemize
9892@item Caches, and more specifically LRU Caches;
9893@item Schedulers;
9894@item Pathfinding algorithms, such as Dijkstra's and A*.
9895@end itemize")
9896 (license license:bsd-3)))
b1dbc9f5
ASM
9897
9898(define-public ghc-pwstore-fast
9899 (package
9900 (name "ghc-pwstore-fast")
9901 (version "2.4.4")
9902 (source
9903 (origin
9904 (method url-fetch)
9905 (uri (string-append
9906 "https://hackage.haskell.org/package/pwstore-fast/"
9907 "pwstore-fast-" version ".tar.gz"))
9908 (sha256
9909 (base32
9910 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9911 (build-system haskell-build-system)
9912 (inputs
9913 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9914 ("ghc-cryptohash" ,ghc-cryptohash)
9915 ("ghc-random" ,ghc-random)
9916 ("ghc-byteable" ,ghc-byteable)))
9917 (home-page "https://github.com/PeterScott/pwstore")
9918 (synopsis "Secure password storage")
9919 (description
9920 "To store passwords securely, they should be salted, then hashed with
9921a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9922details. It uses the cryptohash package for speed; if you need a pure
9923Haskell library, pwstore-purehaskell has the exact same API, but uses only
9924pure Haskell. It is about 25 times slower than this package, but still quite
9925usable.")
9926 (license license:bsd-3)))
dddbc90c
RV
9927
9928(define-public ghc-random
9929 (package
9930 (name "ghc-random")
9931 (version "1.1")
9932 (outputs '("out" "doc"))
9933 (source
9934 (origin
9935 (method url-fetch)
9936 (uri (string-append
9937 "https://hackage.haskell.org/package/random/random-"
9938 version
9939 ".tar.gz"))
9940 (sha256
9941 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9942 (build-system haskell-build-system)
9943 (home-page "https://hackage.haskell.org/package/random")
9944 (synopsis "Random number library")
9945 (description "This package provides a basic random number generation
9946library, including the ability to split random number generators.")
9947 (license license:bsd-3)))
9948
9949(define-public ghc-raw-strings-qq
9950 (package
9951 (name "ghc-raw-strings-qq")
9952 (version "1.1")
9953 (source
9954 (origin
9955 (method url-fetch)
9956 (uri (string-append "https://hackage.haskell.org/package/"
9957 "raw-strings-qq/raw-strings-qq-"
9958 version ".tar.gz"))
9959 (sha256
9960 (base32
9961 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9962 (build-system haskell-build-system)
9963 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9964 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9965 (synopsis "Raw string literals for Haskell")
9966 (description
9967 "This package provides a quasiquoter for raw string literals, i.e. string
9968literals that don't recognise the standard escape sequences. Basically, they
9969make your code more readable by freeing you from the responsibility to escape
9970backslashes. They are useful when working with regular expressions,
9971DOS/Windows paths and markup languages (such as XML).")
9972 (license license:bsd-3)))
9973
9974(define-public ghc-readable
9975 (package
9976 (name "ghc-readable")
9977 (version "0.3.1")
9978 (source
9979 (origin
9980 (method url-fetch)
9981 (uri (string-append "https://hackage.haskell.org/package/"
9982 "readable/readable-" version ".tar.gz"))
9983 (sha256
9984 (base32
9985 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9986 (build-system haskell-build-system)
9987 (home-page "https://github.com/mightybyte/readable")
9988 (synopsis "Type class for reading from Text and ByteString")
9989 (description "This package provides a @code{Readable} type class for
9990reading data types from @code{ByteString} and @code{Text}. It also
9991includes efficient implementations for common data types.")
9992 (license license:bsd-3)))
9993
9994(define-public ghc-rebase
9995 (package
9996 (name "ghc-rebase")
8d2ae3fe 9997 (version "1.3.1.1")
dddbc90c
RV
9998 (source
9999 (origin
10000 (method url-fetch)
10001 (uri (string-append "https://hackage.haskell.org/package/"
10002 "rebase-" version "/"
10003 "rebase-" version ".tar.gz"))
10004 (sha256
10005 (base32
8d2ae3fe 10006 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
10007 (build-system haskell-build-system)
10008 (inputs `(("ghc-hashable" ,ghc-hashable)
10009 ("ghc-vector" ,ghc-vector)
10010 ("ghc-unordered-containers" ,ghc-unordered-containers)
10011 ("ghc-scientific" ,ghc-scientific)
10012 ("ghc-uuid" ,ghc-uuid)
10013 ("ghc-dlist" ,ghc-dlist)
10014 ("ghc-void" ,ghc-void)
10015 ("ghc-bifunctors" ,ghc-bifunctors)
10016 ("ghc-profunctors" ,ghc-profunctors)
10017 ("ghc-contravariant" ,ghc-contravariant)
10018 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
10019 ("ghc-semigroups" ,ghc-semigroups)
10020 ("ghc-either" ,ghc-either)
10021 ("ghc-fail" ,ghc-fail)
10022 ("ghc-base-prelude" ,ghc-base-prelude)))
10023 (home-page "https://github.com/nikita-volkov/rebase")
10024 (synopsis "Progressive alternative to the base package
10025for Haskell")
10026 (description "This Haskell package is intended for those who are
10027tired of keeping long lists of dependencies to the same essential libraries
10028in each package as well as the endless imports of the same APIs all over again.
10029
10030It also supports the modern tendencies in the language.
10031
10032To solve those problems this package does the following:
10033
10034@itemize
10035@item Reexport the original APIs under the @code{Rebase} namespace.
10036
10037@item Export all the possible non-conflicting symbols from the
10038@code{Rebase.Prelude} module.
10039
10040@item Give priority to the modern practices in the conflicting cases.
10041@end itemize
10042
10043The policy behind the package is only to reexport the non-ambiguous and
10044non-controversial APIs, which the community has obviously settled on.
10045The package is intended to rapidly evolve with the contribution from
10046the community, with the missing features being added with pull-requests.")
10047 (license license:expat)))
10048
10049(define-public ghc-reducers
10050 (package
10051 (name "ghc-reducers")
10052 (version "3.12.3")
10053 (source
10054 (origin
10055 (method url-fetch)
10056 (uri (string-append
10057 "https://hackage.haskell.org/package/reducers/reducers-"
10058 version
10059 ".tar.gz"))
10060 (sha256
10061 (base32
10062 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
10063 (build-system haskell-build-system)
10064 (inputs
10065 `(("ghc-fingertree" ,ghc-fingertree)
10066 ("ghc-hashable" ,ghc-hashable)
10067 ("ghc-unordered-containers" ,ghc-unordered-containers)
10068 ("ghc-semigroupoids" ,ghc-semigroupoids)
10069 ("ghc-semigroups" ,ghc-semigroups)))
10070 (home-page "https://github.com/ekmett/reducers/")
10071 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
10072 (description "This library provides various semigroups, specialized
10073containers and a general map/reduce framework for Haskell.")
10074 (license license:bsd-3)))
10075
10076(define-public ghc-refact
10077 (package
10078 (name "ghc-refact")
10079 (version "0.3.0.2")
10080 (source
10081 (origin
10082 (method url-fetch)
10083 (uri (string-append "https://hackage.haskell.org/package/"
10084 "refact/refact-"
10085 version ".tar.gz"))
10086 (sha256
10087 (base32
10088 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
10089 (build-system haskell-build-system)
3ef91e15 10090 (home-page "https://hackage.haskell.org/package/refact")
dddbc90c
RV
10091 (synopsis "Specify refactorings to perform with apply-refact")
10092 (description
10093 "This library provides a datatype which can be interpreted by
10094@code{apply-refact}. It exists as a separate library so that applications can
10095specify refactorings without depending on GHC.")
10096 (license license:bsd-3)))
10097
10098(define-public ghc-reflection
10099 (package
10100 (name "ghc-reflection")
d215f1cc 10101 (version "2.1.5")
dddbc90c
RV
10102 (source
10103 (origin
10104 (method url-fetch)
10105 (uri (string-append
10106 "https://hackage.haskell.org/package/reflection/reflection-"
10107 version
10108 ".tar.gz"))
10109 (sha256
10110 (base32
d215f1cc 10111 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
10112 (build-system haskell-build-system)
10113 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
10114 (native-inputs
10115 `(("ghc-hspec" ,ghc-hspec)
10116 ("ghc-quickcheck" ,ghc-quickcheck)
10117 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
10118 (home-page "https://github.com/ekmett/reflection")
10119 (synopsis "Reify arbitrary terms into types that can be reflected back
10120into terms")
10121 (description "This package addresses the 'configuration problem' which is
10122propagating configurations that are available at run-time, allowing multiple
10123configurations to coexist without resorting to mutable global variables or
10124@code{System.IO.Unsafe.unsafePerformIO}.")
10125 (license license:bsd-3)))
10126
10127(define-public ghc-regex
10128 (package
10129 (name "ghc-regex")
b9a5e634 10130 (version "1.0.2.0")
dddbc90c
RV
10131 (source
10132 (origin
10133 (method url-fetch)
10134 (uri (string-append "https://hackage.haskell.org/package/regex/"
10135 "regex-" version ".tar.gz"))
10136 (sha256
10137 (base32
b9a5e634 10138 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
10139 (build-system haskell-build-system)
10140 (arguments
10141 `(#:phases
10142 (modify-phases %standard-phases
10143 (add-after 'unpack 'relax-dependencies
10144 (lambda _
10145 (substitute* "regex.cabal"
10146 (("base-compat.*>=.*0.6.*")
10147 "base-compat >= 0.6\n")
10148 (("template-haskell.*>=.*2.7.*")
10149 "template-haskell >= 2.7\n"))
10150 #t)))))
10151 (inputs
10152 `(("ghc-base-compat" ,ghc-base-compat)
10153 ("ghc-hashable" ,ghc-hashable)
10154 ("ghc-regex-base" ,ghc-regex-base)
10155 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10156 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
10157 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
10158 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
10159 ("ghc-unordered-containers" ,ghc-unordered-containers)
10160 ("ghc-utf8-string" ,ghc-utf8-string)))
10161 (home-page "http://regex.uk")
10162 (synopsis "Toolkit for regex-base")
10163 (description
10164 "This package provides a regular expression toolkit for @code{regex-base}
10165with compile-time checking of regular expression syntax, data types for
10166matches and captures, a text replacement toolkit, portable options, high-level
10167AWK-like tools for building text processing apps, regular expression macros
10168with parsers and test bench, comprehensive documentation, tutorials and
10169copious examples.")
10170 (license license:bsd-3)))
10171
10172(define-public ghc-regex-applicative
10173 (package
10174 (name "ghc-regex-applicative")
30f60e42 10175 (version "0.3.3.1")
dddbc90c
RV
10176 (source
10177 (origin
10178 (method url-fetch)
10179 (uri (string-append
10180 "https://hackage.haskell.org/package/regex-applicative/"
10181 "regex-applicative-" version ".tar.gz"))
10182 (sha256
10183 (base32
30f60e42 10184 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
10185 (build-system haskell-build-system)
10186 (inputs
10187 `(("ghc-smallcheck" ,ghc-smallcheck)
10188 ("ghc-tasty" ,ghc-tasty)
10189 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10190 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10191 (home-page "https://github.com/feuerbach/regex-applicative")
10192 (synopsis "Regex-based parsing with applicative interface")
10193 (description
10194 "@code{regex-applicative} is a Haskell library for parsing using
10195regular expressions. Parsers can be built using Applicative interface.")
10196 (license license:expat)))
10197
10198(define-public ghc-regex-base
10199 (package
10200 (name "ghc-regex-base")
10201 (version "0.93.2")
10202 (source
10203 (origin
10204 (method url-fetch)
10205 (uri (string-append
10206 "https://hackage.haskell.org/package/regex-base/regex-base-"
10207 version
10208 ".tar.gz"))
10209 (sha256
10210 (base32
10211 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
10212 (build-system haskell-build-system)
10213 (home-page
10214 "https://sourceforge.net/projects/lazy-regex")
10215 (synopsis "Replaces/Enhances Text.Regex")
10216 (description "@code{Text.Regex.Base} provides the interface API for
10217regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
10218 (license license:bsd-3)))
10219
10220(define-public ghc-regex-compat
10221 (package
10222 (name "ghc-regex-compat")
10223 (version "0.95.1")
10224 (source
10225 (origin
10226 (method url-fetch)
10227 (uri (string-append
10228 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
10229 version
10230 ".tar.gz"))
10231 (sha256
10232 (base32
10233 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
10234 (build-system haskell-build-system)
10235 (inputs
10236 `(("ghc-regex-base" ,ghc-regex-base)
10237 ("ghc-regex-posix" ,ghc-regex-posix)))
10238 (home-page "https://sourceforge.net/projects/lazy-regex")
10239 (synopsis "Replaces/Enhances Text.Regex")
10240 (description "This library provides one module layer over
10241@code{regex-posix} to replace @code{Text.Regex}.")
10242 (license license:bsd-3)))
10243
10244(define-public ghc-regex-compat-tdfa
10245 (package
10246 (name "ghc-regex-compat-tdfa")
10247 (version "0.95.1.4")
10248 (source
10249 (origin
10250 (method url-fetch)
10251 (uri (string-append
10252 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
10253 version ".tar.gz"))
10254 (sha256
10255 (base32
10256 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
10257 (build-system haskell-build-system)
10258 (inputs
10259 `(("ghc-regex-base" ,ghc-regex-base)
10260 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10261 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
10262 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
10263 (description
10264 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
10265@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
10266This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
10267this problem.")
10268 (license license:bsd-3)))
10269
ddd79836
MB
10270(define-public ghc-regex-pcre
10271 (package
10272 (name "ghc-regex-pcre")
10273 (version "0.94.4")
10274 (source (origin
10275 (method url-fetch)
10276 (uri (string-append "https://hackage.haskell.org/package/"
10277 "regex-pcre/regex-pcre-" version ".tar.gz"))
10278 (sha256
10279 (base32
10280 "1h16w994g9s62iwkdqa7bar2n9cfixmkzz2rm8svm960qr57valf"))))
10281 (build-system haskell-build-system)
10282 (inputs
10283 `(("ghc-regex-base" ,ghc-regex-base)
10284 ("pcre" ,pcre)))
10285 (home-page "https://hackage.haskell.org/package/regex-pcre")
10286 (synopsis "Enhancement of the builtin Text.Regex library")
10287 (description
10288 "This package is an enhancement of the @code{Text.Regex} library.
10289It wraps the @code{PCRE} C library providing Perl-compatible regular
10290expressions.")
10291 (license license:bsd-3)))
10292
dddbc90c
RV
10293(define-public ghc-regex-pcre-builtin
10294 (package
10295 (name "ghc-regex-pcre-builtin")
ee946143 10296 (version "0.94.5.8.8.35")
dddbc90c
RV
10297 (source (origin
10298 (method url-fetch)
10299 (uri (string-append "https://hackage.haskell.org/package/"
10300 "regex-pcre-builtin/regex-pcre-builtin-"
10301 version ".tar.gz"))
10302 (sha256
10303 (base32
ee946143 10304 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
10305 (build-system haskell-build-system)
10306 (inputs
10307 `(("ghc-regex-base" ,ghc-regex-base)))
4723766b 10308 (home-page "https://hackage.haskell.org/package/regex-pcre-builtin")
dddbc90c
RV
10309 (synopsis "Enhancement of the builtin Text.Regex library")
10310 (description
10311 "This package is an enhancement of the @code{Text.Regex} library,
10312providing the PCRE backend to accompany regex-base, with bundled code from
10313@url{https://www.pcre.org}.")
10314 (license license:bsd-3)))
10315
10316(define-public ghc-regex-posix
10317 (package
10318 (name "ghc-regex-posix")
10319 (version "0.95.2")
10320 (source
10321 (origin
10322 (method url-fetch)
10323 (uri (string-append
10324 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
10325 version
10326 ".tar.gz"))
10327 (sha256
10328 (base32
10329 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
10330 (build-system haskell-build-system)
10331 (inputs
10332 `(("ghc-regex-base" ,ghc-regex-base)))
10333 (home-page "https://sourceforge.net/projects/lazy-regex")
10334 (synopsis "POSIX regular expressions for Haskell")
10335 (description "This library provides the POSIX regex backend used by the
10336Haskell library @code{regex-base}.")
10337 (license license:bsd-3)))
10338
10339(define-public ghc-regex-tdfa
10340 (package
10341 (name "ghc-regex-tdfa")
ce684db0 10342 (version "1.2.3.2")
dddbc90c
RV
10343 (source
10344 (origin
10345 (method url-fetch)
10346 (uri (string-append
10347 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
10348 version ".tar.gz"))
10349 (sha256
10350 (base32
ce684db0 10351 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
10352 (build-system haskell-build-system)
10353 (inputs
10354 `(("ghc-regex-base" ,ghc-regex-base)))
90b74c6f 10355 (home-page "https://github.com/haskell-hvr/regex-tdfa")
dddbc90c
RV
10356 (synopsis "POSIX extended regular expressions in Haskell.")
10357 (description
10358 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
10359extended regular expressions. It is a \"tagged\" DFA regex engine. It is
10360inspired by libtre.")
10361 (license license:bsd-3)))
10362
10363(define-public ghc-regex-tdfa-text
10364 (package
10365 (name "ghc-regex-tdfa-text")
10366 (version "1.0.0.3")
10367 (source
10368 (origin
10369 (method url-fetch)
10370 (uri (string-append
10371 "https://hackage.haskell.org/package/regex-tdfa-text/"
10372 "regex-tdfa-text-" version ".tar.gz"))
10373 (sha256
10374 (base32
10375 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
10376 (build-system haskell-build-system)
10377 (inputs
10378 `(("ghc-regex-base" ,ghc-regex-base)
10379 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10380 (home-page
3ef91e15 10381 "https://hackage.haskell.org/package/regex-tdfa-text")
dddbc90c
RV
10382 (synopsis "Text interface for regex-tdfa")
10383 (description
10384 "This provides an extra text interface for regex-tdfa.")
10385 (license license:bsd-3)))
10386
798a2df4
JS
10387(define-public ghc-repline
10388 (package
10389 (name "ghc-repline")
10390 (version "0.2.0.0")
10391 (source
10392 (origin
10393 (method url-fetch)
10394 (uri (string-append
10395 "mirror://hackage/package/repline/repline-"
10396 version
10397 ".tar.gz"))
10398 (sha256
10399 (base32
10400 "1ph21kbbanlcs8n5lwk16g9vqkb98mkbz5mzwrp8j2rls2921izc"))))
10401 (build-system haskell-build-system)
10402 (home-page "https://github.com/sdiehl/repline")
10403 (synopsis "Haskeline wrapper for GHCi-like REPL interfaces")
10404 (description
10405 "Haskeline wrapper for GHCi-like REPL interfaces. Composable with
10406normal mtl transformers.")
10407 (license license:expat)))
10408
6c0858dd
JS
10409(define-public ghc-repline-0.3
10410 (package
10411 (inherit ghc-repline)
10412 (version "0.3.0.0")
10413 (source
10414 (origin
10415 (method url-fetch)
10416 (uri (string-append
10417 "mirror://hackage/package/repline/repline-"
10418 version
10419 ".tar.gz"))
10420 (sha256
10421 (base32
10422 "0niihfyggg2qisadg7w49cr5k5qyyynia93iip0ng2bbmzwi88g8"))))
10423 (inputs
10424 `(("ghc-exceptions" ,ghc-exceptions)
10425 ("ghc-haskeline" ,ghc-haskeline-0.8)))))
10426
dddbc90c
RV
10427(define-public ghc-rerebase
10428 (package
10429 (name "ghc-rerebase")
cdec7b8c 10430 (version "1.3.1.1")
dddbc90c
RV
10431 (source
10432 (origin
10433 (method url-fetch)
10434 (uri (string-append
10435 "https://hackage.haskell.org/package/rerebase/rerebase-"
10436 version ".tar.gz"))
10437 (sha256
10438 (base32
cdec7b8c 10439 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
10440 (build-system haskell-build-system)
10441 (inputs
10442 `(("ghc-rebase" ,ghc-rebase)))
10443 (home-page "https://github.com/nikita-volkov/rerebase")
10444 (synopsis "Reexports from ``base'' with many other standard libraries")
10445 (description "A rich drop-in replacement for @code{base}. For details and
10446documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
10447the project's home page}.")
10448 (license license:expat)))
10449
10450(define-public ghc-resolv
10451 (package
10452 (name "ghc-resolv")
87309478 10453 (version "0.1.1.2")
dddbc90c
RV
10454 (source
10455 (origin
10456 (method url-fetch)
10457 (uri (string-append
10458 "https://hackage.haskell.org/package/resolv/resolv-"
10459 version ".tar.gz"))
10460 (sha256
10461 (base32
87309478 10462 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
10463 (build-system haskell-build-system)
10464 (arguments
87309478
TS
10465 `(#:phases
10466 (modify-phases %standard-phases
10467 (add-before 'configure 'update-constraints
10468 (lambda _
10469 (substitute* "resolv.cabal"
10470 (("tasty >= 1\\.1 && < 1\\.2")
10471 "tasty >= 1.1 && < 1.3"))
10472 #t)))))
dddbc90c
RV
10473 (inputs
10474 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
10475 (native-inputs
10476 `(("ghc-tasty" ,ghc-tasty)
10477 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
10478 (home-page "https://github.com/haskell/hackage-security")
10479 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
10480 (description "This package implements an API for accessing the
10481@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
10482resolver service via the standard @code{libresolv} system library (whose
10483API is often available directly via the standard @code{libc} C library) on
10484Unix systems.")
10485 (license license:gpl3)))
10486
10487(define-public ghc-resource-pool
10488 (package
10489 (name "ghc-resource-pool")
10490 (version "0.2.3.2")
10491 (source
10492 (origin
10493 (method url-fetch)
10494 (uri (string-append "https://hackage.haskell.org/package/"
10495 "resource-pool-" version "/"
10496 "resource-pool-" version ".tar.gz"))
10497 (sha256
10498 (base32
10499 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
10500 (build-system haskell-build-system)
10501 (inputs `(("ghc-hashable" ,ghc-hashable)
10502 ("ghc-monad-control" ,ghc-monad-control)
10503 ("ghc-transformers-base" ,ghc-transformers-base)
10504 ("ghc-vector" ,ghc-vector)))
10505 (home-page "https://github.com/bos/pool")
10506 (synopsis "Striped resource pooling implementation in Haskell")
10507 (description "This Haskell package provides striped pooling abstraction
10508for managing flexibly-sized collections of resources such as database
10509connections.")
10510 (license license:bsd-3)))
10511
10512(define-public ghc-resourcet
10513 (package
10514 (name "ghc-resourcet")
9ac341ac 10515 (version "1.2.2")
dddbc90c
RV
10516 (source
10517 (origin
10518 (method url-fetch)
10519 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
10520 "resourcet-" version ".tar.gz"))
10521 (sha256
10522 (base32
9ac341ac 10523 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
10524 (build-system haskell-build-system)
10525 (inputs
10526 `(("ghc-transformers-base" ,ghc-transformers-base)
10527 ("ghc-monad-control" ,ghc-monad-control)
10528 ("ghc-transformers-compat" ,ghc-transformers-compat)
10529 ("ghc-mmorph" ,ghc-mmorph)
10530 ("ghc-exceptions" ,ghc-exceptions)
10531 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10532 (native-inputs
10533 `(("ghc-lifted-base" ,ghc-lifted-base)
10534 ("ghc-hspec" ,ghc-hspec)))
10535 (home-page "https://github.com/snoyberg/conduit")
10536 (synopsis "Deterministic allocation and freeing of scarce resources")
10537 (description "ResourceT is a monad transformer which creates a region of
10538code where you can safely allocate resources.")
10539 (license license:bsd-3)))
10540
b9debc37
TS
10541(define-public ghc-retry
10542 (package
10543 (name "ghc-retry")
10544 (version "0.8.1.0")
10545 (source
10546 (origin
10547 (method url-fetch)
10548 (uri (string-append "https://hackage.haskell.org/package/"
10549 "retry/retry-" version ".tar.gz"))
10550 (sha256
10551 (base32
10552 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
10553 (build-system haskell-build-system)
10554 (inputs
10555 `(("ghc-exceptions" ,ghc-exceptions)
10556 ("ghc-random" ,ghc-random)))
10557 (native-inputs
10558 `(("ghc-hunit" ,ghc-hunit)
10559 ("ghc-tasty" ,ghc-tasty)
10560 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10561 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
10562 ("ghc-hedgehog" ,ghc-hedgehog)))
702a1012 10563 (home-page "https://github.com/Soostone/retry")
b9debc37
TS
10564 (synopsis "Retry combinators for monadic actions that may fail")
10565 (description "This package exposes combinators that can wrap
10566arbitrary monadic actions. They run the action and potentially retry
10567running it with some configurable delay for a configurable number of
10568times. The purpose is to make it easier to work with IO and especially
10569network IO actions that often experience temporary failure and warrant
10570retrying of the original action. For example, a database query may time
10571out for a while, in which case we should hang back for a bit and retry
10572the query instead of simply raising an exception.")
10573 (license license:bsd-3)))
10574
dddbc90c
RV
10575(define-public ghc-rfc5051
10576 (package
10577 (name "ghc-rfc5051")
ec42ab7c 10578 (version "0.1.0.4")
dddbc90c
RV
10579 (source
10580 (origin
10581 (method url-fetch)
10582 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
10583 "rfc5051-" version ".tar.gz"))
10584 (sha256
10585 (base32
ec42ab7c 10586 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
10587 (build-system haskell-build-system)
10588 (home-page "https://hackage.haskell.org/package/rfc5051")
10589 (synopsis "Simple unicode collation as per RFC5051")
10590 (description
10591 "This library implements @code{unicode-casemap}, the simple, non
10592locale-sensitive unicode collation algorithm described in RFC 5051. Proper
10593unicode collation can be done using @code{text-icu}, but that is a big
10594dependency that depends on a large C library, and @code{rfc5051} might be
10595better for some purposes.")
10596 (license license:bsd-3)))
10597
10598(define-public ghc-rio
10599 (package
10600 (name "ghc-rio")
8bda2fa7 10601 (version "0.1.12.0")
dddbc90c
RV
10602 (source
10603 (origin
10604 (method url-fetch)
10605 (uri (string-append
10606 "https://hackage.haskell.org/package/rio/rio-"
10607 version ".tar.gz"))
10608 (sha256
10609 (base32
8bda2fa7 10610 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
10611 (build-system haskell-build-system)
10612 (inputs
10613 `(("ghc-exceptions" ,ghc-exceptions)
10614 ("ghc-hashable" ,ghc-hashable)
10615 ("ghc-microlens" ,ghc-microlens)
10616 ("ghc-primitive" ,ghc-primitive)
10617 ("ghc-typed-process" ,ghc-typed-process)
10618 ("ghc-unliftio" ,ghc-unliftio)
10619 ("ghc-unordered-containers" ,ghc-unordered-containers)
10620 ("ghc-vector" ,ghc-vector)))
10621 (native-inputs
10622 `(("ghc-hspec" ,ghc-hspec)
10623 ("hspec-discover" ,hspec-discover)))
10624 (home-page "https://github.com/commercialhaskell/rio#readme")
10625 (synopsis "A standard library for Haskell")
10626 (description "This package works as a prelude replacement for Haskell,
10627providing more functionality and types out of the box than the standard
10628prelude (such as common data types like @code{ByteString} and
10629@code{Text}), as well as removing common ``gotchas'', like partial
10630functions and lazy I/O. The guiding principle here is:
10631@itemize
10632@item If something is safe to use in general and has no expected naming
10633conflicts, expose it.
10634@item If something should not always be used, or has naming conflicts,
10635expose it from another module in the hierarchy.
10636@end itemize")
10637 (license license:expat)))
10638
10639(define-public ghc-safe
10640 (package
10641 (name "ghc-safe")
10642 (version "0.3.17")
10643 (source
10644 (origin
10645 (method url-fetch)
10646 (uri (string-append
10647 "https://hackage.haskell.org/package/safe/safe-"
10648 version
10649 ".tar.gz"))
10650 (sha256
10651 (base32
10652 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
10653 (build-system haskell-build-system)
10654 (native-inputs
10655 `(("ghc-quickcheck" ,ghc-quickcheck)))
10656 (home-page "https://github.com/ndmitchell/safe#readme")
10657 (synopsis "Library of safe (exception free) functions")
10658 (description "This library provides wrappers around @code{Prelude} and
10659@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
10660exceptions.")
10661 (license license:bsd-3)))
10662
10663(define-public ghc-safe-exceptions
10664 (package
10665 (name "ghc-safe-exceptions")
10666 (version "0.1.7.0")
10667 (source
10668 (origin
10669 (method url-fetch)
10670 (uri (string-append "https://hackage.haskell.org/package/"
10671 "safe-exceptions/safe-exceptions-"
10672 version ".tar.gz"))
10673 (sha256
10674 (base32
10675 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
10676 (build-system haskell-build-system)
10677 (arguments
10678 '(#:cabal-revision
10679 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
10680 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10681 (native-inputs
10682 `(("ghc-hspec" ,ghc-hspec)
10683 ("ghc-void" ,ghc-void)
10684 ("hspec-discover" ,hspec-discover)))
10685 (home-page "https://github.com/fpco/safe-exceptions")
10686 (synopsis "Safe, consistent, and easy exception handling")
10687 (description "Runtime exceptions - as exposed in @code{base} by the
10688@code{Control.Exception} module - have long been an intimidating part of the
10689Haskell ecosystem. This package is intended to overcome this. It provides a
10690safe and simple API on top of the existing exception handling machinery. The
10691API is equivalent to the underlying implementation in terms of power but
10692encourages best practices to minimize the chances of getting the exception
10693handling wrong.")
10694 (license license:expat)))
10695
10696(define-public ghc-safeio
10697 (package
10698 (name "ghc-safeio")
10699 (version "0.0.5.0")
10700 (source
10701 (origin
10702 (method url-fetch)
10703 (uri (string-append "https://hackage.haskell.org/package/safeio/"
10704 "safeio-" version ".tar.gz"))
10705 (sha256
10706 (base32
10707 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
10708 (build-system haskell-build-system)
10709 (inputs
10710 `(("ghc-conduit" ,ghc-conduit)
10711 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10712 ("ghc-exceptions" ,ghc-exceptions)
10713 ("ghc-resourcet" ,ghc-resourcet)))
10714 (native-inputs
10715 `(("ghc-hunit" ,ghc-hunit)
10716 ("ghc-test-framework" ,ghc-test-framework)
10717 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10718 ("ghc-test-framework-th" ,ghc-test-framework-th)))
10719 (home-page "https://github.com/luispedro/safeio")
10720 (synopsis "Write output to disk atomically")
10721 (description
10722 "This package implements utilities to perform atomic output so as to
10723avoid the problem of partial intermediate files.")
10724 (license license:expat)))
10725
10726(define-public ghc-safesemaphore
10727 (package
10728 (name "ghc-safesemaphore")
10729 (version "0.10.1")
10730 (source
10731 (origin
10732 (method url-fetch)
10733 (uri (string-append "https://hackage.haskell.org/package/"
10734 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
10735 (sha256
10736 (base32
10737 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10738 (build-system haskell-build-system)
10739 (native-inputs
10740 `(("ghc-hunit" ,ghc-hunit)))
10741 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10742 (synopsis "Exception safe semaphores")
10743 (description "This library provides exception safe semaphores that can be
10744used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10745are not exception safe and can be broken by @code{killThread}.")
10746 (license license:bsd-3)))
10747
10748(define-public ghc-sandi
10749 (package
10750 (name "ghc-sandi")
b867c2b0 10751 (version "0.5")
dddbc90c
RV
10752 (source
10753 (origin
10754 (method url-fetch)
10755 (uri (string-append
10756 "https://hackage.haskell.org/package/sandi/sandi-"
10757 version ".tar.gz"))
10758 (sha256
10759 (base32
b867c2b0 10760 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
10761 (build-system haskell-build-system)
10762 (inputs
10763 `(("ghc-stringsearch" ,ghc-stringsearch)
10764 ("ghc-conduit" ,ghc-conduit)
10765 ("ghc-exceptions" ,ghc-exceptions)
10766 ("ghc-hunit" ,ghc-hunit)
10767 ("ghc-tasty" ,ghc-tasty)
10768 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10769 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10770 ("ghc-tasty-th" ,ghc-tasty-th)))
10771 (home-page "https://hackage.haskell.org/package/sandi")
10772 (synopsis "Data encoding library")
10773 (description "Reasonably fast data encoding library.")
10774 (license license:bsd-3)))
10775
4da75228
ASM
10776(define-public ghc-say
10777 (package
10778 (name "ghc-say")
10779 (version "0.1.0.1")
10780 (source
10781 (origin
10782 (method url-fetch)
10783 (uri (string-append
10784 "https://hackage.haskell.org/package/say/say-"
10785 version
10786 ".tar.gz"))
10787 (sha256
10788 (base32
10789 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10790 (build-system haskell-build-system)
10791 (native-inputs
10792 `(("ghc-hspec" ,ghc-hspec)
10793 ("hspec-discover" ,hspec-discover)
10794 ("ghc-unliftio" ,ghc-unliftio)))
10795 (home-page "https://github.com/fpco/say")
10796 (synopsis
10797 "Send textual messages to a Handle in a thread-friendly way")
10798 (description
10799 "A thread safe API to write a line of textual data to a Handle, such
10800as sending some messages to the terminal - that has the following properties:
10801@itemize
10802@item Properly handle character encoding settings on the Handle
10803@item For reasonably sized messages, ensure that the entire message is written
10804 in one chunk to avoid interleaving data with other threads
10805@item Avoid unnecessary memory allocations and copies
10806@item Minimize locking.
10807@end itemize")
10808 (license license:expat)))
10809
dddbc90c
RV
10810(define-public ghc-scientific
10811 (package
10812 (name "ghc-scientific")
10813 (version "0.3.6.2")
10814 (source
10815 (origin
10816 (method url-fetch)
10817 (uri (string-append
10818 "https://hackage.haskell.org/package/scientific/scientific-"
10819 version
10820 ".tar.gz"))
10821 (sha256
10822 (base32
10823 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10824 (build-system haskell-build-system)
10825 (inputs
10826 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10827 ("ghc-hashable" ,ghc-hashable)
10828 ("ghc-primitive" ,ghc-primitive)))
10829 (native-inputs
10830 `(("ghc-tasty" ,ghc-tasty)
10831 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10832 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10833 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10834 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10835 ("ghc-smallcheck" ,ghc-smallcheck)
10836 ("ghc-quickcheck" ,ghc-quickcheck)))
10837 (home-page "https://github.com/basvandijk/scientific")
10838 (synopsis "Numbers represented using scientific notation")
10839 (description "This package provides @code{Data.Scientific}, which provides
10840the number type @code{Scientific}. Scientific numbers are arbitrary precision
10841and space efficient. They are represented using
10842@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10843notation}.")
10844 (license license:bsd-3)))
10845
10846(define-public ghc-scientific-bootstrap
10847 (package
10848 (inherit ghc-scientific)
10849 (name "ghc-scientific-bootstrap")
10850 (arguments `(#:tests? #f))
10851 (inputs
10852 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10853 ("ghc-hashable" ,ghc-hashable)
10854 ("ghc-primitive" ,ghc-primitive)))
10855 (native-inputs '())
799d8d3c 10856 (properties '((hidden? #t)))))
dddbc90c
RV
10857
10858(define-public ghc-sdl
10859 (package
10860 (name "ghc-sdl")
10861 (version "0.6.7.0")
10862 (source
10863 (origin
10864 (method url-fetch)
10865 (uri (string-append
10866 "https://hackage.haskell.org/package/SDL/SDL-"
10867 version
10868 ".tar.gz"))
10869 (sha256
10870 (base32
10871 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10872 (build-system haskell-build-system)
10873 (inputs
10874 `(("sdl" ,sdl)))
10875 (home-page "https://hackage.haskell.org/package/SDL")
10876 (synopsis "LibSDL for Haskell")
10877 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10878multimedia library designed to provide low level access to audio, keyboard,
10879mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10880by MPEG playback software, emulators, and many popular games, including the
10881award winning Linux port of \"Civilization: Call To Power.\"")
10882 (license license:bsd-3)))
10883
1874cdc1
RV
10884(define-public ghc-sdl2
10885 (package
10886 (name "ghc-sdl2")
145148ca 10887 (version "2.5.0.0")
1874cdc1
RV
10888 (source
10889 (origin
10890 (method url-fetch)
10891 (uri (string-append "https://hackage.haskell.org/package/"
10892 "sdl2/sdl2-" version ".tar.gz"))
10893 (sha256
10894 (base32
145148ca 10895 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
10896 (build-system haskell-build-system)
10897 (arguments '(#:tests? #f)) ; tests require graphical environment
10898 (inputs
10899 `(("ghc-exceptions" ,ghc-exceptions)
10900 ("ghc-linear" ,ghc-linear)
10901 ("ghc-statevar" ,ghc-statevar)
10902 ("ghc-vector" ,ghc-vector)
10903 ("sdl2" ,sdl2)))
10904 (native-inputs
10905 `(("ghc-weigh" ,ghc-weigh)
10906 ("pkg-config" ,pkg-config)))
35437dbf 10907 (home-page "https://hackage.haskell.org/package/sdl2")
1874cdc1
RV
10908 (synopsis "High- and low-level bindings to the SDL library")
10909 (description
10910 "This package contains bindings to the SDL 2 library, in both high- and
10911low-level forms. The @code{SDL} namespace contains high-level bindings, where
10912enumerations are split into sum types, and we perform automatic
10913error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10914translation of the C API into Haskell FFI calls. As such, this does not
10915contain sum types nor error checking. Thus this namespace is suitable for
10916building your own abstraction over SDL, but is not recommended for day-to-day
10917programming.")
10918 (license license:bsd-3)))
10919
10920(define-public ghc-sdl2-image
10921 (package
10922 (name "ghc-sdl2-image")
10923 (version "2.0.0")
10924 (source
10925 (origin
10926 (method url-fetch)
10927 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10928 "sdl2-image-" version ".tar.gz"))
10929 (sha256
10930 (base32
10931 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10932 (build-system haskell-build-system)
10933 (inputs
10934 `(("ghc-sdl2" ,ghc-sdl2)
10935 ("sdl2-image" ,sdl2-image)))
10936 (native-inputs
10937 `(("pkg-config" ,pkg-config)))
3ef91e15 10938 (home-page "https://hackage.haskell.org/package/sdl2-image")
1874cdc1
RV
10939 (synopsis "Bindings to SDL2_image")
10940 (description "This package provides Haskell bindings to
10941@code{SDL2_image}.")
10942 (license license:expat)))
10943
10944(define-public ghc-sdl2-mixer
10945 (package
10946 (name "ghc-sdl2-mixer")
10947 (version "1.1.0")
10948 (source
10949 (origin
10950 (method url-fetch)
10951 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10952 "sdl2-mixer-" version ".tar.gz"))
10953 (sha256
10954 (base32
10955 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10956 (build-system haskell-build-system)
10957 (inputs
10958 `(("ghc-data-default-class" ,ghc-data-default-class)
10959 ("ghc-lifted-base" ,ghc-lifted-base)
10960 ("ghc-monad-control" ,ghc-monad-control)
10961 ("ghc-sdl2" ,ghc-sdl2)
10962 ("ghc-vector" ,ghc-vector)
10963 ("sdl2-mixer" ,sdl2-mixer)))
10964 (native-inputs
10965 `(("pkg-config" ,pkg-config)))
3ef91e15 10966 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
1874cdc1
RV
10967 (synopsis "Bindings to SDL2 mixer")
10968 (description "This package provides Haskell bindings to
10969@code{SDL2_mixer}.")
10970 (license license:bsd-3)))
10971
dddbc90c
RV
10972(define-public ghc-sdl-image
10973 (package
10974 (name "ghc-sdl-image")
10975 (version "0.6.2.0")
10976 (source
10977 (origin
10978 (method url-fetch)
10979 (uri (string-append
10980 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10981 version
10982 ".tar.gz"))
10983 (sha256
10984 (base32
10985 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
10986 (build-system haskell-build-system)
10987 (arguments
10988 `(#:configure-flags
10989 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
10990 (sdl-image-include (string-append sdl-image "/include/SDL")))
10991 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
10992 (inputs
10993 `(("ghc-sdl" ,ghc-sdl)
10994 ("sdl-image" ,sdl-image)))
10995 (home-page "https://hackage.haskell.org/package/SDL-image")
10996 (synopsis "Haskell bindings to libSDL_image")
10997 (description "SDL_image is an image file loading library. It loads images
10998as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
10999PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
11000 (license license:bsd-3)))
11001
11002(define-public ghc-sdl-mixer
11003 (package
11004 (name "ghc-sdl-mixer")
11005 (version "0.6.3.0")
11006 (source
11007 (origin
11008 (method url-fetch)
11009 (uri (string-append
11010 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
11011 version
11012 ".tar.gz"))
11013 (sha256
11014 (base32
11015 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
11016 (build-system haskell-build-system)
11017 (arguments
11018 `(#:configure-flags
11019 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
11020 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
11021 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
11022 (inputs
11023 `(("ghc-sdl" ,ghc-sdl)
11024 ("sdl-mixer" ,sdl-mixer)))
11025 (home-page "https://hackage.haskell.org/package/SDL-mixer")
11026 (synopsis "Haskell bindings to libSDL_mixer")
11027 (description "SDL_mixer is a sample multi-channel audio mixer library. It
11028supports any number of simultaneously playing channels of 16 bit stereo audio,
11029plus a single channel of music, mixed by the popular MikMod MOD, Timidity
11030MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
11031 (license license:bsd-3)))
11032
11033(define-public ghc-securemem
11034 (package
11035 (name "ghc-securemem")
11036 (version "0.1.10")
11037 (source
11038 (origin
11039 (method url-fetch)
11040 (uri (string-append "https://hackage.haskell.org/package/"
11041 "securemem-" version "/"
11042 "securemem-" version ".tar.gz"))
11043 (sha256
11044 (base32
11045 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
11046 (build-system haskell-build-system)
11047 (inputs `(("ghc-byteable" ,ghc-byteable)
11048 ("ghc-memory" ,ghc-memory)))
11049 (home-page "https://github.com/vincenthz/hs-securemem")
11050 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
11051Haskell")
11052 (description "SecureMem is similar to ByteString, except that it provides
11053a memory chunk that will be auto-scrubbed after it run out of scope.")
11054 (license license:bsd-3)))
11055
3cf7219c
JS
11056(define-public ghc-semialign
11057 (package
11058 (name "ghc-semialign")
11059 (version "1")
11060 (source
11061 (origin
11062 (method url-fetch)
11063 (uri (string-append
11064 "https://hackage.haskell.org/package/semialign/semialign-"
11065 version
11066 ".tar.gz"))
11067 (sha256
11068 (base32
11069 "004x0a80sqqdgvsyk4z0nasxpi6z3g1d8kgwj804bj9ka8dlc75m"))))
11070 (build-system haskell-build-system)
11071 (inputs
11072 `(("ghc-these" ,ghc-these)
11073 ("ghc-base-compat" ,ghc-base-compat)
11074 ("ghc-hashable" ,ghc-hashable)
11075 ("ghc-tagged" ,ghc-tagged)
11076 ("ghc-unordered-containers" ,ghc-unordered-containers)
11077 ("ghc-vector" ,ghc-vector)
11078 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11079 (arguments
11080 `(#:cabal-revision
11081 ("1"
11082 "0qnqnyfng4kwy2h2anrcy5id2ijnawava3zcc5h5b8ri1y6ks6zi")))
11083 (home-page
11084 "https://github.com/isomorphism/these")
11085 (synopsis
11086 "Align and Zip type-classes from the common Semialign ancestor ")
11087 (description
11088 "The major use of @code{These} of this is provided by the
11089@code{align} member of @code{Semialign} class, representing a
11090generalized notion of \"zipping with padding\" that combines
11091structures without truncating to the size of the smaller input. It
11092turns out that @code{zip} operation fits well the @code{Semialign}
11093class, forming lattice-like structure.")
11094 (license license:bsd-3)))
11095
dddbc90c
RV
11096(define-public ghc-semigroupoids
11097 (package
11098 (name "ghc-semigroupoids")
a8aaadf2 11099 (version "5.3.3")
dddbc90c
RV
11100 (source
11101 (origin
11102 (method url-fetch)
11103 (uri (string-append
11104 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
11105 version
11106 ".tar.gz"))
11107 (sha256
11108 (base32
a8aaadf2 11109 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 11110 (build-system haskell-build-system)
dddbc90c
RV
11111 (inputs
11112 `(("ghc-base-orphans" ,ghc-base-orphans)
11113 ("ghc-transformers-compat" ,ghc-transformers-compat)
11114 ("ghc-bifunctors" ,ghc-bifunctors)
11115 ("ghc-comonad" ,ghc-comonad)
11116 ("ghc-contravariant" ,ghc-contravariant)
11117 ("ghc-distributive" ,ghc-distributive)
11118 ("ghc-hashable" ,ghc-hashable)
11119 ("ghc-semigroups" ,ghc-semigroups)
11120 ("ghc-tagged" ,ghc-tagged)
11121 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11122 (native-inputs
11123 `(("cabal-doctest" ,cabal-doctest)
11124 ("ghc-doctest" ,ghc-doctest)))
11125 (home-page "https://github.com/ekmett/semigroupoids")
11126 (synopsis "Semigroupoids operations for Haskell")
11127 (description "This library provides a wide array of (semi)groupoids and
11128operations for working with them. A @code{Semigroupoid} is a @code{Category}
11129without the requirement of identity arrows for every object in the category.
11130A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
11131Finally, to work with these weaker structures it is beneficial to have
11132containers that can provide stronger guarantees about their contents, so
11133versions of @code{Traversable} and @code{Foldable} that can be folded with
11134just a @code{Semigroup} are added.")
11135 (license license:bsd-3)))
11136
11137(define-public ghc-semigroups
11138 (package
11139 (name "ghc-semigroups")
11140 (version "0.18.5")
11141 (source
11142 (origin
11143 (method url-fetch)
11144 (uri (string-append
11145 "https://hackage.haskell.org/package/semigroups/semigroups-"
11146 version
11147 ".tar.gz"))
11148 (sha256
11149 (base32
11150 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
11151 (build-system haskell-build-system)
11152 (inputs
11153 `(("ghc-nats" ,ghc-nats)
11154 ("ghc-tagged" ,ghc-tagged)
11155 ("ghc-unordered-containers" ,ghc-unordered-containers)
11156 ("ghc-hashable" ,ghc-hashable)))
11157 (home-page "https://github.com/ekmett/semigroups/")
11158 (synopsis "Semigroup operations for Haskell")
11159 (description "This package provides semigroups for Haskell. In
11160mathematics, a semigroup is an algebraic structure consisting of a set
11161together with an associative binary operation. A semigroup generalizes a
11162monoid in that there might not exist an identity element. It
11163also (originally) generalized a group (a monoid with all inverses) to a type
11164where every element did not have to have an inverse, thus the name
11165semigroup.")
11166 (license license:bsd-3)))
11167
11168(define-public ghc-semigroups-bootstrap
11169 (package
11170 (inherit ghc-semigroups)
11171 (name "ghc-semigroups-bootstrap")
11172 (inputs
11173 `(("ghc-nats" ,ghc-nats-bootstrap)
11174 ("ghc-tagged" ,ghc-tagged)
11175 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
11176 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11177 (properties '((hidden? #t)))))
dddbc90c 11178
47c526df
JS
11179(define-public ghc-serialise
11180 (package
11181 (name "ghc-serialise")
11182 (version "0.2.1.0")
11183 (source
11184 (origin
11185 (method url-fetch)
11186 (uri (string-append
11187 "mirror://hackage/package/serialise/serialise-"
11188 version
11189 ".tar.gz"))
11190 (sha256
11191 (base32
11192 "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4"))))
11193 (build-system haskell-build-system)
11194 (inputs
11195 `(("ghc-cborg" ,ghc-cborg)
11196 ("ghc-half" ,ghc-half)
11197 ("ghc-hashable" ,ghc-hashable)
11198 ("ghc-primitive" ,ghc-primitive)
11199 ("ghc-unordered-containers" ,ghc-unordered-containers)
11200 ("ghc-vector" ,ghc-vector)))
11201 (native-inputs
11202 `(("ghc-quickcheck" ,ghc-quickcheck)
11203 ("ghc-tasty" ,ghc-tasty)
11204 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11205 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11206 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
11207 (arguments
11208 `(#:cabal-revision
11209 ("1" "1rknhad1i8bpknsnphmcmb6dnb48c2p2c13ia2qqch3hkhsvfpr6")))
11210 (home-page "https://github.com/well-typed/cborg")
11211 (synopsis "Binary serialisation library for Haskell values")
11212 (description
11213 "This package (formerly binary-serialise-cbor) provides pure,
11214efficient serialization of Haskell values directly into ByteStrings for
11215storage or transmission purposes. By providing a set of type class instances,
11216you can also serialise any custom data type you have as well.
11217
11218The underlying binary format used is the 'Concise Binary Object
11219Representation', or CBOR, specified in RFC 7049. As a result, serialised
11220Haskell values have implicit structure outside of the Haskell program itself,
11221meaning they can be inspected or analyzed without custom tools.
11222
11223An implementation of the standard bijection between CBOR and JSON is
11224provided by the https://hackage.haskell.org/package/cborg-json
11225package. Also see https://hackage.haskell.org/package/cbor-tool for a
11226convenient command-line utility for working with CBOR data.")
11227 (license license:bsd-3)))
11228
dddbc90c
RV
11229(define-public ghc-setenv
11230 (package
11231 (name "ghc-setenv")
11232 (version "0.1.1.3")
11233 (source
11234 (origin
11235 (method url-fetch)
11236 (uri (string-append
11237 "https://hackage.haskell.org/package/setenv/setenv-"
11238 version
11239 ".tar.gz"))
11240 (sha256
11241 (base32
11242 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
11243 (build-system haskell-build-system)
11244 (home-page "https://hackage.haskell.org/package/setenv")
11245 (synopsis "Library for setting environment variables")
11246 (description "This package provides a Haskell library for setting
11247environment variables.")
11248 (license license:expat)))
11249
11250(define-public ghc-setlocale
11251 (package
11252 (name "ghc-setlocale")
9d7cfc9b 11253 (version "1.0.0.9")
dddbc90c
RV
11254 (source (origin
11255 (method url-fetch)
11256 (uri (string-append
11257 "https://hackage.haskell.org/package/setlocale-"
11258 version "/setlocale-" version ".tar.gz"))
11259 (sha256
11260 (base32
9d7cfc9b 11261 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
11262 (build-system haskell-build-system)
11263 (home-page "https://hackage.haskell.org/package/setlocale")
11264 (synopsis "Haskell bindings to setlocale")
11265 (description "This package provides Haskell bindings to the
11266@code{setlocale} C function.")
11267 (license license:bsd-3)))
11268
11269(define-public ghc-shakespeare
11270 (package
11271 (name "ghc-shakespeare")
f680955f 11272 (version "2.0.22")
dddbc90c
RV
11273 (source
11274 (origin
11275 (method url-fetch)
11276 (uri (string-append "https://hackage.haskell.org/package/"
11277 "shakespeare-" version "/"
11278 "shakespeare-" version ".tar.gz"))
11279 (sha256
11280 (base32
f680955f 11281 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
11282 (build-system haskell-build-system)
11283 (inputs `(("ghc-aeson" ,ghc-aeson)
11284 ("ghc-blaze-markup" ,ghc-blaze-markup)
11285 ("ghc-blaze-html" ,ghc-blaze-html)
11286 ("ghc-exceptions" ,ghc-exceptions)
11287 ("ghc-vector" ,ghc-vector)
11288 ("ghc-unordered-containers" ,ghc-unordered-containers)
11289 ("ghc-scientific" ,ghc-scientific)))
11290 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11291 ("ghc-hunit" ,ghc-hunit)
11292 ("hspec-discover" ,hspec-discover)))
11293 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
11294 (synopsis "Family of type-safe template languages for Haskell")
11295 (description "This Haskell package provides a family of type-safe
11296templates with simple variable interpolation. Shakespeare templates can
11297be used inline with a quasi-quoter or in an external file and it
11298interpolates variables according to the type being inserted.")
11299 (license license:expat)))
11300
11301(define-public ghc-shelly
11302 (package
11303 (name "ghc-shelly")
11304 (version "1.8.1")
11305 (source
11306 (origin
11307 (method url-fetch)
11308 (uri (string-append
11309 "https://hackage.haskell.org/package/shelly/shelly-"
11310 version ".tar.gz"))
11311 (sha256
11312 (base32
11313 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
11314 (build-system haskell-build-system)
11315 (inputs
11316 `(("ghc-unix-compat" ,ghc-unix-compat)
11317 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11318 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
11319 ("ghc-monad-control" ,ghc-monad-control)
11320 ("ghc-lifted-base" ,ghc-lifted-base)
11321 ("ghc-lifted-async" ,ghc-lifted-async)
11322 ("ghc-exceptions" ,ghc-exceptions)
11323 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11324 ("ghc-async" ,ghc-async)
11325 ("ghc-transformers-base" ,ghc-transformers-base)
11326 ("ghc-hunit" ,ghc-hunit)
11327 ("ghc-hspec" ,ghc-hspec)
11328 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
11329 (home-page "https://github.com/yesodweb/Shelly.hs")
11330 (synopsis "Shell-like (systems) programming in Haskell")
11331 (description
11332 "Shelly provides convenient systems programming in Haskell, similar in
11333spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
11334 (license license:bsd-3)))
11335
11336(define-public ghc-silently
11337 (package
11338 (name "ghc-silently")
544bb369 11339 (version "1.2.5.1")
dddbc90c
RV
11340 (source
11341 (origin
11342 (method url-fetch)
11343 (uri (string-append
11344 "https://hackage.haskell.org/package/silently/silently-"
11345 version
11346 ".tar.gz"))
11347 (sha256
11348 (base32
544bb369 11349 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
11350 (build-system haskell-build-system)
11351 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
11352 ;; (inputs
11353 ;; `(("ghc-temporary" ,ghc-temporary)))
11354 (home-page "https://github.com/hspec/silently")
11355 (synopsis "Prevent writing to stdout")
11356 (description "This package provides functions to prevent or capture
11357writing to stdout and other handles.")
11358 (license license:bsd-3)))
11359
11360(define-public ghc-simple-reflect
11361 (package
11362 (name "ghc-simple-reflect")
11363 (version "0.3.3")
11364 (source
11365 (origin
11366 (method url-fetch)
11367 (uri (string-append
11368 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
11369 version
11370 ".tar.gz"))
11371 (sha256
11372 (base32
11373 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
11374 (build-system haskell-build-system)
11375 (home-page
11376 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
11377 (synopsis
11378 "Simple reflection of expressions containing variables")
11379 (description
11380 "This package allows simple reflection of expressions containing
11381variables. Reflection here means that a Haskell expression is turned into a
11382string. The primary aim of this package is teaching and understanding; there
11383are no options for manipulating the reflected expressions beyond showing
11384them.")
11385 (license license:bsd-3)))
11386
11387(define-public ghc-simple-sendfile
11388 (package
11389 (name "ghc-simple-sendfile")
08f54390 11390 (version "0.2.30")
dddbc90c
RV
11391 (source
11392 (origin
11393 (method url-fetch)
11394 (uri (string-append "https://hackage.haskell.org/package/"
11395 "simple-sendfile-" version "/"
11396 "simple-sendfile-" version ".tar.gz"))
11397 (sha256
11398 (base32
08f54390 11399 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
11400 (build-system haskell-build-system)
11401 (inputs
11402 `(("ghc-conduit" ,ghc-conduit)
11403 ("ghc-conduit-extra" ,ghc-conduit-extra)
11404 ("ghc-network" ,ghc-network)
11405 ("ghc-resourcet" ,ghc-resourcet)))
11406 (native-inputs
11407 `(("ghc-hspec" ,ghc-hspec)
11408 ("hspec-discover" ,hspec-discover)))
11409 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
11410 (synopsis "Cross platform library for the sendfile system call")
11411 (description "This library tries to call minimum system calls which
11412are the bottleneck of web servers.")
11413 (license license:bsd-3)))
11414
06966c05
TS
11415(define-public ghc-size-based
11416 (package
11417 (name "ghc-size-based")
11418 (version "0.1.2.0")
11419 (source
11420 (origin
11421 (method url-fetch)
11422 (uri (string-append "https://hackage.haskell.org/package/"
11423 "size-based/size-based-" version ".tar.gz"))
11424 (sha256
11425 (base32
11426 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
11427 (build-system haskell-build-system)
11428 (inputs
11429 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
11430 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
11431 ("ghc-semigroups" ,ghc-semigroups)))
11432 (arguments
11433 `(#:cabal-revision
11434 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
11435 (home-page "https://hackage.haskell.org/package/size-based")
11436 (synopsis "Sized functors for size-based enumerations")
11437 (description "This library provides a framework for size-based
11438enumerations.")
11439 (license license:bsd-3)))
11440
dddbc90c
RV
11441(define-public ghc-skylighting-core
11442 (package
11443 (name "ghc-skylighting-core")
1826c2a8 11444 (version "0.8.2.1")
dddbc90c
RV
11445 (source (origin
11446 (method url-fetch)
11447 (uri (string-append "https://hackage.haskell.org/package/"
11448 "skylighting-core/skylighting-core-"
11449 version ".tar.gz"))
11450 (sha256
11451 (base32
1826c2a8 11452 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
11453 (build-system haskell-build-system)
11454 (inputs
11455 `(("ghc-aeson" ,ghc-aeson)
11456 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11457 ("ghc-attoparsec" ,ghc-attoparsec)
11458 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
11459 ("ghc-blaze-html" ,ghc-blaze-html)
11460 ("ghc-case-insensitive" ,ghc-case-insensitive)
11461 ("ghc-colour" ,ghc-colour)
11462 ("ghc-hxt" ,ghc-hxt)
11463 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
11464 ("ghc-safe" ,ghc-safe)
11465 ("ghc-utf8-string" ,ghc-utf8-string)))
11466 (native-inputs
11467 `(("ghc-diff" ,ghc-diff)
11468 ("ghc-hunit" ,ghc-hunit)
11469 ("ghc-pretty-show" ,ghc-pretty-show)
11470 ("ghc-quickcheck" ,ghc-quickcheck)
11471 ("ghc-tasty" ,ghc-tasty)
11472 ("ghc-tasty-golden" ,ghc-tasty-golden)
11473 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11474 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11475 (home-page "https://github.com/jgm/skylighting")
11476 (synopsis "Syntax highlighting library")
11477 (description "Skylighting is a syntax highlighting library with support
11478for over one hundred languages. It derives its tokenizers from XML syntax
11479definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
11480supported by that framework can be added. An optional command-line program is
11481provided. Skylighting is intended to be the successor to highlighting-kate.")
11482 (license license:gpl2)))
11483
11484(define-public ghc-skylighting
11485 (package
11486 (inherit ghc-skylighting-core)
11487 (name "ghc-skylighting")
36c940cf 11488 (version "0.8.2.1")
dddbc90c
RV
11489 (source (origin
11490 (method url-fetch)
11491 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
11492 version "/skylighting-" version ".tar.gz"))
11493 (sha256
11494 (base32
36c940cf 11495 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
11496 (inputs
11497 `(("ghc-skylighting-core" ,ghc-skylighting-core)
11498 ,@(package-inputs ghc-skylighting-core)))))
11499
11500(define-public ghc-smallcheck
11501 (package
11502 (name "ghc-smallcheck")
11503 (version "1.1.5")
11504 (source
11505 (origin
11506 (method url-fetch)
11507 (uri (string-append
11508 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
11509 version
11510 ".tar.gz"))
11511 (sha256
11512 (base32
11513 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
11514 (build-system haskell-build-system)
11515 (inputs
11516 `(("ghc-logict" ,ghc-logict)))
11517 (home-page
11518 "https://github.com/feuerbach/smallcheck")
11519 (synopsis "Property-based testing library")
a84be333 11520 (description "SmallCheck is a testing library that verifies
dddbc90c
RV
11521properties for all test cases up to some depth. The test cases are generated
11522automatically by SmallCheck.")
11523 (license license:bsd-3)))
11524
11525(define-public ghc-socks
11526 (package
11527 (name "ghc-socks")
ab761e9d 11528 (version "0.6.1")
dddbc90c
RV
11529 (source (origin
11530 (method url-fetch)
11531 (uri (string-append "https://hackage.haskell.org/package/"
11532 "socks/socks-" version ".tar.gz"))
11533 (sha256
11534 (base32
ab761e9d 11535 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
11536 (build-system haskell-build-system)
11537 (inputs
11538 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 11539 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
11540 ("ghc-network" ,ghc-network)))
11541 (home-page "https://github.com/vincenthz/hs-socks")
11542 (synopsis "SOCKS proxy (version 5) implementation")
11543 (description
11544 "This library provides a SOCKS proxy (version 5) implementation.")
11545 (license license:bsd-3)))
11546
081d85d6
TS
11547(define-public ghc-sop-core
11548 (package
11549 (name "ghc-sop-core")
11550 (version "0.4.0.0")
11551 (source
11552 (origin
11553 (method url-fetch)
11554 (uri (string-append "https://hackage.haskell.org/package/"
11555 "sop-core/sop-core-" version ".tar.gz"))
11556 (sha256
11557 (base32
11558 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
11559 (build-system haskell-build-system)
3ef91e15 11560 (home-page "https://hackage.haskell.org/package/sop-core")
081d85d6
TS
11561 (synopsis "True Sums of Products")
11562 (description "This package provides an implementation of
11563@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
11564is the main module of this library and contains more detailed
11565documentation. The main use case of this package is to serve as the
11566core of @url{https://hackage.haskell.org/package/generics-sop,
11567generics-sop}.")
11568 (license license:bsd-3)))
11569
4c77a1a0
JS
11570(define-public ghc-special-values
11571 (package
11572 (name "ghc-special-values")
11573 (version "0.1.0.0")
11574 (source
11575 (origin
11576 (method url-fetch)
11577 (uri (string-append
11578 "https://hackage.haskell.org/package/special-values/"
11579 "special-values-" version ".tar.gz"))
11580 (sha256
11581 (base32
11582 "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w"))))
11583 (build-system haskell-build-system)
11584 (inputs
11585 `(("ghc-scientific" ,ghc-scientific)
11586 ("ghc-ieee754" ,ghc-ieee754)
11587 ("ghc-nats" ,ghc-nats)))
11588 (home-page
11589 "https://github.com/minad/special-values#readme")
11590 (synopsis "Typeclass providing special values")
11591 (description
11592 "Special values are provided by a SpecialValues typeclass. Those can be
11593used for example by QuickCheck, see quickcheck-special." )
11594 (license license:expat)))
11595
dddbc90c
RV
11596(define-public ghc-split
11597 (package
11598 (name "ghc-split")
11599 (version "0.2.3.3")
11600 (outputs '("out" "doc"))
11601 (source
11602 (origin
11603 (method url-fetch)
11604 (uri (string-append
11605 "https://hackage.haskell.org/package/split/split-"
11606 version
11607 ".tar.gz"))
11608 (sha256
11609 (base32
11610 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
11611 (build-system haskell-build-system)
9bbc21a7
TS
11612 (arguments
11613 `(#:cabal-revision
11614 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
11615 (native-inputs
11616 `(("ghc-quickcheck" ,ghc-quickcheck)))
11617 (home-page "https://hackage.haskell.org/package/split")
11618 (synopsis "Combinator library for splitting lists")
11619 (description "This package provides a collection of Haskell functions for
11620splitting lists into parts, akin to the @code{split} function found in several
11621mainstream languages.")
11622 (license license:bsd-3)))
11623
7799d17f 11624(define-public ghc-splitmix
49367c92 11625 (package
7799d17f 11626 (name "ghc-splitmix")
49367c92
TS
11627 (version "0.0.3")
11628 (source
11629 (origin
11630 (method url-fetch)
11631 (uri (string-append "https://hackage.haskell.org/package/"
11632 "splitmix/splitmix-" version ".tar.gz"))
11633 (sha256
11634 (base32
11635 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 11636 (build-system haskell-build-system)
49367c92
TS
11637 (inputs
11638 `(("ghc-random" ,ghc-random)))
7799d17f
TS
11639 (native-inputs
11640 `(("ghc-hunit" ,ghc-hunit)
11641 ("ghc-async" ,ghc-async)
11642 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
11643 ("ghc-tf-random" ,ghc-tf-random)
11644 ("ghc-vector" ,ghc-vector)))
92a79fee 11645 (home-page "https://hackage.haskell.org/package/splitmix")
49367c92
TS
11646 (synopsis "Fast and splittable pseudorandom number generator")
11647 (description "This package provides a Pure Haskell implementation of the
11648SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
11649pseudorandom number generator that is quite fast: 9 64-bit
11650arithmetic/logical operations per 64 bits generated. SplitMix is tested
11651with two standard statistical test suites (DieHarder and TestU01, this
11652implementation only using the former) and it appears to be adequate for
11653\"everyday\" use, such as Monte Carlo algorithms and randomized data
11654structures where speed is important. In particular, it @strong{should not
11655be used for cryptographic or security applications}, because generated
11656sequences of pseudorandom values are too predictable (the mixing functions
11657are easily inverted, and two successive outputs suffice to reconstruct the
11658internal state).")
11659 (license license:bsd-3)))
11660
7799d17f
TS
11661(define-public ghc-splitmix-bootstrap
11662 (package
11663 (inherit ghc-splitmix)
11664 (name "ghc-splitmix-bootstrap")
11665 (arguments `(#:tests? #f))
11666 (native-inputs '())
11667 (properties '((hidden? #t)))))
11668
a152258b
JS
11669(define-public ghc-spoon
11670 (package
11671 (name "ghc-spoon")
11672 (version "0.3.1")
11673 (source
11674 (origin
11675 (method url-fetch)
11676 (uri (string-append
11677 "https://hackage.haskell.org/package/spoon/spoon-"
11678 version
11679 ".tar.gz"))
11680 (sha256
11681 (base32
11682 "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"))))
11683 (build-system haskell-build-system)
11684 (arguments
11685 `(#:cabal-revision
11686 ("1"
11687 "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74")))
11688 (home-page
11689 "http://hackage.haskell.org/package/spoon")
11690 (synopsis
11691 "Catch errors thrown from pure computations")
11692 (description
11693 "Takes an error-throwing expression and puts it back in the Maybe it
11694belongs in.
11695
11696Note that this suffers from the
11697@url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.")
11698 (license license:bsd-3)))
11699
dddbc90c
RV
11700(define-public ghc-statevar
11701 (package
11702 (name "ghc-statevar")
19419709 11703 (version "1.2")
dddbc90c
RV
11704 (source
11705 (origin
11706 (method url-fetch)
11707 (uri (string-append
11708 "https://hackage.haskell.org/package/StateVar/StateVar-"
11709 version
11710 ".tar.gz"))
11711 (sha256
11712 (base32
19419709 11713 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
11714 (build-system haskell-build-system)
11715 (home-page "https://hackage.haskell.org/package/StateVar")
11716 (synopsis "State variables for Haskell")
11717 (description "This package provides state variables, which are references
11718in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
11719 (license license:bsd-3)))
11720
11721(define-public ghc-statistics
11722 (package
11723 (name "ghc-statistics")
60e78e68 11724 (version "0.15.1.1")
dddbc90c
RV
11725 (source
11726 (origin
11727 (method url-fetch)
11728 (uri (string-append "https://hackage.haskell.org/package/"
11729 "statistics-" version "/"
11730 "statistics-" version ".tar.gz"))
11731 (sha256
11732 (base32
60e78e68 11733 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
11734 (build-system haskell-build-system)
11735 (arguments
60e78e68 11736 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
11737 #:tests? #f))
11738 (inputs
11739 `(("ghc-aeson" ,ghc-aeson)
60e78e68 11740 ("ghc-async" ,ghc-async)
dddbc90c 11741 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 11742 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
11743 ("ghc-math-functions" ,ghc-math-functions)
11744 ("ghc-monad-par" ,ghc-monad-par)
11745 ("ghc-mwc-random" ,ghc-mwc-random)
11746 ("ghc-primitive" ,ghc-primitive)
11747 ("ghc-vector" ,ghc-vector)
11748 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
11749 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
11750 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
11751 (native-inputs
11752 `(("ghc-hunit" ,ghc-hunit)
11753 ("ghc-quickcheck" ,ghc-quickcheck)
11754 ("ghc-ieee754" ,ghc-ieee754)
11755 ("ghc-test-framework" ,ghc-test-framework)
11756 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11757 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11758 (home-page "https://github.com/bos/mwc-random")
11759 (synopsis "Haskell library of statistical types, data, and functions")
11760 (description "This library provides a number of common functions
11761and types useful in statistics. We focus on high performance, numerical
11762robustness, and use of good algorithms. Where possible, we provide references
11763to the statistical literature.
11764
11765The library's facilities can be divided into four broad categories:
11766
11767@itemize
11768@item Working with widely used discrete and continuous probability
11769distributions. (There are dozens of exotic distributions in use; we focus
11770on the most common.)
11771
11772@item Computing with sample data: quantile estimation, kernel density
11773estimation, histograms, bootstrap methods, significance testing,
11774and regression and autocorrelation analysis.
11775
11776@item Random variate generation under several different distributions.
11777
11778@item Common statistical tests for significant differences between samples.
11779@end itemize")
11780 (license license:bsd-2)))
11781
11782(define-public ghc-stm-chans
11783 (package
11784 (name "ghc-stm-chans")
11785 (version "3.0.0.4")
11786 (source
11787 (origin
11788 (method url-fetch)
11789 (uri (string-append "https://hackage.haskell.org/package/"
11790 "stm-chans-" version "/"
11791 "stm-chans-" version ".tar.gz"))
11792 (sha256
11793 (base32
11794 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
11795 (build-system haskell-build-system)
11796 (home-page "https://hackage.haskell.org/package/stm-chans")
11797 (synopsis "Additional types of channels for ghc-stm")
11798 (description "This Haskell package offers a collection of channel types,
11799similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
11800features.")
11801 (license license:bsd-3)))
11802
11803(define-public ghc-stm-conduit
11804 (package
11805 (name "ghc-stm-conduit")
cd518e95 11806 (version "4.0.1")
dddbc90c
RV
11807 (source
11808 (origin
11809 (method url-fetch)
11810 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
11811 "stm-conduit-" version ".tar.gz"))
11812 (sha256
11813 (base32
cd518e95 11814 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
11815 (build-system haskell-build-system)
11816 (inputs
11817 `(("ghc-stm-chans" ,ghc-stm-chans)
11818 ("ghc-cereal" ,ghc-cereal)
11819 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
11820 ("ghc-conduit" ,ghc-conduit)
11821 ("ghc-conduit-extra" ,ghc-conduit-extra)
11822 ("ghc-exceptions" ,ghc-exceptions)
11823 ("ghc-resourcet" ,ghc-resourcet)
11824 ("ghc-async" ,ghc-async)
11825 ("ghc-monad-loops" ,ghc-monad-loops)
11826 ("ghc-unliftio" ,ghc-unliftio)))
11827 (native-inputs
11828 `(("ghc-doctest" ,ghc-doctest)
11829 ("ghc-quickcheck" ,ghc-quickcheck)
11830 ("ghc-hunit" ,ghc-hunit)
11831 ("ghc-test-framework" ,ghc-test-framework)
11832 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11833 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11834 (home-page "https://github.com/cgaebel/stm-conduit")
11835 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
11836 (description
11837 "This package provides two simple conduit wrappers around STM channels: a
11838source and a sink.")
11839 (license license:bsd-3)))
11840
11841(define-public ghc-stmonadtrans
11842 (package
11843 (name "ghc-stmonadtrans")
11844 (version "0.4.3")
11845 (source
11846 (origin
11847 (method url-fetch)
11848 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
11849 "/STMonadTrans-" version ".tar.gz"))
11850 (sha256
11851 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
11852 (build-system haskell-build-system)
11853 (home-page "https://hackage.haskell.org/package/STMonadTrans")
11854 (synopsis "Monad transformer version of the ST monad")
11855 (description
11856 "This package provides a monad transformer version of the @code{ST} monad
11857for strict state threads.")
11858 (license license:bsd-3)))
11859
11860(define-public ghc-storable-complex
11861 (package
11862 (name "ghc-storable-complex")
4a35e3c3 11863 (version "0.2.3.0")
dddbc90c
RV
11864 (source
11865 (origin
11866 (method url-fetch)
11867 (uri (string-append
11868 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
11869 version ".tar.gz"))
11870 (sha256
4a35e3c3 11871 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 11872 (build-system haskell-build-system)
4a35e3c3
TS
11873 (inputs
11874 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
11875 (home-page "https://github.com/cartazio/storable-complex")
11876 (synopsis "Haskell Storable instance for Complex")
11877 (description "This package provides a Haskell library including a
11878Storable instance for Complex which is binary compatible with C99, C++
11879and Fortran complex data types.")
11880 (license license:bsd-3)))
11881
ad80074a
JS
11882(define-public ghc-storable-record
11883 (package
11884 (name "ghc-storable-record")
11885 (version "0.0.4")
11886 (source
11887 (origin
11888 (method url-fetch)
11889 (uri
11890 (string-append
11891 "https://hackage.haskell.org/package/storable-record/"
11892 "storable-record-" version ".tar.gz"))
11893 (sha256
11894 (base32
11895 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
11896 (build-system haskell-build-system)
11897 (inputs
11898 `(("ghc-semigroups" ,ghc-semigroups)
11899 ("ghc-utility-ht" ,ghc-utility-ht)
11900 ("ghc-storablevector" ,ghc-storablevector)
11901 ("ghc-timeit" ,ghc-timeit)))
11902 (home-page "https://hackage.haskell.org/package/storable-record")
11903 (synopsis "Elegant definition of Storable instances for records")
11904 (description "With this package you can build a Storable instance of
11905a record type from Storable instances of its elements in an elegant way.
11906It does not do any magic, just a bit arithmetic to compute the right
11907offsets, that would be otherwise done manually or by a preprocessor like
11908C2HS. There is no guarantee that the generated memory layout is
11909compatible with that of a corresponding C struct. However, the module
11910generates the smallest layout that is possible with respect to the
11911alignment of the record elements.")
11912 (license license:bsd-3)))
11913
55f4c653
JS
11914(define-public ghc-storable-tuple
11915 (package
11916 (name "ghc-storable-tuple")
11917 (version "0.0.3.3")
11918 (source
11919 (origin
11920 (method url-fetch)
11921 (uri
11922 (string-append
11923 "https://hackage.haskell.org/package/storable-tuple/"
11924 "storable-tuple-" version ".tar.gz"))
11925 (sha256
11926 (base32
11927 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11928 (build-system haskell-build-system)
11929 (inputs
11930 `(("ghc-storable-record" ,ghc-storable-record)
11931 ("ghc-utility-ht" ,ghc-utility-ht)
11932 ("ghc-base-orphans" ,ghc-base-orphans)))
11933 (home-page "https://hackage.haskell.org/package/storable-tuple")
11934 (synopsis "Storable instance for pairs and triples")
11935 (description "This package provides a Storable instance for pairs
11936and triples which should be binary compatible with C99 and C++. The
11937only purpose of this package is to provide a standard location for this
11938instance so that other packages needing this instance can play nicely
11939together.")
11940 (license license:bsd-3)))
11941
bc06ca45
JS
11942(define-public ghc-storablevector
11943 (package
11944 (name "ghc-storablevector")
11945 (version "0.2.13")
11946 (source
11947 (origin
11948 (method url-fetch)
11949 (uri
11950 (string-append
11951 "https://hackage.haskell.org/package/storablevector/storablevector-"
11952 version ".tar.gz"))
11953 (sha256
11954 (base32
11955 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11956 (build-system haskell-build-system)
11957 (inputs
11958 `(("ghc-non-negative" ,ghc-non-negative)
11959 ("ghc-utility-ht" ,ghc-utility-ht)
11960 ("ghc-semigroups" ,ghc-semigroups)
11961 ("ghc-unsafe" ,ghc-unsafe)
11962 ("ghc-quickcheck" ,ghc-quickcheck)
11963 ("ghc-syb" ,ghc-syb)))
228d2901 11964 (home-page "https://wiki.haskell.org/Storable_Vector")
bc06ca45
JS
11965 (synopsis "Fast, packed, strict storable arrays with a list interface")
11966 (description "This library provides fast, packed, strict storable
11967arrays with a list interface, a chunky lazy list interface with variable
11968chunk size and an interface for write access via the ST monad. This is
11969much like bytestring and binary but can be used for every
11970@code{Foreign.Storable.Storable} type. See also
11971@url{http://hackage.haskell.org/package/vector}, a library with a
11972similar intention.
11973
11974This library does not do advanced fusion optimization, since especially
11975for lazy vectors this would either be incorrect or not applicable. See
11976@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
11977a library that provides fusion with lazy lists.")
11978 (license license:bsd-3)))
11979
dddbc90c
RV
11980(define-public ghc-streaming-commons
11981 (package
11982 (name "ghc-streaming-commons")
11983 (version "0.2.1.1")
11984 (source
11985 (origin
11986 (method url-fetch)
11987 (uri (string-append "https://hackage.haskell.org/package/"
11988 "streaming-commons/streaming-commons-"
11989 version ".tar.gz"))
11990 (sha256
11991 (base32
11992 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
11993 (build-system haskell-build-system)
11994 (inputs
11995 `(("ghc-async" ,ghc-async)
11996 ("ghc-blaze-builder" ,ghc-blaze-builder)
11997 ("ghc-network" ,ghc-network)
11998 ("ghc-random" ,ghc-random)
11999 ("ghc-zlib" ,ghc-zlib)))
12000 (native-inputs
12001 `(("ghc-quickcheck" ,ghc-quickcheck)
12002 ("ghc-hspec" ,ghc-hspec)
12003 ("hspec-discover" ,hspec-discover)))
12004 (home-page "https://hackage.haskell.org/package/streaming-commons")
12005 (synopsis "Conduit and pipes needed by some streaming data libraries")
12006 (description "This package provides low-dependency functionality commonly
12007needed by various Haskell streaming data libraries, such as @code{conduit} and
12008@code{pipe}s.")
12009 (license license:expat)))
12010
12011(define-public ghc-strict
12012 (package
12013 (name "ghc-strict")
12014 (version "0.3.2")
12015 (source
12016 (origin
12017 (method url-fetch)
12018 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
12019 version ".tar.gz"))
12020 (sha256
12021 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
12022 (build-system haskell-build-system)
12023 (home-page "https://hackage.haskell.org/package/strict")
12024 (synopsis "Strict data types and String IO")
12025 (description
12026 "This package provides strict versions of some standard Haskell data
12027types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
12028IO operations.")
12029 (license license:bsd-3)))
12030
12031(define-public ghc-stringbuilder
12032 (package
12033 (name "ghc-stringbuilder")
12034 (version "0.5.1")
12035 (source
12036 (origin
12037 (method url-fetch)
12038 (uri (string-append
12039 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
12040 version
12041 ".tar.gz"))
12042 (sha256
12043 (base32
12044 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
12045 (build-system haskell-build-system)
12046 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
12047 ; enabled
12048 (home-page "https://hackage.haskell.org/package/stringbuilder")
12049 (synopsis "Writer monad for multi-line string literals")
12050 (description "This package provides a writer monad for multi-line string
12051literals.")
12052 (license license:expat)))
12053
12054(define-public ghc-string-qq
12055 (package
12056 (name "ghc-string-qq")
4d6fddc3 12057 (version "0.0.4")
dddbc90c
RV
12058 (source
12059 (origin
12060 (method url-fetch)
12061 (uri (string-append
12062 "https://hackage.haskell.org/package/string-qq/string-qq-"
12063 version
12064 ".tar.gz"))
12065 (sha256
12066 (base32
4d6fddc3 12067 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 12068 (build-system haskell-build-system)
4d6fddc3
TS
12069 (native-inputs
12070 `(("ghc-hunit" ,ghc-hunit)))
3ef91e15 12071 (home-page "https://hackage.haskell.org/package/string-qq")
dddbc90c
RV
12072 (synopsis
12073 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
12074 (description
12075 "This package provides a quasiquoter for non-interpolated strings, texts
12076and bytestrings.")
12077 (license license:public-domain)))
12078
12079(define-public ghc-stringsearch
12080 (package
12081 (name "ghc-stringsearch")
12082 (version "0.3.6.6")
12083 (source
12084 (origin
12085 (method url-fetch)
12086 (uri (string-append
12087 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
12088 version
12089 ".tar.gz"))
12090 (sha256
12091 (base32
12092 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
12093 (build-system haskell-build-system)
e2303abb
TS
12094 (arguments
12095 `(#:cabal-revision
12096 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
12097 (home-page "https://bitbucket.org/dafis/stringsearch")
12098 (synopsis "Fast searching, splitting and replacing of ByteStrings")
12099 (description "This package provides several functions to quickly search
12100for substrings in strict or lazy @code{ByteStrings}. It also provides
12101functions for breaking or splitting on substrings and replacing all
12102occurrences of a substring (the first in case of overlaps) with another.")
12103 (license license:bsd-3)))
12104
dcf3f8f4
TS
12105(define-public ghc-svg-builder
12106 (package
12107 (name "ghc-svg-builder")
12108 (version "0.1.1")
12109 (source
12110 (origin
12111 (method url-fetch)
12112 (uri (string-append "https://hackage.haskell.org/package/"
12113 "svg-builder/svg-builder-" version ".tar.gz"))
12114 (sha256
12115 (base32
12116 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
12117 (build-system haskell-build-system)
12118 (inputs
12119 `(("ghc-blaze-builder" ,ghc-blaze-builder)
12120 ("ghc-hashable" ,ghc-hashable)
12121 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12122 (arguments
12123 `(#:cabal-revision
12124 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
12125 (home-page "https://github.com/diagrams/svg-builder.git")
12126 (synopsis "Domain-specific language for building Scalable Vector Graphics")
12127 (description "Easy-to-write domain-specific language (DSL) for
12128building Scalable Vector Graphics (SVG).")
12129 (license license:bsd-3)))
12130
dddbc90c
RV
12131(define-public ghc-syb
12132 (package
12133 (name "ghc-syb")
07d65eef 12134 (version "0.7.1")
dddbc90c
RV
12135 (outputs '("out" "doc"))
12136 (source
12137 (origin
12138 (method url-fetch)
12139 (uri (string-append
12140 "https://hackage.haskell.org/package/syb/syb-"
12141 version
12142 ".tar.gz"))
12143 (sha256
12144 (base32
07d65eef 12145 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
12146 (build-system haskell-build-system)
12147 (inputs
12148 `(("ghc-hunit" ,ghc-hunit)))
12149 (home-page
12150 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
12151 (synopsis "Scrap Your Boilerplate")
12152 (description "This package contains the generics system described in the
12153/Scrap Your Boilerplate/ papers (see
12154@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
12155defines the @code{Data} class of types permitting folding and unfolding of
12156constructor applications, instances of this class for primitive types, and a
12157variety of traversals.")
12158 (license license:bsd-3)))
12159
12160(define-public ghc-system-fileio
12161 (package
12162 (name "ghc-system-fileio")
dcfb99d4 12163 (version "0.3.16.4")
dddbc90c
RV
12164 (source
12165 (origin
12166 (method url-fetch)
12167 (uri (string-append
12168 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12169 version ".tar.gz"))
12170 (sha256
12171 (base32
dcfb99d4 12172 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 12173 (build-system haskell-build-system)
dcfb99d4
TS
12174 (arguments
12175 `(#:phases
12176 (modify-phases %standard-phases
12177 (add-before 'configure 'update-constraints
12178 (lambda _
12179 (substitute* "system-fileio.cabal"
12180 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
12181 #t)))))
dddbc90c
RV
12182 (inputs
12183 `(("ghc-system-filepath" ,ghc-system-filepath)
12184 ("ghc-chell" ,ghc-chell)
12185 ("ghc-temporary" ,ghc-temporary)))
12186 (home-page "https://github.com/fpco/haskell-filesystem")
12187 (synopsis "Consistent file system interaction across GHC versions")
12188 (description
12189 "This is a small wrapper around the directory, unix, and Win32 packages,
12190for use with system-filepath. It provides a consistent API to the various
12191versions of these packages distributed with different versions of GHC.
12192In particular, this library supports working with POSIX files that have paths
12193which can't be decoded in the current locale encoding.")
12194 (license license:expat)))
12195
12196;; See ghc-system-filepath-bootstrap. In addition this package depends on
12197;; ghc-system-filepath.
12198(define ghc-system-fileio-bootstrap
12199 (package
12200 (name "ghc-system-fileio-bootstrap")
12201 (version "0.3.16.3")
12202 (source
12203 (origin
12204 (method url-fetch)
12205 (uri (string-append
12206 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12207 version ".tar.gz"))
12208 (sha256
12209 (base32
12210 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
12211 (build-system haskell-build-system)
12212 (arguments
12213 `(#:tests? #f))
12214 (inputs
12215 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
12216 ("ghc-temporary" ,ghc-temporary)))
12217 (home-page "https://github.com/fpco/haskell-filesystem")
12218 (synopsis "Consistent file system interaction across GHC versions")
12219 (description
12220 "This is a small wrapper around the directory, unix, and Win32 packages,
12221for use with system-filepath. It provides a consistent API to the various
12222versions of these packages distributed with different versions of GHC.
12223In particular, this library supports working with POSIX files that have paths
12224which can't be decoded in the current locale encoding.")
12225 (license license:expat)))
12226
12227
12228(define-public ghc-system-filepath
12229 (package
12230 (name "ghc-system-filepath")
12231 (version "0.4.14")
12232 (source
12233 (origin
12234 (method url-fetch)
12235 (uri (string-append
12236 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12237 version ".tar.gz"))
12238 (sha256
12239 (base32
12240 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12241 (build-system haskell-build-system)
12242 ;; FIXME: One of the tests fails:
12243 ;; [ FAIL ] tests.validity.posix
12244 ;; note: seed=7310214548328823169
12245 ;; *** Failed! Falsifiable (after 24 tests):
12246 ;; 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"
12247 (arguments `(#:tests? #f))
12248 (inputs
12249 `(("ghc-chell" ,ghc-chell)
12250 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
12251 ("ghc-quickcheck" ,ghc-quickcheck)))
12252 (home-page "https://github.com/fpco/haskell-filesystem")
12253 (synopsis "High-level, byte-based file and directory path manipulations")
12254 (description
12255 "Provides a FilePath datatype and utility functions for operating on it.
12256Unlike the filepath package, this package does not simply reuse String,
12257increasing type safety.")
12258 (license license:expat)))
12259
12260;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
12261;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
12262;; which depends on ghc-chell and ghc-chell-quickcheck.
12263;; Therefore we bootstrap it with tests disabled.
12264(define ghc-system-filepath-bootstrap
12265 (package
12266 (name "ghc-system-filepath-bootstrap")
12267 (version "0.4.14")
12268 (source
12269 (origin
12270 (method url-fetch)
12271 (uri (string-append
12272 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12273 version ".tar.gz"))
12274 (sha256
12275 (base32
12276 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12277 (build-system haskell-build-system)
12278 (arguments
12279 `(#:tests? #f))
12280 (inputs
12281 `(("ghc-quickcheck" ,ghc-quickcheck)))
12282 (home-page "https://github.com/fpco/haskell-filesystem")
12283 (synopsis "High-level, byte-based file and directory path manipulations")
12284 (description
12285 "Provides a FilePath datatype and utility functions for operating on it.
12286Unlike the filepath package, this package does not simply reuse String,
12287increasing type safety.")
12288 (license license:expat)))
12289
12290
12291(define-public ghc-tagged
12292 (package
12293 (name "ghc-tagged")
f0f3756a 12294 (version "0.8.6")
dddbc90c
RV
12295 (source
12296 (origin
12297 (method url-fetch)
12298 (uri (string-append
12299 "https://hackage.haskell.org/package/tagged/tagged-"
12300 version
12301 ".tar.gz"))
12302 (sha256
12303 (base32
f0f3756a 12304 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
12305 (build-system haskell-build-system)
12306 (arguments
12307 `(#:cabal-revision
f0f3756a 12308 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
12309 (inputs
12310 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12311 (home-page "https://hackage.haskell.org/package/tagged")
12312 (synopsis "Haskell phantom types to avoid passing dummy arguments")
12313 (description "This library provides phantom types for Haskell 98, to avoid
12314having to unsafely pass dummy arguments.")
12315 (license license:bsd-3)))
12316
12317(define-public ghc-tar
12318 (package
12319 (name "ghc-tar")
ec83929f 12320 (version "0.5.1.1")
dddbc90c
RV
12321 (source
12322 (origin
12323 (method url-fetch)
12324 (uri (string-append
12325 "https://hackage.haskell.org/package/tar/tar-"
12326 version ".tar.gz"))
12327 (sha256
12328 (base32
ec83929f 12329 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
12330 (build-system haskell-build-system)
12331 ;; FIXME: 2/24 tests fail.
12332 (arguments `(#:tests? #f))
12333 (inputs
12334 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
12335 ("ghc-quickcheck" ,ghc-quickcheck)
12336 ("ghc-tasty" ,ghc-tasty)
12337 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12338 (home-page "https://hackage.haskell.org/package/tar")
12339 (synopsis "Reading, writing and manipulating \".tar\" archive files")
12340 (description
12341 "This library is for working with \\\"@.tar@\\\" archive files.
12342It can read and write a range of common variations of the tar archive format
12343including V7, POSIX USTAR and GNU formats. It provides support for packing and
12344unpacking portable archives. This makes it suitable for distribution but not
12345backup because details like file ownership and exact permissions are not
12346preserved. It also provides features for random access to archive content using
12347an index.")
12348 (license license:bsd-3)))
12349
f8d17902
TS
12350(define-public ghc-tar-conduit
12351 (package
12352 (name "ghc-tar-conduit")
12353 (version "0.3.2")
12354 (source
12355 (origin
12356 (method url-fetch)
12357 (uri (string-append "https://hackage.haskell.org/package/"
12358 "tar-conduit/tar-conduit-" version ".tar.gz"))
12359 (sha256
12360 (base32
12361 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
12362 (build-system haskell-build-system)
12363 (inputs
12364 `(("ghc-conduit" ,ghc-conduit)
12365 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
12366 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
12367 (native-inputs
12368 `(("ghc-quickcheck" ,ghc-quickcheck)
12369 ("ghc-conduit-extra" ,ghc-conduit-extra)
12370 ("ghc-hspec" ,ghc-hspec)
12371 ("ghc-hspec" ,ghc-hspec)
12372 ("ghc-weigh" ,ghc-weigh)))
12373 (home-page "https://github.com/snoyberg/tar-conduit#readme")
12374 (synopsis "Extract and create tar files using conduit for streaming")
12375 (description "This library provides a conduit-based, streaming
12376interface for extracting and creating tar files.")
12377 (license license:expat)))
12378
dddbc90c
RV
12379(define-public ghc-temporary
12380 (package
12381 (name "ghc-temporary")
12382 (version "1.3")
12383 (source
12384 (origin
12385 (method url-fetch)
12386 (uri (string-append
12387 "https://hackage.haskell.org/package/temporary/temporary-"
12388 version
12389 ".tar.gz"))
12390 (sha256
12391 (base32
12392 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
12393 (build-system haskell-build-system)
12394 (inputs
12395 `(("ghc-exceptions" ,ghc-exceptions)
12396 ("ghc-random" ,ghc-random)))
12397 (native-inputs
12398 `(("ghc-base-compat" ,ghc-base-compat)
12399 ("ghc-tasty" ,ghc-tasty)
12400 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12401 (home-page "https://www.github.com/batterseapower/temporary")
12402 (synopsis "Temporary file and directory support")
12403 (description "The functions for creating temporary files and directories
12404in the Haskelll base library are quite limited. This library just repackages
12405the Cabal implementations of its own temporary file and folder functions so
12406that you can use them without linking against Cabal or depending on it being
12407installed.")
12408 (license license:bsd-3)))
12409
12410(define-public ghc-temporary-rc
12411 (package
12412 (name "ghc-temporary-rc")
12413 (version "1.2.0.3")
12414 (source
12415 (origin
12416 (method url-fetch)
12417 (uri (string-append
12418 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
12419 version
12420 ".tar.gz"))
12421 (sha256
12422 (base32
12423 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
12424 (build-system haskell-build-system)
12425 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
12426 (home-page
12427 "https://www.github.com/feuerbach/temporary")
12428 (synopsis
12429 "Portable temporary file and directory support")
12430 (description
12431 "The functions for creating temporary files and directories in the base
12432library are quite limited. The unixutils package contains some good ones, but
12433they aren't portable to Windows. This library just repackages the Cabal
12434implementations of its own temporary file and folder functions so that you can
12435use them without linking against Cabal or depending on it being installed.
12436This is a better maintained fork of the \"temporary\" package.")
12437 (license license:bsd-3)))
12438
12439(define-public ghc-terminal-size
12440 (package
12441 (name "ghc-terminal-size")
12442 (version "0.3.2.1")
12443 (source (origin
12444 (method url-fetch)
12445 (uri (string-append
12446 "https://hackage.haskell.org/package/terminal-size/"
12447 "terminal-size-" version ".tar.gz"))
12448 (sha256
12449 (base32
12450 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
12451 (build-system haskell-build-system)
12452 (home-page "https://hackage.haskell.org/package/terminal-size")
12453 (synopsis "Get terminal window height and width")
12454 (description "Get terminal window height and width without ncurses
12455dependency.")
12456 (license license:bsd-3)))
12457
12458(define-public ghc-texmath
12459 (package
12460 (name "ghc-texmath")
7fec7e66 12461 (version "0.11.3")
dddbc90c
RV
12462 (source (origin
12463 (method url-fetch)
12464 (uri (string-append "https://hackage.haskell.org/package/"
12465 "texmath/texmath-" version ".tar.gz"))
12466 (sha256
12467 (base32
7fec7e66 12468 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
12469 (build-system haskell-build-system)
12470 (inputs
12471 `(("ghc-syb" ,ghc-syb)
12472 ("ghc-network-uri" ,ghc-network-uri)
12473 ("ghc-split" ,ghc-split)
12474 ("ghc-temporary" ,ghc-temporary)
12475 ("ghc-utf8-string" ,ghc-utf8-string)
12476 ("ghc-xml" ,ghc-xml)
12477 ("ghc-pandoc-types" ,ghc-pandoc-types)))
12478 (home-page "https://github.com/jgm/texmath")
12479 (synopsis "Conversion between formats used to represent mathematics")
12480 (description
12481 "The texmath library provides functions to read and write TeX math,
12482presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
12483Office). Support is also included for converting math formats to pandoc's
12484native format (allowing conversion, via pandoc, to a variety of different
12485markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
12486it can parse and apply LaTeX macros.")
12487 (license license:gpl2+)))
12488
12489(define-public ghc-text-binary
12490 (package
12491 (name "ghc-text-binary")
12492 (version "0.2.1.1")
12493 (source
12494 (origin
12495 (method url-fetch)
12496 (uri (string-append "https://hackage.haskell.org/package/"
12497 "text-binary/text-binary-"
12498 version ".tar.gz"))
12499 (sha256
12500 (base32
12501 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
12502 (build-system haskell-build-system)
12503 (home-page "https://github.com/kawu/text-binary")
12504 (synopsis "Binary instances for text types")
12505 (description
12506 "This package provides a compatibility layer providing @code{Binary}
12507instances for strict and lazy text types for versions older than 1.2.1 of the
12508text package.")
12509 (license license:bsd-2)))
12510
714e5605
JS
12511(define-public ghc-text-manipulate
12512 (package
12513 (name "ghc-text-manipulate")
12514 (version "0.2.0.1")
12515 (source
12516 (origin
12517 (method url-fetch)
12518 (uri (string-append
12519 "https://hackage.haskell.org/package/text-manipulate"
12520 "/text-manipulate-"
12521 version
12522 ".tar.gz"))
12523 (sha256
12524 (base32
12525 "0bwxyjj3ll45srxhsp2ihikgqglvjc6m02ixr8xpvyqwkcfwgsg0"))))
12526 (build-system haskell-build-system)
12527 (native-inputs
12528 `(("ghc-tasty" ,ghc-tasty)
12529 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12530 (home-page
12531 "https://github.com/brendanhay/text-manipulate")
12532 (synopsis
12533 "Case conversion, word boundary manipulation, and textual subjugation")
12534 (description
12535 "Manipulate identifiers and structurally non-complex pieces of text by
12536delimiting word boundaries via a combination of whitespace,
12537control-characters, and case-sensitivity.
12538
12539Has support for common idioms like casing of programmatic variable names,
12540taking, dropping, and splitting by word, and modifying the first character of
12541a piece of text.
12542
12543Caution: this library makes heavy use of the text library's internal loop
12544optimisation framework. Since internal modules are not guaranteed to have a
12545stable API there is potential for build breakage when the text dependency is
12546upgraded. Consider yourself warned!")
12547 (license license:mpl2.0)))
12548
bdc877c4
TS
12549(define-public ghc-text-metrics
12550 (package
12551 (name "ghc-text-metrics")
12552 (version "0.3.0")
12553 (source
12554 (origin
12555 (method url-fetch)
12556 (uri (string-append "https://hackage.haskell.org/package/"
12557 "text-metrics/text-metrics-" version ".tar.gz"))
12558 (sha256
12559 (base32
12560 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
12561 (build-system haskell-build-system)
12562 (inputs
12563 `(("ghc-vector" ,ghc-vector)))
12564 (native-inputs
12565 `(("ghc-quickcheck" ,ghc-quickcheck)
12566 ("ghc-hspec" ,ghc-hspec)))
12567 (arguments
12568 `(#:cabal-revision
12569 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
12570 (home-page "https://github.com/mrkkrp/text-metrics")
12571 (synopsis "Calculate various string metrics efficiently")
12572 (description "This library provides tools to calculate various
12573string metrics efficiently.")
12574 (license license:bsd-3)))
12575
dddbc90c
RV
12576(define-public ghc-tf-random
12577 (package
12578 (name "ghc-tf-random")
12579 (version "0.5")
12580 (outputs '("out" "doc"))
12581 (source
12582 (origin
12583 (method url-fetch)
12584 (uri (string-append
12585 "https://hackage.haskell.org/package/tf-random/tf-random-"
12586 version
12587 ".tar.gz"))
12588 (sha256
12589 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
12590 (build-system haskell-build-system)
12591 (inputs
12592 `(("ghc-primitive" ,ghc-primitive)
12593 ("ghc-random" ,ghc-random)))
12594 (home-page "https://hackage.haskell.org/package/tf-random")
12595 (synopsis "High-quality splittable pseudorandom number generator")
12596 (description "This package contains an implementation of a high-quality
12597splittable pseudorandom number generator. The generator is based on a
12598cryptographic hash function built on top of the ThreeFish block cipher. See
12599the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
12600Hashing\" by Claessen, Pałka for details and the rationale of the design.")
12601 (license license:bsd-3)))
12602
12603(define-public ghc-th-abstraction
12604 (package
12605 (name "ghc-th-abstraction")
1188eabb 12606 (version "0.3.1.0")
dddbc90c
RV
12607 (source
12608 (origin
12609 (method url-fetch)
12610 (uri (string-append "https://hackage.haskell.org/package/"
12611 "th-abstraction/th-abstraction-"
12612 version ".tar.gz"))
12613 (sha256
12614 (base32
1188eabb 12615 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
12616 (build-system haskell-build-system)
12617 (home-page "https://github.com/glguy/th-abstraction")
12618 (synopsis "Nicer interface for reified information about data types")
12619 (description
12620 "This package normalizes variations in the interface for inspecting
12621datatype information via Template Haskell so that packages and support a
12622single, easier to use informational datatype while supporting many versions of
12623Template Haskell.")
12624 (license license:isc)))
12625
12626(define-public ghc-th-expand-syns
12627 (package
12628 (name "ghc-th-expand-syns")
8c766600 12629 (version "0.4.5.0")
dddbc90c
RV
12630 (source (origin
12631 (method url-fetch)
12632 (uri (string-append "https://hackage.haskell.org/package/"
12633 "th-expand-syns/th-expand-syns-"
12634 version ".tar.gz"))
12635 (sha256
12636 (base32
8c766600 12637 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
12638 (build-system haskell-build-system)
12639 (inputs
12640 `(("ghc-syb" ,ghc-syb)))
12641 (home-page "https://hackage.haskell.org/package/th-expand-syns")
12642 (synopsis "Expands type synonyms in Template Haskell ASTs")
12643 (description
12644 "This package enables users to expand type synonyms in Template Haskell
12645@dfn{abstract syntax trees} (ASTs).")
12646 (license license:bsd-3)))
12647
12648(define-public ghc-th-lift
12649 (package
12650 (name "ghc-th-lift")
bd76b20a 12651 (version "0.8.0.1")
dddbc90c
RV
12652 (source (origin
12653 (method url-fetch)
12654 (uri (string-append "https://hackage.haskell.org/package/"
12655 "th-lift/th-lift-" version ".tar.gz"))
12656 (sha256
12657 (base32
bd76b20a 12658 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
12659 (build-system haskell-build-system)
12660 (inputs
12661 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
12662 (home-page "https://github.com/mboes/th-lift")
12663 (synopsis "Derive Template Haskell's Lift class for datatypes")
12664 (description
12665 "This is a Haskell library to derive Template Haskell's Lift class for
12666datatypes.")
12667 (license license:bsd-3)))
12668
12669(define-public ghc-th-lift-instances
12670 (package
12671 (name "ghc-th-lift-instances")
d3db399e 12672 (version "0.1.14")
dddbc90c
RV
12673 (source
12674 (origin
12675 (method url-fetch)
12676 (uri (string-append "https://hackage.haskell.org/package/"
12677 "th-lift-instances/th-lift-instances-"
12678 version ".tar.gz"))
12679 (sha256
12680 (base32
d3db399e 12681 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
12682 (build-system haskell-build-system)
12683 (inputs
12684 `(("ghc-th-lift" ,ghc-th-lift)
12685 ("ghc-vector" ,ghc-vector)
12686 ("ghc-quickcheck" ,ghc-quickcheck)))
12687 (home-page "https://github.com/bennofs/th-lift-instances/")
12688 (synopsis "Lift instances for template-haskell for common data types.")
12689 (description "Most data types in the Haskell platform do not have Lift
12690instances. This package provides orphan instances for @code{containers},
12691@code{text}, @code{bytestring} and @code{vector}.")
12692 (license license:bsd-3)))
12693
12694(define-public ghc-th-orphans
12695 (package
12696 (name "ghc-th-orphans")
882b23e2 12697 (version "0.13.9")
dddbc90c
RV
12698 (source (origin
12699 (method url-fetch)
12700 (uri (string-append "https://hackage.haskell.org/package/"
12701 "th-orphans/th-orphans-" version ".tar.gz"))
12702 (sha256
12703 (base32
882b23e2 12704 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
12705 (build-system haskell-build-system)
12706 (inputs
12707 `(("ghc-th-lift" ,ghc-th-lift)
12708 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
12709 ("ghc-th-reify-many" ,ghc-th-reify-many)
12710 ("ghc-generic-deriving" ,ghc-generic-deriving)))
12711 (native-inputs
12712 `(("ghc-hspec" ,ghc-hspec)))
12713 (home-page "https://hackage.haskell.org/package/th-orphans")
12714 (synopsis "Orphan instances for TH datatypes")
12715 (description
12716 "This package provides orphan instances for Template Haskell datatypes. In particular,
12717instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
12718and @code{Eq} instances. These instances used to live in the haskell-src-meta
12719package, and that's where the version number started.")
12720 (license license:bsd-3)))
12721
20c440ea
JS
12722(define-public ghc-these
12723 (package
12724 (name "ghc-these")
12725 (version "1.0.1")
12726 (source
12727 (origin
12728 (method url-fetch)
12729 (uri (string-append
12730 "https://hackage.haskell.org/package/these/these-"
12731 version
12732 ".tar.gz"))
12733 (sha256
12734 (base32
12735 "1k0pi65g7cm9hzdw6my6bzz2zvddkmj1qs45ymqmi316bpiixk3r"))))
12736 (build-system haskell-build-system)
12737 (inputs
12738 `(("ghc-base-compat" ,ghc-base-compat)
12739 ("ghc-hashable" ,ghc-hashable)
12740 ("ghc-aeson" ,ghc-aeson)
12741 ("ghc-unordered-containers" ,ghc-unordered-containers)
12742 ("ghc-assoc" ,ghc-assoc)
12743 ("ghc-semigroupoids" ,ghc-semigroupoids)
12744 ("ghc-quickcheck" ,ghc-quickcheck)))
12745 (arguments
12746 `(#:cabal-revision
12747 ("1"
12748 "0923r86fnmgpx0msm68aszirh2n19nn5bccgjxfh2146jw4z7w3z")))
12749 (home-page
12750 "https://github.com/isomorphism/these")
12751 (synopsis "Either-or-both data type")
12752 (description
12753 "This package provides a data type @code{These a b} which can
12754hold a value of either type or values of each type. This is usually
12755thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
12756\"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
12757as \"inner join\").
12758
12759@code{data These a b = This a | That b | These a b}
12760
12761Since version 1, this package was split into parts:
12762
12763@itemize
12764@item
12765https://hackage.haskell.org/package/semialign For @code{Align} and
12766@code{Zip} type-classes.
12767@item
12768https://hackage.haskell.org/package/semialign-indexed For
12769@code{SemialignWithIndex} class, providing @code{ialignWith} and
12770@code{izipWith}
12771@item
12772https://hackage.haskell.org/package/these-lens For lens combinators.
12773@item
12774http://hackage.haskell.org/package/monad-chronicle For transformers
12775variant of @code{These}.
12776@end itemize")
12777 (license license:bsd-3)))
12778
dddbc90c
RV
12779(define-public ghc-threads
12780 (package
12781 (name "ghc-threads")
12782 (version "0.5.1.6")
12783 (source
12784 (origin
12785 (method url-fetch)
12786 (uri (string-append "https://hackage.haskell.org/package/"
12787 "threads/threads-" version ".tar.gz"))
12788 (sha256
12789 (base32
12790 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
12791 (build-system haskell-build-system)
12792 (native-inputs
12793 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
12794 ("ghc-hunit" ,ghc-hunit)
12795 ("ghc-test-framework" ,ghc-test-framework)
12796 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
12797 (home-page "https://github.com/basvandijk/threads")
12798 (synopsis "Fork threads and wait for their result")
12799 (description "This package provides functions to fork threads and
12800wait for their result, whether it's an exception or a normal value.
12801Besides waiting for the termination of a single thread this package also
12802provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
12803package is similar to the @code{threadmanager}, @code{async} and
12804@code{spawn} packages. The advantages of this package are:
12805
dddbc90c
RV
12806@itemize
12807@item Simpler API.
12808@item More efficient in both space and time.
12809@item No space-leak when forking a large number of threads.
12810@item Correct handling of asynchronous exceptions.
12811@item GHC specific functionality like @code{forkOn} and
12812@code{forkIOWithUnmask}.
12813@end itemize")
12814 (license license:bsd-3)))
12815
12816(define-public ghc-th-reify-many
12817 (package
12818 (name "ghc-th-reify-many")
32d4a6ae 12819 (version "0.1.9")
dddbc90c
RV
12820 (source (origin
12821 (method url-fetch)
12822 (uri (string-append "https://hackage.haskell.org/package/"
12823 "th-reify-many/th-reify-many-"
12824 version ".tar.gz"))
12825 (sha256
12826 (base32
32d4a6ae 12827 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
12828 (build-system haskell-build-system)
12829 (inputs
12830 `(("ghc-safe" ,ghc-safe)
12831 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
12832 (home-page "https://github.com/mgsloan/th-reify-many")
12833 (synopsis "Recurseively reify template haskell datatype info")
12834 (description
12835 "th-reify-many provides functions for recursively reifying top level
12836declarations. The main intended use case is for enumerating the names of
12837datatypes reachable from an initial datatype, and passing these names to some
12838function which generates instances.")
12839 (license license:bsd-3)))
12840
75cfc9a2
TS
12841(define-public ghc-time-compat
12842 (package
12843 (name "ghc-time-compat")
12844 (version "1.9.2.2")
12845 (source
12846 (origin
12847 (method url-fetch)
12848 (uri (string-append "https://hackage.haskell.org/package/"
12849 "time-compat/time-compat-" version ".tar.gz"))
12850 (sha256
12851 (base32
12852 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
12853 (build-system haskell-build-system)
12854 (inputs
12855 `(("ghc-base-orphans" ,ghc-base-orphans)))
12856 (native-inputs
12857 `(("ghc-hunit" ,ghc-hunit)
12858 ("ghc-base-compat" ,ghc-base-compat)
12859 ("ghc-quickcheck" ,ghc-quickcheck)
12860 ("ghc-tagged" ,ghc-tagged)
12861 ("ghc-tasty" ,ghc-tasty)
12862 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12863 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12864 (arguments
12865 `(#:cabal-revision
12866 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
12867 (home-page "https://github.com/phadej/time-compat")
12868 (synopsis "Compatibility package for time")
a8d73e69 12869 (description "This package tries to compat as many @code{time}
75cfc9a2
TS
12870features as possible.")
12871 (license license:bsd-3)))
12872
dddbc90c
RV
12873(define-public ghc-time-locale-compat
12874 (package
12875 (name "ghc-time-locale-compat")
12876 (version "0.1.1.5")
12877 (source
12878 (origin
12879 (method url-fetch)
12880 (uri (string-append "https://hackage.haskell.org/package/"
12881 "time-locale-compat/time-locale-compat-"
12882 version ".tar.gz"))
12883 (sha256
12884 (base32
12885 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
12886 (build-system haskell-build-system)
12887 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
12888 (home-page "https://github.com/khibino/haskell-time-locale-compat")
12889 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
12890 (description "This package contains a wrapped name module for
12891@code{TimeLocale}.")
12892 (license license:bsd-3)))
12893
c022a4d4
TS
12894(define-public ghc-time-manager
12895 (package
12896 (name "ghc-time-manager")
12897 (version "0.0.0")
12898 (source
12899 (origin
12900 (method url-fetch)
12901 (uri (string-append "https://hackage.haskell.org/package/"
12902 "time-manager/time-manager-" version ".tar.gz"))
12903 (sha256
12904 (base32
12905 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
12906 (build-system haskell-build-system)
12907 (inputs
12908 `(("ghc-auto-update" ,ghc-auto-update)))
12909 (home-page "https://github.com/yesodweb/wai")
12910 (synopsis "Scalable timer")
12911 (description "This library contains scalable timer functions provided by a
12912timer manager.")
12913 (license license:expat)))
12914
7bbfa392
JS
12915(define-public ghc-timeit
12916 (package
12917 (name "ghc-timeit")
12918 (version "2.0")
12919 (source
12920 (origin
12921 (method url-fetch)
12922 (uri
12923 (string-append
12924 "https://hackage.haskell.org/package/timeit/timeit-"
12925 version ".tar.gz"))
12926 (sha256
12927 (base32
12928 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
12929 (build-system haskell-build-system)
12930 (home-page "https://github.com/merijn/timeit")
12931 (synopsis "Time monadic computations with an IO base")
12932 (description "This package provides a simple wrapper to show the
12933used CPU time of monadic computation with an IO base.")
12934 (license license:bsd-3)))
12935
2ed8bd2d
JS
12936(define-public ghc-timezone-series
12937 (package
12938 (name "ghc-timezone-series")
12939 (version "0.1.9")
12940 (source
12941 (origin
12942 (method url-fetch)
12943 (uri
12944 (string-append
12945 "mirror://hackage/package/timezone-series/timezone-series-"
12946 version ".tar.gz"))
12947 (sha256
12948 (base32
12949 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
12950 (build-system haskell-build-system)
12951 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12952 (synopsis "Enhanced timezone handling for Time")
12953 (description
12954 "This package endows @code{Data.Time}, from the time package, with several
12955data types and functions for enhanced processing of timezones. For one way to
12956create timezone series, see the ghc-timezone-olson package.")
12957 (license license:bsd-3)))
12958
ff0f5786
JS
12959(define-public ghc-timezone-olson
12960 (package
12961 (name "ghc-timezone-olson")
12962 (version "0.1.9")
12963 (source
12964 (origin
12965 (method url-fetch)
12966 (uri
12967 (string-append
12968 "mirror://hackage/package/timezone-olson/timezone-olson-"
12969 version ".tar.gz"))
12970 (sha256
12971 (base32
12972 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
12973 (build-system haskell-build-system)
12974 (inputs
12975 `(("ghc-timezone-series" ,ghc-timezone-series)
12976 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
12977 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12978 (synopsis "Parser and renderer for binary Olson timezone files")
12979 (description
12980 "A parser and renderer for binary Olson timezone files whose format
12981is specified by the tzfile(5) man page on Unix-like systems. For more
12982information about this format, see
12983@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
12984are provided for converting the parsed data into @code{TimeZoneSeries}
12985objects from the timezone-series package.")
12986 (license license:bsd-3)))
12987
dddbc90c
RV
12988(define-public ghc-tldr
12989 (package
12990 (name "ghc-tldr")
871ceb31 12991 (version "0.4.0.2")
dddbc90c
RV
12992 (source
12993 (origin
12994 (method url-fetch)
12995 (uri (string-append
12996 "https://hackage.haskell.org/package/tldr/tldr-"
12997 version
12998 ".tar.gz"))
12999 (sha256
13000 (base32
871ceb31 13001 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
13002 (build-system haskell-build-system)
13003 (inputs
13004 `(("ghc-cmark" ,ghc-cmark)
13005 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13006 ("ghc-typed-process" ,ghc-typed-process)
13007 ("ghc-semigroups" ,ghc-semigroups)))
13008 (native-inputs
13009 `(("ghc-tasty" ,ghc-tasty)
13010 ("ghc-tasty-golden" ,ghc-tasty-golden)))
13011 (home-page "https://github.com/psibi/tldr-hs#readme")
13012 (synopsis "Haskell tldr client")
13013 (description "This package provides the @command{tldr} command and a
13014Haskell client library allowing users to update and view @code{tldr} pages
13015from a shell. The @code{tldr} pages are a community effort to simplify the
13016man pages with practical examples.")
13017 (license license:bsd-3)))
13018
460e4e42
JS
13019(define-public ghc-transformers
13020 (package
13021 (name "ghc-transformers")
13022 (version "0.5.6.2")
13023 (source
13024 (origin
13025 (method url-fetch)
13026 (uri (string-append
13027 "mirror://hackage/package/transformers/transformers-"
13028 version
13029 ".tar.gz"))
13030 (sha256
13031 (base32
13032 "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
13033 (build-system haskell-build-system)
13034 (home-page
13035 "http://hackage.haskell.org/package/transformers")
13036 (synopsis "Concrete functor and monad transformers")
13037 (description
13038 "Transformers provides functor and monad transformers, inspired by the
13039paper \"Functional Programming with Overloading and Higher-Order
13040Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
130411995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
13042
13043This package contains:
13044@itemize
13045@item the monad transformer class (in @code{Control.Monad.Trans.Class})
13046@item concrete functor and monad transformers, each with associated operations
13047and functions to lift operations associated with other transformers.
13048@end itemize
13049
13050This package can be used on its own in portable Haskell code, in which case
13051operations need to be manually lifted through transformer stacks (see
13052@code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
13053used with the non-portable monad classes in the mtl or monads-tf packages,
13054which automatically lift operations introduced by monad transformers through
13055other transformers.")
13056 (license license:bsd-3)))
13057
dddbc90c
RV
13058(define-public ghc-transformers-base
13059 (package
13060 (name "ghc-transformers-base")
13061 (version "0.4.5.2")
13062 (source
13063 (origin
13064 (method url-fetch)
13065 (uri (string-append
13066 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
13067 version
13068 ".tar.gz"))
13069 (sha256
13070 (base32
13071 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
13072 (build-system haskell-build-system)
13073 (inputs
13074 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
13075 (home-page
13076 "https://hackage.haskell.org/package/transformers-compat")
13077 (synopsis
13078 "Backported transformer library")
13079 (description
13080 "Backported versions of types that were added to transformers in
13081transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
13082compatibility to run on old versions of the platform.")
13083 (license license:bsd-3)))
13084
13085(define-public ghc-transformers-compat
13086 (package
13087 (name "ghc-transformers-compat")
1c9c4d58 13088 (version "0.6.5")
dddbc90c
RV
13089 (source
13090 (origin
13091 (method url-fetch)
13092 (uri (string-append
13093 "https://hackage.haskell.org/package/transformers-compat"
13094 "/transformers-compat-" version ".tar.gz"))
13095 (sha256
13096 (base32
1c9c4d58 13097 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
13098 (build-system haskell-build-system)
13099 (home-page "https://github.com/ekmett/transformers-compat/")
13100 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
13101 (description "This package includes backported versions of types that were
13102added to transformers in transformers 0.3 and 0.4 for users who need strict
13103transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
13104but also need those types.")
13105 (license license:bsd-3)))
13106
13107(define-public ghc-tree-diff
13108 (package
13109 (name "ghc-tree-diff")
b4e26067 13110 (version "0.1")
dddbc90c
RV
13111 (source
13112 (origin
13113 (method url-fetch)
13114 (uri (string-append
13115 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
13116 version
13117 ".tar.gz"))
13118 (sha256
13119 (base32
b4e26067 13120 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 13121 (build-system haskell-build-system)
dddbc90c
RV
13122 (inputs
13123 `(("ghc-aeson" ,ghc-aeson)
13124 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13125 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13126 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 13127 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 13128 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
13129 ("ghc-parsers" ,ghc-parsers)
13130 ("ghc-quickcheck" ,ghc-quickcheck)
13131 ("ghc-scientific" ,ghc-scientific)
13132 ("ghc-tagged" ,ghc-tagged)
13133 ("ghc-unordered-containers" ,ghc-unordered-containers)
13134 ("ghc-uuid-types" ,ghc-uuid-types)
13135 ("ghc-vector" ,ghc-vector)))
13136 (native-inputs
13137 `(("ghc-base-compat" ,ghc-base-compat)
13138 ("ghc-quickcheck" ,ghc-quickcheck)
13139 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13140 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13141 ("ghc-trifecta" ,ghc-trifecta)
13142 ("ghc-tasty" ,ghc-tasty)
13143 ("ghc-tasty-golden" ,ghc-tasty-golden)
13144 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13145 (home-page "https://github.com/phadej/tree-diff")
13146 (synopsis "Compute difference between (expression) trees")
13147 (description "This Haskell library provides a function for computing
13148the difference between (expression) trees. It also provides a way to
13149compute the difference between arbitrary abstract datatypes (ADTs) using
13150@code{Generics}-derivable helpers.")
13151 (license license:bsd-3)))
13152
13153(define-public ghc-trifecta
13154 (package
13155 (name "ghc-trifecta")
13156 (version "2")
13157 (source (origin
13158 (method url-fetch)
13159 (uri (string-append
13160 "https://hackage.haskell.org/package/trifecta/"
13161 "trifecta-" version ".tar.gz"))
13162 (sha256
13163 (base32
13164 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
13165 (build-system haskell-build-system)
5ffe8cfd
TS
13166 (arguments
13167 `(#:tests? #f ; doctest suite fails to build on i686
13168 #:cabal-revision
13169 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
13170 (inputs
13171 `(("ghc-reducers" ,ghc-reducers)
13172 ("ghc-semigroups" ,ghc-semigroups)
13173 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13174 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13175 ("ghc-blaze-builder" ,ghc-blaze-builder)
13176 ("ghc-blaze-html" ,ghc-blaze-html)
13177 ("ghc-blaze-markup" ,ghc-blaze-markup)
13178 ("ghc-charset" ,ghc-charset)
13179 ("ghc-comonad" ,ghc-comonad)
13180 ("ghc-fingertree" ,ghc-fingertree)
13181 ("ghc-hashable" ,ghc-hashable)
13182 ("ghc-lens" ,ghc-lens)
13183 ("ghc-parsers" ,ghc-parsers)
13184 ("ghc-profunctors" ,ghc-profunctors)
13185 ("ghc-unordered-containers" ,ghc-unordered-containers)
13186 ("ghc-utf8-string" ,ghc-utf8-string)))
13187 (native-inputs
13188 `(("cabal-doctest" ,cabal-doctest)
13189 ("ghc-doctest" ,ghc-doctest)
13190 ("ghc-quickcheck" ,ghc-quickcheck)))
13191 (home-page "https://github.com/ekmett/trifecta/")
13192 (synopsis "Parser combinator library with convenient diagnostics")
13193 (description "Trifecta is a modern parser combinator library for Haskell,
13194with slicing and Clang-style colored diagnostics.")
13195 (license license:bsd-3)))
13196
13197(define-public ghc-tuple-th
13198 (package
13199 (name "ghc-tuple-th")
13200 (version "0.2.5")
13201 (source
13202 (origin
13203 (method url-fetch)
13204 (uri (string-append "https://hackage.haskell.org/package/"
13205 "tuple-th-" version "/"
13206 "tuple-th-" version ".tar.gz"))
13207 (sha256
13208 (base32
13209 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
13210 (build-system haskell-build-system)
13211 (home-page "https://github.com/DanielSchuessler/tuple-th")
13212 (synopsis "Generate utility functions for tuples of statically known size
13213for Haskell")
13214 (description "This Haskell package contains Template Haskell functions for
13215generating functions similar to those in @code{Data.List} for tuples of
13216statically known size.")
13217 (license license:bsd-3)))
13218
9f776fe2
JS
13219(define-public ghc-turtle
13220 (package
13221 (name "ghc-turtle")
13222 (version "1.5.15")
13223 (source
13224 (origin
13225 (method url-fetch)
13226 (uri (string-append
13227 "mirror://hackage/package/turtle/turtle-"
13228 version
13229 ".tar.gz"))
13230 (sha256
13231 (base32
13232 "0yckgsc2a4g5x867gni80ldp226bsnhncfbil4ql6v2zwm4r8p7f"))))
13233 (build-system haskell-build-system)
13234 (inputs
13235 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13236 ("ghc-async" ,ghc-async)
13237 ("ghc-clock" ,ghc-clock)
13238 ("ghc-exceptions" ,ghc-exceptions)
13239 ("ghc-foldl" ,ghc-foldl)
13240 ("ghc-hostname" ,ghc-hostname)
13241 ("ghc-managed" ,ghc-managed)
13242 ("ghc-semigroups" ,ghc-semigroups)
13243 ("ghc-system-filepath" ,ghc-system-filepath)
13244 ("ghc-system-fileio" ,ghc-system-fileio)
13245 ("ghc-streaming-commons" ,ghc-streaming-commons)
13246 ("ghc-temporary" ,ghc-temporary)
13247 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13248 ("ghc-optional-args" ,ghc-optional-args)
13249 ("ghc-unix-compat" ,ghc-unix-compat)))
13250 (native-inputs
13251 `(("ghc-doctest" ,ghc-doctest)
13252 ("ghc-fail" ,ghc-fail)))
13253 (arguments
13254 `(#:cabal-revision
13255 ("1" "02q1rv7zx31xz9wnmcqwd4w3iw7623p07iyi21zr0cqlignic5pg")))
13256 (home-page
13257 "http://hackage.haskell.org/package/turtle")
13258 (synopsis "Shell programming, Haskell-style")
13259 (description
13260 "Turtle is a reimplementation of the Unix command line environment in
13261Haskell so that you can use Haskell as both a shell and a scripting
13262language. Features include:
13263
13264@itemize
13265@item Batteries included: Command an extended suite of predefined utilities.
13266@item Interoperability: You can still run external shell commands.
13267@item Portability: Works on Windows, OS X, and Linux.
13268@item Exception safety: Safely acquire and release resources.
13269@item Streaming: Transform or fold command output in constant space.
13270@item Patterns: Use typed regular expressions that can parse structured values.
13271@item Formatting: Type-safe printf-style text formatting.
13272@item Modern: Supports text and system-filepath.
13273@end itemize
13274
13275Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a
13276quick-start guide. Turtle is designed to be beginner-friendly, but as a
13277result lacks certain features, like tracing commands. If you feel comfortable
13278using turtle then you should also check out the Shelly library which provides
13279similar functionality.")
13280 (license license:bsd-3)))
13281
dddbc90c
RV
13282(define-public ghc-typed-process
13283 (package
13284 (name "ghc-typed-process")
72fb84a5 13285 (version "0.2.6.0")
dddbc90c
RV
13286 (source
13287 (origin
13288 (method url-fetch)
13289 (uri (string-append "https://hackage.haskell.org/package/"
13290 "typed-process/typed-process-"
13291 version ".tar.gz"))
13292 (sha256
13293 (base32
72fb84a5 13294 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
13295 (build-system haskell-build-system)
13296 (inputs
72fb84a5
TS
13297 `(("ghc-async" ,ghc-async)
13298 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
13299 (native-inputs
13300 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
13301 ("ghc-hspec" ,ghc-hspec)
13302 ("hspec-discover" ,hspec-discover)
13303 ("ghc-temporary" ,ghc-temporary)))
13304 (home-page "https://haskell-lang.org/library/typed-process")
13305 (synopsis "Run external processes with strong typing of streams")
13306 (description
13307 "This library provides the ability to launch and interact with external
13308processes. It wraps around the @code{process} library, and intends to improve
13309upon it.")
13310 (license license:expat)))
13311
d392f803
AG
13312(define-public ghc-unagi-chan
13313 (package
13314 (name "ghc-unagi-chan")
13315 (version "0.4.1.2")
13316 (source
13317 (origin
13318 (method url-fetch)
13319 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
13320 "/unagi-chan-" version ".tar.gz"))
13321 (sha256
13322 (base32
13323 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
13324 (build-system haskell-build-system)
13325 (inputs
13326 `(("ghc-atomic-primops" ,ghc-atomic-primops)
13327 ("ghc-primitive" ,ghc-primitive)))
13328 (arguments
13329 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
13330 #:cabal-revision
13331 ("1"
13332 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
3ef91e15 13333 (home-page "https://hackage.haskell.org/package/unagi-chan")
d392f803
AG
13334 (synopsis "Fast concurrent queues with a Chan-like API, and more")
13335 (description
13336 "This library provides implementations of concurrent FIFO queues (for
13337both general boxed and primitive unboxed values) that are fast, perform well
13338under contention, and offer a Chan-like interface. The library may be of
13339limited usefulness outside of x86 architectures where the fetch-and-add
13340instruction is not available.")
13341 (license license:bsd-3)))
13342
dddbc90c
RV
13343(define-public ghc-unbounded-delays
13344 (package
13345 (name "ghc-unbounded-delays")
13346 (version "0.1.1.0")
13347 (source
13348 (origin
13349 (method url-fetch)
13350 (uri (string-append
13351 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
13352 version
13353 ".tar.gz"))
13354 (sha256
13355 (base32
13356 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
13357 (build-system haskell-build-system)
13358 (home-page "https://github.com/basvandijk/unbounded-delays")
13359 (synopsis "Unbounded thread delays and timeouts")
13360 (description "The @code{threadDelay} and @code{timeout} functions from the
13361Haskell base library use the bounded @code{Int} type for specifying the delay
13362or timeout period. This package provides alternative functions which use the
13363unbounded @code{Integer} type.")
13364 (license license:bsd-3)))
13365
13366(define-public ghc-unexceptionalio
13367 (package
13368 (name "ghc-unexceptionalio")
13369 (version "0.4.0")
13370 (source
13371 (origin
13372 (method url-fetch)
13373 (uri (string-append "https://hackage.haskell.org/package/"
13374 "unexceptionalio-" version "/" "unexceptionalio-"
13375 version ".tar.gz"))
13376 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
13377 (build-system haskell-build-system)
13378 (home-page "https://github.com/singpolyma/unexceptionalio")
13379 (synopsis "IO without any non-error, synchronous exceptions")
13380 (description "When you've caught all the exceptions that can be
13381handled safely, this is what you're left with.")
13382 (license license:isc)))
13383
b69d4aa7
TS
13384(define-public ghc-unicode-transforms
13385 (package
13386 (name "ghc-unicode-transforms")
13387 (version "0.3.6")
13388 (source
13389 (origin
13390 (method url-fetch)
13391 (uri (string-append "https://hackage.haskell.org/package/"
13392 "unicode-transforms/unicode-transforms-"
13393 version ".tar.gz"))
13394 (sha256
13395 (base32
13396 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
13397 (build-system haskell-build-system)
13398 (inputs
13399 `(("ghc-bitarray" ,ghc-bitarray)))
13400 (native-inputs
13401 `(("ghc-quickcheck" ,ghc-quickcheck)
13402 ("ghc-getopt-generics" ,ghc-getopt-generics)
13403 ("ghc-split" ,ghc-split)))
13404 (home-page "https://github.com/composewell/unicode-transforms")
13405 (synopsis "Unicode normalization")
13406 (description "This library provides tools for fast Unicode 12.1.0
13407normalization in Haskell (normalization forms C, KC, D, and KD).")
13408 (license license:bsd-3)))
13409
dddbc90c
RV
13410(define-public ghc-union-find
13411 (package
13412 (name "ghc-union-find")
13413 (version "0.2")
13414 (source (origin
13415 (method url-fetch)
13416 (uri (string-append
13417 "https://hackage.haskell.org/package/union-find/union-find-"
13418 version ".tar.gz"))
13419 (sha256
13420 (base32
13421 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
13422 (build-system haskell-build-system)
13423 (home-page "https://github.com/nominolo/union-find")
13424 (synopsis "Efficient union and equivalence testing of sets")
13425 (description
13426 "The Union/Find algorithm implements these operations in (effectively)
13427constant-time:
13428@enumerate
13429@item Check whether two elements are in the same equivalence class.
13430@item Create a union of two equivalence classes.
13431@item Look up the descriptor of the equivalence class.
13432@end enumerate\n")
13433 (license license:bsd-3)))
13434
13435(define-public ghc-uniplate
13436 (package
13437 (name "ghc-uniplate")
13438 (version "1.6.12")
13439 (source
13440 (origin
13441 (method url-fetch)
13442 (uri (string-append
13443 "https://hackage.haskell.org/package/uniplate/uniplate-"
13444 version
13445 ".tar.gz"))
13446 (sha256
13447 (base32
13448 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
13449 (build-system haskell-build-system)
13450 (inputs
13451 `(("ghc-syb" ,ghc-syb)
13452 ("ghc-hashable" ,ghc-hashable)
13453 ("ghc-unordered-containers" ,ghc-unordered-containers)))
f5d88758 13454 (home-page "https://github.com/ndmitchell/uniplate")
dddbc90c
RV
13455 (synopsis "Simple, concise and fast generic operations")
13456 (description "Uniplate is a library for writing simple and concise generic
13457operations. Uniplate has similar goals to the original Scrap Your Boilerplate
13458work, but is substantially simpler and faster.")
13459 (license license:bsd-3)))
13460
13461(define-public ghc-unix-compat
13462 (package
13463 (name "ghc-unix-compat")
bc82e9f5 13464 (version "0.5.2")
dddbc90c
RV
13465 (source
13466 (origin
13467 (method url-fetch)
13468 (uri (string-append
13469 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
13470 version
13471 ".tar.gz"))
13472 (sha256
13473 (base32
bc82e9f5 13474 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
13475 (build-system haskell-build-system)
13476 (home-page
13477 "https://github.com/jystic/unix-compat")
13478 (synopsis "Portable POSIX-compatibility layer")
13479 (description
13480 "This package provides portable implementations of parts of the unix
13481package. This package re-exports the unix package when available. When it
13482isn't available, portable implementations are used.")
13483 (license license:bsd-3)))
13484
13485(define-public ghc-unix-time
13486 (package
13487 (name "ghc-unix-time")
fad9cff2 13488 (version "0.4.7")
dddbc90c
RV
13489 (source
13490 (origin
13491 (method url-fetch)
13492 (uri (string-append
13493 "https://hackage.haskell.org/package/unix-time/unix-time-"
13494 version
13495 ".tar.gz"))
13496 (sha256
13497 (base32
fad9cff2 13498 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
13499 (build-system haskell-build-system)
13500 (arguments
13501 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
13502 ; is weird, that should be provided by GHC 7.10.2.
13503 (inputs
13504 `(("ghc-old-time" ,ghc-old-time)
13505 ("ghc-old-locale" ,ghc-old-locale)))
13506 (home-page "https://hackage.haskell.org/package/unix-time")
13507 (synopsis "Unix time parser/formatter and utilities")
13508 (description "This library provides fast parsing and formatting utilities
13509for Unix time in Haskell.")
13510 (license license:bsd-3)))
13511
13512(define-public ghc-unliftio
13513 (package
13514 (name "ghc-unliftio")
a4084db1 13515 (version "0.2.12")
dddbc90c
RV
13516 (source
13517 (origin
13518 (method url-fetch)
13519 (uri (string-append
13520 "https://hackage.haskell.org/package/unliftio/unliftio-"
13521 version
13522 ".tar.gz"))
13523 (sha256
13524 (base32
a4084db1 13525 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
13526 (build-system haskell-build-system)
13527 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
13528 (inputs
13529 `(("ghc-async" ,ghc-async)
13530 ("ghc-unliftio-core" ,ghc-unliftio-core)))
13531 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
13532 (home-page "https://github.com/fpco/unliftio")
13533 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
13534IO (batteries included)")
13535 (description "This Haskell package provides the core @code{MonadUnliftIO}
13536typeclass, a number of common instances, and a collection of common functions
13537working with it.")
13538 (license license:expat)))
13539
13540(define-public ghc-unliftio-core
13541 (package
13542 (name "ghc-unliftio-core")
2ae42618 13543 (version "0.1.2.0")
dddbc90c
RV
13544 (source
13545 (origin
13546 (method url-fetch)
13547 (uri (string-append "https://hackage.haskell.org/package/"
13548 "unliftio-core-" version "/"
13549 "unliftio-core-" version ".tar.gz"))
13550 (sha256
13551 (base32
2ae42618 13552 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
13553 (build-system haskell-build-system)
13554 (arguments
13555 `(#:cabal-revision
2ae42618 13556 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
13557 (home-page
13558 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
13559 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
13560 (description "This Haskell package provides the core @code{MonadUnliftIO}
13561typeclass, instances for base and transformers, and basic utility
13562functions.")
13563 (license license:expat)))
13564
13565(define-public ghc-unordered-containers
13566 (package
13567 (name "ghc-unordered-containers")
ca01f8d3 13568 (version "0.2.10.0")
dddbc90c
RV
13569 (outputs '("out" "doc"))
13570 (source
13571 (origin
13572 (method url-fetch)
13573 (uri (string-append
13574 "https://hackage.haskell.org/package/unordered-containers"
13575 "/unordered-containers-" version ".tar.gz"))
13576 (sha256
13577 (base32
ca01f8d3 13578 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
13579 (build-system haskell-build-system)
13580 (inputs
13581 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
13582 ("ghc-hunit" ,ghc-hunit)
13583 ("ghc-quickcheck" ,ghc-quickcheck)
13584 ("ghc-test-framework" ,ghc-test-framework)
13585 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13586 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13587 ("ghc-hashable" ,ghc-hashable)))
13588 (home-page
13589 "https://github.com/tibbe/unordered-containers")
13590 (synopsis
13591 "Efficient hashing-based container types")
13592 (description
13593 "Efficient hashing-based container types. The containers have been
13594optimized for performance critical use, both in terms of large data quantities
13595and high speed.")
13596 (license license:bsd-3)))
13597
13598(define-public ghc-unordered-containers-bootstrap
13599 (package
13600 (inherit ghc-unordered-containers)
13601 (name "ghc-unordered-containers-bootstrap")
13602 (arguments `(#:tests? #f))
13603 (inputs
13604 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 13605 (properties '((hidden? #t)))))
dddbc90c 13606
a52f4c57
JS
13607(define-public ghc-unsafe
13608 (package
13609 (name "ghc-unsafe")
13610 (version "0.0")
13611 (source
13612 (origin
13613 (method url-fetch)
13614 (uri
13615 (string-append
13616 "https://hackage.haskell.org/package/unsafe/unsafe-"
13617 version ".tar.gz"))
13618 (sha256
13619 (base32
13620 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
13621 (build-system haskell-build-system)
13622 (home-page "https://hackage.haskell.org/package/unsafe")
13623 (synopsis "Unified interface to unsafe functions")
13624 (description "Safe Haskell introduced the notion of safe and unsafe
13625modules. In order to make as many as possible modules ``safe'', the
13626well-known unsafe functions were moved to distinguished modules. This
13627makes it hard to write packages that work with both old and new versions
13628of GHC. This package provides a single module System.Unsafe that
13629exports the unsafe functions from the base package. It provides them in
13630a style ready for qualification, that is, you should import them by
13631@code{import qualified System.Unsafe as Unsafe}.")
13632 (license license:bsd-3)))
13633
dddbc90c
RV
13634(define-public ghc-uri-bytestring
13635 (package
13636 (name "ghc-uri-bytestring")
d35ffd39 13637 (version "0.3.2.2")
dddbc90c
RV
13638 (source
13639 (origin
13640 (method url-fetch)
13641 (uri (string-append "https://hackage.haskell.org/package/"
13642 "uri-bytestring-" version "/"
13643 "uri-bytestring-" version ".tar.gz"))
13644 (sha256
13645 (base32
d35ffd39 13646 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
13647 (build-system haskell-build-system)
13648 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
13649 ("ghc-blaze-builder" ,ghc-blaze-builder)
13650 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 13651 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
13652 ("ghc-tasty" ,ghc-tasty)
13653 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
13654 ("ghc-hedgehog" ,ghc-hedgehog)
13655 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 13656 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 13657 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 13658 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
13659 (home-page "https://github.com/Soostone/uri-bytestring")
13660 (synopsis "Haskell URI parsing as ByteStrings")
13661 (description "This Haskell package aims to be an RFC3986 compliant URI
13662parser that uses ByteStrings for parsing and representing the URI data.")
13663 (license license:bsd-3)))
13664
d7ad0823
JS
13665(define-public ghc-utf8-light
13666 (package
13667 (name "ghc-utf8-light")
13668 (version "0.4.2")
13669 (source
13670 (origin
13671 (method url-fetch)
13672 (uri (string-append
13673 "mirror://hackage/package/utf8-light/utf8-light-"
13674 version
13675 ".tar.gz"))
13676 (sha256
13677 (base32
13678 "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
13679 (build-system haskell-build-system)
13680 (home-page
13681 "http://hackage.haskell.org/package/utf8-light")
13682 (synopsis "Lightweight unicode support for Haskell")
13683 (description
13684 "This package profides a class for encoding and decoding UTF8 strings
13685with instances for several common types. It also includes several functions
13686for working with UTF8. It aims to be lightweight, depending only on Base and
13687including only one module.")
13688 (license license:bsd-3)))
13689
dddbc90c
RV
13690(define-public ghc-utf8-string
13691 (package
13692 (name "ghc-utf8-string")
13693 (version "1.0.1.1")
13694 (source
13695 (origin
13696 (method url-fetch)
13697 (uri (string-append
13698 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
13699 version
13700 ".tar.gz"))
13701 (sha256
13702 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
13703 (build-system haskell-build-system)
13704 (arguments
13705 `(#:cabal-revision
13706 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
13707 (home-page "https://github.com/glguy/utf8-string/")
13708 (synopsis "Support for reading and writing UTF8 Strings")
13709 (description
13710 "A UTF8 layer for Strings. The utf8-string package provides operations
13711for encoding UTF8 strings to Word8 lists and back, and for reading and writing
13712UTF8 without truncation.")
13713 (license license:bsd-3)))
13714
13715(define-public ghc-utility-ht
13716 (package
13717 (name "ghc-utility-ht")
13718 (version "0.0.14")
13719 (home-page "https://hackage.haskell.org/package/utility-ht")
13720 (source
13721 (origin
13722 (method url-fetch)
13723 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
13724 (sha256
13725 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
13726 (build-system haskell-build-system)
13727 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
13728 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
13729 (description "This package includes Hakell modules providing various
13730helper functions for Lists, Maybes, Tuples, Functions.")
13731 (license license:bsd-3)))
13732
13733(define-public ghc-uuid
13734 (package
13735 (name "ghc-uuid")
13736 (version "1.3.13")
13737 (source
13738 (origin
13739 (method url-fetch)
13740 (uri (string-append "https://hackage.haskell.org/package/"
13741 "uuid-" version "/"
13742 "uuid-" version ".tar.gz"))
13743 (sha256
13744 (base32
13745 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
13746 (build-system haskell-build-system)
13747 (arguments
13748 `(#:cabal-revision
13749 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
13750 #:phases
13751 (modify-phases %standard-phases
13752 (add-before 'configure 'strip-test-framework-constraints
13753 (lambda _
13754 (substitute* "uuid.cabal"
13755 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
13756 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
13757 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13758 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13759 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13760 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
13761 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
13762 ("ghc-entropy" ,ghc-entropy)
13763 ("ghc-network-info" ,ghc-network-info)
13764 ("ghc-random" ,ghc-random)
13765 ("ghc-uuid-types" ,ghc-uuid-types)))
13766 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13767 ("ghc-quickcheck" ,ghc-quickcheck)
13768 ("ghc-tasty" ,ghc-tasty)
13769 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13770 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13771 (home-page "https://github.com/hvr/uuid")
13772 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
13773 (description "This Haskell library provides utilities creating, comparing,
13774parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
13775 (license license:bsd-3)))
13776
13777(define-public ghc-uuid-types
13778 (package
13779 (name "ghc-uuid-types")
13780 (version "1.0.3")
13781 (source
13782 (origin
13783 (method url-fetch)
13784 (uri (string-append "https://hackage.haskell.org/package/"
13785 "uuid-types-" version "/"
13786 "uuid-types-" version ".tar.gz"))
13787 (sha256
13788 (base32
13789 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
13790 (build-system haskell-build-system)
13791 (arguments
13792 `(#:phases
13793 (modify-phases %standard-phases
13794 (add-before 'configure 'strip-test-framework-constraints
13795 (lambda _
13796 (substitute* "uuid-types.cabal"
13797 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
13798 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
13799 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13800 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13801 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13802 (inputs `(("ghc-hashable" ,ghc-hashable)
13803 ("ghc-random" ,ghc-random)))
13804 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13805 ("ghc-quickcheck" ,ghc-quickcheck)
13806 ("ghc-tasty" ,ghc-tasty)
13807 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13808 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13809 (home-page "https://github.com/hvr/uuid")
13810 (synopsis "Haskell type definitions for UUIDs")
13811 (description "This Haskell library contains type definitions for
13812@dfn{Universally Unique Identifiers} or
13813@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
13814functions.")
13815 (license license:bsd-3)))
13816
13817(define-public ghc-validation
13818 (package
13819 (name "ghc-validation")
08397fde 13820 (version "1.1")
dddbc90c
RV
13821 (source
13822 (origin
13823 (method url-fetch)
13824 (uri (string-append
13825 "mirror://hackage/package/validation/validation-"
13826 version
13827 ".tar.gz"))
13828 (sha256
13829 (base32
08397fde 13830 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
13831 (build-system haskell-build-system)
13832 (arguments
13833 `(#:cabal-revision
08397fde 13834 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
13835 (inputs
13836 `(("ghc-semigroups" ,ghc-semigroups)
13837 ("ghc-semigroupoids" ,ghc-semigroupoids)
13838 ("ghc-bifunctors" ,ghc-bifunctors)
13839 ("ghc-lens" ,ghc-lens)))
13840 (native-inputs
13841 `(("ghc-hedgehog" ,ghc-hedgehog)
13842 ("ghc-hunit" ,ghc-hunit)))
13843 (home-page "https://github.com/qfpl/validation")
13844 (synopsis
13845 "Data-type like Either but with an accumulating Applicative")
13846 (description
13847 "A data-type like Either but with differing properties and type-class
13848instances.
13849
13850Library support is provided for this different representation, including
13851@code{lens}-related functions for converting between each and abstracting over
13852their similarities.
13853
13854The @code{Validation} data type is isomorphic to @code{Either}, but has an
13855instance of @code{Applicative} that accumulates on the error side. That is to
13856say, if two (or more) errors are encountered, they are appended using a
13857@{Semigroup} operation.
13858
13859As a consequence of this @code{Applicative} instance, there is no
13860corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
13861example of, \"An applicative functor that is not a monad.\"")
13862 (license license:bsd-3)))
13863
13864(define-public ghc-validity
13865 (package
13866 (name "ghc-validity")
3f1ba75d 13867 (version "0.9.0.2")
dddbc90c
RV
13868 (source
13869 (origin
13870 (method url-fetch)
13871 (uri (string-append
13872 "https://hackage.haskell.org/package/validity/validity-"
13873 version
13874 ".tar.gz"))
13875 (sha256
13876 (base32
3f1ba75d 13877 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
13878 (build-system haskell-build-system)
13879 (native-inputs `(("ghc-hspec" ,ghc-hspec)
13880 ("hspec-discover" ,hspec-discover)))
13881 (home-page
13882 "https://github.com/NorfairKing/validity")
13883 (synopsis "Validity typeclass")
13884 (description
13885 "Values of custom types usually have invariants imposed upon them. This
13886package provides the @code{Validity} type class, which makes these invariants
13887explicit by providing a function to check whether the invariants hold.")
13888 (license license:expat)))
13889
13890(define-public ghc-vault
13891 (package
13892 (name "ghc-vault")
b40a436e 13893 (version "0.3.1.3")
dddbc90c
RV
13894 (source
13895 (origin
13896 (method url-fetch)
13897 (uri (string-append
13898 "https://hackage.haskell.org/package/vault/vault-"
13899 version
13900 ".tar.gz"))
13901 (sha256
13902 (base32
b40a436e 13903 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
13904 (build-system haskell-build-system)
13905 (inputs
13906 `(("ghc-unordered-containers" ,ghc-unordered-containers)
13907 ("ghc-hashable" ,ghc-hashable)
b40a436e 13908 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
13909 (home-page
13910 "https://github.com/HeinrichApfelmus/vault")
13911 (synopsis "Persistent store for arbitrary values")
13912 (description "This package provides vaults for Haskell. A vault is a
13913persistent store for values of arbitrary types. It's like having first-class
13914access to the storage space behind @code{IORefs}. The data structure is
13915analogous to a bank vault, where you can access different bank boxes with
13916different keys; hence the name. Also provided is a @code{locker} type,
13917representing a store for a single element.")
13918 (license license:bsd-3)))
13919
13920(define-public ghc-vector
13921 (package
13922 (name "ghc-vector")
3ad67f6b 13923 (version "0.12.0.3")
dddbc90c
RV
13924 (outputs '("out" "doc"))
13925 (source
13926 (origin
13927 (method url-fetch)
13928 (uri (string-append
13929 "https://hackage.haskell.org/package/vector/vector-"
13930 version
13931 ".tar.gz"))
13932 (sha256
13933 (base32
3ad67f6b 13934 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
13935 (build-system haskell-build-system)
13936 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
13937 ;; disabled for now.
13938 (arguments
3ad67f6b 13939 `(#:tests? #f))
dddbc90c
RV
13940 (inputs
13941 `(("ghc-primitive" ,ghc-primitive)
13942 ("ghc-random" ,ghc-random)
13943 ("ghc-quickcheck" ,ghc-quickcheck)
13944 ;; ("ghc-hunit" ,ghc-hunit)
13945 ;; ("ghc-test-framework" ,ghc-test-framework)
13946 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13947 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13948 ))
13949 (home-page "https://github.com/haskell/vector")
13950 (synopsis "Efficient Arrays")
13951 (description "This library provides an efficient implementation of
13952Int-indexed arrays (both mutable and immutable), with a powerful loop
13953optimisation framework.")
13954 (license license:bsd-3)))
13955
13956(define-public ghc-vector-algorithms
13957 (package
13958 (name "ghc-vector-algorithms")
e71f316f 13959 (version "0.8.0.1")
dddbc90c
RV
13960 (source
13961 (origin
13962 (method url-fetch)
13963 (uri (string-append "https://hackage.haskell.org/package/"
13964 "vector-algorithms-" version "/"
13965 "vector-algorithms-" version ".tar.gz"))
13966 (sha256
13967 (base32
e71f316f 13968 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
13969 (build-system haskell-build-system)
13970 (inputs
13971 `(("ghc-vector" ,ghc-vector)))
13972 (native-inputs
13973 `(("ghc-quickcheck" ,ghc-quickcheck)))
13974 (home-page "https://github.com/bos/math-functions")
13975 (synopsis "Algorithms for vector arrays in Haskell")
13976 (description "This Haskell library algorithms for vector arrays.")
13977 (license license:bsd-3)))
13978
13979(define-public ghc-vector-binary-instances
13980 (package
13981 (name "ghc-vector-binary-instances")
ca0701ef 13982 (version "0.2.5.1")
dddbc90c
RV
13983 (source
13984 (origin
13985 (method url-fetch)
13986 (uri (string-append
13987 "https://hackage.haskell.org/package/"
13988 "vector-binary-instances/vector-binary-instances-"
13989 version ".tar.gz"))
13990 (sha256
13991 (base32
ca0701ef 13992 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 13993 (build-system haskell-build-system)
dddbc90c
RV
13994 (inputs
13995 `(("ghc-vector" ,ghc-vector)))
13996 (native-inputs
13997 `(("ghc-tasty" ,ghc-tasty)
13998 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13999 (home-page "https://github.com/bos/vector-binary-instances")
14000 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
14001 (description "This library provides instances of @code{Binary} for the
14002types defined in the @code{vector} package, making it easy to serialize
14003vectors to and from disk. We use the generic interface to vectors, so all
14004vector types are supported. Specific instances are provided for unboxed,
14005boxed and storable vectors.")
14006 (license license:bsd-3)))
14007
14008(define-public ghc-vector-builder
14009 (package
14010 (name "ghc-vector-builder")
1fc05441 14011 (version "0.3.8")
dddbc90c
RV
14012 (source
14013 (origin
14014 (method url-fetch)
14015 (uri (string-append "https://hackage.haskell.org/package/"
14016 "vector-builder-" version "/"
14017 "vector-builder-" version ".tar.gz"))
14018 (sha256
14019 (base32
1fc05441 14020 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
14021 (build-system haskell-build-system)
14022 (inputs `(("ghc-vector" ,ghc-vector)
14023 ("ghc-semigroups" ,ghc-semigroups)
14024 ("ghc-base-prelude" ,ghc-base-prelude)))
14025 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
14026 ("ghc-tasty" ,ghc-tasty)
14027 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14028 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
14029 ("ghc-hunit" ,ghc-hunit)
14030 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
14031 ("ghc-rerebase" ,ghc-rerebase)))
14032 (home-page "https://github.com/nikita-volkov/vector-builder")
14033 (synopsis "Vector builder for Haskell")
14034 (description "This Haskell package provides an API for constructing vectors.
14035It provides the composable @code{Builder} abstraction, which has instances of the
14036@code{Monoid} and @code{Semigroup} classes.
14037
14038You would first use the @code{Builder} abstraction to specify the structure of
14039the vector; then you can execute the builder to actually produce the
14040vector. ")
14041 (license license:expat)))
14042
14043(define-public ghc-vector-th-unbox
14044 (package
14045 (name "ghc-vector-th-unbox")
63056e61 14046 (version "0.2.1.7")
dddbc90c
RV
14047 (source
14048 (origin
14049 (method url-fetch)
14050 (uri (string-append "https://hackage.haskell.org/package/"
14051 "vector-th-unbox-" version "/"
14052 "vector-th-unbox-" version ".tar.gz"))
14053 (sha256
14054 (base32
63056e61 14055 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
14056 (build-system haskell-build-system)
14057 (inputs
14058 `(("ghc-vector" ,ghc-vector)
14059 ("ghc-data-default" ,ghc-data-default)))
14060 (home-page "https://github.com/liyang/vector-th-unbox")
14061 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
14062 (description "This Haskell library provides a Template Haskell
14063deriver for unboxed vectors, given a pair of coercion functions to
14064and from some existing type with an Unbox instance.")
14065 (license license:bsd-3)))
14066
14067(define-public ghc-void
14068 (package
14069 (name "ghc-void")
51889121 14070 (version "0.7.3")
dddbc90c
RV
14071 (source
14072 (origin
14073 (method url-fetch)
14074 (uri (string-append
14075 "https://hackage.haskell.org/package/void/void-"
14076 version
14077 ".tar.gz"))
14078 (sha256
14079 (base32
51889121 14080 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
14081 (build-system haskell-build-system)
14082 (inputs
14083 `(("ghc-semigroups" ,ghc-semigroups)
14084 ("ghc-hashable" ,ghc-hashable)))
14085 (home-page "https://github.com/ekmett/void")
14086 (synopsis
14087 "Logically uninhabited data type")
14088 (description
14089 "A Haskell 98 logically uninhabited data type, used to indicate that a
14090given term should not exist.")
14091 (license license:bsd-3)))
14092
14093(define-public ghc-wave
14094 (package
14095 (name "ghc-wave")
1631a0f7 14096 (version "0.2.0")
dddbc90c
RV
14097 (source (origin
14098 (method url-fetch)
14099 (uri (string-append
14100 "https://hackage.haskell.org/package/wave/wave-"
14101 version
14102 ".tar.gz"))
14103 (sha256
14104 (base32
1631a0f7 14105 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
14106 (build-system haskell-build-system)
14107 (arguments
14108 '(#:phases
14109 (modify-phases %standard-phases
14110 (add-before 'configure 'update-constraints
14111 (lambda _
14112 (substitute* "wave.cabal"
14113 (("temporary.* < 1\\.3")
14114 "temporary >= 1.1 && < 1.4")))))))
14115 (inputs
14116 `(("ghc-cereal" ,ghc-cereal)
14117 ("ghc-data-default-class"
14118 ,ghc-data-default-class)
14119 ("ghc-quickcheck" ,ghc-quickcheck)
14120 ("ghc-temporary" ,ghc-temporary)))
14121 (native-inputs
14122 `(("hspec-discover" ,hspec-discover)
14123 ("ghc-hspec" ,ghc-hspec)))
14124 (home-page "https://github.com/mrkkrp/wave")
14125 (synopsis "Work with WAVE and RF64 files in Haskell")
14126 (description "This package allows you to work with WAVE and RF64
14127files in Haskell.")
14128 (license license:bsd-3)))
14129
14130(define-public ghc-wcwidth
14131 (package
14132 (name "ghc-wcwidth")
14133 (version "0.0.2")
14134 (source
14135 (origin
14136 (method url-fetch)
14137 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
14138 version ".tar.gz"))
14139 (sha256
14140 (base32
14141 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
14142 (build-system haskell-build-system)
14143 (inputs
14144 `(("ghc-setlocale" ,ghc-setlocale)
14145 ("ghc-utf8-string" ,ghc-utf8-string)
14146 ("ghc-attoparsec" ,ghc-attoparsec)))
14147 (home-page "https://github.com/solidsnack/wcwidth/")
14148 (synopsis "Haskell bindings to wcwidth")
14149 (description "This package provides Haskell bindings to your system's
14150native wcwidth and a command line tool to examine the widths assigned by it.
14151The command line tool can compile a width table to Haskell code that assigns
14152widths to the Char type.")
14153 (license license:bsd-3)))
14154
14155(define-public ghc-wcwidth-bootstrap
14156 (package
14157 (inherit ghc-wcwidth)
14158 (name "ghc-wcwidth-bootstrap")
14159 (inputs
14160 `(("ghc-setlocale" ,ghc-setlocale)
14161 ("ghc-utf8-string" ,ghc-utf8-string)
14162 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 14163 (properties '((hidden? #t)))))
dddbc90c
RV
14164
14165(define-public ghc-weigh
14166 (package
14167 (name "ghc-weigh")
b6d9777f 14168 (version "0.0.14")
dddbc90c
RV
14169 (source
14170 (origin
14171 (method url-fetch)
14172 (uri (string-append "https://hackage.haskell.org/package/weigh/"
14173 "weigh-" version ".tar.gz"))
14174 (sha256
14175 (base32
b6d9777f 14176 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
14177 (build-system haskell-build-system)
14178 (inputs
14179 `(("ghc-split" ,ghc-split)
14180 ("ghc-temporary" ,ghc-temporary)))
14181 (home-page "https://github.com/fpco/weigh#readme")
14182 (synopsis "Measure allocations of a Haskell functions/values")
14183 (description "This package provides tools to measure the memory usage of a
14184Haskell value or function.")
14185 (license license:bsd-3)))
14186
14187(define-public ghc-wl-pprint
14188 (package
14189 (name "ghc-wl-pprint")
14190 (version "1.2.1")
14191 (source (origin
14192 (method url-fetch)
14193 (uri (string-append
14194 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
14195 version ".tar.gz"))
14196 (sha256
14197 (base32
14198 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
14199 (build-system haskell-build-system)
14200 (home-page "https://hackage.haskell.org/package/wl-pprint")
14201 (synopsis "Wadler/Leijen pretty printer")
14202 (description
14203 "This is a pretty printing library based on Wadler's paper @i{A Prettier
14204Printer}. This version allows the library user to declare overlapping
14205instances of the @code{Pretty} class.")
14206 (license license:bsd-3)))
14207
14208(define-public ghc-wl-pprint-annotated
14209 (package
14210 (name "ghc-wl-pprint-annotated")
14211 (version "0.1.0.1")
14212 (source
14213 (origin
14214 (method url-fetch)
14215 (uri (string-append
14216 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
14217 version
14218 ".tar.gz"))
14219 (sha256
14220 (base32
14221 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
14222 (build-system haskell-build-system)
14223 (native-inputs
14224 `(("ghc-tasty" ,ghc-tasty)
14225 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
14226 (home-page
14227 "https://github.com/minad/wl-pprint-annotated#readme")
14228 (synopsis
14229 "Wadler/Leijen pretty printer with annotation support")
14230 (description
14231 "Annotations are useful for coloring. This is a limited version of
14232@code{wl-pprint-extras} without support for point effects and without the free
14233monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
14234Compared to @code{annotated-wl-pprint} this library provides a slightly
14235modernized interface.")
14236 (license license:bsd-3)))
14237
14238(define-public ghc-wl-pprint-text
14239 (package
14240 (name "ghc-wl-pprint-text")
14241 (version "1.2.0.0")
14242 (source
14243 (origin
14244 (method url-fetch)
14245 (uri (string-append
14246 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
14247 version ".tar.gz"))
14248 (sha256
14249 (base32
14250 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
14251 (build-system haskell-build-system)
14252 (inputs
14253 `(("ghc-base-compat" ,ghc-base-compat)))
14254 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
14255 (synopsis "Wadler/Leijen Pretty Printer for Text values")
14256 (description
14257 "A clone of wl-pprint for use with the text library.")
14258 (license license:bsd-3)))
14259
14260(define-public ghc-word8
14261 (package
14262 (name "ghc-word8")
14263 (version "0.1.3")
14264 (source
14265 (origin
14266 (method url-fetch)
14267 (uri (string-append
14268 "https://hackage.haskell.org/package/word8/word8-"
14269 version
14270 ".tar.gz"))
14271 (sha256
14272 (base32
14273 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
14274 (build-system haskell-build-system)
14275 (native-inputs
14276 `(("ghc-hspec" ,ghc-hspec)
14277 ("hspec-discover" ,hspec-discover)))
14278 (home-page "https://hackage.haskell.org/package/word8")
14279 (synopsis "Word8 library for Haskell")
14280 (description "Word8 library to be used with @code{Data.ByteString}.")
14281 (license license:bsd-3)))
14282
14283(define-public ghc-x11
14284 (package
14285 (name "ghc-x11")
6c4581a3 14286 (version "1.9.1")
dddbc90c
RV
14287 (source
14288 (origin
14289 (method url-fetch)
14290 (uri (string-append "https://hackage.haskell.org/package/X11/"
14291 "X11-" version ".tar.gz"))
14292 (sha256
6c4581a3 14293 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
14294 (build-system haskell-build-system)
14295 (inputs
14296 `(("libx11" ,libx11)
14297 ("libxrandr" ,libxrandr)
14298 ("libxinerama" ,libxinerama)
14299 ("libxscrnsaver" ,libxscrnsaver)
14300 ("ghc-data-default" ,ghc-data-default)))
14301 (home-page "https://github.com/haskell-pkg-janitors/X11")
14302 (synopsis "Bindings to the X11 graphics library")
14303 (description
14304 "This package provides Haskell bindings to the X11 graphics library. The
14305bindings are a direct translation of the C bindings.")
14306 (license license:bsd-3)))
14307
14308(define-public ghc-x11-xft
14309 (package
14310 (name "ghc-x11-xft")
14311 (version "0.3.1")
14312 (source
14313 (origin
14314 (method url-fetch)
14315 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
14316 "X11-xft-" version ".tar.gz"))
14317 (sha256
14318 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
14319 (inputs
14320 `(("ghc-x11" ,ghc-x11)
14321 ("ghc-utf8-string" ,ghc-utf8-string)
14322 ("libx11" ,libx11)
14323 ("libxft" ,libxft)
14324 ("xorgproto" ,xorgproto)))
14325 (native-inputs
14326 `(("pkg-config" ,pkg-config)))
14327 (build-system haskell-build-system)
14328 (home-page "https://hackage.haskell.org/package/X11-xft")
14329 (synopsis "Bindings to Xft")
14330 (description
14331 "Bindings to the Xft, X Free Type interface library, and some Xrender
14332parts.")
14333 (license license:lgpl2.1)))
14334
14335(define-public ghc-xdg-basedir
14336 (package
14337 (name "ghc-xdg-basedir")
14338 (version "0.2.2")
14339 (source
14340 (origin
14341 (method url-fetch)
14342 (uri (string-append
14343 "https://hackage.haskell.org/package/xdg-basedir/"
14344 "xdg-basedir-" version ".tar.gz"))
14345 (sha256
14346 (base32
14347 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
14348 (build-system haskell-build-system)
702a1012 14349 (home-page "https://github.com/willdonnelly/xdg-basedir")
dddbc90c
RV
14350 (synopsis "XDG Base Directory library for Haskell")
14351 (description "This package provides a library implementing the XDG Base Directory spec.")
14352 (license license:bsd-3)))
14353
14354(define-public ghc-xml
14355 (package
14356 (name "ghc-xml")
14357 (version "1.3.14")
14358 (source
14359 (origin
14360 (method url-fetch)
14361 (uri (string-append
14362 "https://hackage.haskell.org/package/xml/xml-"
14363 version
14364 ".tar.gz"))
14365 (sha256
14366 (base32
14367 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
14368 (build-system haskell-build-system)
2b62f5d0 14369 (home-page "https://github.com/GaloisInc/xml")
dddbc90c
RV
14370 (synopsis "Simple XML library for Haskell")
14371 (description "This package provides a simple XML library for Haskell.")
14372 (license license:bsd-3)))
14373
14374(define-public ghc-xml-conduit
14375 (package
14376 (name "ghc-xml-conduit")
14377 (version "1.8.0.1")
14378 (source
14379 (origin
14380 (method url-fetch)
14381 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
14382 "xml-conduit-" version ".tar.gz"))
14383 (sha256
14384 (base32
14385 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
14386 (build-system haskell-build-system)
14387 (inputs
14388 `(("ghc-conduit" ,ghc-conduit)
14389 ("ghc-conduit-extra" ,ghc-conduit-extra)
14390 ("ghc-doctest" ,ghc-doctest)
14391 ("ghc-resourcet" ,ghc-resourcet)
14392 ("ghc-xml-types" ,ghc-xml-types)
14393 ("ghc-attoparsec" ,ghc-attoparsec)
14394 ("ghc-data-default-class" ,ghc-data-default-class)
14395 ("ghc-blaze-markup" ,ghc-blaze-markup)
14396 ("ghc-blaze-html" ,ghc-blaze-html)
14397 ("ghc-monad-control" ,ghc-monad-control)
14398 ("ghc-hspec" ,ghc-hspec)
14399 ("ghc-hunit" ,ghc-hunit)))
14400 (home-page "https://github.com/snoyberg/xml")
14401 (synopsis "Utilities for dealing with XML with the conduit package")
14402 (description
14403 "This package provides pure-Haskell utilities for dealing with XML with
14404the @code{conduit} package.")
14405 (license license:expat)))
14406
14407(define-public ghc-xml-types
14408 (package
14409 (name "ghc-xml-types")
14410 (version "0.3.6")
14411 (source
14412 (origin
14413 (method url-fetch)
14414 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
14415 "xml-types-" version ".tar.gz"))
14416 (sha256
14417 (base32
14418 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
14419 (build-system haskell-build-system)
14420 (home-page "https://john-millikin.com/software/haskell-xml/")
14421 (synopsis "Basic types for representing XML")
14422 (description "This package provides basic types for representing XML
14423documents.")
14424 (license license:expat)))
14425
14426(define-public ghc-yaml
14427 (package
14428 (name "ghc-yaml")
b58e5b84 14429 (version "0.11.1.2")
dddbc90c
RV
14430 (source (origin
14431 (method url-fetch)
14432 (uri (string-append "https://hackage.haskell.org/package/"
14433 "yaml/yaml-" version ".tar.gz"))
14434 (sha256
14435 (base32
b58e5b84 14436 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 14437 (build-system haskell-build-system)
dddbc90c
RV
14438 (inputs
14439 `(("ghc-conduit" ,ghc-conduit)
14440 ("ghc-resourcet" ,ghc-resourcet)
14441 ("ghc-aeson" ,ghc-aeson)
14442 ("ghc-unordered-containers" ,ghc-unordered-containers)
14443 ("ghc-vector" ,ghc-vector)
14444 ("ghc-attoparsec" ,ghc-attoparsec)
14445 ("ghc-scientific" ,ghc-scientific)
14446 ("ghc-semigroups" ,ghc-semigroups)
14447 ("ghc-temporary" ,ghc-temporary)
14448 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
14449 ("ghc-base-compat" ,ghc-base-compat)
14450 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
14451 (native-inputs
14452 `(("ghc-hspec" ,ghc-hspec)
14453 ("ghc-hunit" ,ghc-hunit)
14454 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
14455 ("ghc-mockery" ,ghc-mockery)
14456 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
14457 (home-page "https://github.com/snoyberg/yaml/")
14458 (synopsis "Parsing and rendering YAML documents")
14459 (description
14460 "This package provides a library to parse and render YAML documents.")
14461 (license license:bsd-3)))
14462
14463(define-public ghc-zip-archive
14464 (package
14465 (name "ghc-zip-archive")
93c1fdd3 14466 (version "0.4.1")
dddbc90c
RV
14467 (source
14468 (origin
14469 (method url-fetch)
14470 (uri (string-append
14471 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
14472 version
14473 ".tar.gz"))
14474 (sha256
14475 (base32
93c1fdd3 14476 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 14477 (build-system haskell-build-system)
93c1fdd3
TS
14478 (arguments
14479 `(#:phases
14480 (modify-phases %standard-phases
14481 (add-before 'check 'set-PATH-for-tests
14482 (lambda* (#:key inputs #:allow-other-keys)
14483 (let ((unzip (assoc-ref inputs "unzip"))
14484 (which (assoc-ref inputs "which"))
14485 (path (getenv "PATH")))
14486 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
14487 #t))))))
dddbc90c
RV
14488 (inputs
14489 `(("ghc-digest" ,ghc-digest)
14490 ("ghc-temporary" ,ghc-temporary)
14491 ("ghc-zlib" ,ghc-zlib)))
14492 (native-inputs
14493 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
14494 ("unzip" ,unzip)
14495 ("which" ,which)))
dddbc90c
RV
14496 (home-page "https://hackage.haskell.org/package/zip-archive")
14497 (synopsis "Zip archive library for Haskell")
14498 (description "The zip-archive library provides functions for creating,
14499modifying, and extracting files from zip archives in Haskell.")
14500 (license license:bsd-3)))
14501
14502(define-public ghc-zlib
14503 (package
14504 (name "ghc-zlib")
bf12089a 14505 (version "0.6.2.1")
dddbc90c
RV
14506 (outputs '("out" "doc"))
14507 (source
14508 (origin
14509 (method url-fetch)
14510 (uri (string-append
14511 "https://hackage.haskell.org/package/zlib/zlib-"
14512 version
14513 ".tar.gz"))
14514 (sha256
14515 (base32
bf12089a 14516 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
14517 (build-system haskell-build-system)
14518 (arguments
14519 `(#:phases
14520 (modify-phases %standard-phases
14521 (add-before 'configure 'strip-test-framework-constraints
14522 (lambda _
14523 (substitute* "zlib.cabal"
14524 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
14525 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
14526 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
14527 (inputs `(("zlib" ,zlib)))
14528 (native-inputs
14529 `(("ghc-quickcheck" ,ghc-quickcheck)
14530 ("ghc-tasty" ,ghc-tasty)
14531 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14532 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14533 (home-page "https://hackage.haskell.org/package/zlib")
14534 (synopsis
14535 "Compression and decompression in the gzip and zlib formats")
14536 (description
14537 "This package provides a pure interface for compressing and decompressing
14538streams of data represented as lazy @code{ByteString}s. It uses the zlib C
14539library so it has high performance. It supports the @code{zlib}, @code{gzip}
14540and @code{raw} compression formats. It provides a convenient high level API
14541suitable for most tasks and for the few cases where more control is needed it
14542provides access to the full zlib feature set.")
bbf8bf31 14543 (license license:bsd-3)))
14e41996
RV
14544
14545(define-public ghc-zlib-bindings
14546 (package
14547 (name "ghc-zlib-bindings")
14548 (version "0.1.1.5")
14549 (source
14550 (origin
14551 (method url-fetch)
14552 (uri (string-append "https://hackage.haskell.org/package/"
14553 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
14554 (sha256
14555 (base32
14556 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
14557 (build-system haskell-build-system)
14558 (inputs
14559 `(("ghc-zlib" ,ghc-zlib)))
14560 (native-inputs
14561 `(("ghc-hspec" ,ghc-hspec)
14562 ("ghc-quickcheck" ,ghc-quickcheck)))
14563 (arguments
14564 `(#:cabal-revision
14565 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
14566 (home-page "https://github.com/snapframework/zlib-bindings")
14567 (synopsis "Low-level bindings to the @code{zlib} package")
14568 (description "This package provides low-level bindings to the
14569@code{zlib} package.")
14570 (license license:bsd-3)))
8428e92c
TS
14571
14572(define-public ghc-zstd
14573 (package
14574 (name "ghc-zstd")
14575 (version "0.1.1.2")
14576 (source
14577 (origin
14578 (method url-fetch)
14579 (uri (string-append "https://hackage.haskell.org/package/"
14580 "zstd/zstd-" version ".tar.gz"))
14581 (sha256
14582 (base32
14583 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
14584 (build-system haskell-build-system)
14585 (native-inputs
14586 `(("ghc-quickcheck" ,ghc-quickcheck)
14587 ("ghc-test-framework" ,ghc-test-framework)
14588 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
14589 (home-page "https://github.com/luispedro/hs-zstd")
14590 (synopsis "Haskell bindings to the Zstandard compression algorithm")
14591 (description "This library provides Haskell bindings to the
14592Zstandard compression algorithm, a fast lossless compression algorithm
14593targeting real-time compression scenarios at zlib-level and better
14594compression ratios.")
14595 (license license:bsd-3)))