gnu: Add ghc-curl.
[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)
50 #:use-module (gnu packages gcc)
51 #:use-module (gnu packages gl)
52 #:use-module (gnu packages graphviz)
53 #:use-module (gnu packages gtk)
54 #:use-module (gnu packages haskell-apps)
efb96749 55 #:use-module (gnu packages haskell-check)
dddbc90c
RV
56 #:use-module (gnu packages haskell-crypto)
57 #:use-module (gnu packages haskell-web)
58 #:use-module (gnu packages libffi)
59 #:use-module (gnu packages linux)
e3ee8023 60 #:use-module (gnu packages llvm)
dddbc90c
RV
61 #:use-module (gnu packages lua)
62 #:use-module (gnu packages maths)
49e29df5 63 #:use-module (gnu packages ncurses)
dddbc90c
RV
64 #:use-module (gnu packages pcre)
65 #:use-module (gnu packages pkg-config)
66 #:use-module (gnu packages sdl)
0c2d6fc2 67 #:use-module (gnu packages web)
dddbc90c
RV
68 #:use-module (gnu packages xml)
69 #:use-module (gnu packages xorg)
6b34d01c
RV
70 #:use-module (guix build-system haskell)
71 #:use-module (guix download)
dddbc90c 72 #:use-module (guix git-download)
4780db2c 73 #:use-module (guix utils)
6b34d01c
RV
74 #:use-module ((guix licenses) #:prefix license:)
75 #:use-module (guix packages))
76
dddbc90c 77(define-public ghc-abstract-deque
efb96749 78 (package
dddbc90c
RV
79 (name "ghc-abstract-deque")
80 (version "0.3")
efb96749
RV
81 (source
82 (origin
83 (method url-fetch)
84 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
85 "abstract-deque-" version "/"
86 "abstract-deque-" version ".tar.gz"))
efb96749
RV
87 (sha256
88 (base32
dddbc90c 89 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 90 (build-system haskell-build-system)
dddbc90c
RV
91 (inputs `(("ghc-random" ,ghc-random)))
92 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
93 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
94 (description "This Haskell package provides an abstract interface to
95highly-parameterizable queues/deques.
96
97Background: There exists a feature space for queues that extends between:
efb96749
RV
98
99@itemize
dddbc90c
RV
100@item Simple, single-ended, non-concurrent, bounded queues
101
102@item Double-ended, thread-safe, growable queues with important points
103in between (such as the queues used for work stealing).
efb96749
RV
104@end itemize
105
dddbc90c
RV
106This package includes an interface for Deques that allows the programmer
107to use a single API for all of the above, while using the type system to
108select an efficient implementation given the requirements (using type families).
efb96749 109
dddbc90c
RV
110This package also includes a simple reference implementation based on
111@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
112 (license license:bsd-3)))
113
dddbc90c 114(define-public ghc-abstract-par
658dbc7f 115 (package
dddbc90c
RV
116 (name "ghc-abstract-par")
117 (version "0.3.3")
658dbc7f
RV
118 (source
119 (origin
120 (method url-fetch)
121 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
122 "abstract-par-" version "/"
123 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
124 (sha256
125 (base32
dddbc90c
RV
126 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
127 (build-system haskell-build-system)
128 (home-page "https://github.com/simonmar/monad-par")
129 (synopsis "Abstract parallelization interface for Haskell")
130 (description "This Haskell package is an abstract interface
131only. It provides a number of type clasess, but not an
132implementation. The type classes separate different levels
133of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
134module for more details.")
135 (license license:bsd-3)))
136
d8b88d74
TS
137(define-public ghc-active
138 (package
139 (name "ghc-active")
140 (version "0.2.0.14")
141 (source
142 (origin
143 (method url-fetch)
144 (uri (string-append "https://hackage.haskell.org/package/"
145 "active/active-" version ".tar.gz"))
146 (sha256
147 (base32
148 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
149 (build-system haskell-build-system)
150 (inputs
151 `(("ghc-vector" ,ghc-vector)
152 ("ghc-semigroups" ,ghc-semigroups)
153 ("ghc-semigroupoids" ,ghc-semigroupoids)
154 ("ghc-lens" ,ghc-lens)
155 ("ghc-linear" ,ghc-linear)))
156 (native-inputs
157 `(("ghc-quickcheck" ,ghc-quickcheck)))
158 (home-page "https://hackage.haskell.org/package/active")
159 (synopsis "Abstractions for animation")
160 (description "This package defines an @code{Active} abstraction for
161time-varying values with finite start and end times. It is used for
162describing animations within the
163@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
164diagrams framework}.")
165 (license license:bsd-3)))
166
dddbc90c
RV
167(define-public ghc-adjunctions
168 (package
169 (name "ghc-adjunctions")
170 (version "4.4")
171 (source
172 (origin
173 (method url-fetch)
174 (uri (string-append
175 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
176 version
177 ".tar.gz"))
178 (sha256
179 (base32
180 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f 181 (build-system haskell-build-system)
a78262be
TS
182 (arguments
183 `(#:cabal-revision
184 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
658dbc7f 185 (inputs
dddbc90c
RV
186 `(("ghc-profunctors" ,ghc-profunctors)
187 ("ghc-comonad" ,ghc-comonad)
188 ("ghc-contravariant" ,ghc-contravariant)
189 ("ghc-distributive" ,ghc-distributive)
190 ("ghc-free" ,ghc-free)
191 ("ghc-tagged" ,ghc-tagged)
192 ("ghc-semigroupoids" ,ghc-semigroupoids)
193 ("ghc-semigroups" ,ghc-semigroups)
194 ("ghc-transformers-compat" ,ghc-transformers-compat)
195 ("ghc-void" ,ghc-void)))
658dbc7f 196 (native-inputs
dddbc90c
RV
197 `(("ghc-generic-deriving" ,ghc-generic-deriving)
198 ("ghc-hspec" ,ghc-hspec)
199 ("hspec-discover" ,hspec-discover)))
200 (home-page "https://github.com/ekmett/adjunctions/")
201 (synopsis "Adjunctions and representable functors")
202 (description "This library provides adjunctions and representable functors
203for Haskell.")
204 (license license:bsd-3)))
205
206(define-public ghc-aeson-compat
207 (package
208 (name "ghc-aeson-compat")
0bafb755 209 (version "0.3.9")
dddbc90c
RV
210 (source
211 (origin
212 (method url-fetch)
213 (uri (string-append "https://hackage.haskell.org/package/"
214 "aeson-compat-" version "/"
215 "aeson-compat-" version ".tar.gz"))
216 (sha256
217 (base32
0bafb755 218 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
219 (build-system haskell-build-system)
220 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
221 (inputs `(("ghc-base-compat" ,ghc-base-compat)
222 ("ghc-aeson" ,ghc-aeson)
223 ("ghc-attoparsec" ,ghc-attoparsec)
224 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
225 ("ghc-exceptions" ,ghc-exceptions)
226 ("ghc-hashable" ,ghc-hashable)
227 ("ghc-scientific" ,ghc-scientific)
228 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
229 ("ghc-unordered-containers" ,ghc-unordered-containers)
230 ("ghc-vector" ,ghc-vector)
231 ("ghc-tagged" ,ghc-tagged)
232 ("ghc-semigroups" ,ghc-semigroups)
233 ("ghc-nats" ,ghc-nats)))
234 (home-page "https://github.com/phadej/aeson-compat")
235 (synopsis "Compatibility layer for ghc-aeson")
236 (description "This Haskell package provides compatibility layer for
237ghc-aeson.")
238 (license license:bsd-3)))
239
cbc6f861
TS
240(define-public ghc-aeson-diff
241 (package
242 (name "ghc-aeson-diff")
243 (version "1.1.0.7")
244 (source
245 (origin
246 (method url-fetch)
247 (uri (string-append "https://hackage.haskell.org/package/"
248 "aeson-diff/aeson-diff-" version ".tar.gz"))
249 (sha256
250 (base32
251 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
252 (build-system haskell-build-system)
253 (inputs
254 `(("ghc-aeson" ,ghc-aeson)
255 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
256 ("ghc-hashable" ,ghc-hashable)
257 ("ghc-scientific" ,ghc-scientific)
258 ("ghc-unordered-containers" ,ghc-unordered-containers)
259 ("ghc-vector" ,ghc-vector)
260 ("ghc-semigroups" ,ghc-semigroups)
261 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
262 (native-inputs
263 `(("ghc-quickcheck" ,ghc-quickcheck)
264 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
265 ("ghc-glob" ,ghc-glob)
266 ("ghc-quickcheck" ,ghc-quickcheck)
267 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
268 ("ghc-quickcheck" ,ghc-quickcheck)
269 ("ghc-doctest" ,ghc-doctest)
270 ("hlint" ,hlint)))
271 (home-page "https://github.com/thsutton/aeson-diff")
272 (synopsis "Extract and apply patches to JSON documents")
273 (description "This is a small library for working with changes to JSON
274documents. It includes a library and two command-line executables in the
275style of the @command{diff} and @command{patch} commands available on many
276systems.")
277 (license license:bsd-3)))
278
dddbc90c
RV
279(define-public ghc-alex
280 (package
281 (name "ghc-alex")
282 (version "3.2.4")
283 (source
284 (origin
285 (method url-fetch)
286 (uri (string-append
287 "https://hackage.haskell.org/package/alex/alex-"
288 version
289 ".tar.gz"))
290 (sha256
291 (base32
292 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
293 (build-system haskell-build-system)
658dbc7f 294 (arguments
dddbc90c
RV
295 `(#:phases
296 (modify-phases %standard-phases
297 (add-before 'check 'set-check-variables
298 (lambda _
299 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
300 (getenv "PATH")))
301 (setenv "alex_datadir" (string-append (getcwd) "/data"))
302 #t)))))
303 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
304 (native-inputs
305 `(("which" ,which)))
306 (home-page "https://www.haskell.org/alex/")
307 (synopsis
308 "Tool for generating lexical analysers in Haskell")
309 (description
310 "Alex is a tool for generating lexical analysers in Haskell. It takes a
311description of tokens based on regular expressions and generates a Haskell
312module containing code for scanning text efficiently. It is similar to the
313tool lex or flex for C/C++.")
658dbc7f
RV
314 (license license:bsd-3)))
315
dddbc90c 316(define-public ghc-alsa-core
7b01a977 317 (package
dddbc90c
RV
318 (name "ghc-alsa-core")
319 (version "0.5.0.1")
320 (source
321 (origin
322 (method url-fetch)
323 (uri (string-append
324 "mirror://hackage/package/alsa-core/alsa-core-"
325 version
326 ".tar.gz"))
327 (sha256
328 (base32
329 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
330 (build-system haskell-build-system)
331 (inputs
332 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
333 ("alsa-lib" ,alsa-lib)))
334 (native-inputs
335 `(("pkg-config" ,pkg-config)))
336 (home-page "http://www.haskell.org/haskellwiki/ALSA")
337 (synopsis "Binding to the ALSA Library API (Exceptions)")
338 (description "This package provides access to ALSA infrastructure, that is
339needed by both alsa-seq and alsa-pcm.")
340 (license license:bsd-3)))
341
f2ed1e6d
JS
342(define-public ghc-alsa-mixer
343 (package
344 (name "ghc-alsa-mixer")
345 (version "0.3.0")
346 (source
347 (origin
348 (method url-fetch)
349 (uri
350 (string-append
351 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
352 version ".tar.gz"))
353 (sha256
354 (base32
355 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
356 (build-system haskell-build-system)
357 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
358 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
359 (home-page "https://github.com/ttuegel/alsa-mixer")
360 (synopsis "Bindings to the ALSA simple mixer API")
361 (description
362 "This package provides bindings to the ALSA simple mixer API.")
363 (license license:bsd-3)))
364
dddbc90c
RV
365(define-public ghc-annotated-wl-pprint
366 (package
367 (name "ghc-annotated-wl-pprint")
368 (version "0.7.0")
369 (source
370 (origin
371 (method url-fetch)
372 (uri (string-append
373 "https://hackage.haskell.org/package/annotated-wl-pprint"
374 "/annotated-wl-pprint-" version
375 ".tar.gz"))
376 (sha256
377 (base32
378 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
379 (build-system haskell-build-system)
380 (home-page
381 "https://github.com/david-christiansen/annotated-wl-pprint")
382 (synopsis
383 "The Wadler/Leijen Pretty Printer, with annotation support")
384 (description "This is a modified version of wl-pprint, which was based on
385Wadler's paper \"A Prettier Printer\". This version allows the library user
386to annotate the text with semantic information, which can later be rendered in
387a variety of ways.")
388 (license license:bsd-3)))
389
390(define-public ghc-ansi-terminal
391 (package
392 (name "ghc-ansi-terminal")
f1b4a73f 393 (version "0.9.1")
dddbc90c
RV
394 (source
395 (origin
396 (method url-fetch)
397 (uri (string-append
398 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
399 version
400 ".tar.gz"))
401 (sha256
402 (base32
f1b4a73f 403 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
404 (build-system haskell-build-system)
405 (inputs
406 `(("ghc-colour" ,ghc-colour)))
407 (home-page "https://github.com/feuerbach/ansi-terminal")
408 (synopsis "ANSI terminal support for Haskell")
409 (description "This package provides ANSI terminal support for Haskell. It
410allows cursor movement, screen clearing, color output showing or hiding the
411cursor, and changing the title.")
412 (license license:bsd-3)))
413
414(define-public ghc-ansi-wl-pprint
415 (package
416 (name "ghc-ansi-wl-pprint")
c38746eb 417 (version "0.6.9")
7b01a977
RV
418 (source
419 (origin
420 (method url-fetch)
421 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 422 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
423 version ".tar.gz"))
424 (sha256
425 (base32
c38746eb 426 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
427 (build-system haskell-build-system)
428 (inputs
dddbc90c
RV
429 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
430 (home-page "https://github.com/ekmett/ansi-wl-pprint")
431 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
432 (description "This is a pretty printing library based on Wadler's paper
433\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
434colored output using the ansi-terminal package.")
435 (license license:bsd-3)))
436
437(define-public ghc-appar
438 (package
439 (name "ghc-appar")
1159d1a5 440 (version "0.1.8")
dddbc90c
RV
441 (source
442 (origin
443 (method url-fetch)
444 (uri (string-append
445 "https://hackage.haskell.org/package/appar/appar-"
446 version
447 ".tar.gz"))
448 (sha256
449 (base32
1159d1a5 450 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
451 (build-system haskell-build-system)
452 (home-page
453 "https://hackage.haskell.org/package/appar")
454 (synopsis "Simple applicative parser")
455 (description "This package provides a simple applicative parser in Parsec
456style.")
457 (license license:bsd-3)))
458
af369394
JS
459(define-public ghc-assoc
460 (package
461 (name "ghc-assoc")
462 (version "1.0.1")
463 (source
464 (origin
465 (method url-fetch)
466 (uri (string-append
467 "https://hackage.haskell.org/package/assoc/assoc-"
468 version
469 ".tar.gz"))
470 (sha256
471 (base32
472 "1m9n4vp190bvn2wcrd4ggfwa9pi93jp0zgx02mdgywn2zfidw020"))))
473 (build-system haskell-build-system)
474 (inputs
475 `(("ghc-bifunctors" ,ghc-bifunctors)
476 ("ghc-tagged" ,ghc-tagged)))
477 (home-page
478 "http://hackage.haskell.org/package/assoc")
479 (synopsis
480 "Swap and assoc: Symmetric and Semigroupy Bifunctors")
481 (description
482 "Provides generalisations of @code{swap :: (a,b) -> (b,a)} and
483@code{assoc :: ((a,b),c) -> (a,(b,c))} to @code{Bifunctor}s supporting
484similar operations (e.g. @code{Either}, @code{These}).")
485 (license license:bsd-3)))
486
dddbc90c
RV
487(define-public ghc-async
488 (package
489 (name "ghc-async")
048ef066 490 (version "2.2.2")
dddbc90c
RV
491 (source
492 (origin
493 (method url-fetch)
494 (uri (string-append
495 "https://hackage.haskell.org/package/async/async-"
496 version
497 ".tar.gz"))
498 (sha256
499 (base32
048ef066 500 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
501 (build-system haskell-build-system)
502 (inputs
503 `(("ghc-hashable" ,ghc-hashable)
504 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
505 ("ghc-test-framework" ,ghc-test-framework)
506 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
507 (home-page "https://github.com/simonmar/async")
508 (synopsis "Library to run IO operations asynchronously")
509 (description "Async provides a library to run IO operations
510asynchronously, and wait for their results. It is a higher-level interface
511over threads in Haskell, in which @code{Async a} is a concurrent thread that
512will eventually deliver a value of type @code{a}.")
7b01a977
RV
513 (license license:bsd-3)))
514
9ad9ec2e
AG
515(define-public ghc-atomic-primops
516 (package
517 (name "ghc-atomic-primops")
af16c6b0 518 (version "0.8.3")
9ad9ec2e
AG
519 (source
520 (origin
521 (method url-fetch)
522 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
523 "/atomic-primops-" version ".tar.gz"))
524 (sha256
525 (base32
af16c6b0 526 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
9ad9ec2e
AG
527 (build-system haskell-build-system)
528 (inputs `(("ghc-primitive" ,ghc-primitive)))
529 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
530 (synopsis "Safe approach to CAS and other atomic ops")
531 (description
532 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
533use safely, because pointer equality is a highly unstable property in Haskell.
534This library provides a safer method based on the concept of @code{Ticket}s.")
535 (license license:bsd-3)))
536
dddbc90c 537(define-public ghc-atomic-write
79fcc5e5 538 (package
dddbc90c 539 (name "ghc-atomic-write")
c09d1e62 540 (version "0.2.0.6")
79fcc5e5
RV
541 (source
542 (origin
543 (method url-fetch)
dddbc90c
RV
544 (uri (string-append
545 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
546 version
547 ".tar.gz"))
79fcc5e5
RV
548 (sha256
549 (base32
c09d1e62 550 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
551 (build-system haskell-build-system)
552 (inputs
553 `(("ghc-temporary" ,ghc-temporary)
554 ("ghc-unix-compat" ,ghc-unix-compat)))
555 (native-inputs
556 `(("ghc-temporary" ,ghc-temporary)
557 ("ghc-unix-compat" ,ghc-unix-compat)
558 ("ghc-hspec" ,ghc-hspec)
559 ("hspec-discover" ,hspec-discover)))
560 (home-page "https://github.com/stackbuilders/atomic-write")
561 (synopsis "Atomically write to a file")
562 (description
563 "Atomically write to a file on POSIX-compliant systems while preserving
564permissions. @code{mv} is an atomic operation. This makes it simple to write
565to a file atomically just by using the @code{mv} operation. However, this
566will destroy the permissions on the original file. This library preserves
567permissions while atomically writing to a file.")
568 (license license:expat)))
569
b7250901
JS
570(define-public ghc-atomic-write-0.2.0.7
571 (package
572 (inherit ghc-atomic-write)
573 (version "0.2.0.7")
574 (source
575 (origin
576 (inherit (package-source ghc-atomic-write))
577 (uri (string-append
578 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
579 version
580 ".tar.gz"))
581 (sha256
582 (base32
583 "03cn3ii74h0w3g4h78xsx9v2sn58r3qsr2dbdwq340xwhiwcgxdm"))))))
584
dddbc90c
RV
585(define-public ghc-attoparsec
586 (package
587 (name "ghc-attoparsec")
511c3204 588 (version "0.13.2.3")
dddbc90c
RV
589 (source
590 (origin
591 (method url-fetch)
592 (uri (string-append
593 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
594 version
595 ".tar.gz"))
596 (sha256
597 (base32
511c3204 598 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 599 (build-system haskell-build-system)
79fcc5e5 600 (arguments
dddbc90c
RV
601 `(#:phases
602 (modify-phases %standard-phases
603 (add-after 'unpack 'patch-for-newer-quickcheck
604 (lambda _
605 (substitute* "attoparsec.cabal"
606 (("QuickCheck >= 2\\.7 && < 2\\.10")
607 "QuickCheck >= 2.7 && < 2.12"))
608 ;; This test fails because of the newer QuickCheck:
609 ;; <https://github.com/bos/attoparsec/issues/134>.
610 (substitute* "tests/QC/ByteString.hs"
611 ((", testProperty \"satisfyWith\" satisfyWith")
612 "")))))))
613 (inputs
614 `(("ghc-scientific" ,ghc-scientific)))
615 (native-inputs
616 `(("ghc-tasty" ,ghc-tasty)
617 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
618 ("ghc-quickcheck" ,ghc-quickcheck)
619 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
620 ("ghc-vector" ,ghc-vector)))
621 (home-page "https://github.com/bos/attoparsec")
622 (synopsis "Fast combinator parsing for bytestrings and text")
623 (description "This library provides a fast parser combinator library,
624aimed particularly at dealing efficiently with network protocols and
625complicated text/binary file formats.")
79fcc5e5
RV
626 (license license:bsd-3)))
627
dddbc90c 628(define-public ghc-attoparsec-bootstrap
6b34d01c 629 (package
dddbc90c
RV
630 (inherit ghc-attoparsec)
631 (name "ghc-attoparsec-bootstrap")
632 (arguments `(#:tests? #f))
633 (inputs
634 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
635 (native-inputs '())
799d8d3c 636 (properties '((hidden? #t)))))
dddbc90c
RV
637
638(define-public ghc-attoparsec-iso8601
639 (package
640 (name "ghc-attoparsec-iso8601")
97f267c8 641 (version "1.0.1.0")
6b34d01c
RV
642 (source
643 (origin
644 (method url-fetch)
645 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
646 "attoparsec-iso8601-" version "/"
647 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
648 (sha256
649 (base32
97f267c8 650 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 651 (build-system haskell-build-system)
dddbc90c
RV
652 (arguments
653 `(#:cabal-revision
97f267c8 654 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
655 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
656 ("ghc-base-compat" ,ghc-base-compat)))
657 (home-page "https://github.com/bos/aeson")
658 (synopsis "Parse ISO 8601 dates")
659 (description "Haskell library for parsing of ISO 8601 dates, originally
660from aeson.")
6b34d01c 661 (license license:bsd-3)))
b57e99f5 662
dddbc90c 663(define-public ghc-auto-update
b57e99f5 664 (package
dddbc90c 665 (name "ghc-auto-update")
11b1b6cd 666 (version "0.1.6")
dddbc90c
RV
667 (source
668 (origin
669 (method url-fetch)
670 (uri (string-append
671 "https://hackage.haskell.org/package/auto-update/auto-update-"
672 version
673 ".tar.gz"))
674 (sha256
675 (base32
11b1b6cd 676 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 677 (build-system haskell-build-system)
11b1b6cd
TS
678 (native-inputs
679 `(("ghc-hspec" ,ghc-hspec)
680 ("ghc-hunit" ,ghc-hunit)
681 ("ghc-retry" ,ghc-retry)
682 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
683 (home-page "https://github.com/yesodweb/wai")
684 (synopsis "Efficiently run periodic, on-demand actions")
685 (description "This library provides mechanisms to efficiently run
686periodic, on-demand actions in Haskell.")
687 (license license:expat)))
688
689(define-public ghc-aws
690 (package
691 (name "ghc-aws")
692 (version "0.20")
b57e99f5
RV
693 (source
694 (origin
695 (method url-fetch)
696 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
697 "aws-" version "/aws-" version ".tar.gz"))
698 (sha256 (base32
699 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
700 (build-system haskell-build-system)
701 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
702 (inputs
703 `(("ghc-aeson" ,ghc-aeson)
704 ("ghc-attoparsec" ,ghc-attoparsec)
705 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
706 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
707 ("ghc-blaze-builder" ,ghc-blaze-builder)
708 ("ghc-byteable" ,ghc-byteable)
709 ("ghc-case-insensitive" ,ghc-case-insensitive)
710 ("ghc-cereal" ,ghc-cereal)
711 ("ghc-conduit" ,ghc-conduit)
712 ("ghc-conduit-extra" ,ghc-conduit-extra)
713 ("ghc-cryptonite" ,ghc-cryptonite)
714 ("ghc-data-default" ,ghc-data-default)
715 ("ghc-http-conduit" ,ghc-http-conduit)
716 ("ghc-http-types" ,ghc-http-types)
717 ("ghc-lifted-base" ,ghc-lifted-base)
718 ("ghc-monad-control" ,ghc-monad-control)
719 ("ghc-network" ,ghc-network)
720 ("ghc-old-locale" ,ghc-old-locale)
721 ("ghc-safe" ,ghc-safe)
722 ("ghc-scientific" ,ghc-scientific)
723 ("ghc-tagged" ,ghc-tagged)
724 ("ghc-unordered-containers" ,ghc-unordered-containers)
725 ("ghc-utf8-string" ,ghc-utf8-string)
726 ("ghc-vector" ,ghc-vector)
727 ("ghc-xml-conduit" ,ghc-xml-conduit)))
728 (native-inputs
729 `(("ghc-quickcheck" ,ghc-quickcheck)
730 ("ghc-errors" ,ghc-errors)
731 ("ghc-http-client" ,ghc-http-client)
732 ("ghc-http-client-tls" ,ghc-http-client-tls)
733 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
734 ("ghc-tasty" ,ghc-tasty)
735 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
736 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
737 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
738 (home-page "https://github.com/aristidb/aws")
739 (synopsis "Amazon Web Services for Haskell")
740 (description "This package attempts to provide support for using
741Amazon Web Services like S3 (storage), SQS (queuing) and others to
742Haskell programmers. The ultimate goal is to support all Amazon
743Web Services.")
744 (license license:bsd-3)))
745
746(define-public ghc-base16-bytestring
747 (package
748 (name "ghc-base16-bytestring")
749 (version "0.1.1.6")
750 (source
751 (origin
752 (method url-fetch)
753 (uri (string-append
754 "https://hackage.haskell.org/package/base16-bytestring/"
755 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
756 (sha256
757 (base32
dddbc90c 758 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 759 (build-system haskell-build-system)
dddbc90c
RV
760 (home-page "https://github.com/bos/base16-bytestring")
761 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
762 (description
763 "This package provides a Haskell library for working with base16-encoded
764data quickly and efficiently, using the ByteString type.")
b57e99f5 765 (license license:bsd-3)))
bbf8bf31 766
dddbc90c 767(define-public ghc-base64-bytestring
bbf8bf31 768 (package
dddbc90c
RV
769 (name "ghc-base64-bytestring")
770 (version "1.0.0.2")
bbf8bf31
RV
771 (source
772 (origin
773 (method url-fetch)
dddbc90c
RV
774 (uri (string-append
775 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
776 version
777 ".tar.gz"))
778 (sha256
779 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
780 (build-system haskell-build-system)
781 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
782 (home-page "https://github.com/bos/base64-bytestring")
783 (synopsis "Base64 encoding and decoding for ByteStrings")
784 (description "This library provides fast base64 encoding and decoding for
785Haskell @code{ByteString}s.")
786 (license license:bsd-3)))
787
788(define-public ghc-base-compat
789 (package
790 (name "ghc-base-compat")
4daaa371 791 (version "0.10.5")
dddbc90c
RV
792 (source
793 (origin
794 (method url-fetch)
795 (uri (string-append
796 "https://hackage.haskell.org/package/base-compat/base-compat-"
797 version
798 ".tar.gz"))
bbf8bf31
RV
799 (sha256
800 (base32
4daaa371 801 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
802 (build-system haskell-build-system)
803 (native-inputs
dddbc90c
RV
804 `(("ghc-quickcheck" ,ghc-quickcheck)
805 ("ghc-hspec" ,ghc-hspec)
806 ("hspec-discover" ,hspec-discover)))
807 (home-page "https://hackage.haskell.org/package/base-compat")
808 (synopsis "Haskell compiler compatibility library")
809 (description "This library provides functions available in later versions
810of base to a wider range of compilers, without requiring the use of CPP
811pragmas in your code.")
812 (license license:bsd-3)))
813
f9d78c7f
TS
814(define-public ghc-base-compat-batteries
815 (package
816 (name "ghc-base-compat-batteries")
817 (version "0.10.5")
818 (source
819 (origin
820 (method url-fetch)
821 (uri (string-append "https://hackage.haskell.org/package/"
822 "base-compat-batteries/base-compat-batteries-"
823 version ".tar.gz"))
824 (sha256
825 (base32
826 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
827 (build-system haskell-build-system)
828 (inputs
829 `(("ghc-base-compat" ,ghc-base-compat)))
830 (native-inputs
831 `(("ghc-hspec" ,ghc-hspec)
832 ("ghc-quickcheck" ,ghc-quickcheck)
833 ("hspec-discover" ,hspec-discover)))
834 (arguments
835 `(#:cabal-revision
836 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
3ef91e15 837 (home-page "https://hackage.haskell.org/package/base-compat-batteries")
f9d78c7f
TS
838 (synopsis "base-compat with extra batteries")
839 (description "This library provides functions available in later
840versions of @code{base} to a wider range of compilers, without requiring
841you to use CPP pragmas in your code. This package provides the same API
842as the @code{base-compat} library, but depends on compatibility
843packages (such as @code{semigroups}) to offer a wider support window
844than @code{base-compat}, which has no dependencies.")
845 (license license:expat)))
846
dddbc90c
RV
847(define-public ghc-basement
848 (package
849 (name "ghc-basement")
8b56c1fd 850 (version "0.0.11")
dddbc90c
RV
851 (source
852 (origin
853 (method url-fetch)
854 (uri (string-append "https://hackage.haskell.org/package/"
855 "basement/basement-" version ".tar.gz"))
856 (sha256
857 (base32
8b56c1fd 858 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
859 (build-system haskell-build-system)
860 (home-page "https://github.com/haskell-foundation/foundation")
861 (synopsis "Basic primitives for Foundation starter pack")
862 (description
863 "This package contains basic primitives for the Foundation set of
864packages.")
865 (license license:bsd-3)))
866
867(define-public ghc-base-orphans
868 (package
869 (name "ghc-base-orphans")
780477fb 870 (version "0.8.1")
dddbc90c
RV
871 (source
872 (origin
873 (method url-fetch)
874 (uri (string-append
875 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
876 version
877 ".tar.gz"))
878 (sha256
879 (base32
780477fb 880 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
881 (build-system haskell-build-system)
882 (native-inputs
883 `(("ghc-quickcheck" ,ghc-quickcheck)
884 ("ghc-hspec" ,ghc-hspec)
885 ("hspec-discover" ,hspec-discover)))
886 (home-page "https://hackage.haskell.org/package/base-orphans")
887 (synopsis "Orphan instances for backwards compatibility")
888 (description "This package defines orphan instances that mimic instances
889available in later versions of base to a wider (older) range of compilers.")
890 (license license:bsd-3)))
891
892(define-public ghc-base-prelude
893 (package
894 (name "ghc-base-prelude")
895 (version "1.3")
896 (source
897 (origin
898 (method url-fetch)
899 (uri (string-append "https://hackage.haskell.org/package/"
900 "base-prelude-" version "/"
901 "base-prelude-" version ".tar.gz"))
902 (sha256
903 (base32
904 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
905 (build-system haskell-build-system)
906 (home-page "https://github.com/nikita-volkov/base-prelude")
907 (synopsis "The most complete prelude formed solely from the Haskell's base
908package")
909 (description "This Haskell package aims to reexport all the non-conflicting
910and most general definitions from the \"base\" package.
911
912This includes APIs for applicatives, arrows, monoids, foldables, traversables,
913exceptions, generics, ST, MVars and STM.
914
915This package will never have any dependencies other than \"base\".
916
917Versioning policy:
918
919The versioning policy of this package deviates from PVP in the sense
920that its exports in part are transitively determined by the version of \"base\".
921Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
922the bounds of \"base\" as well.")
923 (license license:expat)))
924
925(define-public ghc-base-unicode-symbols
926 (package
927 (name "ghc-base-unicode-symbols")
928 (version "0.2.3")
929 (source
930 (origin
931 (method url-fetch)
932 (uri (string-append
933 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
934 version
935 ".tar.gz"))
936 (sha256
937 (base32
938 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
939 (build-system haskell-build-system)
940 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
941 (synopsis "Unicode alternatives for common functions and operators")
942 (description "This package defines new symbols for a number of functions,
943operators and types in the base package. All symbols are documented with
944their actual definition and information regarding their Unicode code point.
945They should be completely interchangeable with their definitions. For
946further Unicode goodness you can enable the @code{UnicodeSyntax}
947@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
948language extension}. This extension enables Unicode characters to be used to
949stand for certain ASCII character sequences, i.e. → instead of @code{->},
950∀ instead of @code{forall} and many others.")
951 (license license:bsd-3)))
952
ec8491b0
ASM
953(define-public ghc-basic-prelude
954 (package
955 (name "ghc-basic-prelude")
956 (version "0.7.0")
957 (source
958 (origin
959 (method url-fetch)
960 (uri (string-append
961 "https://hackage.haskell.org/package/basic-prelude/"
962 "basic-prelude-" version ".tar.gz"))
963 (sha256
964 (base32
965 "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h"))))
966 (build-system haskell-build-system)
967 (inputs
968 `(("ghc-hashable" ,ghc-hashable)
969 ("ghc-unordered-containers"
970 ,ghc-unordered-containers)
971 ("ghc-vector" ,ghc-vector)))
972 (home-page "https://github.com/snoyberg/basic-prelude#readme")
973 (synopsis "Enhanced core prelude; a common foundation for alternate preludes")
974 (description
975 "The premise of basic-prelude is that there are a lot of very commonly
976desired features missing from the standard Prelude, such as commonly used
977operators (<$> and >=>, for instance) and imports for common datatypes
978(e.g., ByteString and Vector). At the same time, there are lots of other
979components which are more debatable, such as providing polymorphic versions
980of common functions.
981
982So basic-prelude is intended to give a common foundation for a number of
983alternate preludes. The package provides two modules: CorePrelude provides
984the common ground for other preludes to build on top of, while BasicPrelude
985exports CorePrelude together with commonly used list functions to provide a
986drop-in replacement for the standard Prelude.
987
988Users wishing to have an improved Prelude can use BasicPrelude. Developers
989wishing to create a new prelude should use CorePrelude.")
990 (license license:expat)))
991
dddbc90c
RV
992(define-public ghc-bifunctors
993 (package
994 (name "ghc-bifunctors")
0beaec66 995 (version "5.5.5")
dddbc90c
RV
996 (source
997 (origin
998 (method url-fetch)
999 (uri (string-append
1000 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
1001 version
1002 ".tar.gz"))
1003 (sha256
1004 (base32
0beaec66 1005 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
1006 (build-system haskell-build-system)
1007 (inputs
1008 `(("ghc-base-orphans" ,ghc-base-orphans)
1009 ("ghc-comonad" ,ghc-comonad)
1010 ("ghc-th-abstraction" ,ghc-th-abstraction)
1011 ("ghc-transformers-compat" ,ghc-transformers-compat)
1012 ("ghc-tagged" ,ghc-tagged)
1013 ("ghc-semigroups" ,ghc-semigroups)))
1014 (native-inputs
1015 `(("ghc-hspec" ,ghc-hspec)
1016 ("hspec-discover" ,hspec-discover)
1017 ("ghc-quickcheck" ,ghc-quickcheck)))
1018 (home-page "https://github.com/ekmett/bifunctors/")
1019 (synopsis "Bifunctors for Haskell")
1020 (description "This package provides bifunctors for Haskell.")
1021 (license license:bsd-3)))
1022
1023(define-public ghc-bindings-dsl
1024 (package
1025 (name "ghc-bindings-dsl")
1026 (version "1.0.25")
1027 (source
1028 (origin
1029 (method url-fetch)
1030 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
1031 "bindings-DSL-" version ".tar.gz"))
1032 (sha256
1033 (base32
1034 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
1035 (build-system haskell-build-system)
1036 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
1037 (synopsis "FFI domain specific language, on top of hsc2hs")
1038 (description
1039 "This is a set of macros to be used when writing Haskell FFI. They were
1040designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
1041extract from them all Haskell code needed to mimic such interfaces. All
1042Haskell names used are automatically derived from C names, structures are
1043mapped to Haskell instances of @code{Storable}, and there are also macros you
1044can use with C code to help write bindings to inline functions or macro
1045functions.")
1046 (license license:bsd-3)))
1047
64f42786
TS
1048(define-public ghc-bitarray
1049 (package
1050 (name "ghc-bitarray")
1051 (version "0.0.1.1")
1052 (source
1053 (origin
1054 (method url-fetch)
1055 (uri (string-append "https://hackage.haskell.org/package/"
1056 "bitarray/bitarray-" version ".tar.gz"))
1057 (sha256
1058 (base32
1059 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
1060 (build-system haskell-build-system)
1061 (arguments
1062 `(#:cabal-revision
1063 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
1064 (home-page "https://hackage.haskell.org/package/bitarray")
1065 (synopsis "Mutable and immutable bit arrays")
1066 (description "The package provides mutable and immutable bit arrays.")
1067 (license license:bsd-3)))
1068
dddbc90c
RV
1069(define-public ghc-blaze-builder
1070 (package
1071 (name "ghc-blaze-builder")
1072 (version "0.4.1.0")
1073 (source
1074 (origin
1075 (method url-fetch)
1076 (uri (string-append
1077 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
1078 version
1079 ".tar.gz"))
1080 (sha256
1081 (base32
1082 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
1083 (build-system haskell-build-system)
1084 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
1085 (inputs
1086 `(("ghc-utf8-string" ,ghc-utf8-string)))
1087 (home-page "https://github.com/lpsmith/blaze-builder")
1088 (synopsis "Efficient buffered output")
1089 (description "This library provides an implementation of the older
1090@code{blaze-builder} interface in terms of the new builder that shipped with
1091@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1092bridge to the new builder, so that code that uses the old interface can
1093interoperate with code that uses the new implementation.")
1094 (license license:bsd-3)))
1095
1096(define-public ghc-blaze-markup
1097 (package
1098 (name "ghc-blaze-markup")
7d30fcf3 1099 (version "0.8.2.3")
dddbc90c
RV
1100 (source
1101 (origin
1102 (method url-fetch)
1103 (uri (string-append "https://hackage.haskell.org/package/"
1104 "blaze-markup/blaze-markup-"
1105 version ".tar.gz"))
1106 (sha256
1107 (base32
7d30fcf3 1108 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
1109 (build-system haskell-build-system)
1110 (arguments
1111 `(#:phases
1112 (modify-phases %standard-phases
1113 (add-before 'configure 'update-constraints
1114 (lambda _
1115 (substitute* "blaze-markup.cabal"
1116 (("tasty >= 1\\.0 && < 1\\.1")
1117 "tasty >= 1.0 && < 1.2")))))))
1118 (inputs
1119 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1120 (native-inputs
1121 `(("ghc-hunit" ,ghc-hunit)
1122 ("ghc-quickcheck" ,ghc-quickcheck)
1123 ("ghc-tasty" ,ghc-tasty)
1124 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1125 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1126 (home-page "https://jaspervdj.be/blaze")
1127 (synopsis "Fast markup combinator library for Haskell")
1128 (description "This library provides core modules of a markup combinator
1129library for Haskell.")
1130 (license license:bsd-3)))
1131
1132(define-public ghc-bloomfilter
1133 (package
1134 (name "ghc-bloomfilter")
1135 (version "2.0.1.0")
1136 (source
1137 (origin
1138 (method url-fetch)
1139 (uri (string-append "https://hackage.haskell.org/package/"
1140 "bloomfilter/bloomfilter-" version ".tar.gz"))
1141 (sha256
1142 (base32
1143 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1144 (build-system haskell-build-system)
1145 (native-inputs
1146 `(("ghc-quickcheck" ,ghc-quickcheck)
1147 ("ghc-random" ,ghc-random)
1148 ("ghc-test-framework" ,ghc-test-framework)
1149 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1150 (home-page "https://github.com/bos/bloomfilter")
1151 (synopsis "Pure and impure Bloom filter implementations")
1152 (description "This package provides both mutable and immutable Bloom
1153filter data types, along with a family of hash functions and an easy-to-use
1154interface.")
1155 (license license:bsd-3)))
1156
1157(define-public ghc-boxes
1158 (package
1159 (name "ghc-boxes")
1160 (version "0.1.5")
1161 (source
1162 (origin
1163 (method url-fetch)
1164 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1165 version ".tar.gz"))
1166 (sha256
1167 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1168 (build-system haskell-build-system)
1169 (inputs
1170 `(("ghc-split" ,ghc-split)
1171 ("ghc-quickcheck" ,ghc-quickcheck)))
1172 (home-page "https://hackage.haskell.org/package/boxes")
1173 (synopsis "2D text pretty-printing library")
1174 (description
1175 "Boxes is a pretty-printing library for laying out text in two dimensions,
1176using a simple box model.")
1177 (license license:bsd-3)))
1178
1179(define-public ghc-byteable
1180 (package
1181 (name "ghc-byteable")
1182 (version "0.1.1")
1183 (source (origin
1184 (method url-fetch)
1185 (uri (string-append "https://hackage.haskell.org/package/"
1186 "byteable/byteable-" version ".tar.gz"))
1187 (sha256
1188 (base32
1189 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1190 (build-system haskell-build-system)
1191 (home-page "https://github.com/vincenthz/hs-byteable")
1192 (synopsis "Type class for sequence of bytes")
1193 (description
1194 "This package provides an abstract class to manipulate sequence of bytes.
1195The use case of this class is abstracting manipulation of types that are just
1196wrapping a bytestring with stronger and more meaniful name.")
1197 (license license:bsd-3)))
1198
1199(define-public ghc-byteorder
1200 (package
1201 (name "ghc-byteorder")
1202 (version "1.0.4")
1203 (source
1204 (origin
1205 (method url-fetch)
1206 (uri (string-append
1207 "https://hackage.haskell.org/package/byteorder/byteorder-"
1208 version
1209 ".tar.gz"))
1210 (sha256
1211 (base32
1212 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1213 (build-system haskell-build-system)
1214 (home-page
1215 "http://community.haskell.org/~aslatter/code/byteorder")
1216 (synopsis
1217 "Exposes the native endianness of the system")
1218 (description
1219 "This package is for working with the native byte-ordering of the
1220system.")
1221 (license license:bsd-3)))
1222
1223(define-public ghc-bytes
1224 (package
1225 (name "ghc-bytes")
1226 (version "0.15.5")
1227 (source
1228 (origin
1229 (method url-fetch)
1230 (uri
1231 (string-append "https://hackage.haskell.org/package/bytes-"
1232 version "/bytes-"
1233 version ".tar.gz"))
1234 (file-name (string-append name "-" version ".tar.gz"))
1235 (sha256
1236 (base32
1237 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1238 (build-system haskell-build-system)
1239 (inputs `(("ghc-cereal" ,ghc-cereal)
1240 ("cabal-doctest" ,cabal-doctest)
1241 ("ghc-doctest" ,ghc-doctest)
1242 ("ghc-scientific" ,ghc-scientific)
1243 ("ghc-transformers-compat" ,ghc-transformers-compat)
1244 ("ghc-unordered-containers" ,ghc-unordered-containers)
1245 ("ghc-void" ,ghc-void)
1246 ("ghc-vector" ,ghc-vector)))
1247 (synopsis "Serialization between @code{binary} and @code{cereal}")
1248 (description "This package provides a simple compatibility shim that lets
1249you work with both @code{binary} and @code{cereal} with one chunk of
1250serialization code.")
1251 (home-page "https://hackage.haskell.org/package/bytes")
1252 (license license:bsd-3)))
1253
1254(define-public ghc-bytestring-builder
1255 (package
1256 (name "ghc-bytestring-builder")
13ac8a7f 1257 (version "0.10.8.2.0")
dddbc90c
RV
1258 (source
1259 (origin
1260 (method url-fetch)
1261 (uri (string-append
1262 "https://hackage.haskell.org/package/bytestring-builder"
1263 "/bytestring-builder-" version ".tar.gz"))
1264 (sha256
1265 (base32
13ac8a7f 1266 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1267 (build-system haskell-build-system)
1268 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1269 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1270 (synopsis "The new bytestring builder, packaged outside of GHC")
1271 (description "This package provides the bytestring builder that is
1272debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1273Compatibility package for older packages.")
1274 (license license:bsd-3)))
1275
1276(define-public ghc-bytestring-handle
1277 (package
1278 (name "ghc-bytestring-handle")
1279 (version "0.1.0.6")
1280 (source
1281 (origin
1282 (method url-fetch)
1283 (uri (string-append
1284 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1285 version ".tar.gz"))
1286 (sha256
1287 (base32
1288 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1289 (build-system haskell-build-system)
1290 (arguments
853748c4
TS
1291 `(#:cabal-revision
1292 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1293 #:phases
dddbc90c
RV
1294 (modify-phases %standard-phases
1295 (add-before 'configure 'update-constraints
1296 (lambda _
1297 (substitute* "bytestring-handle.cabal"
1298 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1299 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1300 (inputs
1301 `(("ghc-hunit" ,ghc-hunit)
1302 ("ghc-quickcheck" ,ghc-quickcheck)
1303 ("ghc-test-framework" ,ghc-test-framework)
1304 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1305 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1306 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1307 (synopsis "ByteString-backed Handles")
1308 (description "ByteString-backed Handles") ; There is no description
1309 (license license:bsd-3)))
1310
1311(define-public ghc-bytestring-lexing
1312 (package
1313 (name "ghc-bytestring-lexing")
1314 (version "0.5.0.2")
1315 (source
1316 (origin
1317 (method url-fetch)
1318 (uri (string-append "https://hackage.haskell.org/package/"
1319 "bytestring-lexing/bytestring-lexing-"
1320 version ".tar.gz"))
1321 (sha256
1322 (base32
1323 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1324 (build-system haskell-build-system)
1325 (home-page "http://code.haskell.org/~wren/")
1326 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1327 (description
1328 "This package provides tools to parse and produce literals efficiently
1329from strict or lazy bytestrings.")
1330 (license license:bsd-2)))
1331
1332(define-public ghc-bzlib-conduit
1333 (package
1334 (name "ghc-bzlib-conduit")
5fba8d6d 1335 (version "0.3.0.2")
dddbc90c
RV
1336 (source
1337 (origin
1338 (method url-fetch)
1339 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1340 "bzlib-conduit-" version ".tar.gz"))
1341 (sha256
1342 (base32
5fba8d6d 1343 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1344 (build-system haskell-build-system)
1345 (inputs
1346 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1347 ("ghc-conduit" ,ghc-conduit)
1348 ("ghc-data-default-class" ,ghc-data-default-class)
1349 ("ghc-resourcet" ,ghc-resourcet)))
1350 (native-inputs
1351 `(("ghc-hspec" ,ghc-hspec)
1352 ("ghc-random" ,ghc-random)))
1353 (home-page "https://github.com/snoyberg/bzlib-conduit")
1354 (synopsis "Streaming compression/decompression via conduits")
1355 (description
1356 "This package provides Haskell bindings to bzlib and Conduit support for
1357streaming compression and decompression.")
1358 (license license:bsd-3)))
1359
1360(define-public ghc-c2hs
1361 (package
1362 (name "ghc-c2hs")
1363 (version "0.28.6")
1364 (source
1365 (origin
1366 (method url-fetch)
1367 (uri (string-append
1368 "https://hackage.haskell.org/package/c2hs/c2hs-"
1369 version
1370 ".tar.gz"))
1371 (sha256
1372 (base32
1373 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1374 (build-system haskell-build-system)
1375 (inputs
1376 `(("ghc-language-c" ,ghc-language-c)
1377 ("ghc-dlist" ,ghc-dlist)))
1378 (native-inputs
1379 `(("ghc-test-framework" ,ghc-test-framework)
1380 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1381 ("ghc-hunit" ,ghc-hunit)
1382 ("ghc-shelly" ,ghc-shelly)
1383 ("gcc" ,gcc)))
1384 (arguments
1385 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1386 ;; of glibc 2.28.
1387 #:tests? #f
1388
1389 #:phases
1390 (modify-phases %standard-phases
1391 (add-before 'check 'set-cc
1392 ;; add a cc executable in the path, needed for some tests to pass
1393 (lambda* (#:key inputs #:allow-other-keys)
1394 (let ((gcc (assoc-ref inputs "gcc"))
1395 (tmpbin (tmpnam))
1396 (curpath (getenv "PATH")))
1397 (mkdir-p tmpbin)
1398 (symlink (which "gcc") (string-append tmpbin "/cc"))
1399 (setenv "PATH" (string-append tmpbin ":" curpath)))
1400 #t))
1401 (add-after 'check 'remove-cc
1402 ;; clean the tmp dir made in 'set-cc
1403 (lambda _
1404 (let* ((cc-path (which "cc"))
1405 (cc-dir (dirname cc-path)))
1406 (delete-file-recursively cc-dir)
1407 #t))))))
1408 (home-page "https://github.com/haskell/c2hs")
1409 (synopsis "Create Haskell bindings to C libraries")
1410 (description "C->Haskell assists in the development of Haskell bindings to
1411C libraries. It extracts interface information from C header files and
1412generates Haskell code with foreign imports and marshaling. Unlike writing
1413foreign imports by hand (or using hsc2hs), this ensures that C functions are
1414imported with the correct Haskell types.")
1415 (license license:gpl2)))
1416
1417(define-public ghc-cairo
1418 (package
1419 (name "ghc-cairo")
1420 (version "0.13.5.0")
1421 (source
1422 (origin
1423 (method url-fetch)
1424 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1425 "cairo-" version ".tar.gz"))
1426 (sha256
1427 (base32
1428 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1429 (build-system haskell-build-system)
1430 (arguments
1431 `(#:modules ((guix build haskell-build-system)
1432 (guix build utils)
1433 (ice-9 match)
1434 (srfi srfi-26))
1435 #:phases
1436 (modify-phases %standard-phases
1437 ;; FIXME: This is a copy of the standard configure phase with a tiny
1438 ;; difference: this package needs the -package-db flag to be passed
1439 ;; to "runhaskell" in addition to the "configure" action, because it
1440 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1441 ;; this option the Setup.hs file cannot be evaluated. The
1442 ;; haskell-build-system should be changed to pass "-package-db" to
1443 ;; "runhaskell" in any case.
1444 (replace 'configure
1445 (lambda* (#:key outputs inputs tests? (configure-flags '())
1446 #:allow-other-keys)
1447 (let* ((out (assoc-ref outputs "out"))
1448 (name-version (strip-store-file-name out))
1449 (input-dirs (match inputs
1450 (((_ . dir) ...)
1451 dir)
1452 (_ '())))
1453 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1454 (params (append `(,(string-append "--prefix=" out))
1455 `(,(string-append "--libdir=" out "/lib"))
1456 `(,(string-append "--bindir=" out "/bin"))
1457 `(,(string-append
1458 "--docdir=" out
1459 "/share/doc/" name-version))
1460 '("--libsubdir=$compiler/$pkg-$version")
1461 '("--package-db=../package.conf.d")
1462 '("--global")
1463 `(,@(map
1464 (cut string-append "--extra-include-dirs=" <>)
1465 (search-path-as-list '("include") input-dirs)))
1466 `(,@(map
1467 (cut string-append "--extra-lib-dirs=" <>)
1468 (search-path-as-list '("lib") input-dirs)))
1469 (if tests?
1470 '("--enable-tests")
1471 '())
1472 configure-flags)))
1473 (unsetenv "GHC_PACKAGE_PATH")
1474 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1475 "Setup.hs" "configure" params)
1476 (setenv "GHC_PACKAGE_PATH" ghc-path)
1477 #t))))))
1478 (inputs
1479 `(("ghc-utf8-string" ,ghc-utf8-string)
1480 ("cairo" ,cairo)))
1481 (native-inputs
1482 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1483 ("pkg-config" ,pkg-config)))
1484 (home-page "http://projects.haskell.org/gtk2hs/")
1485 (synopsis "Haskell bindings to the Cairo vector graphics library")
1486 (description
1487 "Cairo is a library to render high quality vector graphics. There exist
1488various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1489documents, amongst others.")
1490 (license license:bsd-3)))
1491
1492(define-public ghc-call-stack
1493 (package
1494 (name "ghc-call-stack")
1495 (version "0.1.0")
1496 (source
1497 (origin
1498 (method url-fetch)
1499 (uri (string-append "https://hackage.haskell.org/package/"
1500 "call-stack/call-stack-"
1501 version ".tar.gz"))
1502 (sha256
1503 (base32
1504 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1505 (build-system haskell-build-system)
1506 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1507 (home-page "https://github.com/sol/call-stack#readme")
1508 (synopsis "Use GHC call-stacks in a backward compatible way")
1509 (description "This package provides a compatibility layer for using GHC
1510call stacks with different versions of the compiler.")
1511 (license license:expat)))
1512
1513;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1514;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1515(define-public ghc-call-stack-boot
1516 (hidden-package
1517 (package
1518 (inherit ghc-call-stack)
1519 (arguments '(#:tests? #f))
1520 (inputs '()))))
1521
1522(define-public ghc-case-insensitive
1523 (package
1524 (name "ghc-case-insensitive")
1525 (version "1.2.0.11")
1526 (outputs '("out" "doc"))
1527 (source
1528 (origin
1529 (method url-fetch)
1530 (uri (string-append
1531 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1532 version
1533 ".tar.gz"))
1534 (sha256
1535 (base32
1536 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1537 (build-system haskell-build-system)
1538 ;; these inputs are necessary to use this library
1539 (inputs
1540 `(("ghc-hashable" ,ghc-hashable)))
1541 (arguments
1542 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1543 (home-page
1544 "https://github.com/basvandijk/case-insensitive")
1545 (synopsis "Case insensitive string comparison")
1546 (description
1547 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1548constructor which can be parameterised by a string-like type like:
1549@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1550the resulting type will be insensitive to cases.")
1551 (license license:bsd-3)))
1552
6ba536a1
JS
1553(define-public ghc-cborg
1554 (package
1555 (name "ghc-cborg")
1556 (version "0.2.2.0")
1557 (source
1558 (origin
1559 (method url-fetch)
1560 (uri (string-append
1561 "mirror://hackage/package/cborg/cborg-"
1562 version
1563 ".tar.gz"))
1564 (sha256
1565 (base32
1566 "1rdnvy0w17s70ikmbyrnwax5rvqh19l95sh8i7ipgxi23z1r0bp1"))))
1567 (build-system haskell-build-system)
1568 (inputs
1569 `(("ghc-half" ,ghc-half)
1570 ("ghc-primitive" ,ghc-primitive)))
1571 (native-inputs
1572 `(("ghc-aeson" ,ghc-aeson)
1573 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
1574 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
1575 ("ghc-fail" ,ghc-fail)
1576 ("ghc-quickcheck" ,ghc-quickcheck)
1577 ("ghc-scientific" ,ghc-scientific)
1578 ("ghc-tasty" ,ghc-tasty)
1579 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1580 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
1581 ("ghc-vector" ,ghc-vector)))
1582 (home-page "http://hackage.haskell.org/package/cborg")
1583 (synopsis "Concise Binary Object Representation")
1584 (description
1585 "This package (formerly binary-serialise-cbor) provides an
1586efficient implementation of the Concise Binary Object
1587Representation (CBOR), as specified by RFC 7049 at
1588https://tools.ietf.org/html/rfc7049.
1589
1590If you are looking for a library for serialisation of Haskell values, have a
1591look at the @url{https://hackage.haskell.org/package/serialise} package, which
1592is built upon this library.
1593
1594An implementation of the standard bijection between CBOR and JSON is provided
1595by the @url{https://hackage.haskell.org/package/cborg-json} package.
1596
1597Also see @code{https://hackage.haskell.org/package/cbor-tool} for a convenient
1598command-line utility for working with CBOR data.")
1599 (license license:bsd-3)))
1600
5434fec9
JS
1601(define-public ghc-cborg-json
1602 (package
1603 (name "ghc-cborg-json")
1604 (version "0.2.2.0")
1605 (source
1606 (origin
1607 (method url-fetch)
1608 (uri (string-append
1609 "mirror://hackage/package/cborg-json/cborg-json-"
1610 version
1611 ".tar.gz"))
1612 (sha256
1613 (base32 "0ysilz7rrjk94sqr3a61s98hr9qfi1xg13bskmlpc6mpgi2s4s5b"))))
1614 (build-system haskell-build-system)
1615 (inputs
1616 `(("ghc-aeson" ,ghc-aeson)
1617 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
1618 ("ghc-unordered-containers" ,ghc-unordered-containers)
1619 ("ghc-scientific" ,ghc-scientific)
1620 ("ghc-vector" ,ghc-vector)
1621 ("ghc-cborg" ,ghc-cborg)))
1622 (home-page "https://github.com/well-typed/cborg")
1623 (synopsis "A library for encoding JSON as CBOR")
1624 (description
1625 "This package implements the bijection between JSON and CBOR
1626defined in the CBOR specification, RFC 7049.")
1627 (license license:bsd-3)))
1628
dddbc90c
RV
1629(define-public ghc-cereal
1630 (package
1631 (name "ghc-cereal")
bd95427e 1632 (version "0.5.8.1")
dddbc90c
RV
1633 (source
1634 (origin
1635 (method url-fetch)
1636 (uri (string-append
1637 "https://hackage.haskell.org/package/cereal/cereal-"
1638 version
1639 ".tar.gz"))
1640 (sha256
1641 (base32
bd95427e 1642 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1643 (build-system haskell-build-system)
1644 (native-inputs
1645 `(("ghc-quickcheck" ,ghc-quickcheck)
1646 ("ghc-fail" ,ghc-fail)
1647 ("ghc-test-framework" ,ghc-test-framework)
1648 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1649 (home-page "https://hackage.haskell.org/package/cereal")
1650 (synopsis "Binary serialization library")
1651 (description "This package provides a binary serialization library,
1652similar to @code{binary}, that introduces an @code{isolate} primitive for
1653parser isolation, and labeled blocks for better error messages.")
1654 (license license:bsd-3)))
1655
1656(define-public ghc-cereal-conduit
1657 (package
1658 (name "ghc-cereal-conduit")
1659 (version "0.8.0")
1660 (source
1661 (origin
1662 (method url-fetch)
1663 (uri (string-append "https://hackage.haskell.org/package/"
1664 "cereal-conduit/cereal-conduit-"
1665 version ".tar.gz"))
1666 (sha256
1667 (base32
1668 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1669 (build-system haskell-build-system)
1670 (inputs
1671 `(("ghc-conduit" ,ghc-conduit)
1672 ("ghc-resourcet" ,ghc-resourcet)
1673 ("ghc-cereal" ,ghc-cereal)))
1674 (native-inputs
1675 `(("ghc-hunit" ,ghc-hunit)))
1676 (home-page "https://github.com/snoyberg/conduit")
1677 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1678 (description
1679 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1680@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1681 (license license:bsd-3)))
1682
1683(define-public ghc-cgi
1684 (package
1685 (name "ghc-cgi")
b6b2c218 1686 (version "3001.4.0.0")
dddbc90c
RV
1687 (source
1688 (origin
1689 (method url-fetch)
1690 (uri (string-append
1691 "https://hackage.haskell.org/package/cgi/cgi-"
1692 version
1693 ".tar.gz"))
1694 (sha256
1695 (base32
b6b2c218 1696 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1697 (build-system haskell-build-system)
dddbc90c
RV
1698 (inputs
1699 `(("ghc-exceptions" ,ghc-exceptions)
1700 ("ghc-multipart" ,ghc-multipart)
1701 ("ghc-network-uri" ,ghc-network-uri)
1702 ("ghc-network" ,ghc-network)))
1703 (native-inputs
1704 `(("ghc-doctest" ,ghc-doctest)
1705 ("ghc-quickcheck" ,ghc-quickcheck)))
1706 (home-page
1707 "https://github.com/cheecheeo/haskell-cgi")
1708 (synopsis "Library for writing CGI programs")
1709 (description
1710 "This is a Haskell library for writing CGI programs.")
1711 (license license:bsd-3)))
1712
1713(define-public ghc-charset
1714 (package
1715 (name "ghc-charset")
1716 (version "0.3.7.1")
1717 (source
1718 (origin
1719 (method url-fetch)
1720 (uri (string-append
1721 "https://hackage.haskell.org/package/charset/charset-"
1722 version
1723 ".tar.gz"))
1724 (sha256
1725 (base32
1726 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1727 (build-system haskell-build-system)
35ee173c
TS
1728 (arguments
1729 `(#:cabal-revision
1730 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1731 (inputs
1732 `(("ghc-semigroups" ,ghc-semigroups)
1733 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1734 (home-page "https://github.com/ekmett/charset")
1735 (synopsis "Fast unicode character sets for Haskell")
1736 (description "This package provides fast unicode character sets for
1737Haskell, based on complemented PATRICIA tries.")
1738 (license license:bsd-3)))
1739
1740(define-public ghc-chart
1741 (package
1742 (name "ghc-chart")
6cd84b98 1743 (version "1.9.1")
dddbc90c
RV
1744 (source
1745 (origin
1746 (method url-fetch)
1747 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1748 "Chart-" version ".tar.gz"))
1749 (sha256
1750 (base32
6cd84b98 1751 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
dddbc90c
RV
1752 (build-system haskell-build-system)
1753 (inputs
1754 `(("ghc-old-locale" ,ghc-old-locale)
1755 ("ghc-lens" ,ghc-lens)
1756 ("ghc-colour" ,ghc-colour)
1757 ("ghc-data-default-class" ,ghc-data-default-class)
1758 ("ghc-operational" ,ghc-operational)
1759 ("ghc-vector" ,ghc-vector)))
1760 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1761 (synopsis "Library for generating 2D charts and plots")
1762 (description
1763 "This package provides a library for generating 2D charts and plots, with
1764backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1765 (license license:bsd-3)))
1766
1767(define-public ghc-chart-cairo
1768 (package
1769 (name "ghc-chart-cairo")
5cf9264d 1770 (version "1.9.1")
dddbc90c
RV
1771 (source
1772 (origin
1773 (method url-fetch)
1774 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1775 "Chart-cairo-" version ".tar.gz"))
1776 (sha256
1777 (base32
5cf9264d 1778 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
dddbc90c
RV
1779 (build-system haskell-build-system)
1780 (inputs
1781 `(("ghc-old-locale" ,ghc-old-locale)
1782 ("ghc-cairo" ,ghc-cairo)
1783 ("ghc-colour" ,ghc-colour)
1784 ("ghc-data-default-class" ,ghc-data-default-class)
1785 ("ghc-operational" ,ghc-operational)
1786 ("ghc-lens" ,ghc-lens)
1787 ("ghc-chart" ,ghc-chart)))
1788 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1789 (synopsis "Cairo backend for Charts")
1790 (description "This package provides a Cairo vector graphics rendering
1791backend for the Charts library.")
1792 (license license:bsd-3)))
1793
1794(define-public ghc-chasingbottoms
1795 (package
1796 (name "ghc-chasingbottoms")
1f67853e 1797 (version "1.3.1.7")
dddbc90c
RV
1798 (source
1799 (origin
1800 (method url-fetch)
1801 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1802 "ChasingBottoms-" version ".tar.gz"))
1803 (sha256
1804 (base32
1f67853e 1805 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1806 (build-system haskell-build-system)
1807 (inputs
1808 `(("ghc-quickcheck" ,ghc-quickcheck)
1809 ("ghc-random" ,ghc-random)
1810 ("ghc-syb" ,ghc-syb)))
1811 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1812 (synopsis "Testing of partial and infinite values in Haskell")
1813 (description
1814 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1815 ;; rendered properly.
1816 "This is a library for testing code involving bottoms or infinite values.
1817For the underlying theory and a larger example involving use of QuickCheck,
1818see the article
1819@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1820\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1821Partial and Infinite Values\"}.")
1822 (license license:expat)))
1823
1824(define-public ghc-cheapskate
1825 (package
1826 (name "ghc-cheapskate")
5e18bb9e 1827 (version "0.1.1.1")
dddbc90c
RV
1828 (source
1829 (origin
1830 (method url-fetch)
1831 (uri (string-append
1832 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1833 version
1834 ".tar.gz"))
1835 (sha256
1836 (base32
5e18bb9e 1837 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1838 (build-system haskell-build-system)
1839 (inputs
1840 `(("ghc-blaze-html" ,ghc-blaze-html)
1841 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1842 ("ghc-data-default" ,ghc-data-default)
1843 ("ghc-syb" ,ghc-syb)
1844 ("ghc-uniplate" ,ghc-uniplate)))
1845 (home-page "https://github.com/jgm/cheapskate")
1846 (synopsis "Experimental markdown processor")
1847 (description "Cheapskate is an experimental Markdown processor in pure
1848Haskell. It aims to process Markdown efficiently and in the most forgiving
1849possible way. It is designed to deal with any input, including garbage, with
1850linear performance. Output is sanitized by default for protection against
1851cross-site scripting (@dfn{XSS}) attacks.")
1852 (license license:bsd-3)))
1853
1854(define-public ghc-chell
1855 (package
1856 (name "ghc-chell")
acdd03be 1857 (version "0.5")
dddbc90c
RV
1858 (source
1859 (origin
1860 (method url-fetch)
1861 (uri (string-append
1862 "https://hackage.haskell.org/package/chell/chell-"
1863 version ".tar.gz"))
1864 (sha256
1865 (base32
acdd03be 1866 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1867 (build-system haskell-build-system)
acdd03be
TS
1868 (arguments
1869 `(#:cabal-revision
1870 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1871 (inputs
1872 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1873 ("ghc-patience" ,ghc-patience)
1874 ("ghc-random" ,ghc-random)
1875 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1876 (home-page "https://john-millikin.com/software/chell/")
1877 (synopsis "Simple and intuitive library for automated testing")
1878 (description
1879 "Chell is a simple and intuitive library for automated testing.
1880It natively supports assertion-based testing, and can use companion
1881libraries such as @code{chell-quickcheck} to support more complex
1882testing strategies.")
1883 (license license:expat)))
1884
1885(define-public ghc-chell-quickcheck
1886 (package
1887 (name "ghc-chell-quickcheck")
e0e21831 1888 (version "0.2.5.2")
dddbc90c
RV
1889 (source
1890 (origin
1891 (method url-fetch)
1892 (uri (string-append
1893 "https://hackage.haskell.org/package/chell-quickcheck/"
1894 "chell-quickcheck-" version ".tar.gz"))
1895 (sha256
1896 (base32
e0e21831 1897 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1898 (build-system haskell-build-system)
1899 (arguments
1900 `(#:phases
1901 (modify-phases %standard-phases
1902 (add-before 'configure 'update-constraints
1903 (lambda _
1904 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1905 (("QuickCheck >= 2\\.3 && < 2\\.13")
1906 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1907 (inputs
1908 `(("ghc-chell" ,ghc-chell)
1909 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1910 ("ghc-random" ,ghc-random)
1911 ("ghc-quickcheck" ,ghc-quickcheck)))
1912 (home-page "https://john-millikin.com/software/chell/")
1913 (synopsis "QuickCheck support for the Chell testing library")
1914 (description "More complex tests for @code{chell}.")
1915 (license license:expat)))
1916
1917(define ghc-chell-quickcheck-bootstrap
1918 (package
1919 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1920 (version "0.2.5.2")
dddbc90c
RV
1921 (source
1922 (origin
1923 (method url-fetch)
1924 (uri (string-append
1925 "https://hackage.haskell.org/package/chell-quickcheck/"
1926 "chell-quickcheck-" version ".tar.gz"))
1927 (sha256
1928 (base32
e0e21831 1929 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1930 (build-system haskell-build-system)
1931 (inputs
1932 `(("ghc-chell" ,ghc-chell)
1933 ("ghc-random" ,ghc-random)
1934 ("ghc-quickcheck" ,ghc-quickcheck)))
1935 (arguments
1936 `(#:tests? #f
1937 #:phases
1938 (modify-phases %standard-phases
1939 (add-before 'configure 'update-constraints
1940 (lambda _
1941 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1942 (("QuickCheck >= 2\\.3 && < 2\\.13")
1943 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1944 (home-page "https://john-millikin.com/software/chell/")
1945 (synopsis "QuickCheck support for the Chell testing library")
1946 (description "More complex tests for @code{chell}.")
1947 (license license:expat)))
1948
1949(define-public ghc-chunked-data
1950 (package
1951 (name "ghc-chunked-data")
1952 (version "0.3.1")
1953 (source
1954 (origin
1955 (method url-fetch)
1956 (uri (string-append "https://hackage.haskell.org/package/"
1957 "chunked-data-" version "/"
1958 "chunked-data-" version ".tar.gz"))
1959 (sha256
1960 (base32
1961 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1962 (build-system haskell-build-system)
1963 (inputs `(("ghc-vector" ,ghc-vector)
1964 ("ghc-semigroups" ,ghc-semigroups)))
1965 (home-page "https://github.com/snoyberg/mono-traversable")
1966 (synopsis "Typeclasses for dealing with various chunked data
1967representations for Haskell")
1968 (description "This Haskell package was originally present in
1969classy-prelude.")
1970 (license license:expat)))
1971
1972(define-public ghc-clock
1973 (package
1974 (name "ghc-clock")
0841b6f2 1975 (version "0.8")
dddbc90c
RV
1976 (source
1977 (origin
1978 (method url-fetch)
1979 (uri (string-append
1980 "https://hackage.haskell.org/package/"
1981 "clock/"
1982 "clock-" version ".tar.gz"))
1983 (sha256
0841b6f2 1984 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1985 (build-system haskell-build-system)
1986 (inputs
1987 `(("ghc-tasty" ,ghc-tasty)
1988 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1989 (home-page "https://hackage.haskell.org/package/clock")
1990 (synopsis "High-resolution clock for Haskell")
1991 (description "A package for convenient access to high-resolution clock and
1992timer functions of different operating systems via a unified API.")
1993 (license license:bsd-3)))
1994
1995;; This package builds `clock` without tests, since the tests rely on tasty
1996;; and tasty-quickcheck, which in turn require clock to build.
1997(define-public ghc-clock-bootstrap
1998 (package
1999 (inherit ghc-clock)
2000 (name "ghc-clock-bootstrap")
2001 (arguments '(#:tests? #f))
2002 (inputs '())
2003 (properties '((hidden? #t)))))
2004
2005(define-public ghc-cmark
2006 (package
2007 (name "ghc-cmark")
6bdd36c0 2008 (version "0.6")
dddbc90c
RV
2009 (source (origin
2010 (method url-fetch)
6bdd36c0 2011 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
2012 ;; See cbits/cmark_version.h.
2013 (uri (string-append "https://hackage.haskell.org/package/"
2014 "cmark/cmark-" version ".tar.gz"))
2015 (sha256
2016 (base32
6bdd36c0 2017 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
2018 (build-system haskell-build-system)
2019 (native-inputs
2020 `(("ghc-hunit" ,ghc-hunit)))
2021 (home-page "https://github.com/jgm/commonmark-hs")
2022 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
2023 (description
2024 "This package provides Haskell bindings for
2025@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
2026CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
2027sources, and does not require prior installation of the C library.")
2028 (license license:bsd-3)))
2029
2030(define-public ghc-cmark-gfm
2031 (package
2032 (name "ghc-cmark-gfm")
24fc8dae 2033 (version "0.2.0")
dddbc90c
RV
2034 (source
2035 (origin
2036 (method url-fetch)
2037 (uri (string-append "https://hackage.haskell.org/package/"
2038 "cmark-gfm/cmark-gfm-"
2039 version ".tar.gz"))
2040 (sha256
2041 (base32
24fc8dae 2042 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
2043 (build-system haskell-build-system)
2044 (native-inputs
2045 `(("ghc-hunit" ,ghc-hunit)))
2046 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
2047 (synopsis
2048 "Fast, accurate GitHub Flavored Markdown parser and renderer")
2049 (description
2050 "This package provides Haskell bindings for libcmark-gfm, the reference
2051parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
2052It includes sources for libcmark-gfm and does not require prior installation
2053of the C library.")
2054 (license license:bsd-3)))
2055
2056(define-public ghc-cmdargs
2057 (package
2058 (name "ghc-cmdargs")
2059 (version "0.10.20")
2060 (source
2061 (origin
2062 (method url-fetch)
2063 (uri (string-append
2064 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
2065 version ".tar.gz"))
2066 (sha256
2067 (base32
2068 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
2069 (build-system haskell-build-system)
2070 (home-page
2071 "http://community.haskell.org/~ndm/cmdargs/")
2072 (synopsis "Command line argument processing")
2073 (description
2074 "This library provides an easy way to define command line parsers.")
2075 (license license:bsd-3)))
2076
2077(define-public ghc-code-page
2078 (package
2079 (name "ghc-code-page")
f6bb6519 2080 (version "0.2")
dddbc90c
RV
2081 (source
2082 (origin
2083 (method url-fetch)
2084 (uri (string-append
2085 "https://hackage.haskell.org/package/code-page/code-page-"
2086 version ".tar.gz"))
2087 (sha256
2088 (base32
f6bb6519 2089 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
2090 (build-system haskell-build-system)
2091 (home-page "https://github.com/RyanGlScott/code-page")
2092 (synopsis "Windows code page library for Haskell")
2093 (description "A cross-platform library with functions for adjusting
2094code pages on Windows. On all other operating systems, the library does
2095nothing.")
2096 (license license:bsd-3)))
2097
2098(define-public ghc-colour
2099(package
2100 (name "ghc-colour")
bc9d1af9 2101 (version "2.3.5")
dddbc90c
RV
2102 (source
2103 (origin
2104 (method url-fetch)
2105 (uri (string-append
2106 "https://hackage.haskell.org/package/colour/colour-"
2107 version ".tar.gz"))
2108 (sha256
2109 (base32
bc9d1af9 2110 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
2111 (arguments
2112 ;; The tests for this package have the following dependency cycle:
2113 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
2114 `(#:tests? #f))
2115 (build-system haskell-build-system)
2116 (home-page "https://www.haskell.org/haskellwiki/Colour")
2117 (synopsis "Model for human colour perception")
2118 (description
2119 "This package provides a data type for colours and transparency.
2120Colours can be blended and composed. Various colour spaces are
2121supported. A module of colour names (\"Data.Colour.Names\") is provided.")
2122 (license license:expat)))
2123
2124(define-public ghc-comonad
2125 (package
2126 (name "ghc-comonad")
1a825512 2127 (version "5.0.5")
dddbc90c
RV
2128 (source
2129 (origin
2130 (method url-fetch)
2131 (uri (string-append
2132 "https://hackage.haskell.org/package/comonad/comonad-"
2133 version
2134 ".tar.gz"))
2135 (sha256
2136 (base32
1a825512 2137 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
2138 (build-system haskell-build-system)
2139 (native-inputs
2140 `(("cabal-doctest" ,cabal-doctest)
2141 ("ghc-doctest" ,ghc-doctest)))
2142 (inputs
2143 `(("ghc-contravariant" ,ghc-contravariant)
2144 ("ghc-distributive" ,ghc-distributive)
2145 ("ghc-semigroups" ,ghc-semigroups)
2146 ("ghc-tagged" ,ghc-tagged)
2147 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2148 (home-page "https://github.com/ekmett/comonad/")
2149 (synopsis "Comonads for Haskell")
2150 (description "This library provides @code{Comonad}s for Haskell.")
2151 (license license:bsd-3)))
2152
2153(define-public ghc-concatenative
2154 (package
2155 (name "ghc-concatenative")
2156 (version "1.0.1")
2157 (source (origin
2158 (method url-fetch)
2159 (uri (string-append
2160 "https://hackage.haskell.org/package/concatenative/concatenative-"
2161 version ".tar.gz"))
2162 (sha256
2163 (base32
2164 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2165 (build-system haskell-build-system)
2166 (home-page
2167 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2168 (synopsis "Library for postfix control flow")
2169 (description
2170 "Concatenative gives Haskell Factor-style combinators and arrows for
2171postfix notation. For more information on stack based languages, see
2172@uref{https://concatenative.org}.")
2173 (license license:bsd-3)))
2174
2175(define-public ghc-concurrent-extra
2176 (package
2177 (name "ghc-concurrent-extra")
2178 (version "0.7.0.12")
2179 (source
2180 (origin
2181 (method url-fetch)
2182 (uri (string-append "https://hackage.haskell.org/package/"
2183 "concurrent-extra/concurrent-extra-"
2184 version ".tar.gz"))
2185 (sha256
2186 (base32
2187 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2188 (build-system haskell-build-system)
2189 (arguments
2190 ;; XXX: The ReadWriteLock 'stressTest' fails.
2191 `(#:tests? #f))
2192 (inputs
2193 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2194 (native-inputs
2195 `(("ghc-async" ,ghc-async)
2196 ("ghc-hunit" ,ghc-hunit)
2197 ("ghc-random" ,ghc-random)
2198 ("ghc-test-framework" ,ghc-test-framework)
2199 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2200 (home-page "https://github.com/basvandijk/concurrent-extra")
2201 (synopsis "Extra concurrency primitives")
2202 (description "This Haskell library offers (among other things) the
2203following selection of synchronisation primitives:
2204
2205@itemize
2206@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2207@item @code{Event}: Wake multiple threads by signalling an event.
2208@item @code{Lock}: Enforce exclusive access to a resource. Also known
2209as a binary semaphore or mutex. The package additionally provides an
2210alternative that works in the STM monad.
2211@item @code{RLock}: A lock which can be acquired multiple times by the
2212same thread. Also known as a reentrant mutex.
2213@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2214to protect shared resources which may be concurrently read, but only
2215sequentially written.
2216@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2217@end itemize
2218
2219Please consult the API documentation of the individual modules for more
2220detailed information.
2221
2222This package was inspired by the concurrency libraries of Java and
2223Python.")
2224 (license license:bsd-3)))
2225
2226(define-public ghc-concurrent-output
2227 (package
2228 (name "ghc-concurrent-output")
4fce0a4a 2229 (version "1.10.11")
dddbc90c
RV
2230 (source
2231 (origin
2232 (method url-fetch)
2233 (uri (string-append
2234 "mirror://hackage/package/concurrent-output/concurrent-output-"
2235 version
2236 ".tar.gz"))
2237 (sha256
2238 (base32
4fce0a4a 2239 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
2240 (build-system haskell-build-system)
2241 (inputs
2242 `(("ghc-async" ,ghc-async)
2243 ("ghc-exceptions" ,ghc-exceptions)
2244 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2245 ("ghc-terminal-size" ,ghc-terminal-size)))
2246 (home-page
2247 "https://hackage.haskell.org/package/concurrent-output")
2248 (synopsis
2249 "Ungarble output from several threads or commands")
2250 (description
2251 "Lets multiple threads and external processes concurrently output to the
2252console, without it getting all garbled up.
2253
2254Built on top of that is a way of defining multiple output regions, which are
2255automatically laid out on the screen and can be individually updated by
2256concurrent threads. Can be used for progress displays etc.")
2257 (license license:bsd-2)))
2258
2259(define-public ghc-conduit
2260 (package
2261 (name "ghc-conduit")
1ac981d4 2262 (version "1.3.1.1")
dddbc90c
RV
2263 (source (origin
2264 (method url-fetch)
2265 (uri (string-append "https://hackage.haskell.org/package/"
2266 "conduit/conduit-" version ".tar.gz"))
2267 (sha256
2268 (base32
1ac981d4 2269 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
2270 (build-system haskell-build-system)
2271 (inputs
2272 `(("ghc-exceptions" ,ghc-exceptions)
2273 ("ghc-lifted-base" ,ghc-lifted-base)
2274 ("ghc-mono-traversable" ,ghc-mono-traversable)
2275 ("ghc-mmorph" ,ghc-mmorph)
2276 ("ghc-resourcet" ,ghc-resourcet)
2277 ("ghc-silently" ,ghc-silently)
2278 ("ghc-transformers-base" ,ghc-transformers-base)
2279 ("ghc-unliftio" ,ghc-unliftio)
2280 ("ghc-unliftio-core" ,ghc-unliftio-core)
2281 ("ghc-vector" ,ghc-vector)
2282 ("ghc-void" ,ghc-void)))
2283 (native-inputs
2284 `(("ghc-quickcheck" ,ghc-quickcheck)
2285 ("ghc-hspec" ,ghc-hspec)
2286 ("ghc-safe" ,ghc-safe)
2287 ("ghc-split" ,ghc-split)))
2288 (home-page "https://github.com/snoyberg/conduit")
2289 (synopsis "Streaming data library ")
2290 (description
2291 "The conduit package is a solution to the streaming data problem,
2292allowing for production, transformation, and consumption of streams of data
2293in constant memory. It is an alternative to lazy I/O which guarantees
2294deterministic resource handling, and fits in the same general solution
2295space as enumerator/iteratee and pipes.")
2296 (license license:expat)))
2297
2298(define-public ghc-conduit-algorithms
2299 (package
2300 (name "ghc-conduit-algorithms")
503b74ae 2301 (version "0.0.11.0")
dddbc90c
RV
2302 (source
2303 (origin
2304 (method url-fetch)
2305 (uri (string-append "https://hackage.haskell.org/package/"
2306 "conduit-algorithms/conduit-algorithms-"
2307 version ".tar.gz"))
2308 (sha256
2309 (base32
503b74ae 2310 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2311 (build-system haskell-build-system)
2312 (inputs
2313 `(("ghc-async" ,ghc-async)
2314 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2315 ("ghc-conduit" ,ghc-conduit)
2316 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2317 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2318 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2319 ("ghc-exceptions" ,ghc-exceptions)
2320 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2321 ("ghc-monad-control" ,ghc-monad-control)
2322 ("ghc-pqueue" ,ghc-pqueue)
2323 ("ghc-resourcet" ,ghc-resourcet)
2324 ("ghc-stm-conduit" ,ghc-stm-conduit)
2325 ("ghc-streaming-commons" ,ghc-streaming-commons)
2326 ("ghc-unliftio-core" ,ghc-unliftio-core)
2327 ("ghc-vector" ,ghc-vector)))
2328 (native-inputs
2329 `(("ghc-hunit" ,ghc-hunit)
2330 ("ghc-test-framework" ,ghc-test-framework)
2331 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2332 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2333 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2334 (synopsis "Conduit-based algorithms")
2335 (description
2336 "This package provides algorithms on @code{Conduits}, including higher
2337level asynchronous processing and some other utilities.")
2338 (license license:expat)))
2339
2340(define-public ghc-conduit-combinators
2341 (package
2342 (name "ghc-conduit-combinators")
2343 (version "1.3.0")
2344 (source
2345 (origin
2346 (method url-fetch)
2347 (uri (string-append "https://hackage.haskell.org/package/"
2348 "conduit-combinators-" version "/"
2349 "conduit-combinators-" version ".tar.gz"))
2350 (sha256
2351 (base32
2352 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2353 (build-system haskell-build-system)
2354 (inputs `(("ghc-conduit" ,ghc-conduit)
2355 ("ghc-conduit-extra" ,ghc-conduit-extra)
2356 ("ghc-transformers-base" ,ghc-transformers-base)
2357 ("ghc-primitive" ,ghc-primitive)
2358 ("ghc-vector" ,ghc-vector)
2359 ("ghc-void" ,ghc-void)
2360 ("ghc-mwc-random" ,ghc-mwc-random)
2361 ("ghc-unix-compat" ,ghc-unix-compat)
2362 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2363 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2364 ("ghc-resourcet" ,ghc-resourcet)
2365 ("ghc-monad-control" ,ghc-monad-control)
2366 ("ghc-chunked-data" ,ghc-chunked-data)
2367 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2368 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2369 ("ghc-silently" ,ghc-silently)
2370 ("ghc-safe" ,ghc-safe)
2371 ("ghc-quickcheck" ,ghc-quickcheck)))
2372 (home-page "https://github.com/snoyberg/mono-traversable")
2373 (synopsis "Commonly used conduit functions, for both chunked and
2374unchunked data")
2375 (description "This Haskell package provides a replacement for Data.Conduit.List,
2376as well as a convenient Conduit module.")
2377 (license license:expat)))
2378
2379(define-public ghc-conduit-extra
2380 (package
2381 (name "ghc-conduit-extra")
151774d9 2382 (version "1.3.4")
dddbc90c
RV
2383 (source
2384 (origin
2385 (method url-fetch)
2386 (uri (string-append "https://hackage.haskell.org/package/"
2387 "conduit-extra/conduit-extra-"
2388 version ".tar.gz"))
2389 (sha256
2390 (base32
151774d9 2391 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2392 (build-system haskell-build-system)
2393 (inputs
2394 `(("ghc-conduit" ,ghc-conduit)
2395 ("ghc-exceptions" ,ghc-exceptions)
2396 ("ghc-monad-control" ,ghc-monad-control)
2397 ("ghc-transformers-base" ,ghc-transformers-base)
2398 ("ghc-typed-process" ,ghc-typed-process)
2399 ("ghc-async" ,ghc-async)
2400 ("ghc-attoparsec" ,ghc-attoparsec)
2401 ("ghc-blaze-builder" ,ghc-blaze-builder)
2402 ("ghc-network" ,ghc-network)
2403 ("ghc-primitive" ,ghc-primitive)
2404 ("ghc-resourcet" ,ghc-resourcet)
2405 ("ghc-streaming-commons" ,ghc-streaming-commons)
2406 ("ghc-hspec" ,ghc-hspec)
2407 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2408 ("ghc-quickcheck" ,ghc-quickcheck)))
2409 (native-inputs
2410 `(("hspec-discover" ,hspec-discover)))
2411 (home-page "https://github.com/snoyberg/conduit")
2412 (synopsis "Conduit adapters for common libraries")
2413 (description
2414 "The @code{conduit} package itself maintains relative small dependencies.
2415The purpose of this package is to collect commonly used utility functions
2416wrapping other library dependencies, without depending on heavier-weight
2417dependencies. The basic idea is that this package should only depend on
2418@code{haskell-platform} packages and @code{conduit}.")
2419 (license license:expat)))
2420
b59c3518
TS
2421(define-public ghc-conduit-zstd
2422 (package
2423 (name "ghc-conduit-zstd")
2424 (version "0.0.1.1")
2425 (source
2426 (origin
2427 (method url-fetch)
2428 (uri (string-append "https://hackage.haskell.org/package/"
2429 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2430 (sha256
2431 (base32
2432 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2433 (build-system haskell-build-system)
2434 (inputs
2435 `(("ghc-conduit" ,ghc-conduit)
2436 ("ghc-zstd" ,ghc-zstd)))
2437 (native-inputs
2438 `(("ghc-hunit" ,ghc-hunit)
2439 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2440 ("ghc-conduit-extra" ,ghc-conduit-extra)
2441 ("ghc-test-framework" ,ghc-test-framework)
2442 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2443 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2444 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2445 (synopsis "Conduit-based ZStd Compression")
2446 (description "Zstandard compression packaged as a conduit. This is
2447a very thin wrapper around the
2448@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2449interface}.")
2450 (license license:expat)))
2451
dddbc90c
RV
2452(define-public ghc-configurator
2453 (package
2454 (name "ghc-configurator")
2455 (version "0.3.0.0")
2456 (source
2457 (origin
2458 (method url-fetch)
2459 (uri (string-append "https://hackage.haskell.org/package/"
2460 "configurator/configurator-"
2461 version ".tar.gz"))
2462 (sha256
2463 (base32
2464 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2465 (build-system haskell-build-system)
2466 (inputs
2467 `(("ghc-attoparsec" ,ghc-attoparsec)
2468 ("ghc-hashable" ,ghc-hashable)
2469 ("ghc-unix-compat" ,ghc-unix-compat)
2470 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2471 (native-inputs
2472 `(("ghc-hunit" ,ghc-hunit)
2473 ("ghc-test-framework" ,ghc-test-framework)
2474 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2475 (home-page "http://github.com/bos/configurator")
2476 (synopsis "Configuration management")
2477 (description
2478 "This package provides a configuration management library for programs
2479and daemons. The features include:
2480
2481@enumerate
2482@item Automatic, dynamic reloading in response to modifications to
2483 configuration files.
2484@item A simple, but flexible, configuration language, supporting several of
2485 the most commonly needed types of data, along with interpolation of strings
2486 from the configuration or the system environment (e.g. @code{$(HOME)}).
2487@item Subscription-based notification of changes to configuration properties.
2488@item An @code{import} directive allows the configuration of a complex
2489 application to be split across several smaller files, or common configuration
2490 data to be shared across several applications.
2491@end enumerate\n")
2492 (license license:bsd-3)))
2493
2494(define-public ghc-connection
2495 (package
2496 (name "ghc-connection")
6ee0d258 2497 (version "0.3.1")
dddbc90c
RV
2498 (source (origin
2499 (method url-fetch)
2500 (uri (string-append "https://hackage.haskell.org/package/"
2501 "connection/connection-"
2502 version ".tar.gz"))
2503 (sha256
2504 (base32
6ee0d258 2505 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2506 (build-system haskell-build-system)
2507 (inputs
2508 `(("ghc-byteable" ,ghc-byteable)
2509 ("ghc-data-default-class" ,ghc-data-default-class)
2510 ("ghc-network" ,ghc-network)
2511 ("ghc-tls" ,ghc-tls)
2512 ("ghc-socks" ,ghc-socks)
2513 ("ghc-x509" ,ghc-x509)
2514 ("ghc-x509-store" ,ghc-x509-store)
2515 ("ghc-x509-system" ,ghc-x509-system)
2516 ("ghc-x509-validation" ,ghc-x509-validation)))
2517 (home-page "https://github.com/vincenthz/hs-connection")
2518 (synopsis "Simple and easy network connections API")
2519 (description
2520 "This package provides a simple network library for all your connection
2521needs. It provides a very simple API to create sockets to a destination with
2522the choice of SSL/TLS, and SOCKS.")
2523 (license license:bsd-3)))
2524
2525(define-public ghc-constraints
2526 (package
2527 (name "ghc-constraints")
2528 (version "0.10.1")
2529 (source
2530 (origin
2531 (method url-fetch)
2532 (uri (string-append
2533 "https://hackage.haskell.org/package/constraints/constraints-"
2534 version ".tar.gz"))
2535 (sha256
2536 (base32
2537 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2538 (build-system haskell-build-system)
2539 (inputs
2540 `(("ghc-hashable" ,ghc-hashable)
2541 ("ghc-semigroups" ,ghc-semigroups)
2542 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2543 (native-inputs
2544 `(("ghc-hspec" ,ghc-hspec)
2545 ("hspec-discover" ,hspec-discover)))
2546 (home-page "https://github.com/ekmett/constraints/")
2547 (synopsis "Constraint manipulation")
2548 (description
2549 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2550They stopped crashing the compiler in GHC 7.6. This package provides
2551a vocabulary for working with them.")
2552 (license license:bsd-3)))
2553
2554(define-public ghc-contravariant
2555 (package
2556 (name "ghc-contravariant")
e7b35ff0 2557 (version "1.5.2")
dddbc90c
RV
2558 (source
2559 (origin
2560 (method url-fetch)
2561 (uri (string-append
2562 "https://hackage.haskell.org/package/contravariant/contravariant-"
2563 version
2564 ".tar.gz"))
2565 (sha256
2566 (base32
e7b35ff0 2567 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2568 (build-system haskell-build-system)
2569 (inputs
2570 `(("ghc-void" ,ghc-void)
2571 ("ghc-transformers-compat" ,ghc-transformers-compat)
2572 ("ghc-statevar" ,ghc-statevar)
2573 ("ghc-semigroups" ,ghc-semigroups)))
2574 (home-page
2575 "https://github.com/ekmett/contravariant/")
2576 (synopsis "Contravariant functors")
2577 (description "Contravariant functors for Haskell.")
2578 (license license:bsd-3)))
2579
2580(define-public ghc-contravariant-extras
2581 (package
2582 (name "ghc-contravariant-extras")
2583 (version "0.3.4")
2584 (source
2585 (origin
2586 (method url-fetch)
2587 (uri (string-append "https://hackage.haskell.org/package/"
2588 "contravariant-extras-" version "/"
2589 "contravariant-extras-" version ".tar.gz"))
2590 (sha256
2591 (base32
2592 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2593 (build-system haskell-build-system)
f3aca086
TS
2594 (arguments
2595 `(#:cabal-revision
2596 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2597 (inputs
2598 `(("ghc-tuple-th" ,ghc-tuple-th)
2599 ("ghc-contravariant" ,ghc-contravariant)
2600 ("ghc-base-prelude" ,ghc-base-prelude)
2601 ("ghc-semigroups" ,ghc-semigroups)))
2602 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2603 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2604 (description "This Haskell package provides extras for the
2605@code{ghc-contravariant} package.")
2606 (license license:expat)))
2607
2608(define-public ghc-convertible
2609 (package
2610 (name "ghc-convertible")
2611 (version "1.1.1.0")
2612 (source
2613 (origin
2614 (method url-fetch)
2615 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2616 "convertible-" version ".tar.gz"))
2617 (sha256
2618 (base32
2619 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2620 (build-system haskell-build-system)
2621 (inputs
2622 `(("ghc-old-time" ,ghc-old-time)
2623 ("ghc-old-locale" ,ghc-old-locale)))
2624 (home-page "https://hackage.haskell.org/package/convertible")
2625 (synopsis "Typeclasses and instances for converting between types")
2626 (description
2627 "This package provides a typeclass with a single function that is
2628designed to help convert between different types: numeric values, dates and
2629times, and the like. The conversions perform bounds checking and return a
2630pure @code{Either} value. This means that you need not remember which specific
2631function performs the conversion you desire.")
2632 (license license:bsd-3)))
2633
2634(define-public ghc-data-accessor
2635 (package
2636 (name "ghc-data-accessor")
6dcca515 2637 (version "0.2.2.8")
dddbc90c
RV
2638 (source
2639 (origin
2640 (method url-fetch)
2641 (uri (string-append
2642 "mirror://hackage/package/data-accessor/data-accessor-"
2643 version ".tar.gz"))
2644 (sha256
6dcca515 2645 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2646 (build-system haskell-build-system)
2647 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2648 (synopsis
2649 "Haskell utilities for accessing and manipulating fields of records")
2650 (description "This package provides Haskell modules for accessing and
2651manipulating fields of records.")
2652 (license license:bsd-3)))
2653
2654(define-public ghc-data-accessor-transformers
2655 (package
2656 (name "ghc-data-accessor-transformers")
2657 (version "0.2.1.7")
2658 (source
2659 (origin
2660 (method url-fetch)
2661 (uri (string-append
2662 "mirror://hackage/package/data-accessor-transformers/"
2663 "data-accessor-transformers-" version ".tar.gz"))
2664 (sha256
2665 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2666 (build-system haskell-build-system)
2667 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2668 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2669 (synopsis "Use Accessor to access state in transformers State monad")
2670 (description "This package provides Haskell modules to allow use of
2671Accessor to access state in transformers State monad.")
2672 (license license:bsd-3)))
2673
2674(define-public ghc-data-default
2675 (package
2676 (name "ghc-data-default")
2677 (version "0.7.1.1")
2678 (source
2679 (origin
2680 (method url-fetch)
2681 (uri (string-append
2682 "https://hackage.haskell.org/package/data-default/data-default-"
2683 version
2684 ".tar.gz"))
2685 (sha256
2686 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2687 (build-system haskell-build-system)
2688 (inputs
2689 `(("ghc-data-default-class"
2690 ,ghc-data-default-class)
2691 ("ghc-data-default-instances-base"
2692 ,ghc-data-default-instances-base)
2693 ("ghc-data-default-instances-containers"
2694 ,ghc-data-default-instances-containers)
2695 ("ghc-data-default-instances-dlist"
2696 ,ghc-data-default-instances-dlist)
2697 ("ghc-data-default-instances-old-locale"
2698 ,ghc-data-default-instances-old-locale)))
2699 (home-page "https://hackage.haskell.org/package/data-default")
2700 (synopsis "Types with default values")
2701 (description
2702 "This package defines a class for types with a default value, and
2703provides instances for types from the base, containers, dlist and old-locale
2704packages.")
2705 (license license:bsd-3)))
2706
2707(define-public ghc-data-default-class
2708 (package
2709 (name "ghc-data-default-class")
2710 (version "0.1.2.0")
2711 (source
2712 (origin
2713 (method url-fetch)
2714 (uri (string-append
2715 "https://hackage.haskell.org/package/data-default-class/"
2716 "data-default-class-" version ".tar.gz"))
2717 (sha256
2718 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2719 (build-system haskell-build-system)
2720 (home-page "https://hackage.haskell.org/package/data-default-class")
2721 (synopsis "Types with default values")
2722 (description
2723 "This package defines a class for types with default values.")
2724 (license license:bsd-3)))
2725
2726(define-public ghc-data-default-instances-base
2727 (package
2728 (name "ghc-data-default-instances-base")
2729 (version "0.1.0.1")
2730 (source
2731 (origin
2732 (method url-fetch)
2733 (uri (string-append
2734 "https://hackage.haskell.org/package/"
2735 "data-default-instances-base/"
2736 "data-default-instances-base-" version ".tar.gz"))
2737 (sha256
2738 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2739 (build-system haskell-build-system)
2740 (inputs
2741 `(("ghc-data-default-class" ,ghc-data-default-class)))
2742 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2743 (synopsis "Default instances for types in base")
2744 (description
2745 "This package provides default instances for types from the base
2746package.")
2747 (license license:bsd-3)))
2748
2749(define-public ghc-data-default-instances-containers
2750 (package
2751 (name "ghc-data-default-instances-containers")
2752 (version "0.0.1")
2753 (source
2754 (origin
2755 (method url-fetch)
2756 (uri (string-append
2757 "https://hackage.haskell.org/package/"
2758 "data-default-instances-containers/"
2759 "data-default-instances-containers-" version ".tar.gz"))
2760 (sha256
2761 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2762 (build-system haskell-build-system)
2763 (inputs
2764 `(("ghc-data-default-class" ,ghc-data-default-class)))
2765 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2766 (synopsis "Default instances for types in containers")
2767 (description "Provides default instances for types from the containers
2768package.")
2769 (license license:bsd-3)))
2770
2771(define-public ghc-data-default-instances-dlist
2772 (package
2773 (name "ghc-data-default-instances-dlist")
2774 (version "0.0.1")
2775 (source
2776 (origin
2777 (method url-fetch)
2778 (uri (string-append
2779 "https://hackage.haskell.org/package/"
2780 "data-default-instances-dlist/"
2781 "data-default-instances-dlist-" version ".tar.gz"))
2782 (sha256
2783 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2784 (build-system haskell-build-system)
2785 (inputs
2786 `(("ghc-data-default-class" ,ghc-data-default-class)
2787 ("ghc-dlist" ,ghc-dlist)))
2788 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2789 (synopsis "Default instances for types in dlist")
2790 (description "Provides default instances for types from the dlist
2791package.")
2792 (license license:bsd-3)))
2793
2794(define-public ghc-data-default-instances-old-locale
2795 (package
2796 (name "ghc-data-default-instances-old-locale")
2797 (version "0.0.1")
2798 (source
2799 (origin
2800 (method url-fetch)
2801 (uri (string-append
2802 "https://hackage.haskell.org/package/"
2803 "data-default-instances-old-locale/"
2804 "data-default-instances-old-locale-" version ".tar.gz"))
2805 (sha256
2806 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2807 (build-system haskell-build-system)
2808 (inputs
2809 `(("ghc-data-default-class" ,ghc-data-default-class)
2810 ("ghc-old-locale" ,ghc-old-locale)))
2811 (home-page
2812 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2813 (synopsis "Default instances for types in old-locale")
2814 (description "Provides Default instances for types from the old-locale
2815 package.")
2816 (license license:bsd-3)))
2817
82c36002
JS
2818(define-public ghc-data-fix
2819 (package
2820 (name "ghc-data-fix")
2821 (version "0.2.0")
2822 (source
2823 (origin
2824 (method url-fetch)
2825 (uri (string-append
2826 "mirror://hackage/package/data-fix/"
2827 "data-fix-" version ".tar.gz"))
2828 (sha256
2829 (base32 "14hk6hq5hdb3l5bhmzhw086jpzlvp9qbw9dzw30wlz5jbh2ihmvy"))))
2830 (build-system haskell-build-system)
2831 (home-page "https://github.com/spell-music/data-fix")
2832 (synopsis "Fixpoint data types")
2833 (description
2834 "Fixpoint types and recursion schemes. If you define your AST as
2835fixpoint type, you get fold and unfold operations for free.
2836
2837Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel")
2838 (license license:bsd-3)))
2839
dddbc90c
RV
2840(define-public ghc-data-hash
2841 (package
2842 (name "ghc-data-hash")
2843 (version "0.2.0.1")
2844 (source
2845 (origin
2846 (method url-fetch)
2847 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2848 "/data-hash-" version ".tar.gz"))
2849 (sha256
2850 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2851 (build-system haskell-build-system)
2852 (inputs
2853 `(("ghc-quickcheck" ,ghc-quickcheck)
2854 ("ghc-test-framework" ,ghc-test-framework)
2855 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2856 (home-page "https://hackage.haskell.org/package/data-hash")
2857 (synopsis "Combinators for building fast hashing functions")
2858 (description
2859 "This package provides combinators for building fast hashing functions.
2860It includes hashing functions for all basic Haskell98 types.")
2861 (license license:bsd-3)))
2862
2863(define-public ghc-data-ordlist
2864 (package
2865 (name "ghc-data-ordlist")
2866 (version "0.4.7.0")
2867 (source
2868 (origin
2869 (method url-fetch)
2870 (uri (string-append
2871 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2872 version ".tar.gz"))
2873 (sha256
2874 (base32
2875 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2876 (build-system haskell-build-system)
2877 (home-page "https://hackage.haskell.org/package/data-ordlist")
2878 (synopsis "Set and bag operations on ordered lists")
2879 (description
2880 "This module provides set and multiset operations on ordered lists.")
2881 (license license:bsd-3)))
2882
d05f32d6
JS
2883(define-public ghc-dbus
2884 (package
2885 (name "ghc-dbus")
2886 (version "1.2.7")
2887 (source
2888 (origin
2889 (method url-fetch)
2890 (uri
2891 (string-append
2892 "mirror://hackage/package/dbus/dbus-"
2893 version ".tar.gz"))
2894 (sha256
2895 (base32
2896 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2897 (build-system haskell-build-system)
2898 (inputs
2899 `(("ghc-cereal" ,ghc-cereal)
2900 ("ghc-conduit" ,ghc-conduit)
2901 ("ghc-exceptions" ,ghc-exceptions)
2902 ("ghc-lens" ,ghc-lens)
2903 ("ghc-network" ,ghc-network)
2904 ("ghc-random" ,ghc-random)
2905 ("ghc-split" ,ghc-split)
2906 ("ghc-th-lift" ,ghc-th-lift)
2907 ("ghc-vector" ,ghc-vector)
2908 ("ghc-xml-conduit" ,ghc-xml-conduit)
2909 ("ghc-xml-types" ,ghc-xml-types)))
2910 (native-inputs
2911 `(("ghc-extra" ,ghc-extra)
2912 ("ghc-quickcheck" ,ghc-quickcheck)
2913 ("ghc-resourcet" ,ghc-resourcet)
2914 ("ghc-tasty" ,ghc-tasty)
2915 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2916 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2917 ;; FIXME - Some tests try to talk to network.
2918 (arguments `(#:tests? #f))
2919 (home-page "https://github.com/rblaze/haskell-dbus")
2920 (synopsis "Client library for the D-Bus IPC system")
2921 (description
2922 "D-Bus is a simple, message-based protocol for inter-process
2923communication, which allows applications to interact with other parts
2924of the machine and the user's session using remote procedure
2925calls. D-Bus is a essential part of the modern Linux desktop, where
2926it replaces earlier protocols such as CORBA and DCOP. This library
2927is an implementation of the D-Bus protocol in Haskell. It can be used
2928to add D-Bus support to Haskell applications, without the awkward
2929interfaces common to foreign bindings.")
2930 (license license:asl2.0)))
2931
dddbc90c
RV
2932(define-public ghc-deepseq-generics
2933 (package
2934 (name "ghc-deepseq-generics")
2935 (version "0.2.0.0")
2936 (source (origin
2937 (method url-fetch)
2938 (uri (string-append "https://hackage.haskell.org/package/"
2939 "deepseq-generics/deepseq-generics-"
2940 version ".tar.gz"))
2941 (sha256
2942 (base32
2943 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2944 (build-system haskell-build-system)
2945 (arguments
2946 `(#:cabal-revision
490ceae4 2947 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2948 (native-inputs
2949 `(("ghc-hunit" ,ghc-hunit)
2950 ("ghc-test-framework" ,ghc-test-framework)
2951 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2952 (home-page "https://github.com/hvr/deepseq-generics")
2953 (synopsis "Generic RNF implementation")
2954 (description
2955 "This package provides a @code{GHC.Generics}-based
2956@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2957providing an @code{rnf} implementation.")
2958 (license license:bsd-3)))
2959
e924e17e
TS
2960(define-public ghc-dense-linear-algebra
2961 (package
2962 (name "ghc-dense-linear-algebra")
2963 (version "0.1.0.0")
2964 (source
2965 (origin
2966 (method url-fetch)
2967 (uri (string-append "https://hackage.haskell.org/package/"
2968 "dense-linear-algebra/dense-linear-algebra-"
2969 version ".tar.gz"))
2970 (sha256
2971 (base32
2972 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2973 (build-system haskell-build-system)
2974 (inputs
2975 `(("ghc-math-functions" ,ghc-math-functions)
2976 ("ghc-primitive" ,ghc-primitive)
2977 ("ghc-vector" ,ghc-vector)
2978 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2979 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2980 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2981 (native-inputs
2982 `(("ghc-hspec" ,ghc-hspec)
2983 ("ghc-quickcheck" ,ghc-quickcheck)))
50153437 2984 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
e924e17e
TS
2985 (synopsis "Simple and incomplete implementation of linear algebra")
2986 (description "This library is simply a collection of linear-algebra
2987related modules split from the statistics library.")
2988 (license license:bsd-2)))
2989
dddbc90c
RV
2990(define-public ghc-descriptive
2991 (package
2992 (name "ghc-descriptive")
2993 (version "0.9.5")
2994 (source
2995 (origin
2996 (method url-fetch)
2997 (uri (string-append
2998 "https://hackage.haskell.org/package/descriptive/descriptive-"
2999 version
3000 ".tar.gz"))
3001 (sha256
3002 (base32
3003 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
3004 (build-system haskell-build-system)
3005 (inputs
3006 `(("ghc-aeson" ,ghc-aeson)
3007 ("ghc-bifunctors" ,ghc-bifunctors)
3008 ("ghc-scientific" ,ghc-scientific)
3009 ("ghc-vector" ,ghc-vector)))
3010 (native-inputs
3011 `(("ghc-hunit" ,ghc-hunit)
3012 ("ghc-hspec" ,ghc-hspec)))
3013 (home-page
3014 "https://github.com/chrisdone/descriptive")
3015 (synopsis
3016 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
3017 (description
3018 "This package provides datatypes and functions for creating consumers
3019and parsers with useful semantics.")
3020 (license license:bsd-3)))
3021
1859c94a
TS
3022(define-public ghc-diagrams-core
3023 (package
3024 (name "ghc-diagrams-core")
3025 (version "1.4.2")
3026 (source
3027 (origin
3028 (method url-fetch)
3029 (uri (string-append "https://hackage.haskell.org/package/"
3030 "diagrams-core/diagrams-core-" version ".tar.gz"))
3031 (sha256
3032 (base32
3033 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
3034 (build-system haskell-build-system)
3035 (inputs
3036 `(("ghc-unordered-containers" ,ghc-unordered-containers)
3037 ("ghc-semigroups" ,ghc-semigroups)
3038 ("ghc-monoid-extras" ,ghc-monoid-extras)
3039 ("ghc-dual-tree" ,ghc-dual-tree)
3040 ("ghc-lens" ,ghc-lens)
3041 ("ghc-linear" ,ghc-linear)
3042 ("ghc-adjunctions" ,ghc-adjunctions)
3043 ("ghc-distributive" ,ghc-distributive)
3044 ("ghc-profunctors" ,ghc-profunctors)))
3045 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3046 (synopsis "Core libraries for diagrams embedded domain-specific language")
3047 (description "This package provides the core modules underlying
3048diagrams, an embedded domain-specific language for compositional,
3049declarative drawing.")
3050 (license license:bsd-3)))
3051
f9f1a630
TS
3052(define-public ghc-diagrams-lib
3053 (package
3054 (name "ghc-diagrams-lib")
3055 (version "1.4.2.3")
3056 (source
3057 (origin
3058 (method url-fetch)
3059 (uri (string-append "https://hackage.haskell.org/package/"
3060 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
3061 (sha256
3062 (base32
3063 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
3064 (build-system haskell-build-system)
3065 (inputs
3066 `(("ghc-semigroups" ,ghc-semigroups)
3067 ("ghc-monoid-extras" ,ghc-monoid-extras)
3068 ("ghc-dual-tree" ,ghc-dual-tree)
3069 ("ghc-diagrams-core" ,ghc-diagrams-core)
3070 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
3071 ("ghc-active" ,ghc-active)
3072 ("ghc-colour" ,ghc-colour)
3073 ("ghc-data-default-class" ,ghc-data-default-class)
3074 ("ghc-fingertree" ,ghc-fingertree)
3075 ("ghc-intervals" ,ghc-intervals)
3076 ("ghc-lens" ,ghc-lens)
3077 ("ghc-tagged" ,ghc-tagged)
3078 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3079 ("ghc-juicypixels" ,ghc-juicypixels)
3080 ("ghc-hashable" ,ghc-hashable)
3081 ("ghc-linear" ,ghc-linear)
3082 ("ghc-adjunctions" ,ghc-adjunctions)
3083 ("ghc-distributive" ,ghc-distributive)
3084 ("ghc-fsnotify" ,ghc-fsnotify)
3085 ("ghc-unordered-containers" ,ghc-unordered-containers)
3086 ("ghc-profunctors" ,ghc-profunctors)
3087 ("ghc-exceptions" ,ghc-exceptions)
3088 ("ghc-cereal" ,ghc-cereal)))
3089 (native-inputs
3090 `(("ghc-tasty" ,ghc-tasty)
3091 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3092 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
3093 ("ghc-numeric-extras" ,ghc-numeric-extras)))
3094 (arguments
3095 `(#:cabal-revision
3096 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
3097 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3098 (synopsis "Embedded domain-specific language for declarative graphics")
3099 (description "Diagrams is a flexible, extensible embedded
3100domain-specific language (EDSL) for creating graphics of many types.
3101Graphics can be created in arbitrary vector spaces and rendered with
3102multiple backends. This package provides a standard library of
3103primitives and operations for creating diagrams.")
3104 (license license:bsd-3)))
3105
fd33ffa0
TS
3106(define-public ghc-diagrams-solve
3107 (package
3108 (name "ghc-diagrams-solve")
3109 (version "0.1.1")
3110 (source
3111 (origin
3112 (method url-fetch)
3113 (uri (string-append "https://hackage.haskell.org/package/"
3114 "diagrams-solve/diagrams-solve-"
3115 version ".tar.gz"))
3116 (sha256
3117 (base32
3118 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
3119 (build-system haskell-build-system)
3120 (native-inputs
3121 `(("ghc-tasty" ,ghc-tasty)
3122 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3123 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
3124 (arguments
3125 `(#:cabal-revision
3126 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
3127 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3128 (synopsis "Pure Haskell solver routines used by diagrams")
3129 (description "This library provides Pure Haskell solver routines for
3130use by the
3131@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3132diagrams framework}. It currently includes routines for finding real
3133roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
3134and cyclic tridiagonal linear systems.")
3135 (license license:bsd-3)))
3136
74be1cb7
TS
3137(define-public ghc-diagrams-svg
3138 (package
3139 (name "ghc-diagrams-svg")
3140 (version "1.4.2")
3141 (source
3142 (origin
3143 (method url-fetch)
3144 (uri (string-append "https://hackage.haskell.org/package/"
3145 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
3146 (sha256
3147 (base32
3148 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
3149 (build-system haskell-build-system)
3150 (inputs
3151 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
3152 ("ghc-colour" ,ghc-colour)
3153 ("ghc-diagrams-core" ,ghc-diagrams-core)
3154 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
3155 ("ghc-monoid-extras" ,ghc-monoid-extras)
3156 ("ghc-svg-builder" ,ghc-svg-builder)
3157 ("ghc-juicypixels" ,ghc-juicypixels)
3158 ("ghc-split" ,ghc-split)
3159 ("ghc-lens" ,ghc-lens)
3160 ("ghc-hashable" ,ghc-hashable)
3161 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
3162 ("ghc-semigroups" ,ghc-semigroups)))
3163 (arguments
3164 `(#:cabal-revision
3165 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
3166 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
3167 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
3168 (description "This package provides a modular backend for rendering
3169diagrams created with the diagrams embedded domain-specific
3170language (EDSL) to Scalable Vector Graphics (SVG) files.")
3171 (license license:bsd-3)))
3172
4eb9a167
TS
3173(define-public ghc-dictionary-sharing
3174 (package
3175 (name "ghc-dictionary-sharing")
3176 (version "0.1.0.0")
3177 (source
3178 (origin
3179 (method url-fetch)
3180 (uri (string-append "https://hackage.haskell.org/package/"
3181 "dictionary-sharing/dictionary-sharing-"
3182 version ".tar.gz"))
3183 (sha256
3184 (base32
3185 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3186 (build-system haskell-build-system)
3187 (arguments
3188 `(#:cabal-revision
3189 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3190 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3191 (synopsis "Sharing/memoization of class members")
3192 (description "This library provides tools for ensuring that class
3193members are shared.")
3194 (license license:bsd-3)))
3195
dddbc90c
RV
3196(define-public ghc-diff
3197 (package
3198 (name "ghc-diff")
3199 (version "0.3.4")
3200 (source (origin
3201 (method url-fetch)
3202 (uri (string-append "https://hackage.haskell.org/package/"
3203 "Diff/Diff-" version ".tar.gz"))
a531ff94 3204 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
3205 (sha256
3206 (base32
3207 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3208 (build-system haskell-build-system)
3209 (native-inputs
3210 `(("ghc-quickcheck" ,ghc-quickcheck)
3211 ("ghc-test-framework" ,ghc-test-framework)
3212 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3213 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3214 (synopsis "O(ND) diff algorithm in Haskell")
3215 (description
3216 "This package provides an implementation of the standard diff algorithm,
3217and utilities for pretty printing.")
3218 (license license:bsd-3)))
3219
3220(define-public ghc-disk-free-space
3221 (package
3222 (name "ghc-disk-free-space")
3223 (version "0.1.0.1")
3224 (source
3225 (origin
3226 (method url-fetch)
3227 (uri (string-append "https://hackage.haskell.org/package/"
3228 "disk-free-space/disk-free-space-"
3229 version ".tar.gz"))
3230 (sha256
3231 (base32
3232 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3233 (build-system haskell-build-system)
3234 (home-page "https://github.com/redneb/disk-free-space")
3235 (synopsis "Retrieve information about disk space usage")
3236 (description "A cross-platform library for retrieving information about
3237disk space usage.")
3238 (license license:bsd-3)))
3239
3240(define-public ghc-distributive
3241 (package
3242 (name "ghc-distributive")
e4c92f28 3243 (version "0.6.1")
dddbc90c
RV
3244 (source
3245 (origin
3246 (method url-fetch)
3247 (uri (string-append
3248 "https://hackage.haskell.org/package/distributive/distributive-"
3249 version
3250 ".tar.gz"))
3251 (sha256
3252 (base32
e4c92f28 3253 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 3254 (build-system haskell-build-system)
dddbc90c
RV
3255 (inputs
3256 `(("ghc-tagged" ,ghc-tagged)
3257 ("ghc-base-orphans" ,ghc-base-orphans)
3258 ("ghc-transformers-compat" ,ghc-transformers-compat)
3259 ("ghc-semigroups" ,ghc-semigroups)
3260 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3261 (native-inputs
3262 `(("cabal-doctest" ,cabal-doctest)
3263 ("ghc-doctest" ,ghc-doctest)
3264 ("ghc-hspec" ,ghc-hspec)
3265 ("hspec-discover" ,hspec-discover)))
3266 (home-page "https://github.com/ekmett/distributive/")
3267 (synopsis "Distributive functors for Haskell")
3268 (description "This package provides distributive functors for Haskell.
3269Dual to @code{Traversable}.")
3270 (license license:bsd-3)))
3271
3272(define-public ghc-dlist
3273 (package
3274 (name "ghc-dlist")
197ddf33 3275 (version "0.8.0.7")
dddbc90c
RV
3276 (source
3277 (origin
3278 (method url-fetch)
3279 (uri (string-append
3280 "https://hackage.haskell.org/package/dlist/dlist-"
3281 version
3282 ".tar.gz"))
3283 (sha256
197ddf33 3284 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
3285 (build-system haskell-build-system)
3286 (inputs
3287 `(("ghc-quickcheck" ,ghc-quickcheck)))
3288 (home-page "https://github.com/spl/dlist")
3289 (synopsis "Difference lists")
3290 (description
3291 "Difference lists are a list-like type supporting O(1) append. This is
3292particularly useful for efficient logging and pretty printing (e.g. with the
3293Writer monad), where list append quickly becomes too expensive.")
3294 (license license:bsd-3)))
3295
3296(define-public ghc-doctemplates
3297 (package
3298 (name "ghc-doctemplates")
3299 (version "0.2.2.1")
3300 (source
3301 (origin
3302 (method url-fetch)
3303 (uri (string-append "https://hackage.haskell.org/package/"
3304 "doctemplates/doctemplates-"
3305 version ".tar.gz"))
3306 (sha256
3307 (base32
3308 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3309 (build-system haskell-build-system)
3310 (inputs
3311 `(("ghc-aeson" ,ghc-aeson)
3312 ("ghc-blaze-markup" ,ghc-blaze-markup)
3313 ("ghc-blaze-html" ,ghc-blaze-html)
3314 ("ghc-vector" ,ghc-vector)
3315 ("ghc-unordered-containers" ,ghc-unordered-containers)
3316 ("ghc-scientific" ,ghc-scientific)))
3317 (native-inputs
3318 `(("ghc-hspec" ,ghc-hspec)))
3319 (home-page "https://github.com/jgm/doctemplates#readme")
3320 (synopsis "Pandoc-style document templates")
3321 (description
3322 "This package provides a simple text templating system used by pandoc.")
3323 (license license:bsd-3)))
3324
3325(define-public ghc-doctest
3326 (package
3327 (name "ghc-doctest")
19c14a0f 3328 (version "0.16.2")
dddbc90c
RV
3329 (source
3330 (origin
3331 (method url-fetch)
3332 (uri (string-append
3333 "https://hackage.haskell.org/package/doctest/doctest-"
3334 version
3335 ".tar.gz"))
3336 (sha256
3337 (base32
19c14a0f 3338 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
3339 (build-system haskell-build-system)
3340 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3341 (inputs
3342 `(("ghc-syb" ,ghc-syb)
3343 ("ghc-paths" ,ghc-paths)
3344 ("ghc-base-compat" ,ghc-base-compat)
3345 ("ghc-code-page" ,ghc-code-page)
3346 ("ghc-hunit" ,ghc-hunit)
3347 ("ghc-hspec" ,ghc-hspec)
3348 ("ghc-quickcheck" ,ghc-quickcheck)
3349 ("ghc-stringbuilder" ,ghc-stringbuilder)
3350 ("ghc-silently" ,ghc-silently)
3351 ("ghc-setenv" ,ghc-setenv)))
3352 (home-page
3353 "https://github.com/sol/doctest#readme")
3354 (synopsis "Test interactive Haskell examples")
3355 (description "The doctest program checks examples in source code comments.
3356It is modeled after doctest for Python, see
3357@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3358 (license license:expat)))
3359
2b2c8911
JS
3360(define-public ghc-dotgen
3361 (package
3362 (name "ghc-dotgen")
3363 (version "0.4.2")
3364 (source
3365 (origin
3366 (method url-fetch)
3367 (uri (string-append
3368 "mirror://hackage/package/dotgen/dotgen-"
3369 version
3370 ".tar.gz"))
3371 (sha256
3372 (base32
3373 "148q93qsmqgr5pzdwvpjqfd6bdm1pwzcp2rblfwswx2x8c5f43fg"))))
3374 (build-system haskell-build-system)
3375 (home-page "https://github.com/ku-fpg/dotgen")
3376 (synopsis
3377 "Simple interface for building .dot graph files")
3378 (description
3379 "This package provides a simple interface for building .dot graph
3380files, for input into the dot and graphviz tools. It includes a
3381monadic interface for building graphs.")
3382 (license license:bsd-3)))
3383
dddbc90c
RV
3384(define-public ghc-double-conversion
3385 (package
3386 (name "ghc-double-conversion")
3387 (version "2.0.2.0")
3388 (source
3389 (origin
3390 (method url-fetch)
3391 (uri (string-append "https://hackage.haskell.org/package/"
3392 "double-conversion/double-conversion-"
3393 version ".tar.gz"))
3394 (sha256
3395 (base32
3396 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3397 (build-system haskell-build-system)
3398 (native-inputs
3399 `(("ghc-hunit" ,ghc-hunit)
3400 ("ghc-test-framework" ,ghc-test-framework)
3401 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3402 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3403 (home-page "https://github.com/bos/double-conversion")
3404 (synopsis "Fast conversion between double precision floating point and text")
3405 (description
3406 "This package provides a library that performs fast, accurate conversion
3407between double precision floating point and text.")
3408 (license license:bsd-3)))
3409
577a78b7
TS
3410(define-public ghc-dual-tree
3411 (package
3412 (name "ghc-dual-tree")
3413 (version "0.2.2.1")
3414 (source
3415 (origin
3416 (method url-fetch)
3417 (uri (string-append "https://hackage.haskell.org/package/"
3418 "dual-tree/dual-tree-" version ".tar.gz"))
3419 (sha256
3420 (base32
3421 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3422 (build-system haskell-build-system)
3423 (inputs
3424 `(("ghc-semigroups" ,ghc-semigroups)
3425 ("ghc-newtype-generics" ,ghc-newtype-generics)
3426 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3427 (native-inputs
3428 `(("ghc-quickcheck" ,ghc-quickcheck)
3429 ("ghc-testing-feat" ,ghc-testing-feat)))
3430 (home-page "https://hackage.haskell.org/package/dual-tree")
3431 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3432 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3433cached) and downwards-traveling (i.e. accumulating) monoidal
3434annotations. This is used as the core data structure underlying the
3435@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3436diagrams framework}, but potentially has other applications as well.")
3437 (license license:bsd-3)))
3438
dddbc90c
RV
3439(define-public ghc-easy-file
3440 (package
3441 (name "ghc-easy-file")
3442 (version "0.2.2")
3443 (source
3444 (origin
3445 (method url-fetch)
3446 (uri (string-append
3447 "https://hackage.haskell.org/package/easy-file/easy-file-"
3448 version
3449 ".tar.gz"))
3450 (sha256
3451 (base32
3452 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3453 (build-system haskell-build-system)
3454 (home-page
3455 "https://github.com/kazu-yamamoto/easy-file")
3456 (synopsis "File handling library for Haskell")
3457 (description "This library provides file handling utilities for Haskell.")
3458 (license license:bsd-3)))
3459
3460(define-public ghc-easyplot
3461 (package
3462 (name "ghc-easyplot")
3463 (version "1.0")
3464 (source
3465 (origin
3466 (method url-fetch)
3467 (uri (string-append
3468 "https://hackage.haskell.org/package/easyplot/easyplot-"
3469 version ".tar.gz"))
3470 (sha256
3471 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3472 (build-system haskell-build-system)
3473 (propagated-inputs `(("gnuplot" ,gnuplot)))
3474 (arguments
3475 `(#:phases (modify-phases %standard-phases
3476 (add-after 'unpack 'fix-setup-suffix
3477 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3478 (home-page "https://hub.darcs.net/scravy/easyplot")
3479 (synopsis "Haskell plotting library based on gnuplot")
3480 (description "This package provides a plotting library for
3481Haskell, using gnuplot for rendering.")
3482 (license license:expat)))
3483
3484(define-public ghc-echo
3485 (package
3486 (name "ghc-echo")
3487 (version "0.1.3")
3488 (source
3489 (origin
3490 (method url-fetch)
3491 (uri (string-append
3492 "https://hackage.haskell.org/package/echo/echo-"
3493 version ".tar.gz"))
3494 (sha256
3495 (base32
3496 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3497 (build-system haskell-build-system)
3498 (arguments
3499 `(#:cabal-revision
3500 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3501 (home-page "https://github.com/RyanGlScott/echo")
3502 (synopsis "Echo terminal input portably")
3503 (description "The @code{base} library exposes the @code{hGetEcho} and
3504@code{hSetEcho} functions for querying and setting echo status, but
3505unfortunately, neither function works with MinTTY consoles on Windows.
3506This library provides an alternative interface which works with both
3507MinTTY and other consoles.")
3508 (license license:bsd-3)))
3509
3510(define-public ghc-edisonapi
3511 (package
3512 (name "ghc-edisonapi")
3513 (version "1.3.1")
3514 (source
3515 (origin
3516 (method url-fetch)
3517 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3518 "/EdisonAPI-" version ".tar.gz"))
3519 (sha256
3520 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3521 (build-system haskell-build-system)
3522 (home-page "http://rwd.rdockins.name/edison/home/")
3523 (synopsis "Library of efficient, purely-functional data structures (API)")
3524 (description
3525 "Edison is a library of purely functional data structures written by
3526Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3527value EDiSon (Efficient Data Structures). Edison provides several families of
3528abstractions, each with multiple implementations. The main abstractions
3529provided by Edison are: Sequences such as stacks, queues, and dequeues;
3530Collections such as sets, bags and heaps; and Associative Collections such as
3531finite maps and priority queues where the priority and element are distinct.")
3532 (license license:expat)))
3533
3534(define-public ghc-edisoncore
3535 (package
3536 (name "ghc-edisoncore")
3537 (version "1.3.2.1")
3538 (source
3539 (origin
3540 (method url-fetch)
3541 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3542 "/EdisonCore-" version ".tar.gz"))
3543 (sha256
3544 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3545 (build-system haskell-build-system)
3546 (inputs
3547 `(("ghc-quickcheck" ,ghc-quickcheck)
3548 ("ghc-edisonapi" ,ghc-edisonapi)))
3549 (home-page "http://rwd.rdockins.name/edison/home/")
3550 (synopsis "Library of efficient, purely-functional data structures")
3551 (description
3552 "This package provides the core Edison data structure implementations,
3553including multiple sequence, set, bag, and finite map concrete implementations
3554with various performance characteristics.")
3555 (license license:expat)))
3556
3557(define-public ghc-edit-distance
3558 (package
3559 (name "ghc-edit-distance")
3560 (version "0.2.2.1")
3561 (source
3562 (origin
3563 (method url-fetch)
3564 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3565 "/edit-distance-" version ".tar.gz"))
3566 (sha256
3567 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3568 (build-system haskell-build-system)
3569 (arguments
3570 `(#:phases
3571 (modify-phases %standard-phases
3572 (add-before 'configure 'update-constraints
3573 (lambda _
3574 (substitute* "edit-distance.cabal"
3575 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3576 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3577 (inputs
3578 `(("ghc-random" ,ghc-random)
3579 ("ghc-test-framework" ,ghc-test-framework)
3580 ("ghc-quickcheck" ,ghc-quickcheck)
3581 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3582 (home-page "https://github.com/phadej/edit-distance")
3583 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3584 (description
3585 "This package provides optimized functions to determine the edit
3586distances for fuzzy matching, including Levenshtein and restricted
3587Damerau-Levenshtein algorithms.")
3588 (license license:bsd-3)))
3589
3ebae41f
TS
3590(define-public ghc-edit-distance-vector
3591 (package
3592 (name "ghc-edit-distance-vector")
3593 (version "1.0.0.4")
3594 (source
3595 (origin
3596 (method url-fetch)
3597 (uri (string-append "https://hackage.haskell.org/package/"
3598 "edit-distance-vector/edit-distance-vector-"
3599 version ".tar.gz"))
3600 (sha256
3601 (base32
3602 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3603 (build-system haskell-build-system)
3604 (inputs
3605 `(("ghc-vector" ,ghc-vector)))
3606 (native-inputs
3607 `(("ghc-quickcheck" ,ghc-quickcheck)
3608 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3609 (home-page "https://github.com/thsutton/edit-distance-vector")
3610 (synopsis "Calculate edit distances and edit scripts between vectors")
3611 (description "This package provides implementation of the
3612Wagner-Fischer dynamic programming algorithm to find the optimal edit
3613script and cost between two sequences. The implementation in this
3614package is specialised to sequences represented with @code{Data.Vector}
3615but is otherwise agnostic to:
3616@itemize
3617@item The type of values in the vectors;
3618@item The type representing edit operations; and
3619@item The type representing the cost of operations.
3620@end itemize")
3621 (license license:bsd-3)) )
3622
dddbc90c
RV
3623(define-public ghc-either
3624 (package
3625 (name "ghc-either")
a3fd4dc7 3626 (version "5.0.1.1")
dddbc90c
RV
3627 (source
3628 (origin
3629 (method url-fetch)
3630 (uri (string-append "https://hackage.haskell.org/package/"
3631 "either-" version "/"
3632 "either-" version ".tar.gz"))
3633 (sha256
3634 (base32
a3fd4dc7 3635 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3636 (build-system haskell-build-system)
3637 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3638 ("ghc-exceptions" ,ghc-exceptions)
3639 ("ghc-free" ,ghc-free)
3640 ("ghc-monad-control" ,ghc-monad-control)
3641 ("ghc-manodrandom" ,ghc-monadrandom)
3642 ("ghc-mmorph" ,ghc-mmorph)
3643 ("ghc-profunctors" ,ghc-profunctors)
3644 ("ghc-semigroups" ,ghc-semigroups)
3645 ("ghc-semigroupoids" ,ghc-semigroupoids)
3646 ("ghc-transformers-base" ,ghc-transformers-base)))
3647 (native-inputs
3648 `(("ghc-quickcheck" ,ghc-quickcheck)
3649 ("ghc-test-framework" ,ghc-test-framework)
3650 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3651 (home-page "https://github.com/ekmett/either")
3652 (synopsis "Provides an either monad transformer for Haskell")
3653 (description "This Haskell package provides an either monad transformer.")
3654 (license license:bsd-3)))
3655
3656(define-public ghc-email-validate
3657 (package
3658 (name "ghc-email-validate")
a4fe1c64 3659 (version "2.3.2.12")
dddbc90c
RV
3660 (source
3661 (origin
3662 (method url-fetch)
3663 (uri (string-append
3664 "https://hackage.haskell.org/package/"
3665 "email-validate/email-validate-"
3666 version
3667 ".tar.gz"))
3668 (sha256
3669 (base32
a4fe1c64 3670 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3671 (build-system haskell-build-system)
3672 (inputs
3673 `(("ghc-attoparsec" ,ghc-attoparsec)
3674 ("ghc-hspec" ,ghc-hspec)
3675 ("ghc-quickcheck" ,ghc-quickcheck)
3676 ("ghc-doctest" ,ghc-doctest)))
3677 (home-page
3678 "https://github.com/Porges/email-validate-hs")
3679 (synopsis "Email address validator for Haskell")
3680 (description
3681 "This Haskell package provides a validator that can validate an email
3682address string against RFC 5322.")
3683 (license license:bsd-3)))
3684
3685(define-public ghc-enclosed-exceptions
3686 (package
3687 (name "ghc-enclosed-exceptions")
3688 (version "1.0.3")
3689 (source (origin
3690 (method url-fetch)
3691 (uri (string-append "https://hackage.haskell.org/package/"
3692 "enclosed-exceptions/enclosed-exceptions-"
3693 version ".tar.gz"))
3694 (sha256
3695 (base32
3696 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3697 (build-system haskell-build-system)
3698 ;; FIXME: one of the tests blocks forever:
3699 ;; "thread blocked indefinitely in an MVar operation"
3700 (arguments '(#:tests? #f))
3701 (inputs
3702 `(("ghc-lifted-base" ,ghc-lifted-base)
3703 ("ghc-monad-control" ,ghc-monad-control)
3704 ("ghc-async" ,ghc-async)
3705 ("ghc-transformers-base" ,ghc-transformers-base)))
3706 (native-inputs
3707 `(("ghc-hspec" ,ghc-hspec)
3708 ("ghc-quickcheck" ,ghc-quickcheck)))
3709 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3710 (synopsis "Catch all exceptions from within an enclosed computation")
3711 (description
3712 "This library implements a technique to catch all exceptions raised
3713within an enclosed computation, while remaining responsive to (external)
3714asynchronous exceptions.")
3715 (license license:expat)))
3716
3717(define-public ghc-equivalence
3718 (package
3719 (name "ghc-equivalence")
801cf5b1 3720 (version "0.3.5")
dddbc90c
RV
3721 (source
3722 (origin
3723 (method url-fetch)
3724 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3725 "/equivalence-" version ".tar.gz"))
3726 (sha256
801cf5b1 3727 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
dddbc90c
RV
3728 (build-system haskell-build-system)
3729 (inputs
3730 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3731 ("ghc-transformers-compat" ,ghc-transformers-compat)
801cf5b1
TS
3732 ("ghc-fail" ,ghc-fail)
3733 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
3734 (home-page "https://github.com/pa-ba/equivalence")
3735 (synopsis "Maintaining an equivalence relation implemented as union-find")
3736 (description
3737 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3738Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
373922(2), 1975) in order to maintain an equivalence relation. This
3740implementation is a port of the @code{union-find} package using the @code{ST}
3741monad transformer (instead of the IO monad).")
3742 (license license:bsd-3)))
3743
3744(define-public ghc-erf
3745 (package
3746 (name "ghc-erf")
3747 (version "2.0.0.0")
3748 (source
3749 (origin
3750 (method url-fetch)
3751 (uri (string-append "https://hackage.haskell.org/package/"
3752 "erf-" version "/"
3753 "erf-" version ".tar.gz"))
3754 (sha256
3755 (base32
3756 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3757 (build-system haskell-build-system)
3758 (home-page "https://hackage.haskell.org/package/erf")
3759 (synopsis "The error function, erf, and related functions for Haskell")
3760 (description "This Haskell library provides a type class for the
3761error function, erf, and related functions. Instances for Float and
3762Double.")
3763 (license license:bsd-3)))
3764
3765(define-public ghc-errorcall-eq-instance
3766 (package
3767 (name "ghc-errorcall-eq-instance")
3768 (version "0.3.0")
3769 (source
3770 (origin
3771 (method url-fetch)
3772 (uri (string-append "https://hackage.haskell.org/package/"
3773 "errorcall-eq-instance/errorcall-eq-instance-"
3774 version ".tar.gz"))
3775 (sha256
3776 (base32
3777 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3778 (build-system haskell-build-system)
3779 (inputs
3780 `(("ghc-base-orphans" ,ghc-base-orphans)))
3781 (native-inputs
3782 `(("ghc-quickcheck" ,ghc-quickcheck)
3783 ("ghc-hspec" ,ghc-hspec)
3784 ("hspec-discover" ,hspec-discover)))
3ef91e15 3785 (home-page "https://hackage.haskell.org/package/errorcall-eq-instance")
dddbc90c
RV
3786 (synopsis "Orphan Eq instance for ErrorCall")
3787 (description
3788 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3789This package provides an orphan instance.")
3790 (license license:expat)))
3791
3792(define-public ghc-errors
3793 (package
3794 (name "ghc-errors")
3795 (version "2.3.0")
3796 (source
3797 (origin
3798 (method url-fetch)
3799 (uri (string-append "https://hackage.haskell.org/package/"
3800 "errors-" version "/"
3801 "errors-" version ".tar.gz"))
3802 (sha256
3803 (base32
3804 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3805 (build-system haskell-build-system)
3806 (inputs
3807 `(("ghc-exceptions" ,ghc-exceptions)
3808 ("ghc-transformers-compat" ,ghc-transformers-compat)
3809 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3810 ("ghc-safe" ,ghc-safe)))
3811 (home-page "https://github.com/gabriel439/haskell-errors-library")
3812 (synopsis "Error handling library for Haskell")
3813 (description "This library encourages an error-handling style that
3814directly uses the type system, rather than out-of-band exceptions.")
3815 (license license:bsd-3)))
3816
3817(define-public ghc-esqueleto
2648b604
TS
3818 (package
3819 (name "ghc-esqueleto")
2f6ad77b 3820 (version "3.3.1.1")
2648b604
TS
3821 (source
3822 (origin
3823 (method url-fetch)
3824 (uri (string-append "https://hackage.haskell.org/package/"
3825 "esqueleto/esqueleto-" version ".tar.gz"))
3826 (sha256
3827 (base32
2f6ad77b 3828 "1qi28ma8j5kfygjxnixlazxsyrkdqv8ljz3icwqi5dlscsnj6v3v"))))
2648b604
TS
3829 (build-system haskell-build-system)
3830 (arguments
3831 `(#:haddock? #f ; Haddock reports an internal error.
3832 #:phases
3833 (modify-phases %standard-phases
3834 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3835 ;; SQLite backends. Since we only have Haskell packages for
3836 ;; SQLite, we remove the other two test suites. FIXME: Add the
3837 ;; other backends and run all three test suites.
3838 (add-before 'configure 'remove-non-sqlite-test-suites
3839 (lambda _
3840 (use-modules (ice-9 rdelim))
3841 (with-atomic-file-replacement "esqueleto.cabal"
3842 (lambda (in out)
3843 (let loop ((line (read-line in 'concat)) (deleting? #f))
3844 (cond
3845 ((eof-object? line) #t)
3846 ((string-every char-set:whitespace line)
3847 (unless deleting? (display line out))
3848 (loop (read-line in 'concat) #f))
3849 ((member line '("test-suite mysql\n"
3850 "test-suite postgresql\n"))
3851 (loop (read-line in 'concat) #t))
3852 (else
3853 (unless deleting? (display line out))
3854 (loop (read-line in 'concat) deleting?)))))))))))
3855 (inputs
3856 `(("ghc-blaze-html" ,ghc-blaze-html)
3857 ("ghc-conduit" ,ghc-conduit)
3858 ("ghc-monad-logger" ,ghc-monad-logger)
3859 ("ghc-persistent" ,ghc-persistent)
3860 ("ghc-resourcet" ,ghc-resourcet)
3861 ("ghc-tagged" ,ghc-tagged)
3862 ("ghc-unliftio" ,ghc-unliftio)
3863 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3864 (native-inputs
3865 `(("ghc-hspec" ,ghc-hspec)
3866 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3867 ("ghc-persistent-template" ,ghc-persistent-template)))
3868 (home-page "https://github.com/bitemyapp/esqueleto")
3869 (synopsis "Type-safe embedded domain specific language for SQL queries")
3870 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3871language (EDSL) for SQL queries that works with SQL backends as provided by
3872@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3873to learn new concepts, just new syntax, and it's fairly easy to predict the
3874generated SQL and optimize it for your backend.")
2648b604 3875 (license license:bsd-3)))
dddbc90c
RV
3876
3877(define-public ghc-exactprint
3878 (package
3879 (name "ghc-exactprint")
50614014 3880 (version "0.6.1")
dddbc90c
RV
3881 (source
3882 (origin
3883 (method url-fetch)
3884 (uri (string-append
3885 "https://hackage.haskell.org/package/"
3886 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3887 (sha256
3888 (base32
50614014 3889 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3890 (build-system haskell-build-system)
3891 (inputs
3892 `(("ghc-paths" ,ghc-paths)
3893 ("ghc-syb" ,ghc-syb)
3894 ("ghc-free" ,ghc-free)))
3895 (native-inputs
3896 `(("ghc-hunit" ,ghc-hunit)
3897 ("ghc-diff" ,ghc-diff)
3898 ("ghc-silently" ,ghc-silently)
3899 ("ghc-filemanip" ,ghc-filemanip)))
3900 (home-page
3ef91e15 3901 "https://hackage.haskell.org/package/ghc-exactprint")
dddbc90c
RV
3902 (synopsis "ExactPrint for GHC")
3903 (description
3904 "Using the API Annotations available from GHC 7.10.2, this library
3905provides a means to round-trip any code that can be compiled by GHC, currently
3906excluding @file{.lhs} files.")
3907 (license license:bsd-3)))
3908
3909(define-public ghc-exceptions
3910 (package
3911 (name "ghc-exceptions")
46d3e65b 3912 (version "0.10.3")
dddbc90c
RV
3913 (source
3914 (origin
3915 (method url-fetch)
3916 (uri (string-append
3917 "https://hackage.haskell.org/package/exceptions/exceptions-"
3918 version
3919 ".tar.gz"))
3920 (sha256
3921 (base32
46d3e65b 3922 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3923 (build-system haskell-build-system)
3924 (native-inputs
3925 `(("ghc-quickcheck" ,ghc-quickcheck)
3926 ("ghc-test-framework" ,ghc-test-framework)
3927 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3928 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3929 (inputs
3930 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3931 (home-page "https://github.com/ekmett/exceptions/")
3932 (synopsis "Extensible optionally-pure exceptions")
3933 (description "This library provides extensible optionally-pure exceptions
3934for Haskell.")
3935 (license license:bsd-3)))
3936
3937(define-public ghc-executable-path
3938 (package
3939 (name "ghc-executable-path")
3940 (version "0.0.3.1")
3941 (source (origin
3942 (method url-fetch)
3943 (uri (string-append "https://hackage.haskell.org/package/"
3944 "executable-path/executable-path-"
3945 version ".tar.gz"))
3946 (sha256
3947 (base32
3948 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3949 (build-system haskell-build-system)
3950 (home-page "https://hackage.haskell.org/package/executable-path")
3951 (synopsis "Find out the full path of the executable")
3952 (description
3953 "The documentation of @code{System.Environment.getProgName} says that
3954\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3955instead, for maximum portability, we just return the leafname of the program
3956as invoked.\" This library tries to provide the missing path.")
3957 (license license:public-domain)))
3958
3959(define-public ghc-extensible-exceptions
3960 (package
3961 (name "ghc-extensible-exceptions")
3962 (version "0.1.1.4")
3963 (source
3964 (origin
3965 (method url-fetch)
3966 (uri (string-append "https://hackage.haskell.org/package/"
3967 "extensible-exceptions/extensible-exceptions-"
3968 version ".tar.gz"))
3969 (sha256
3970 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3971 (build-system haskell-build-system)
3972 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3973 (synopsis "Extensible exceptions for Haskell")
3974 (description
3975 "This package provides extensible exceptions for both new and old
3976versions of GHC (i.e., < 6.10).")
3977 (license license:bsd-3)))
3978
3979(define-public ghc-extra
3980 (package
3981 (name "ghc-extra")
0cec5c4e 3982 (version "1.6.21")
dddbc90c
RV
3983 (source
3984 (origin
3985 (method url-fetch)
3986 (uri (string-append
3987 "https://hackage.haskell.org/package/extra/extra-"
3988 version
3989 ".tar.gz"))
3990 (sha256
3991 (base32
0cec5c4e 3992 "1gjx98w4w61g043k6rzc8i34cbxpcigi8lb6i7pp1vwp8w8jm5vl"))))
dddbc90c
RV
3993 (build-system haskell-build-system)
3994 (inputs
3995 `(("ghc-clock" ,ghc-clock)
10650c44 3996 ("ghc-semigroups" ,ghc-semigroups)
b431f6c9
ASM
3997 ("ghc-quickcheck" ,ghc-quickcheck)
3998 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
dddbc90c
RV
3999 (home-page "https://github.com/ndmitchell/extra")
4000 (synopsis "Extra Haskell functions")
4001 (description "This library provides extra functions for the standard
4002Haskell libraries. Most functions are simple additions, filling out missing
4003functionality. A few functions are available in later versions of GHC, but
4004this package makes them available back to GHC 7.2.")
4005 (license license:bsd-3)))
4006
4007(define-public ghc-fail
4008 (package
4009 (name "ghc-fail")
4010 (version "4.9.0.0")
4011 (source
4012 (origin
4013 (method url-fetch)
4014 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
4015 version ".tar.gz"))
4016 (sha256
4017 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
4018 (build-system haskell-build-system)
4019 (arguments `(#:haddock? #f)) ; Package contains no documentation.
4020 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
4021 (synopsis "Forward-compatible MonadFail class")
4022 (description
4023 "This package contains the @code{Control.Monad.Fail} module providing the
4024@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
4025class that became available in
4026@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
4027older @code{base} package versions. This package turns into an empty package
4028when used with GHC versions which already provide the
4029@code{Control.Monad.Fail} module.")
4030 (license license:bsd-3)))
4031
4032(define-public ghc-fast-logger
4033 (package
4034 (name "ghc-fast-logger")
d443a52a 4035 (version "2.4.17")
dddbc90c
RV
4036 (source
4037 (origin
4038 (method url-fetch)
4039 (uri (string-append
4040 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
4041 version
4042 ".tar.gz"))
4043 (sha256
4044 (base32
d443a52a 4045 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
4046 (build-system haskell-build-system)
4047 (inputs
4048 `(("ghc-auto-update" ,ghc-auto-update)
4049 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
4050 ("ghc-unix-time" ,ghc-unix-time)
4051 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
4052 (native-inputs
4053 `(("hspec-discover" ,hspec-discover)
4054 ("ghc-hspec" ,ghc-hspec)))
4055 (home-page "https://hackage.haskell.org/package/fast-logger")
4056 (synopsis "Fast logging system")
4057 (description "This library provides a fast logging system for Haskell.")
4058 (license license:bsd-3)))
4059
4060(define-public ghc-feed
4061 (package
4062 (name "ghc-feed")
a41c16dc 4063 (version "1.2.0.1")
dddbc90c
RV
4064 (source
4065 (origin
4066 (method url-fetch)
4067 (uri (string-append "https://hackage.haskell.org/package/"
4068 "feed/feed-" version ".tar.gz"))
4069 (sha256
4070 (base32
a41c16dc 4071 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 4072 (build-system haskell-build-system)
dddbc90c
RV
4073 (inputs
4074 `(("ghc-base-compat" ,ghc-base-compat)
4075 ("ghc-old-locale" ,ghc-old-locale)
4076 ("ghc-old-time" ,ghc-old-time)
4077 ("ghc-safe" ,ghc-safe)
4078 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
4079 ("ghc-utf8-string" ,ghc-utf8-string)
4080 ("ghc-xml-conduit" ,ghc-xml-conduit)
4081 ("ghc-xml-types" ,ghc-xml-types)))
4082 (native-inputs
4083 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 4084 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
4085 ("ghc-test-framework" ,ghc-test-framework)
4086 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
4087 (home-page "https://github.com/bergmark/feed")
4088 (synopsis "Haskell package for handling various syndication formats")
4089 (description "This Haskell package includes tools for generating and
4090consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
4091 (license license:bsd-3)))
4092
4093(define-public ghc-fgl
4094 (package
4095 (name "ghc-fgl")
17482b26 4096 (version "5.7.0.1")
dddbc90c
RV
4097 (outputs '("out" "doc"))
4098 (source
4099 (origin
4100 (method url-fetch)
4101 (uri (string-append
4102 "https://hackage.haskell.org/package/fgl/fgl-"
4103 version
4104 ".tar.gz"))
4105 (sha256
4106 (base32
17482b26 4107 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
4108 (build-system haskell-build-system)
4109 (arguments
4110 `(#:phases
4111 (modify-phases %standard-phases
4112 (add-before 'configure 'update-constraints
4113 (lambda _
4114 (substitute* "fgl.cabal"
17482b26
TS
4115 (("QuickCheck >= 2\\.8 && < 2\\.13")
4116 "QuickCheck >= 2.8 && < 2.14")
4117 (("hspec >= 2\\.1 && < 2\\.7")
4118 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4119 (inputs
4120 `(("ghc-hspec" ,ghc-hspec)
4121 ("ghc-quickcheck" ,ghc-quickcheck)))
4122 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
4123 (synopsis
4124 "Martin Erwig's Functional Graph Library")
4125 (description "The functional graph library, FGL, is a collection of type
4126and function definitions to address graph problems. The basis of the library
4127is an inductive definition of graphs in the style of algebraic data types that
4128encourages inductive, recursive definitions of graph algorithms.")
4129 (license license:bsd-3)))
4130
4131(define-public ghc-fgl-arbitrary
4132 (package
4133 (name "ghc-fgl-arbitrary")
4134 (version "0.2.0.3")
4135 (source
4136 (origin
4137 (method url-fetch)
4138 (uri (string-append
4139 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
4140 version ".tar.gz"))
4141 (sha256
4142 (base32
4143 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
4144 (build-system haskell-build-system)
4145 (arguments
4146 `(#:phases
4147 (modify-phases %standard-phases
4148 (add-before 'configure 'update-constraints
4149 (lambda _
4150 (substitute* "fgl-arbitrary.cabal"
4151 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 4152 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 4153 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 4154 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4155 (inputs
4156 `(("ghc-fgl" ,ghc-fgl)
4157 ("ghc-quickcheck" ,ghc-quickcheck)
4158 ("ghc-hspec" ,ghc-hspec)))
4159 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
4160 (synopsis "QuickCheck support for fgl")
4161 (description
4162 "Provides Arbitrary instances for fgl graphs to avoid adding a
4163QuickCheck dependency for fgl whilst still making the instances
4164available to others. Also available are non-fgl-specific functions
4165for generating graph-like data structures.")
4166 (license license:bsd-3)))
4167
4168(define-public ghc-file-embed
4169 (package
4170 (name "ghc-file-embed")
b5920d50 4171 (version "0.0.11")
dddbc90c
RV
4172 (source
4173 (origin
4174 (method url-fetch)
4175 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
4176 "file-embed-" version ".tar.gz"))
4177 (sha256
4178 (base32
b5920d50 4179 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
4180 (build-system haskell-build-system)
4181 (home-page "https://github.com/snoyberg/file-embed")
4182 (synopsis "Use Template Haskell to embed file contents directly")
4183 (description
4184 "This package allows you to use Template Haskell to read a file or all
4185the files in a directory, and turn them into @code{(path, bytestring)} pairs
4186embedded in your Haskell code.")
4187 (license license:bsd-3)))
4188
4189(define-public ghc-filemanip
4190 (package
4191 (name "ghc-filemanip")
4192 (version "0.3.6.3")
4193 (source (origin
4194 (method url-fetch)
4195 (uri (string-append "https://hackage.haskell.org/package/"
4196 "filemanip/filemanip-" version ".tar.gz"))
4197 (sha256
4198 (base32
4199 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
4200 (build-system haskell-build-system)
4201 (inputs
4202 `(("ghc-unix-compat" ,ghc-unix-compat)))
4203 (home-page "https://github.com/bos/filemanip")
4204 (synopsis "File and directory manipulation for Haskell")
4205 (description
4206 "This package provides a Haskell library for working with files and
4207directories. It includes code for pattern matching, finding files, modifying
4208file contents, and more.")
4209 (license license:bsd-3)))
4210
bb62932a
KM
4211(define-public ghc-filepath-bytestring
4212 (package
4213 (name "ghc-filepath-bytestring")
4214 (version "1.4.2.1.1")
4215 (source
4216 (origin
4217 (method url-fetch)
4218 (uri (string-append
4219 "https://hackage.haskell.org/package/filepath-bytestring/"
4220 "filepath-bytestring-" version ".tar.gz"))
4221 (sha256
4222 (base32
4223 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4224 (build-system haskell-build-system)
4225 (native-inputs
4226 `(("ghc-quickcheck" ,ghc-quickcheck)))
3ef91e15 4227 (home-page "https://hackage.haskell.org/package/filepath-bytestring")
bb62932a
KM
4228 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4229 (description "This package provides a drop-in replacement for the standard
4230@code{filepath} library, operating on @code{RawFilePath} values rather than
4231@code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4232 (license license:bsd-3)))
4233
dddbc90c
RV
4234(define-public ghc-findbin
4235 (package
4236 (name "ghc-findbin")
4237 (version "0.0.5")
4238 (source
4239 (origin
4240 (method url-fetch)
4241 (uri (string-append
4242 "https://hackage.haskell.org/package/FindBin/FindBin-"
4243 version ".tar.gz"))
4244 (sha256
4245 (base32
4246 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4247 (build-system haskell-build-system)
4248 (home-page "https://github.com/audreyt/findbin")
4249 (synopsis "Get the absolute path of the running program")
4250 (description
4251 "This module locates the full directory of the running program, to allow
4252the use of paths relative to it. FindBin supports invocation of Haskell
4253programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4254an executable.")
4255 (license license:bsd-3)))
4256
4257(define-public ghc-fingertree
4258 (package
4259 (name "ghc-fingertree")
aac14fdc 4260 (version "0.1.4.2")
dddbc90c
RV
4261 (source
4262 (origin
4263 (method url-fetch)
4264 (uri (string-append
4265 "https://hackage.haskell.org/package/fingertree/fingertree-"
4266 version ".tar.gz"))
4267 (sha256
4268 (base32
aac14fdc 4269 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
4270 (build-system haskell-build-system)
4271 (native-inputs
4272 `(("ghc-hunit" ,ghc-hunit)
4273 ("ghc-quickcheck" ,ghc-quickcheck)
4274 ("ghc-test-framework" ,ghc-test-framework)
4275 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4276 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4277 (home-page "https://hackage.haskell.org/package/fingertree")
4278 (synopsis "Generic finger-tree structure")
4279 (description "This library provides finger trees, a general sequence
4280representation with arbitrary annotations, for use as a base for
4281implementations of various collection types. It includes examples, as
4282described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4283simple general-purpose data structure\".")
4284 (license license:bsd-3)))
4285
4286(define-public ghc-fixed
4287 (package
4288 (name "ghc-fixed")
099dda5b 4289 (version "0.3")
dddbc90c
RV
4290 (source
4291 (origin
4292 (method url-fetch)
4293 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4294 version ".tar.gz"))
4295 (sha256
4296 (base32
099dda5b 4297 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
4298 (build-system haskell-build-system)
4299 (home-page "https://github.com/ekmett/fixed")
4300 (synopsis "Signed 15.16 precision fixed point arithmetic")
4301 (description
4302 "This package provides functions for signed 15.16 precision fixed point
4303arithmetic.")
4304 (license license:bsd-3)))
4305
f169f713
JS
4306(define-public ghc-fmlist
4307 (package
4308 (name "ghc-fmlist")
fe9b83a6 4309 (version "0.9.3")
f169f713
JS
4310 (source
4311 (origin
4312 (method url-fetch)
4313 (uri
4314 (string-append
4315 "https://hackage.haskell.org/package/fmlist/fmlist-"
4316 version ".tar.gz"))
4317 (sha256
4318 (base32
fe9b83a6 4319 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
4320 (build-system haskell-build-system)
4321 (home-page "https://github.com/sjoerdvisscher/fmlist")
4322 (synopsis "FoldMap lists")
4323 (description "FoldMap lists are lists represented by their
4324@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4325append, just like DLists, but other operations might have favorable
4326performance characteristics as well. These wild claims are still
4327completely unverified though.")
4328 (license license:bsd-3)))
4329
dddbc90c
RV
4330(define-public ghc-foldl
4331 (package
4332 (name "ghc-foldl")
26c4104f 4333 (version "1.4.5")
dddbc90c
RV
4334 (source
4335 (origin
4336 (method url-fetch)
4337 (uri (string-append "https://hackage.haskell.org/package/"
4338 "foldl-" version "/"
4339 "foldl-" version ".tar.gz"))
4340 (sha256
4341 (base32
26c4104f 4342 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
4343 (build-system haskell-build-system)
4344 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4345 ("ghc-primitive" ,ghc-primitive)
4346 ("ghc-vector" ,ghc-vector)
4347 ("ghc-unordered-containers" ,ghc-unordered-containers)
4348 ("ghc-hashable" ,ghc-hashable)
4349 ("ghc-contravariant" ,ghc-contravariant)
4350 ("ghc-semigroups" ,ghc-semigroups)
4351 ("ghc-profunctors" ,ghc-profunctors)
4352 ("ghc-semigroupoids" ,ghc-semigroupoids)
4353 ("ghc-comonad" ,ghc-comonad)
4354 ("ghc-vector-builder" ,ghc-vector-builder)))
4355 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4356 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4357 (description "This Haskell library provides strict left folds that stream
4358in constant memory, and you can combine folds using @code{Applicative} style
4359to derive new folds. Derived folds still traverse the container just once
4360and are often as efficient as hand-written folds.")
4361 (license license:bsd-3)))
4362
4363(define-public ghc-foundation
4364 (package
4365 (name "ghc-foundation")
0a702df9 4366 (version "0.0.25")
dddbc90c
RV
4367 (source
4368 (origin
4369 (method url-fetch)
4370 (uri (string-append "https://hackage.haskell.org/package/"
4371 "foundation/foundation-" version ".tar.gz"))
4372 (sha256
4373 (base32
0a702df9 4374 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c 4375 (build-system haskell-build-system)
59cd7518
TS
4376 (arguments
4377 `(#:phases
4378 (modify-phases %standard-phases
4379 ;; This test is broken. For details, see
4380 ;; https://github.com/haskell-foundation/foundation/issues/530
4381 (add-after 'unpack 'patch-tests
4382 (lambda _
4383 (substitute* "tests/Test/Foundation/Number.hs"
4384 ((", testDividible proxy") ""))
4385 #t)))))
dddbc90c
RV
4386 (inputs `(("ghc-basement" ,ghc-basement)))
4387 (home-page "https://github.com/haskell-foundation/foundation")
4388 (synopsis "Alternative prelude with batteries and no dependencies")
4389 (description
4390 "This package provides a custom prelude with no dependencies apart from
4391the base package.
4392
4393Foundation has the following goals:
4394
4395@enumerate
4396@item provide a base like sets of modules that provide a consistent set of
4397 features and bugfixes across multiple versions of GHC (unlike base).
4398@item provide a better and more efficient prelude than base's prelude.
4399@item be self-sufficient: no external dependencies apart from base;
4400@item provide better data-types: packed unicode string by default, arrays;
4401@item Numerical classes that better represent mathematical things (no more
4402 all-in-one @code{Num});
4403@item I/O system with less lazy IO.
4404@end enumerate\n")
4405 (license license:bsd-3)))
4406
4407(define-public ghc-free
4408 (package
4409 (name "ghc-free")
4081565d 4410 (version "5.1.2")
dddbc90c
RV
4411 (source
4412 (origin
4413 (method url-fetch)
4414 (uri (string-append
4415 "https://hackage.haskell.org/package/free/free-"
4416 version
4417 ".tar.gz"))
4418 (sha256
4419 (base32
4081565d 4420 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
4421 (build-system haskell-build-system)
4422 (inputs
4423 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4424 ("ghc-profunctors" ,ghc-profunctors)
4425 ("ghc-exceptions" ,ghc-exceptions)
4426 ("ghc-bifunctors" ,ghc-bifunctors)
4427 ("ghc-comonad" ,ghc-comonad)
4428 ("ghc-distributive" ,ghc-distributive)
4429 ("ghc-semigroupoids" ,ghc-semigroupoids)
4430 ("ghc-semigroups" ,ghc-semigroups)
4431 ("ghc-transformers-base" ,ghc-transformers-base)
4432 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4433 (home-page "https://github.com/ekmett/free/")
4434 (synopsis "Unrestricted monads for Haskell")
4435 (description "This library provides free monads, which are useful for many
4436tree-like structures and domain specific languages. If @code{f} is a
4437@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4438whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4439is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4440f} makes no constraining assumptions beyond those given by @code{f} and the
4441definition of @code{Monad}.")
4442 (license license:bsd-3)))
4443
4444(define-public ghc-fsnotify
4445 (package
4446 (name "ghc-fsnotify")
4447 (version "0.3.0.1")
4448 (source (origin
4449 (method url-fetch)
4450 (uri (string-append
4451 "https://hackage.haskell.org/package/fsnotify/"
4452 "fsnotify-" version ".tar.gz"))
4453 (sha256
4454 (base32
4455 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4456 (build-system haskell-build-system)
4457 (inputs
4458 `(("ghc-async" ,ghc-async)
4459 ("ghc-unix-compat" ,ghc-unix-compat)
4460 ("ghc-hinotify" ,ghc-hinotify)
4461 ("ghc-tasty" ,ghc-tasty)
4462 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4463 ("ghc-random" ,ghc-random)
4464 ("ghc-shelly" ,ghc-shelly)
4465 ("ghc-temporary" ,ghc-temporary)))
4466 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4467 (synopsis "Cross platform library for file change notification.")
4468 (description "Cross platform library for file creation, modification, and
4469deletion notification. This library builds upon existing libraries for platform
4470specific Windows, Mac, and Linux file system event notification.")
4471 (license license:bsd-3)))
4472
4473(define-public ghc-generic-deriving
4474 (package
4475 (name "ghc-generic-deriving")
55c1e6be 4476 (version "1.12.4")
dddbc90c
RV
4477 (source
4478 (origin
4479 (method url-fetch)
4480 (uri (string-append
4481 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4482 version
4483 ".tar.gz"))
4484 (sha256
4485 (base32
55c1e6be 4486 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
4487 (build-system haskell-build-system)
4488 (inputs
4489 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4490 (native-inputs
4491 `(("ghc-hspec" ,ghc-hspec)
4492 ("hspec-discover" ,hspec-discover)))
4493 (home-page "https://hackage.haskell.org/package/generic-deriving")
4494 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4495 (description "This package provides functionality for generalising the
4496deriving mechanism in Haskell to arbitrary classes.")
4497 (license license:bsd-3)))
4498
89e9082e
JS
4499(define-public ghc-generic-random
4500 (package
4501 (name "ghc-generic-random")
4502 (version "1.2.0.0")
4503 (source
4504 (origin
4505 (method url-fetch)
4506 (uri (string-append
4507 "https://hackage.haskell.org/package/generic-random/"
4508 "generic-random-" version ".tar.gz"))
4509 (sha256
4510 (base32 "130lmblycxnpqbsl7vf6a90zccibnvcb5zaclfajcn3by39007lv"))))
4511 (build-system haskell-build-system)
4512 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
4513 (native-inputs
4514 `(("ghc-inspection-testing" ,ghc-inspection-testing)))
4515 (arguments
4516 `(#:cabal-revision
4517 ("1" "1d0hx41r7yq2a86ydnfh2fv540ah8cz05l071s2z4wxcjw0ymyn4")))
4518 (home-page
4519 "https://github.com/lysxia/generic-random")
4520 (synopsis
4521 "Generic random generators for QuickCheck")
4522 (description
4523 "Derive instances of @code{Arbitrary} for QuickCheck, with various options
4524to customize implementations.
4525
4526Automating the arbitrary boilerplate also ensures that when a type changes to
4527have more or fewer constructors, then the generator either fixes itself to
4528generate that new case (when using the uniform distribution) or causes a
4529compilation error so you remember to fix it (when using an explicit
4530distribution).
4531
4532This package also offers a simple (optional) strategy to ensure termination
4533for recursive types: make @code{Test.QuickCheck.Gen}'s size parameter decrease
4534at every recursive call; when it reaches zero, sample directly from a
4535trivially terminating generator given explicitly (@code{genericArbitraryRec}
4536and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).")
4537 (license license:expat)))
4538
23e4b264
JS
4539(define-public ghc-generic-random-1.3.0.1
4540 (package
4541 (inherit ghc-generic-random)
4542 (version "1.3.0.1")
4543 (source
4544 (origin
4545 (method url-fetch)
4546 (uri (string-append
4547 "https://hackage.haskell.org/package/generic-random/"
4548 "generic-random-" version ".tar.gz"))
4549 (sha256
4550 (base32 "0d9w7xcmsb31b95fr9d5jwbsajcl1yi4347dlbw4bybil2vjwd7k"))))
4551 (arguments '())))
4552
dddbc90c
RV
4553(define-public ghc-generics-sop
4554 (package
4555 (name "ghc-generics-sop")
3ed40e10 4556 (version "0.4.0.1")
dddbc90c
RV
4557 (source
4558 (origin
4559 (method url-fetch)
4560 (uri (string-append "https://hackage.haskell.org/package/"
4561 "generics-sop-" version "/"
4562 "generics-sop-" version ".tar.gz"))
4563 (sha256
4564 (base32
3ed40e10 4565 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 4566 (build-system haskell-build-system)
3ed40e10
TS
4567 (inputs
4568 `(("ghc-sop-core" ,ghc-sop-core)
4569 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4570 (home-page "https://github.com/well-typed/generics-sop")
4571 (synopsis "Generic Programming using True Sums of Products for Haskell")
4572 (description "This Haskell package supports the definition of generic
4573functions. Datatypes are viewed in a uniform, structured way: the choice
4574between constructors is represented using an n-ary sum, and the arguments of
4575each constructor are represented using an n-ary product.")
4576 (license license:bsd-3)))
4577
4578(define-public ghc-geniplate-mirror
4579 (package
4580 (name "ghc-geniplate-mirror")
4581 (version "0.7.6")
4582 (source
4583 (origin
4584 (method url-fetch)
4585 (uri (string-append "https://hackage.haskell.org/package"
4586 "/geniplate-mirror"
4587 "/geniplate-mirror-" version ".tar.gz"))
4588 (sha256
4589 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4590 (build-system haskell-build-system)
74a7dd7f
TS
4591 (arguments
4592 `(#:cabal-revision
4593 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4594 (home-page "https://github.com/danr/geniplate")
4595 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4596 (description
4597 "Use Template Haskell to generate Uniplate-like functions. This is a
4598maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4599geniplate} package, written by Lennart Augustsson.")
4600 (license license:bsd-3)))
4601
4602(define-public ghc-genvalidity
4603 (package
4604 (name "ghc-genvalidity")
920f44a1 4605 (version "0.8.0.0")
dddbc90c
RV
4606 (source
4607 (origin
4608 (method url-fetch)
4609 (uri (string-append
4610 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4611 version
4612 ".tar.gz"))
4613 (sha256
4614 (base32
920f44a1 4615 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4616 (build-system haskell-build-system)
4617 (inputs
4618 `(("ghc-quickcheck" ,ghc-quickcheck)
4619 ("ghc-validity" ,ghc-validity)))
4620 (native-inputs
4621 `(("ghc-hspec" ,ghc-hspec)
4622 ("hspec-discover" ,hspec-discover)
4623 ("ghc-hspec-core" ,ghc-hspec-core)))
4624 (home-page
4625 "https://github.com/NorfairKing/validity")
4626 (synopsis
4627 "Testing utilities for the @code{validity} library")
4628 (description
4629 "This package provides testing utilities that are useful in conjunction
4630with the @code{Validity} typeclass.")
4631 (license license:expat)))
4632
4633(define-public ghc-genvalidity-property
4634 (package
4635 (name "ghc-genvalidity-property")
e4ede35b 4636 (version "0.4.0.0")
dddbc90c
RV
4637 (source
4638 (origin
4639 (method url-fetch)
4640 (uri (string-append
4641 "https://hackage.haskell.org/package/"
4642 "genvalidity-property/genvalidity-property-"
4643 version
4644 ".tar.gz"))
4645 (sha256
4646 (base32
e4ede35b 4647 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4648 (build-system haskell-build-system)
4649 (inputs
4650 `(("ghc-quickcheck" ,ghc-quickcheck)
4651 ("ghc-genvalidity" ,ghc-genvalidity)
4652 ("ghc-hspec" ,ghc-hspec)
4653 ("hspec-discover" ,hspec-discover)
4654 ("ghc-validity" ,ghc-validity)))
4655 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4656 (home-page
4657 "https://github.com/NorfairKing/validity")
4658 (synopsis
4659 "Standard properties for functions on @code{Validity} types")
4660 (description
4661 "This package supplements the @code{Validity} typeclass with standard
4662properties for functions operating on them.")
4663 (license license:expat)))
4664
e71fb573
TS
4665(define-public ghc-getopt-generics
4666 (package
4667 (name "ghc-getopt-generics")
4668 (version "0.13.0.4")
4669 (source
4670 (origin
4671 (method url-fetch)
4672 (uri (string-append "https://hackage.haskell.org/package/"
4673 "getopt-generics/getopt-generics-"
4674 version ".tar.gz"))
4675 (sha256
4676 (base32
4677 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4678 (build-system haskell-build-system)
4679 (inputs
4680 `(("ghc-base-compat" ,ghc-base-compat)
4681 ("ghc-base-orphans" ,ghc-base-orphans)
4682 ("ghc-generics-sop" ,ghc-generics-sop)
4683 ("ghc-tagged" ,ghc-tagged)))
4684 (native-inputs
4685 `(("ghc-quickcheck" ,ghc-quickcheck)
4686 ("ghc-hspec" ,ghc-hspec)
4687 ("ghc-safe" ,ghc-safe)
4688 ("ghc-silently" ,ghc-silently)
4689 ("hspec-discover" ,hspec-discover)))
4690 (home-page "https://github.com/soenkehahn/getopt-generics")
4691 (synopsis "Create command line interfaces with ease")
4692 (description "This library provides tools to create command line
4693interfaces with ease.")
4694 (license license:bsd-3)))
4695
dddbc90c
RV
4696(define-public ghc-gitrev
4697 (package
4698 (name "ghc-gitrev")
4699 (version "1.3.1")
4700 (source
4701 (origin
4702 (method url-fetch)
4703 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4704 version ".tar.gz"))
4705 (sha256
4706 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4707 (build-system haskell-build-system)
4708 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4709 (home-page "https://github.com/acfoltzer/gitrev")
4710 (synopsis "Compile git revision info into Haskell projects")
4711 (description
4712 "This package provides some handy Template Haskell splices for including
4713the current git hash and branch in the code of your project. This is useful
4714for including in panic messages, @command{--version} output, or diagnostic
4715info for more informative bug reports.")
4716 (license license:bsd-3)))
4717
4718(define-public ghc-glob
4719 (package
4720 (name "ghc-glob")
b900f486 4721 (version "0.10.0")
dddbc90c
RV
4722 (source
4723 (origin
4724 (method url-fetch)
4725 (uri (string-append "https://hackage.haskell.org/package/"
4726 "Glob-" version "/"
4727 "Glob-" version ".tar.gz"))
4728 (sha256
4729 (base32
b900f486 4730 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4731 (build-system haskell-build-system)
4732 (inputs
4733 `(("ghc-dlist" ,ghc-dlist)
4734 ("ghc-semigroups" ,ghc-semigroups)
4735 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4736 (native-inputs
4737 `(("ghc-hunit" ,ghc-hunit)
4738 ("ghc-quickcheck" ,ghc-quickcheck)
4739 ("ghc-test-framework" ,ghc-test-framework)
4740 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4741 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4742 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4743 (synopsis "Haskell library matching glob patterns against file paths")
4744 (description "This package provides a Haskell library for @dfn{globbing}:
4745matching patterns against file paths.")
4746 (license license:bsd-3)))
4747
4748(define-public ghc-gluraw
4749 (package
4750 (name "ghc-gluraw")
4751 (version "2.0.0.4")
4752 (source
4753 (origin
4754 (method url-fetch)
4755 (uri (string-append
4756 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4757 version
4758 ".tar.gz"))
4759 (sha256
4760 (base32
4761 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4762 (build-system haskell-build-system)
4763 (inputs
4764 `(("ghc-openglraw" ,ghc-openglraw)))
4765 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4766 (synopsis "Raw Haskell bindings GLU")
4767 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4768utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4769basis for a nicer interface.")
4770 (license license:bsd-3)))
4771
4772(define-public ghc-glut
4773 (package
4774 (name "ghc-glut")
8284bd09 4775 (version "2.7.0.15")
dddbc90c
RV
4776 (source
4777 (origin
4778 (method url-fetch)
4779 (uri (string-append
4780 "https://hackage.haskell.org/package/GLUT/GLUT-"
4781 version
4782 ".tar.gz"))
4783 (sha256
4784 (base32
8284bd09 4785 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4786 (build-system haskell-build-system)
4787 (inputs
4788 `(("ghc-statevar" ,ghc-statevar)
4789 ("ghc-opengl" ,ghc-opengl)
4790 ("ghc-openglraw" ,ghc-openglraw)
4791 ("freeglut" ,freeglut)))
4792 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4793 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4794 (description "This library provides Haskell bindings for the OpenGL
4795Utility Toolkit, a window system-independent toolkit for writing OpenGL
4796programs.")
4797 (license license:bsd-3)))
4798
4799(define-public ghc-gnuplot
4800 (package
4801 (name "ghc-gnuplot")
d34860c7 4802 (version "0.5.6")
dddbc90c
RV
4803 (source
4804 (origin
4805 (method url-fetch)
4806 (uri (string-append
4807 "mirror://hackage/package/gnuplot/gnuplot-"
4808 version ".tar.gz"))
4809 (sha256
d34860c7 4810 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4811 (build-system haskell-build-system)
4812 (inputs
4813 `(("ghc-temporary" ,ghc-temporary)
4814 ("ghc-utility-ht" ,ghc-utility-ht)
4815 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4816 ("ghc-data-accessor" ,ghc-data-accessor)
4817 ("ghc-semigroups" ,ghc-semigroups)
4818 ("gnuplot" ,gnuplot)))
4819 (arguments
4820 `(#:phases
4821 (modify-phases %standard-phases
4822 (add-before 'configure 'fix-path-to-gnuplot
4823 (lambda* (#:key inputs #:allow-other-keys)
4824 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4825 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4826 (("(gnuplotName = ).*$" all cmd)
4827 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4828 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4829 (synopsis "2D and 3D plots using gnuplot")
4830 (description "This package provides a Haskell module for creating 2D and
48313D plots using gnuplot.")
4832 (license license:bsd-3)))
4833
4834(define-public ghc-graphviz
4835 (package
4836 (name "ghc-graphviz")
c264bd42 4837 (version "2999.20.0.3")
dddbc90c
RV
4838 (source (origin
4839 (method url-fetch)
4840 (uri (string-append "https://hackage.haskell.org/package/"
4841 "graphviz/graphviz-" version ".tar.gz"))
4842 (sha256
4843 (base32
c264bd42 4844 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4845 (build-system haskell-build-system)
c264bd42
TS
4846 (arguments
4847 `(#:phases
4848 (modify-phases %standard-phases
4849 (add-before 'configure 'update-constraints
4850 (lambda _
4851 (substitute* "graphviz.cabal"
4852 (("QuickCheck >= 2\\.3 && < 2\\.13")
4853 "QuickCheck >= 2.3 && < 2.14")
4854 (("hspec >= 2\\.1 && < 2\\.7")
4855 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4856 (inputs
4857 `(("ghc-quickcheck" ,ghc-quickcheck)
4858 ("ghc-colour" ,ghc-colour)
4859 ("ghc-dlist" ,ghc-dlist)
4860 ("ghc-fgl" ,ghc-fgl)
4861 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4862 ("ghc-polyparse" ,ghc-polyparse)
4863 ("ghc-temporary" ,ghc-temporary)
4864 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4865 (native-inputs
4866 `(("ghc-hspec" ,ghc-hspec)
4867 ("graphviz" ,graphviz)
4868 ("hspec-discover" ,hspec-discover)))
4869 (home-page "https://hackage.haskell.org/package/graphviz")
4870 (synopsis "Bindings to Graphviz for graph visualisation")
4871 (description
4872 "This library provides bindings for the Dot language used by
4873the @uref{https://graphviz.org/, Graphviz} suite of programs for
4874visualising graphs, as well as functions to call those programs.
4875Main features of the graphviz library include:
4876
4877@enumerate
4878@item Almost complete coverage of all Graphviz attributes and syntax
4879@item Support for specifying clusters
4880@item The ability to use a custom node type
4881@item Functions for running a Graphviz layout tool with all specified output types
4882@item Generate and parse Dot code with two options: strict and liberal
4883@item Functions to convert FGL graphs and other graph-like data structures
4884@item Round-trip support for passing an FGL graph through Graphviz to augment node
4885and edge labels with positional information, etc.
4886@end enumerate\n")
4887 (license license:bsd-3)))
4888
f3e18645
TS
4889(define-public ghc-groups
4890 (package
4891 (name "ghc-groups")
4892 (version "0.4.1.0")
4893 (source
4894 (origin
4895 (method url-fetch)
4896 (uri (string-append "https://hackage.haskell.org/package/"
4897 "groups/groups-" version ".tar.gz"))
4898 (sha256
4899 (base32
4900 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4901 (build-system haskell-build-system)
4902 (home-page "https://hackage.haskell.org/package/groups")
4903 (synopsis "Haskell 98 groups")
4904 (description "This package provides Haskell 98 groups. A group is a
4905monoid with invertibility.")
4906 (license license:bsd-3)))
4907
dddbc90c
RV
4908(define-public ghc-gtk2hs-buildtools
4909 (package
4910 (name "ghc-gtk2hs-buildtools")
b79b43d4 4911 (version "0.13.5.4")
dddbc90c
RV
4912 (source
4913 (origin
4914 (method url-fetch)
4915 (uri (string-append "https://hackage.haskell.org/package/"
4916 "gtk2hs-buildtools/gtk2hs-buildtools-"
4917 version ".tar.gz"))
4918 (sha256
4919 (base32
b79b43d4 4920 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4921 (build-system haskell-build-system)
4922 (inputs
4923 `(("ghc-random" ,ghc-random)
4924 ("ghc-hashtables" ,ghc-hashtables)))
4925 (native-inputs
4926 `(("ghc-alex" ,ghc-alex)
4927 ("ghc-happy" ,ghc-happy)))
4928 (home-page "http://projects.haskell.org/gtk2hs/")
4929 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4930 (description
4931 "This package provides a set of helper programs necessary to build the
4932Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4933that is used to generate FFI declarations, a tool to build a type hierarchy
4934that mirrors the C type hierarchy of GObjects found in glib, and a generator
4935for signal declarations that are used to call back from C to Haskell. These
4936tools are not needed to actually run Gtk2Hs programs.")
4937 (license license:gpl2)))
4938
4939(define-public ghc-hackage-security
4940 (package
4941 (name "ghc-hackage-security")
4942 (version "0.5.3.0")
4943 (source
4944 (origin
4945 (method url-fetch)
4946 (uri (string-append "https://hackage.haskell.org/package/"
4947 "hackage-security/hackage-security-"
4948 version ".tar.gz"))
4949 (sha256
4950 (base32
4951 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4952 (build-system haskell-build-system)
4953 (arguments
034380f3
TS
4954 `(#:cabal-revision
4955 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4956 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4957 (inputs
4958 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4959 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4960 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4961 ("ghc-ed25519" ,ghc-ed25519)
4962 ("ghc-network" ,ghc-network)
4963 ("ghc-network-uri" ,ghc-network-uri)
4964 ("ghc-tar" ,ghc-tar)
4965 ("ghc-zlib" ,ghc-zlib)))
4966 (native-inputs
4967 `(("ghc-network-uri" ,ghc-network-uri)
4968 ("ghc-quickcheck" ,ghc-quickcheck)
4969 ("ghc-tar" ,ghc-tar)
4970 ("ghc-tasty" ,ghc-tasty)
4971 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4972 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4973 ("ghc-temporary" ,ghc-temporary)
4974 ("ghc-zlib" ,ghc-zlib)))
4975 (home-page "https://github.com/haskell/hackage-security")
4976 (synopsis "Hackage security library")
4977 (description "This Hackage security library provides both server and
4978client utilities for securing @uref{http://hackage.haskell.org/, the
4979Hackage package server}. It is based on
4980@uref{http://theupdateframework.com/, The Update Framework}, a set of
4981recommendations developed by security researchers at various universities
4982in the US as well as developers on the @uref{https://www.torproject.org/,
4983Tor project}.")
4984 (license license:bsd-3)))
4985
4986(define-public ghc-haddock
4987 (package
4988 (name "ghc-haddock")
b0d34d23 4989 (version "2.22.0")
dddbc90c
RV
4990 (source
4991 (origin
4992 (method url-fetch)
4993 (uri (string-append
4994 "https://hackage.haskell.org/package/haddock/haddock-"
4995 version
4996 ".tar.gz"))
4997 (sha256
4998 (base32
b0d34d23 4999 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
dddbc90c
RV
5000 (build-system haskell-build-system)
5001 (arguments
5002 `(#:phases
5003 (modify-phases %standard-phases
b0d34d23
TS
5004 ;; The release tarball for 2.22.0 is missing the test data for
5005 ;; the Hoogle test, causing it to fail. This is fixed in the
5006 ;; next release, but for now we disable it.
5007 (add-before 'configure 'remove-hoogle-test
dddbc90c
RV
5008 (lambda _
5009 (use-modules (ice-9 rdelim))
5010 (with-atomic-file-replacement "haddock.cabal"
5011 (lambda (in out)
5012 (let loop ((line (read-line in 'concat)) (deleting? #f))
5013 (cond
5014 ((eof-object? line) #t)
5015 ((string-every char-set:whitespace line)
5016 (unless deleting? (display line out))
5017 (loop (read-line in 'concat) #f))
b0d34d23 5018 ((string=? line "test-suite hoogle-test\n")
dddbc90c
RV
5019 (loop (read-line in 'concat) #t))
5020 (else
5021 (unless deleting? (display line out))
b0d34d23
TS
5022 (loop (read-line in 'concat) deleting?))))))))
5023 (add-before 'check 'add-haddock-to-path
5024 (lambda _
5025 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
5026 ":" (getenv "PATH")))
5027 #t)))))
dddbc90c
RV
5028 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
5029 (native-inputs
b0d34d23
TS
5030 `(("ghc-haddock-test" ,ghc-haddock-test)
5031 ("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
5032 (home-page "https://www.haskell.org/haddock/")
5033 (synopsis
5034 "Documentation-generation tool for Haskell libraries")
5035 (description
5036 "Haddock is a documentation-generation tool for Haskell libraries.")
5037 (license license:bsd-3)))
5038
5039(define-public ghc-haddock-api
5040 (package
5041 (name "ghc-haddock-api")
1b84d8ef 5042 (version "2.22.0")
dddbc90c
RV
5043 (source
5044 (origin
5045 (method url-fetch)
5046 (uri (string-append
5047 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
5048 version
5049 ".tar.gz"))
1b84d8ef 5050 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
dddbc90c
RV
5051 (sha256
5052 (base32
1b84d8ef 5053 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
dddbc90c
RV
5054 (build-system haskell-build-system)
5055 (arguments
5056 `(#:phases
5057 (modify-phases %standard-phases
5058 (add-before 'configure 'update-constraints
5059 (lambda _
5060 (substitute* "haddock-api.cabal"
1b84d8ef
TS
5061 (("QuickCheck \\^>= 2\\.11")
5062 "QuickCheck ^>= 2.13")
5063 (("hspec >= 2\\.4\\.4 && < 2\\.6")
5064 "hspec >= 2.4.4 && < 2.8")))))))
dddbc90c
RV
5065 (inputs
5066 `(("ghc-paths" ,ghc-paths)
5067 ("ghc-haddock-library" ,ghc-haddock-library)))
5068 (native-inputs
5069 `(("ghc-quickcheck" ,ghc-quickcheck)
5070 ("ghc-hspec" ,ghc-hspec)
5071 ("hspec-discover" ,hspec-discover)))
5072 (home-page "https://www.haskell.org/haddock/")
5073 (synopsis "API for documentation-generation tool Haddock")
5074 (description "This package provides an API to Haddock, the
5075documentation-generation tool for Haskell libraries.")
5076 (license license:bsd-3)))
5077
5078(define-public ghc-haddock-library
5079 (package
5080 (name "ghc-haddock-library")
10707d57 5081 (version "1.7.0")
dddbc90c
RV
5082 (source
5083 (origin
5084 (method url-fetch)
5085 (uri (string-append
5086 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
5087 version
5088 ".tar.gz"))
5089 (sha256
5090 (base32
10707d57 5091 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
5092 (build-system haskell-build-system)
5093 (arguments
5094 `(#:phases
5095 (modify-phases %standard-phases
10707d57
TS
5096 ;; Since there is no revised Cabal file upstream, we have to
5097 ;; patch it manually.
dddbc90c
RV
5098 (add-before 'configure 'relax-test-suite-dependencies
5099 (lambda _
5100 (substitute* "haddock-library.cabal"
10707d57
TS
5101 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
5102 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
5103 #t)))))
5104 (native-inputs
5105 `(("ghc-base-compat" ,ghc-base-compat)
5106 ("ghc-hspec" ,ghc-hspec)
5107 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
5108 ("ghc-quickcheck" ,ghc-quickcheck)
5109 ("ghc-tree-diff" ,ghc-tree-diff)
5110 ("hspec-discover" ,hspec-discover)))
5111 (home-page "https://www.haskell.org/haddock/")
5112 (synopsis "Library exposing some functionality of Haddock")
5113 (description
5114 "Haddock is a documentation-generation tool for Haskell libraries. These
5115modules expose some functionality of it without pulling in the GHC dependency.
5116Please note that the API is likely to change so specify upper bounds in your
5117project if you can't release often. For interacting with Haddock itself, see
5118the ‘haddock’ package.")
5119 (license license:bsd-3)))
5120
b0d34d23
TS
5121;; This package is needed for testing 'ghc-haddock'. It is no longer
5122;; published to Hackage, but it is maintained in the Haddock Git
5123;; repository.
5124(define ghc-haddock-test
5125 (package
5126 (name "ghc-haddock-test")
5127 (version "2.22.0")
5128 (source
5129 (origin
5130 (method git-fetch)
5131 (uri (git-reference
5132 (url "https://github.com/haskell/haddock.git")
5133 (commit (string-append "haddock-" version "-release"))))
5134 (file-name (git-file-name name version))
5135 (sha256
5136 (base32
5137 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
5138 (build-system haskell-build-system)
5139 (arguments
5140 `(#:phases
5141 (modify-phases %standard-phases
5142 (add-after 'unpack 'change-directory
5143 (lambda _
5144 (chdir "haddock-test"))))))
5145 (inputs
5146 `(("ghc-syb" ,ghc-syb)
5147 ("ghc-xml" ,ghc-xml)))
5148 (home-page "http://www.haskell.org/haddock/")
5149 (synopsis "Test utilities for Haddock")
5150 (description "This package provides test utilities for Haddock.")
5151 (license license:bsd-3)
5152 (properties '((hidden? #t)))))
5153
dddbc90c
RV
5154(define-public ghc-half
5155 (package
5156 (name "ghc-half")
5157 (version "0.3")
5158 (source
5159 (origin
5160 (method url-fetch)
5161 (uri (string-append
5162 "https://hackage.haskell.org/package/half/half-"
5163 version ".tar.gz"))
5164 (sha256
5165 (base32
5166 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
5167 (build-system haskell-build-system)
5168 (native-inputs
5169 `(("ghc-hspec" ,ghc-hspec)
5170 ("ghc-quickcheck" ,ghc-quickcheck)))
5171 (home-page "https://github.com/ekmett/half")
5172 (synopsis "Half-precision floating-point computations")
5173 (description "This library provides a half-precision floating-point
5174computation library for Haskell.")
5175 (license license:bsd-3)))
5176
5177(define-public ghc-happy
5178 (package
5179 (name "ghc-happy")
90e7b0e4 5180 (version "1.19.12")
dddbc90c
RV
5181 (source
5182 (origin
5183 (method url-fetch)
5184 (uri (string-append
5185 "https://hackage.haskell.org/package/happy/happy-"
5186 version
5187 ".tar.gz"))
5188 (sha256
5189 (base32
90e7b0e4 5190 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
5191 (build-system haskell-build-system)
5192 (arguments
5193 `(#:phases
5194 (modify-phases %standard-phases
5195 (add-after 'unpack 'skip-test-issue93
5196 (lambda _
5197 ;; Tests run out of memory on a system with 2GB of available RAM,
5198 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
5199 (substitute* "tests/Makefile"
5200 ((" issue93.y ") " "))
5201 #t)))))
5202 (home-page "https://hackage.haskell.org/package/happy")
5203 (synopsis "Parser generator for Haskell")
5204 (description "Happy is a parser generator for Haskell. Given a grammar
5205specification in BNF, Happy generates Haskell code to parse the grammar.
5206Happy works in a similar way to the yacc tool for C.")
5207 (license license:bsd-3)))
5208
5209(define-public ghc-hashable
5210 (package
5211 (name "ghc-hashable")
5212 (version "1.2.7.0")
5213 (outputs '("out" "doc"))
5214 (source
5215 (origin
5216 (method url-fetch)
5217 (uri (string-append
5218 "https://hackage.haskell.org/package/hashable/hashable-"
5219 version
5220 ".tar.gz"))
5221 (sha256
5222 (base32
5223 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
5224 (build-system haskell-build-system)
65a16a45
TS
5225 (arguments
5226 `(#:cabal-revision
5227 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
5228 (inputs
5229 `(("ghc-random" ,ghc-random)))
5230 (native-inputs
5231 `(("ghc-test-framework" ,ghc-test-framework)
5232 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5233 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5234 ("ghc-hunit" ,ghc-hunit)
5235 ("ghc-quickcheck" ,ghc-quickcheck)))
5236 (home-page "https://github.com/tibbe/hashable")
5237 (synopsis "Class for types that can be converted to a hash value")
5238 (description
5239 "This package defines a class, @code{Hashable}, for types that can be
5240converted to a hash value. This class exists for the benefit of hashing-based
5241data structures. The package provides instances for basic types and a way to
5242combine hash values.")
5243 (license license:bsd-3)))
5244
5245(define-public ghc-hashable-bootstrap
5246 (package
5247 (inherit ghc-hashable)
5248 (name "ghc-hashable-bootstrap")
65a16a45
TS
5249 (arguments
5250 `(#:tests? #f
5251 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
5252 (native-inputs '())
5253 (properties '((hidden? #t)))))
5254
5255(define-public ghc-hashable-time
5256 (package
5257 (name "ghc-hashable-time")
f5051e31 5258 (version "0.2.0.2")
dddbc90c
RV
5259 (source
5260 (origin
5261 (method url-fetch)
5262 (uri (string-append
5263 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5264 version
5265 ".tar.gz"))
5266 (sha256
5267 (base32
f5051e31 5268 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
5269 (build-system haskell-build-system)
5270 (arguments
5271 `(#:cabal-revision
f5051e31 5272 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c 5273 (inputs `(("ghc-hashable" ,ghc-hashable)))
3b02036e 5274 (home-page "https://hackage.haskell.org/package/hashable-time")
dddbc90c
RV
5275 (synopsis "Hashable instances for Data.Time")
5276 (description
5277 "This package provides @code{Hashable} instances for types in
5278@code{Data.Time}.")
5279 (license license:bsd-3)))
5280
5281(define-public ghc-hashtables
5282 (package
5283 (name "ghc-hashtables")
19edf0d0 5284 (version "1.2.3.4")
dddbc90c
RV
5285 (source
5286 (origin
5287 (method url-fetch)
5288 (uri (string-append
5289 "https://hackage.haskell.org/package/hashtables/hashtables-"
5290 version ".tar.gz"))
5291 (sha256
19edf0d0 5292 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
5293 (build-system haskell-build-system)
5294 (inputs
5295 `(("ghc-hashable" ,ghc-hashable)
5296 ("ghc-primitive" ,ghc-primitive)
5297 ("ghc-vector" ,ghc-vector)))
5298 (home-page "https://github.com/gregorycollins/hashtables")
5299 (synopsis "Haskell Mutable hash tables in the ST monad")
5300 (description "This package provides a Haskell library including a
5301couple of different implementations of mutable hash tables in the ST
5302monad, as well as a typeclass abstracting their common operations, and
5303a set of wrappers to use the hash tables in the IO monad.")
5304 (license license:bsd-3)))
5305
dd26713e
JS
5306(define-public ghc-haskeline-0.8
5307 (package
5308 (name "ghc-haskeline")
5309 (version "0.8.0.0")
5310 (source
5311 (origin
5312 (method url-fetch)
5313 (uri (string-append
5314 "https://hackage.haskell.org/package/haskeline/haskeline-"
5315 version
5316 ".tar.gz"))
5317 (sha256
5318 (base32
5319 "0gqsa5s0drim9m42hv4wrq61mnvcdylxysfxfw3acncwilfrn9pb"))))
5320 (build-system haskell-build-system)
5321 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
5322 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
5323 ;; FIXME: Tests failing
5324 (arguments `(#:tests? #f))
5325 (home-page "https://github.com/judah/haskeline")
5326 (synopsis
5327 "Command-line interface for user input, written in Haskell")
5328 (description
5329 "Haskeline provides a user interface for line input in command-line
5330programs. This library is similar in purpose to readline, but since it is
5331written in Haskell it is (hopefully) more easily used in other Haskell
5332programs.
5333
5334Haskeline runs both on POSIX-compatible systems and on Windows.")
5335 (license license:bsd-3)))
5336
dddbc90c
RV
5337(define-public ghc-haskell-lexer
5338 (package
5339 (name "ghc-haskell-lexer")
5340 (version "1.0.2")
5341 (source
5342 (origin
5343 (method url-fetch)
5344 (uri (string-append
5345 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5346 version ".tar.gz"))
5347 (sha256
5348 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5349 (build-system haskell-build-system)
3ef91e15 5350 (home-page "https://hackage.haskell.org/package/haskell-lexer")
dddbc90c
RV
5351 (synopsis "Fully compliant Haskell 98 lexer")
5352 (description
5353 "This package provides a fully compliant Haskell 98 lexer.")
5354 (license license:bsd-3)))
5355
5356(define-public ghc-haskell-src
5357 (package
5358 (name "ghc-haskell-src")
5359 (version "1.0.3.0")
5360 (source
5361 (origin
5362 (method url-fetch)
5363 (uri (string-append
5364 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5365 version
5366 ".tar.gz"))
5367 (sha256
5368 (base32
5369 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5370 (build-system haskell-build-system)
5371 (inputs
5372 `(("ghc-happy" ,ghc-happy)
5373 ("ghc-syb" ,ghc-syb)))
5374 (home-page
5375 "https://hackage.haskell.org/package/haskell-src")
5376 (synopsis
5377 "Support for manipulating Haskell source code")
5378 (description
5379 "The @code{haskell-src} package provides support for manipulating Haskell
5380source code. The package provides a lexer, parser and pretty-printer, and a
5381definition of a Haskell abstract syntax tree (AST). Common uses of this
5382package are to parse or generate Haskell 98 code.")
5383 (license license:bsd-3)))
5384
5385(define-public ghc-haskell-src-exts
5386 (package
5387 (name "ghc-haskell-src-exts")
37a05591 5388 (version "1.21.1")
dddbc90c
RV
5389 (source
5390 (origin
5391 (method url-fetch)
5392 (uri (string-append
5393 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5394 version
5395 ".tar.gz"))
5396 (sha256
5397 (base32
37a05591 5398 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
5399 (build-system haskell-build-system)
5400 (inputs
5401 `(("cpphs" ,cpphs)
5402 ("ghc-happy" ,ghc-happy)
5403 ("ghc-pretty-show" ,ghc-pretty-show)))
5404 (native-inputs
5405 `(("ghc-smallcheck" ,ghc-smallcheck)
5406 ("ghc-tasty" ,ghc-tasty)
5407 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5408 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5409 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5410 (synopsis "Library for manipulating Haskell source")
5411 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5412extension of the standard @code{haskell-src} package, and handles most
5413registered syntactic extensions to Haskell. All extensions implemented in GHC
5414are supported. Apart from these standard extensions, it also handles regular
5415patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5416 (license license:bsd-3)))
5417
5418(define-public ghc-haskell-src-exts-util
5419 (package
5420 (name "ghc-haskell-src-exts-util")
77355bdf 5421 (version "0.2.5")
dddbc90c
RV
5422 (source
5423 (origin
5424 (method url-fetch)
5425 (uri (string-append "https://hackage.haskell.org/package/"
5426 "haskell-src-exts-util/haskell-src-exts-util-"
5427 version ".tar.gz"))
5428 (sha256
5429 (base32
77355bdf 5430 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
5431 (build-system haskell-build-system)
5432 (inputs
5433 `(("ghc-data-default" ,ghc-data-default)
5434 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5435 ("ghc-semigroups" ,ghc-semigroups)
5436 ("ghc-uniplate" ,ghc-uniplate)))
5437 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5438 (synopsis "Helper functions for working with haskell-src-exts trees")
5439 (description
5440 "This package provides helper functions for working with
5441@code{haskell-src-exts} trees.")
5442 (license license:bsd-3)))
5443
5444(define-public ghc-haskell-src-meta
5445 (package
5446 (name "ghc-haskell-src-meta")
e94b3c72 5447 (version "0.8.3")
dddbc90c
RV
5448 (source (origin
5449 (method url-fetch)
5450 (uri (string-append "https://hackage.haskell.org/package/"
5451 "haskell-src-meta/haskell-src-meta-"
5452 version ".tar.gz"))
5453 (sha256
5454 (base32
e94b3c72 5455 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
5456 (build-system haskell-build-system)
5457 (inputs
5458 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5459 ("ghc-syb" ,ghc-syb)
5460 ("ghc-th-orphans" ,ghc-th-orphans)))
5461 (native-inputs
5462 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
5463 ("ghc-tasty" ,ghc-tasty)
5464 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5465 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5466 (synopsis "Parse source to template-haskell abstract syntax")
5467 (description
5468 "This package provides tools to parse Haskell sources to the
5469template-haskell abstract syntax.")
5470 (license license:bsd-3)))
5471
5472(define-public ghc-hasktags
5473 (package
5474 (name "ghc-hasktags")
5475 (version "0.71.2")
5476 (source
5477 (origin
5478 (method url-fetch)
5479 (uri (string-append
5480 "https://hackage.haskell.org/package/hasktags/hasktags-"
5481 version
5482 ".tar.gz"))
5483 (sha256
5484 (base32
5485 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5486 (build-system haskell-build-system)
5487 (inputs
5488 `(("ghc-system-filepath" ,ghc-system-filepath)
5489 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5490 (native-inputs
5491 `(("ghc-json" ,ghc-json)
5492 ("ghc-utf8-string" ,ghc-utf8-string)
5493 ("ghc-microlens-platform" ,ghc-microlens-platform)
5494 ("ghc-hunit" ,ghc-hunit)))
5495 (home-page "http://github.com/MarcWeber/hasktags")
5496 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5497 (description
5498 "This package provides a means of generating tag files for Emacs and
5499Vim.")
5500 (license license:bsd-3)))
5501
5502(define-public ghc-hex
5503 (package
5504 (name "ghc-hex")
5505 (version "0.1.2")
5506 (source
5507 (origin
5508 (method url-fetch)
5509 (uri (string-append "https://hackage.haskell.org/package/"
5510 "hex-" version "/"
5511 "hex-" version ".tar.gz"))
5512 (sha256
5513 (base32
5514 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5515 (build-system haskell-build-system)
5516 (home-page "https://hackage.haskell.org/package/hex")
5517 (synopsis "Convert strings into hexadecimal and back")
5518 (description "This package provides conversion functions between
5519bytestrings and their hexademical representation.")
5520 (license license:bsd-3)))
5521
5522(define-public ghc-highlighting-kate
5523 (package
5524 (name "ghc-highlighting-kate")
5525 (version "0.6.4")
5526 (source (origin
5527 (method url-fetch)
5528 (uri (string-append "https://hackage.haskell.org/package/"
5529 "highlighting-kate/highlighting-kate-"
5530 version ".tar.gz"))
5531 (sha256
5532 (base32
5533 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5534 (build-system haskell-build-system)
5535 (inputs
5536 `(("ghc-diff" ,ghc-diff)
5537 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5538 (native-inputs
5539 `(("ghc-blaze-html" ,ghc-blaze-html)
5540 ("ghc-utf8-string" ,ghc-utf8-string)))
5541 (home-page "https://github.com/jgm/highlighting-kate")
5542 (synopsis "Syntax highlighting library")
5543 (description
5544 "Highlighting-kate is a syntax highlighting library with support for
5545nearly one hundred languages. The syntax parsers are automatically generated
5546from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5547supported by Kate can be added. An (optional) command-line program is
5548provided, along with a utility for generating new parsers from Kate XML syntax
5549descriptions.")
5550 (license license:gpl2+)))
5551
5552(define-public ghc-hindent
5553 (package
5554 (name "ghc-hindent")
f545f894 5555 (version "5.3.1")
dddbc90c
RV
5556 (source
5557 (origin
5558 (method url-fetch)
5559 (uri (string-append
5560 "https://hackage.haskell.org/package/hindent/hindent-"
5561 version
5562 ".tar.gz"))
5563 (sha256
5564 (base32
f545f894 5565 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5566 (build-system haskell-build-system)
5567 (arguments
5568 `(#:modules ((guix build haskell-build-system)
5569 (guix build utils)
5570 (guix build emacs-utils))
5571 #:imported-modules (,@%haskell-build-system-modules
5572 (guix build emacs-utils))
5573 #:phases
5574 (modify-phases %standard-phases
5575 (add-after 'install 'emacs-install
5576 (lambda* (#:key inputs outputs #:allow-other-keys)
5577 (let* ((out (assoc-ref outputs "out"))
5578 (elisp-file "elisp/hindent.el")
d53e87cf 5579 (dest (string-append out "/share/emacs/site-lisp"))
dddbc90c
RV
5580 (emacs (string-append (assoc-ref inputs "emacs")
5581 "/bin/emacs")))
5582 (make-file-writable elisp-file)
5583 (emacs-substitute-variables elisp-file
5584 ("hindent-process-path"
5585 (string-append out "/bin/hindent")))
5586 (install-file elisp-file dest)
5587 (emacs-generate-autoloads "hindent" dest)))))))
5588 (inputs
5589 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5590 ("ghc-monad-loops" ,ghc-monad-loops)
5591 ("ghc-utf8-string" ,ghc-utf8-string)
5592 ("ghc-exceptions" ,ghc-exceptions)
5593 ("ghc-yaml" ,ghc-yaml)
5594 ("ghc-unix-compat" ,ghc-unix-compat)
5595 ("ghc-path" ,ghc-path)
5596 ("ghc-path-io" ,ghc-path-io)
5597 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5598 (native-inputs
5599 `(("ghc-hspec" ,ghc-hspec)
5600 ("ghc-diff" ,ghc-diff)
5601 ("emacs" ,emacs-minimal)))
5602 (home-page
5603 "https://github.com/commercialhaskell/hindent")
5604 (synopsis "Extensible Haskell pretty printer")
5605 (description
5606 "This package provides automatic formatting for Haskell files. Both a
5607library and an executable.")
5608 (license license:bsd-3)))
5609
5610(define-public ghc-hinotify
5611 (package
5612 (name "ghc-hinotify")
c2342abb 5613 (version "0.4")
dddbc90c
RV
5614 (source (origin
5615 (method url-fetch)
5616 (uri (string-append
5617 "https://hackage.haskell.org/package/hinotify/"
5618 "hinotify-" version ".tar.gz"))
5619 (sha256
5620 (base32
c2342abb 5621 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5622 (build-system haskell-build-system)
5623 (inputs
5624 `(("ghc-async" ,ghc-async)))
5625 (home-page "https://github.com/kolmodin/hinotify.git")
5626 (synopsis "Haskell binding to inotify")
5627 (description "This library provides a wrapper to the Linux kernel's inotify
5628feature, allowing applications to subscribe to notifications when a file is
5629accessed or modified.")
5630 (license license:bsd-3)))
5631
5632(define-public ghc-hmatrix
5633 (package
5634 (name "ghc-hmatrix")
65e29ed1 5635 (version "0.20.0.0")
dddbc90c
RV
5636 (source
5637 (origin
5638 (method url-fetch)
5639 (uri (string-append
5640 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5641 version ".tar.gz"))
5642 (sha256
65e29ed1 5643 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
5644 (build-system haskell-build-system)
5645 (inputs
5646 `(("ghc-random" ,ghc-random)
5647 ("ghc-split" ,ghc-split)
5648 ("ghc-storable-complex" ,ghc-storable-complex)
5649 ("ghc-semigroups" ,ghc-semigroups)
5650 ("ghc-vector" ,ghc-vector)
5651 ;;("openblas" ,openblas)
5652 ("lapack" ,lapack)))
5653 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5654 ;; disables inclusion of the LAPACK functions.
5655 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5656 (home-page "https://github.com/albertoruiz/hmatrix")
5657 (synopsis "Haskell numeric linear algebra library")
5658 (description "The HMatrix package provices a Haskell library for
5659dealing with linear systems, matrix decompositions, and other
5660numerical computations based on BLAS and LAPACK.")
5661 (license license:bsd-3)))
5662
5663(define-public ghc-hmatrix-gsl
5664 (package
5665 (name "ghc-hmatrix-gsl")
5666 (version "0.19.0.1")
5667 (source
5668 (origin
5669 (method url-fetch)
5670 (uri (string-append
5671 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5672 version ".tar.gz"))
5673 (sha256
5674 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5675 (build-system haskell-build-system)
5676 (inputs
5677 `(("ghc-hmatrix" ,ghc-hmatrix)
5678 ("ghc-vector" ,ghc-vector)
5679 ("ghc-random" ,ghc-random)
5680 ("gsl" ,gsl)))
5681 (native-inputs `(("pkg-config" ,pkg-config)))
5682 (home-page "https://github.com/albertoruiz/hmatrix")
5683 (synopsis "Haskell GSL binding")
5684 (description "This Haskell library provides a purely functional
5685interface to selected numerical computations, internally implemented
5686using GSL.")
5687 (license license:gpl3+)))
5688
5689(define-public ghc-hmatrix-gsl-stats
5690 (package
5691 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5692 (version "0.4.1.8")
dddbc90c
RV
5693 (source
5694 (origin
5695 (method url-fetch)
5696 (uri
5697 (string-append
5698 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5699 version ".tar.gz"))
5700 (sha256
e9b359f5 5701 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5702 (build-system haskell-build-system)
5703 (inputs
5704 `(("ghc-vector" ,ghc-vector)
5705 ("ghc-storable-complex" ,ghc-storable-complex)
5706 ("ghc-hmatrix" ,ghc-hmatrix)
5707 ("gsl" ,gsl)))
5708 (native-inputs `(("pkg-config" ,pkg-config)))
5709 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5710 (synopsis "GSL Statistics interface for Haskell")
5711 (description "This Haskell library provides a purely functional
5712interface for statistics based on hmatrix and GSL.")
5713 (license license:bsd-3)))
5714
5715(define-public ghc-hmatrix-special
5716 (package
5717 (name "ghc-hmatrix-special")
5718 (version "0.19.0.0")
5719 (source
5720 (origin
5721 (method url-fetch)
5722 (uri
5723 (string-append
5724 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5725 version ".tar.gz"))
5726 (sha256
5727 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5728 (build-system haskell-build-system)
5729 (inputs
5730 `(("ghc-hmatrix" ,ghc-hmatrix)
5731 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5732 (home-page "https://github.com/albertoruiz/hmatrix")
5733 (synopsis "Haskell interface to GSL special functions")
5734 (description "This library provides an interface to GSL special
5735functions for Haskell.")
5736 (license license:gpl3+)))
5737
5738(define-public ghc-hostname
5739 (package
5740 (name "ghc-hostname")
5741 (version "1.0")
5742 (source
5743 (origin
5744 (method url-fetch)
5745 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5746 "hostname-" version ".tar.gz"))
5747 (sha256
5748 (base32
5749 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5750 (build-system haskell-build-system)
5751 (home-page "https://hackage.haskell.org/package/hostname")
5752 (synopsis "Hostname in Haskell")
5753 (description "Network.HostName is a simple package providing a means to
5754determine the hostname.")
5755 (license license:bsd-3)))
5756
5757(define-public ghc-hourglass
5758 (package
5759 (name "ghc-hourglass")
5760 (version "0.2.12")
5761 (source (origin
5762 (method url-fetch)
5763 (uri (string-append "https://hackage.haskell.org/package/"
5764 "hourglass/hourglass-" version ".tar.gz"))
5765 (sha256
5766 (base32
5767 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5768 (build-system haskell-build-system)
5769 (inputs
5770 `(("ghc-old-locale" ,ghc-old-locale)))
5771 (native-inputs
5772 `(("ghc-tasty" ,ghc-tasty)
5773 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5774 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5775 (home-page "https://github.com/vincenthz/hs-hourglass")
5776 (synopsis "Simple time-related library for Haskell")
5777 (description
5778 "This is a simple time library providing a simple but powerful and
5779performant API. The backbone of the library are the @code{Timeable} and
5780@code{Time} type classes. Each @code{Timeable} instances can be converted to
5781a type that has a @code{Time} instances, and thus are different
5782representations of current time.")
5783 (license license:bsd-3)))
5784
5785(define-public ghc-hpack
5786 (package
5787 (name "ghc-hpack")
06344a3a 5788 (version "0.31.2")
dddbc90c
RV
5789 (source
5790 (origin
5791 (method url-fetch)
5792 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5793 "hpack-" version ".tar.gz"))
06344a3a 5794 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5795 (sha256
5796 (base32
06344a3a 5797 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5798 (build-system haskell-build-system)
5799 (inputs
5800 `(("ghc-aeson" ,ghc-aeson)
5801 ("ghc-bifunctors" ,ghc-bifunctors)
5802 ("ghc-cryptonite" ,ghc-cryptonite)
5803 ("ghc-glob" ,ghc-glob)
5804 ("ghc-http-client" ,ghc-http-client)
5805 ("ghc-http-client-tls" ,ghc-http-client-tls)
5806 ("ghc-http-types" ,ghc-http-types)
06344a3a 5807 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5808 ("ghc-scientific" ,ghc-scientific)
5809 ("ghc-unordered-containers" ,ghc-unordered-containers)
5810 ("ghc-vector" ,ghc-vector)
5811 ("ghc-yaml" ,ghc-yaml)))
5812 (native-inputs
5813 `(("ghc-hspec" ,ghc-hspec)
5814 ("ghc-hunit" ,ghc-hunit)
5815 ("ghc-interpolate" ,ghc-interpolate)
5816 ("ghc-mockery" ,ghc-mockery)
5817 ("ghc-quickcheck" ,ghc-quickcheck)
5818 ("ghc-temporary" ,ghc-temporary)
5819 ("hspec-discover" ,hspec-discover)))
5820 (home-page "https://github.com/sol/hpack")
5821 (synopsis "Tools for an alternative Haskell package format")
5822 (description
5823 "Hpack is a format for Haskell packages. It is an alternative to the
5824Cabal package format and follows different design principles. Hpack packages
5825are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5826@code{stack} support @code{package.yaml} natively. For other build tools the
5827@code{hpack} executable can be used to generate a @code{.cabal} file from
5828@code{package.yaml}.")
5829 (license license:expat)))
5830
5831(define-public ghc-hs-bibutils
5832 (package
5833 (name "ghc-hs-bibutils")
ebcb4f23 5834 (version "6.7.0.0")
dddbc90c
RV
5835 (source
5836 (origin
5837 (method url-fetch)
5838 (uri (string-append
5839 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5840 version ".tar.gz"))
5841 (sha256
5842 (base32
ebcb4f23 5843 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5844 (build-system haskell-build-system)
5845 (inputs `(("ghc-syb" ,ghc-syb)))
5846 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5847 (synopsis "Haskell bindings to bibutils")
5848 (description
5849 "This package provides Haskell bindings to @code{bibutils}, a library
5850that interconverts between various bibliography formats using a common
5851MODS-format XML intermediate.")
5852 (license license:gpl2+)))
5853
5854(define-public ghc-hslogger
5855 (package
5856 (name "ghc-hslogger")
e5ccc5f7 5857 (version "1.2.12")
dddbc90c
RV
5858 (source
5859 (origin
5860 (method url-fetch)
5861 (uri (string-append "https://hackage.haskell.org/package/"
5862 "hslogger-" version "/" "hslogger-"
5863 version ".tar.gz"))
5864 (sha256 (base32
e5ccc5f7 5865 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5866 (build-system haskell-build-system)
5867 (inputs
5868 `(("ghc-network" ,ghc-network)
5869 ("ghc-old-locale" ,ghc-old-locale)))
5870 (native-inputs
5871 `(("ghc-hunit" ,ghc-hunit)))
5872 (home-page "https://software.complete.org/hslogger")
5873 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5874 (description "Hslogger lets each log message have a priority and source be
5875associated with it. The programmer can then define global handlers that route
5876or filter messages based on the priority and source. It also has a syslog
5877handler built in.")
5878 (license license:bsd-3)))
5879
5880(define-public ghc-hslua
5881 (package
5882 (name "ghc-hslua")
cc784d7b 5883 (version "1.0.3.2")
dddbc90c
RV
5884 (source (origin
5885 (method url-fetch)
5886 (uri (string-append "https://hackage.haskell.org/package/"
5887 "hslua/hslua-" version ".tar.gz"))
5888 (sha256
5889 (base32
cc784d7b 5890 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5891 (build-system haskell-build-system)
5892 (arguments
5893 `(#:configure-flags '("-fsystem-lua")))
5894 (inputs
5895 `(("lua" ,lua)
5896 ("ghc-exceptions" ,ghc-exceptions)
5897 ("ghc-fail" ,ghc-fail)))
5898 (native-inputs
5899 `(("ghc-tasty" ,ghc-tasty)
5900 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5901 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5902 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5903 ("ghc-quickcheck" ,ghc-quickcheck)
5904 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5905 (home-page "https://hackage.haskell.org/package/hslua")
5906 (synopsis "Lua language interpreter embedding in Haskell")
5907 (description
5908 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5909described in @url{https://www.lua.org/}.")
5910 (license license:expat)))
5911
ff303e4e
TS
5912(define-public ghc-hslua-module-system
5913 (package
5914 (name "ghc-hslua-module-system")
5915 (version "0.2.1")
5916 (source
5917 (origin
5918 (method url-fetch)
5919 (uri (string-append "https://hackage.haskell.org/package/"
5920 "hslua-module-system/hslua-module-system-"
5921 version ".tar.gz"))
5922 (sha256
5923 (base32
5924 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5925 (build-system haskell-build-system)
5926 (inputs
5927 `(("ghc-exceptions" ,ghc-exceptions)
5928 ("ghc-hslua" ,ghc-hslua)
5929 ("ghc-temporary" ,ghc-temporary)))
5930 (native-inputs
5931 `(("ghc-tasty" ,ghc-tasty)
5932 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5933 (home-page "https://github.com/hslua/hslua-module-system")
5934 (synopsis "Lua module wrapper around Haskell's System module")
5935 (description "This library provides access to system information and
5936functionality to Lua scripts via Haskell's @code{System} module. Intended
5937usage for this package is to preload it by adding the loader function to
5938@code{package.preload}. Note that the Lua @code{package} library must have
5939already been loaded before the loader can be added.")
5940 (license license:expat)))
5941
dddbc90c
RV
5942(define-public ghc-hslua-module-text
5943 (package
5944 (name "ghc-hslua-module-text")
ecaf0b0c 5945 (version "0.2.1")
dddbc90c
RV
5946 (source
5947 (origin
5948 (method url-fetch)
5949 (uri (string-append "https://hackage.haskell.org/package/"
5950 "hslua-module-text/hslua-module-text-"
5951 version ".tar.gz"))
5952 (sha256
5953 (base32
ecaf0b0c 5954 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5955 (build-system haskell-build-system)
dddbc90c
RV
5956 (inputs
5957 `(("ghc-hslua" ,ghc-hslua)))
5958 (native-inputs
5959 `(("ghc-tasty" ,ghc-tasty)
5960 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5961 (home-page "https://github.com/hslua/hslua-module-text")
5962 (synopsis "Lua module for text")
5963 (description
5964 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5965for Haskell. The functions provided by this module are @code{upper},
5966@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5967 (license license:expat)))
5968
fac520bf
TS
5969(define-public ghc-hsyaml
5970 (package
5971 (name "ghc-hsyaml")
5972 (version "0.1.2.0")
5973 (source
5974 (origin
5975 (method url-fetch)
5976 (uri (string-append "https://hackage.haskell.org/package/"
5977 "HsYAML/HsYAML-" version ".tar.gz"))
5978 (sha256
5979 (base32
5980 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5981 (build-system haskell-build-system)
5982 (arguments
5983 `(#:cabal-revision
5984 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5985 (home-page "https://github.com/haskell-hvr/HsYAML")
5986 (synopsis "Pure Haskell YAML 1.2 parser")
5987 (description "This library provides a
5988@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5989for Haskell. Its features include:
5990
5991@itemize
5992@item Pure Haskell implementation with small dependency footprint and
5993emphasis on strict compliance with the YAML 1.2 specification.
5994
5995@item Direct decoding to native Haskell types via (aeson-inspired)
5996typeclass-based API (see @code{Data.YAML}).
5997
5998@item Support for constructing custom YAML node graph
5999representation (including support for cyclic YAML data structures).
6000
6001@item Support for the standard (untyped) @emph{Failsafe}, (strict)
6002@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
6003typing rules as defined in the YAML 1.2 specification (including support
6004for user-defined custom schemas).
6005
6006@item Event-based API resembling LibYAML's Event-based API (see
6007@code{Data.YAML.Event}).
6008
6009@item Low-level API access to lexical token-based scanner (see
6010@code{Data.YAML.Token}).
6011@end itemize")
6012 (license license:gpl2+)))
6013
dddbc90c
RV
6014(define-public ghc-http-api-data
6015 (package
6016 (name "ghc-http-api-data")
a57236eb 6017 (version "0.4.1")
dddbc90c
RV
6018 (source
6019 (origin
6020 (method url-fetch)
6021 (uri (string-append "https://hackage.haskell.org/package/"
6022 "http-api-data-" version "/"
6023 "http-api-data-" version ".tar.gz"))
6024 (sha256
6025 (base32
a57236eb 6026 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 6027 (build-system haskell-build-system)
dddbc90c
RV
6028 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
6029 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 6030 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
6031 ("ghc-hashable" ,ghc-hashable)
6032 ("ghc-http-types" ,ghc-http-types)
a57236eb 6033 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 6034 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 6035 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
6036 (native-inputs
6037 `(("cabal-doctest" ,cabal-doctest)
6038 ("ghc-nats" ,ghc-nats)
6039 ("ghc-hunit" ,ghc-hunit)
6040 ("ghc-hspec" ,ghc-hspec)
6041 ("ghc-quickcheck" ,ghc-quickcheck)
6042 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6043 ("ghc-doctest" ,ghc-doctest)
6044 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
6045 (home-page "https://github.com/fizruk/http-api-data")
6046 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
6047query parameters")
6048 (description "This Haskell package defines typeclasses used for converting
6049Haskell data types to and from HTTP API data.")
6050 (license license:bsd-3)))
6051
6052(define-public ghc-ieee754
6053 (package
6054 (name "ghc-ieee754")
6055 (version "0.8.0")
6056 (source (origin
6057 (method url-fetch)
6058 (uri (string-append
6059 "https://hackage.haskell.org/package/ieee754/"
6060 "ieee754-" version ".tar.gz"))
6061 (sha256
6062 (base32
6063 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
6064 (build-system haskell-build-system)
6065 (home-page "https://github.com/patperry/hs-ieee754")
6066 (synopsis "Utilities for dealing with IEEE floating point numbers")
6067 (description "Utilities for dealing with IEEE floating point numbers,
6068ported from the Tango math library; approximate and exact equality comparisons
6069for general types.")
6070 (license license:bsd-3)))
6071
6072(define-public ghc-ifelse
6073 (package
6074 (name "ghc-ifelse")
6075 (version "0.85")
6076 (source
6077 (origin
6078 (method url-fetch)
6079 (uri (string-append "https://hackage.haskell.org/package/"
6080 "IfElse/IfElse-" version ".tar.gz"))
6081 (sha256
6082 (base32
6083 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
6084 (build-system haskell-build-system)
3ef91e15 6085 (home-page "https://hackage.haskell.org/package/IfElse")
dddbc90c
RV
6086 (synopsis "Monadic control flow with anaphoric variants")
6087 (description "This library provides functions for control flow inside of
6088monads with anaphoric variants on @code{if} and @code{when} and a C-like
6089@code{switch} function.")
6090 (license license:bsd-3)))
6091
6092(define-public ghc-indents
6093 (package
6094 (name "ghc-indents")
d66473fb 6095 (version "0.5.0.1")
dddbc90c
RV
6096 (source (origin
6097 (method url-fetch)
6098 (uri (string-append
6099 "https://hackage.haskell.org/package/indents/indents-"
6100 version ".tar.gz"))
6101 (sha256
6102 (base32
d66473fb 6103 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
6104 (build-system haskell-build-system)
6105 ;; This package needs an older version of tasty.
6106 (arguments '(#:tests? #f))
6107 (inputs
6108 `(("ghc-concatenative" ,ghc-concatenative)))
6109 (native-inputs
6110 `(("ghc-tasty" ,ghc-tasty)
6111 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6112 (home-page "http://patch-tag.com/r/salazar/indents")
6113 (synopsis "Indentation sensitive parser-combinators for parsec")
6114 (description
6115 "This library provides functions for use in parsing indentation sensitive
6116contexts. It parses blocks of lines all indented to the same level as well as
6117lines continued at an indented level below.")
6118 (license license:bsd-3)))
6119
1f656b17
TS
6120(define-public ghc-infer-license
6121 (package
6122 (name "ghc-infer-license")
6123 (version "0.2.0")
6124 (source
6125 (origin
6126 (method url-fetch)
6127 (uri (string-append "https://hackage.haskell.org/package/"
6128 "infer-license/infer-license-" version ".tar.gz"))
6129 (sha256
6130 (base32
6131 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
6132 (build-system haskell-build-system)
6133 (inputs
6134 `(("ghc-text-metrics" ,ghc-text-metrics)))
6135 (native-inputs
6136 `(("ghc-hspec" ,ghc-hspec)
6137 ("hspec-discover" ,hspec-discover)))
3ef91e15 6138 (home-page "https://hackage.haskell.org/package/infer-license")
1f656b17
TS
6139 (synopsis "Infer software license from a given license file")
6140 (description "This library provides tools to infer a software
6141license from a given license file.")
6142 (license license:expat)))
6143
dddbc90c
RV
6144(define-public ghc-inline-c
6145 (package
6146 (name "ghc-inline-c")
55ec98f2 6147 (version "0.7.0.1")
dddbc90c
RV
6148 (source
6149 (origin
6150 (method url-fetch)
6151 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
6152 "inline-c-" version ".tar.gz"))
6153 (sha256
6154 (base32
55ec98f2 6155 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
6156 (build-system haskell-build-system)
6157 (inputs
6158 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
6159 ("ghc-cryptohash" ,ghc-cryptohash)
6160 ("ghc-hashable" ,ghc-hashable)
6161 ("ghc-parsers" ,ghc-parsers)
6162 ("ghc-unordered-containers" ,ghc-unordered-containers)
6163 ("ghc-vector" ,ghc-vector)))
6164 (native-inputs
6165 `(("ghc-quickcheck" ,ghc-quickcheck)
6166 ("ghc-hspec" ,ghc-hspec)
6167 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
6168 ("ghc-regex-posix" ,ghc-regex-posix)))
3ef91e15 6169 (home-page "https://hackage.haskell.org/package/inline-c")
dddbc90c
RV
6170 (synopsis "Write Haskell source files including C code inline")
6171 (description
6172 "inline-c lets you seamlessly call C libraries and embed high-performance
6173inline C code in Haskell modules. Haskell and C can be freely intermixed in
6174the same source file, and data passed to and from code in either language with
6175minimal overhead. No FFI required.")
6176 (license license:expat)))
6177
6178(define-public ghc-inline-c-cpp
6179 (package
6180 (name "ghc-inline-c-cpp")
cae58e56 6181 (version "0.3.0.3")
dddbc90c
RV
6182 (source
6183 (origin
6184 (method url-fetch)
6185 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
6186 "inline-c-cpp-" version ".tar.gz"))
6187 (sha256
6188 (base32
cae58e56 6189 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
6190 (build-system haskell-build-system)
6191 (inputs
6192 `(("ghc-inline-c" ,ghc-inline-c)
6193 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
6194 (native-inputs
6195 `(("ghc-hspec" ,ghc-hspec)))
6196 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
6197 (synopsis "Lets you embed C++ code into Haskell")
6198 (description
6199 "This package provides utilities to inline C++ code into Haskell using
6200@code{inline-c}.")
6201 (license license:expat)))
6202
6203(define-public ghc-integer-logarithms
6204 (package
6205 (name "ghc-integer-logarithms")
86a704db 6206 (version "1.0.3")
dddbc90c
RV
6207 (source
6208 (origin
6209 (method url-fetch)
6210 (uri (string-append "https://hackage.haskell.org/package/"
6211 "integer-logarithms/integer-logarithms-"
6212 version ".tar.gz"))
6213 (sha256
6214 (base32
86a704db 6215 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
6216 (build-system haskell-build-system)
6217 (arguments
6218 `(#:phases
6219 (modify-phases %standard-phases
6220 (add-before 'configure 'update-constraints
6221 (lambda _
6222 (substitute* "integer-logarithms.cabal"
6223 (("tasty >= 0\\.10 && < 1\\.1")
6224 "tasty >= 0.10 && < 1.2")))))))
6225 (native-inputs
6226 `(("ghc-quickcheck" ,ghc-quickcheck)
6227 ("ghc-smallcheck" ,ghc-smallcheck)
6228 ("ghc-tasty" ,ghc-tasty)
6229 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6230 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6231 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
6232 (home-page "https://github.com/Bodigrim/integer-logarithms")
6233 (synopsis "Integer logarithms")
6234 (description
6235 "This package provides the following modules:
6236@code{Math.NumberTheory.Logarithms} and
6237@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
6238@code{GHC.Integer.Logarithms.Compat} and
6239@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
6240in migrated modules.")
6241 (license license:expat)))
6242
6243(define-public ghc-integer-logarithms-bootstrap
6244 (package
6245 (inherit ghc-integer-logarithms)
6246 (name "ghc-integer-logarithms-bootstrap")
6247 (arguments `(#:tests? #f))
6248 (native-inputs '())
799d8d3c 6249 (properties '((hidden? #t)))))
dddbc90c
RV
6250
6251(define-public ghc-interpolate
6252 (package
6253 (name "ghc-interpolate")
6254 (version "0.2.0")
6255 (source
6256 (origin
6257 (method url-fetch)
6258 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
6259 "interpolate-" version ".tar.gz"))
6260 (sha256
6261 (base32
6262 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
6263 (build-system haskell-build-system)
6264 (inputs
6265 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
6266 (native-inputs
6267 `(("ghc-base-compat" ,ghc-base-compat)
6268 ("ghc-hspec" ,ghc-hspec)
6269 ("ghc-quickcheck" ,ghc-quickcheck)
6270 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
6271 ("hspec-discover" ,hspec-discover)))
6272 (home-page "https://github.com/sol/interpolate")
6273 (synopsis "String interpolation library")
6274 (description "This package provides a string interpolation library for
6275Haskell.")
6276 (license license:expat)))
6277
6278(define-public ghc-intervalmap
6279 (package
6280 (name "ghc-intervalmap")
e4946e32 6281 (version "0.6.1.1")
dddbc90c
RV
6282 (source
6283 (origin
6284 (method url-fetch)
6285 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
6286 "IntervalMap-" version ".tar.gz"))
6287 (sha256
6288 (base32
e4946e32 6289 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
6290 (build-system haskell-build-system)
6291 (native-inputs
6292 `(("ghc-quickcheck" ,ghc-quickcheck)))
6293 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6294 (synopsis "Containers for intervals, with efficient search")
6295 (description
6296 "This package provides ordered containers of intervals, with efficient
6297search for all keys containing a point or overlapping an interval. See the
6298example code on the home page for a quick introduction.")
6299 (license license:bsd-3)))
6300
f7ca1fa8
TS
6301(define-public ghc-intervals
6302 (package
6303 (name "ghc-intervals")
6304 (version "0.8.1")
6305 (source
6306 (origin
6307 (method url-fetch)
6308 (uri (string-append "https://hackage.haskell.org/package/"
6309 "intervals/intervals-" version ".tar.gz"))
6310 (sha256
6311 (base32
6312 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6313 (build-system haskell-build-system)
6314 (inputs
6315 `(("ghc-distributive" ,ghc-distributive)))
6316 (native-inputs
6317 `(("cabal-doctest" ,cabal-doctest)
6318 ("ghc-doctest" ,ghc-doctest)
6319 ("ghc-quickcheck" ,ghc-quickcheck)))
6320 (arguments
6321 `(#:cabal-revision
6322 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6323 (home-page "https://github.com/ekmett/intervals")
6324 (synopsis "Interval arithmetic")
6325 (description "This library provides
6326@code{Numeric.Interval.Interval}, which represets a closed, convex set
6327of floating point values.")
6328 (license license:bsd-3)))
6329
dddbc90c
RV
6330(define-public ghc-invariant
6331 (package
6332 (name "ghc-invariant")
d3a0e0b4 6333 (version "0.5.3")
dddbc90c
RV
6334 (source
6335 (origin
6336 (method url-fetch)
6337 (uri (string-append
6338 "https://hackage.haskell.org/package/invariant/invariant-"
6339 version ".tar.gz"))
6340 (sha256
6341 (base32
d3a0e0b4 6342 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
6343 (build-system haskell-build-system)
6344 (inputs
6345 `(("ghc-bifunctors" ,ghc-bifunctors)
6346 ("ghc-comonad" ,ghc-comonad)
6347 ("ghc-contravariant" ,ghc-contravariant)
6348 ("ghc-profunctors" ,ghc-profunctors)
6349 ("ghc-semigroups" ,ghc-semigroups)
6350 ("ghc-statevar" ,ghc-statevar)
6351 ("ghc-tagged" ,ghc-tagged)
6352 ("ghc-th-abstraction" ,ghc-th-abstraction)
6353 ("ghc-transformers-compat" ,ghc-transformers-compat)
6354 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6355 (native-inputs
6356 `(("ghc-hspec" ,ghc-hspec)
6357 ("ghc-quickcheck" ,ghc-quickcheck)
6358 ("hspec-discover" ,hspec-discover)))
6359 (home-page "https://github.com/nfrisby/invariant-functors")
6360 (synopsis "Haskell98 invariant functors")
6361 (description "Haskell98 invariant functors (also known as exponential
6362functors). For more information, see Edward Kmett's article
6363@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6364 (license license:bsd-2)))
6365
6366(define-public ghc-io-streams
6367 (package
6368 (name "ghc-io-streams")
59e98d75 6369 (version "1.5.1.0")
dddbc90c
RV
6370 (source
6371 (origin
6372 (method url-fetch)
6373 (uri (string-append "https://hackage.haskell.org/package/"
6374 "io-streams/io-streams-" version ".tar.gz"))
6375 (sha256
6376 (base32
59e98d75 6377 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
6378 (build-system haskell-build-system)
6379 (inputs
6380 `(("ghc-attoparsec" ,ghc-attoparsec)
6381 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6382 ("ghc-network" ,ghc-network)
6383 ("ghc-primitive" ,ghc-primitive)
6384 ("ghc-vector" ,ghc-vector)
6385 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6386 (native-inputs
6387 `(("ghc-hunit" ,ghc-hunit)
6388 ("ghc-quickcheck" ,ghc-quickcheck)
6389 ("ghc-test-framework" ,ghc-test-framework)
6390 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6391 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6392 ("ghc-zlib" ,ghc-zlib)))
3ef91e15 6393 (home-page "https://hackage.haskell.org/package/io-streams")
dddbc90c
RV
6394 (synopsis "Simple and composable stream I/O")
6395 (description "This library contains simple and easy-to-use
6396primitives for I/O using streams.")
6397 (license license:bsd-3)))
6398
6399(define-public ghc-io-streams-haproxy
6400 (package
6401 (name "ghc-io-streams-haproxy")
1a4fbc36 6402 (version "1.0.1.0")
dddbc90c
RV
6403 (source
6404 (origin
6405 (method url-fetch)
6406 (uri (string-append "https://hackage.haskell.org/package/"
6407 "io-streams-haproxy/io-streams-haproxy-"
6408 version ".tar.gz"))
6409 (sha256
6410 (base32
1a4fbc36 6411 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
6412 (build-system haskell-build-system)
6413 (inputs
6414 `(("ghc-attoparsec" ,ghc-attoparsec)
6415 ("ghc-io-streams" ,ghc-io-streams)
6416 ("ghc-network" ,ghc-network)))
6417 (native-inputs
6418 `(("ghc-hunit" ,ghc-hunit)
6419 ("ghc-test-framework" ,ghc-test-framework)
6420 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
6421 (home-page "http://snapframework.com/")
6422 (synopsis "HAProxy protocol 1.5 support for io-streams")
6423 (description "HAProxy protocol version 1.5 support
6424(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6425for applications using io-streams. The proxy protocol allows information
6426about a networked peer (like remote address and port) to be propagated
6427through a forwarding proxy that is configured to speak this protocol.")
6428 (license license:bsd-3)))
6429
6430(define-public ghc-iproute
6431 (package
6432 (name "ghc-iproute")
ec25d536 6433 (version "1.7.7")
dddbc90c
RV
6434 (source
6435 (origin
6436 (method url-fetch)
6437 (uri (string-append
6438 "https://hackage.haskell.org/package/iproute/iproute-"
6439 version
6440 ".tar.gz"))
6441 (sha256
6442 (base32
ec25d536 6443 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
6444 (build-system haskell-build-system)
6445 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6446 ; exported by ghc-byteorder. Doctest issue.
6447 (inputs
6448 `(("ghc-appar" ,ghc-appar)
6449 ("ghc-byteorder" ,ghc-byteorder)
6450 ("ghc-network" ,ghc-network)
6451 ("ghc-safe" ,ghc-safe)))
6452 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6453 (synopsis "IP routing table")
6454 (description "IP Routing Table is a tree of IP ranges to search one of
6455them on the longest match base. It is a kind of TRIE with one way branching
6456removed. Both IPv4 and IPv6 are supported.")
6457 (license license:bsd-3)))
6458
4828e54e
TS
6459(define-public ghc-ipynb
6460 (package
6461 (name "ghc-ipynb")
6462 (version "0.1")
6463 (source
6464 (origin
6465 (method url-fetch)
6466 (uri (string-append "https://hackage.haskell.org/package/"
6467 "ipynb/ipynb-" version ".tar.gz"))
6468 (sha256
6469 (base32
6470 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6471 (build-system haskell-build-system)
6472 (inputs
6473 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6474 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6475 ("ghc-aeson" ,ghc-aeson)
6476 ("ghc-semigroups" ,ghc-semigroups)))
6477 (native-inputs
6478 `(("ghc-tasty" ,ghc-tasty)
6479 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6480 ("ghc-aeson-diff" ,ghc-aeson-diff)
6481 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6482 ("ghc-microlens" ,ghc-microlens)
6483 ("ghc-vector" ,ghc-vector)))
6484 (home-page "https://hackage.haskell.org/package/ipynb")
6485 (synopsis "Data structure for working with Jupyter notebooks")
6486 (description "This library defines a data structure for representing
6487Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6488instances for conversion to and from JSON .ipynb files.")
6489 (license license:bsd-3)))
6490
dddbc90c
RV
6491(define-public ghc-iwlib
6492 (package
6493 (name "ghc-iwlib")
6494 (version "0.1.0")
6495 (source
6496 (origin
6497 (method url-fetch)
6498 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6499 version ".tar.gz"))
6500 (sha256
6501 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6502 (build-system haskell-build-system)
6503 (inputs
6504 `(("wireless-tools" ,wireless-tools)))
6505 (home-page "https://github.com/jaor/iwlib")
6506 (synopsis "Haskell binding to the iw wireless networking library")
6507 (description
6508 "IWlib is a thin Haskell binding to the iw C library. It provides
6509information about the current wireless network connections, and adapters on
6510supported systems.")
6511 (license license:bsd-3)))
6512
6513(define-public ghc-json
6514 (package
6515 (name "ghc-json")
0ad3d574 6516 (version "0.9.3")
dddbc90c
RV
6517 (source
6518 (origin
6519 (method url-fetch)
6520 (uri (string-append "https://hackage.haskell.org/package/json/"
6521 "json-" version ".tar.gz"))
6522 (sha256
6523 (base32
0ad3d574 6524 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6525 (build-system haskell-build-system)
6526 (inputs
6527 `(("ghc-syb" ,ghc-syb)))
6528 (home-page "https://hackage.haskell.org/package/json")
6529 (synopsis "Serializes Haskell data to and from JSON")
6530 (description "This package provides a parser and pretty printer for
6531converting between Haskell values and JSON.
6532JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6533 (license license:bsd-3)))
6534
6535(define-public ghc-juicypixels
6536 (package
6537 (name "ghc-juicypixels")
b50b6004 6538 (version "3.3.4")
dddbc90c
RV
6539 (source (origin
6540 (method url-fetch)
6541 (uri (string-append "https://hackage.haskell.org/package/"
6542 "JuicyPixels/JuicyPixels-"
6543 version ".tar.gz"))
6544 (sha256
6545 (base32
b50b6004 6546 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
6547 (build-system haskell-build-system)
6548 (inputs
6549 `(("ghc-zlib" ,ghc-zlib)
6550 ("ghc-vector" ,ghc-vector)
6551 ("ghc-primitive" ,ghc-primitive)
6552 ("ghc-mmap" ,ghc-mmap)))
6553 (home-page "https://github.com/Twinside/Juicy.Pixels")
6554 (synopsis "Picture loading and serialization library")
6555 (description
6556 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6557TIFF and GIF formats.")
6558 (license license:bsd-3)))
6559
6560(define-public ghc-kan-extensions
6561 (package
6562 (name "ghc-kan-extensions")
6563 (version "5.2")
6564 (source
6565 (origin
6566 (method url-fetch)
6567 (uri (string-append
6568 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6569 version
6570 ".tar.gz"))
6571 (sha256
6572 (base32
6573 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6574 (build-system haskell-build-system)
6575 (inputs
6576 `(("ghc-adjunctions" ,ghc-adjunctions)
6577 ("ghc-comonad" ,ghc-comonad)
6578 ("ghc-contravariant" ,ghc-contravariant)
6579 ("ghc-distributive" ,ghc-distributive)
6580 ("ghc-free" ,ghc-free)
6581 ("ghc-invariant" ,ghc-invariant)
6582 ("ghc-semigroupoids" ,ghc-semigroupoids)
6583 ("ghc-tagged" ,ghc-tagged)
6584 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6585 (home-page "https://github.com/ekmett/kan-extensions/")
6586 (synopsis "Kan extensions library")
6587 (description "This library provides Kan extensions, Kan lifts, various
6588forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6589 (license license:bsd-3)))
6590
6591(define-public ghc-language-c
6592 (package
6593 (name "ghc-language-c")
4e1cf651 6594 (version "0.8.3")
dddbc90c
RV
6595 (source
6596 (origin
6597 (method url-fetch)
6598 (uri (string-append "https://hackage.haskell.org/package/"
6599 "language-c/language-c-" version ".tar.gz"))
6600 (sha256
6601 (base32
4e1cf651 6602 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6603 (build-system haskell-build-system)
6604 (inputs `(("ghc-syb" ,ghc-syb)))
6605 (native-inputs
6606 `(("ghc-happy" ,ghc-happy)
6607 ("ghc-alex" ,ghc-alex)))
6608 (home-page "https://visq.github.io/language-c/")
6609 (synopsis "Analysis and generation of C code")
6610 (description
6611 "Language C is a Haskell library for the analysis and generation of C code.
6612It features a complete, well-tested parser and pretty printer for all of C99
6613and a large set of GNU extensions.")
6614 (license license:bsd-3)))
6615
6616(define-public ghc-language-glsl
6617 (package
6618 (name "ghc-language-glsl")
6619 (version "0.3.0")
6620 (source
6621 (origin
6622 (method url-fetch)
6623 (uri (string-append "https://hackage.haskell.org/package/"
6624 "language-glsl/language-glsl-" version ".tar.gz"))
6625 (sha256
6626 (base32
6627 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6628 (build-system haskell-build-system)
6629 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6630 (arguments
6631 `(#:tests? #f
6632 #:cabal-revision
6633 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
3ef91e15 6634 (home-page "https://hackage.haskell.org/package/language-glsl")
dddbc90c
RV
6635 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6636 (description "This package is a Haskell library for the
6637representation, parsing, and pretty-printing of GLSL 1.50 code.")
6638 (license license:bsd-3)))
6639
6640(define-public ghc-language-haskell-extract
6641 (package
6642 (name "ghc-language-haskell-extract")
6643 (version "0.2.4")
6644 (source
6645 (origin
6646 (method url-fetch)
6647 (uri (string-append "https://hackage.haskell.org/package/"
6648 "language-haskell-extract-" version "/"
6649 "language-haskell-extract-" version ".tar.gz"))
6650 (sha256
6651 (base32
6652 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6653 (build-system haskell-build-system)
6654 (inputs
6655 `(("ghc-regex-posix" ,ghc-regex-posix)))
6656 (home-page "https://github.com/finnsson/template-helper")
6657 (synopsis "Haskell module to automatically extract functions from
6658the local code")
6659 (description "This package contains helper functions on top of
6660Template Haskell.
6661
6662For example, @code{functionExtractor} extracts all functions after a
6663regexp-pattern, which can be useful if you wish to extract all functions
6664beginning with @code{test} (for a test framework) or all functions beginning
6665with @code{wc} (for a web service).")
6666 (license license:bsd-3)))
6667
6668(define-public ghc-lens
6669 (package
6670 (name "ghc-lens")
262e6323 6671 (version "4.17.1")
dddbc90c
RV
6672 (source
6673 (origin
6674 (method url-fetch)
6675 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6676 version ".tar.gz"))
6677 (sha256
6678 (base32
262e6323 6679 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6680 (build-system haskell-build-system)
dddbc90c
RV
6681 (inputs
6682 `(("ghc-base-orphans" ,ghc-base-orphans)
6683 ("ghc-bifunctors" ,ghc-bifunctors)
6684 ("ghc-distributive" ,ghc-distributive)
6685 ("ghc-exceptions" ,ghc-exceptions)
6686 ("ghc-free" ,ghc-free)
6687 ("ghc-kan-extensions" ,ghc-kan-extensions)
6688 ("ghc-parallel" ,ghc-parallel)
6689 ("ghc-reflection" ,ghc-reflection)
6690 ("ghc-semigroupoids" ,ghc-semigroupoids)
6691 ("ghc-vector" ,ghc-vector)
6692 ("ghc-call-stack" ,ghc-call-stack)
6693 ("ghc-comonad" ,ghc-comonad)
6694 ("ghc-contravariant" ,ghc-contravariant)
6695 ("ghc-hashable" ,ghc-hashable)
6696 ("ghc-profunctors" ,ghc-profunctors)
6697 ("ghc-semigroups" ,ghc-semigroups)
6698 ("ghc-tagged" ,ghc-tagged)
6699 ("ghc-transformers-compat" ,ghc-transformers-compat)
6700 ("ghc-unordered-containers" ,ghc-unordered-containers)
6701 ("ghc-void" ,ghc-void)
6702 ("ghc-generic-deriving" ,ghc-generic-deriving)
6703 ("ghc-nats" ,ghc-nats)
6704 ("ghc-simple-reflect" ,ghc-simple-reflect)
6705 ("hlint" ,hlint)))
6706 (native-inputs
6707 `(("cabal-doctest" ,cabal-doctest)
6708 ("ghc-doctest" ,ghc-doctest)
6709 ("ghc-hunit" ,ghc-hunit)
6710 ("ghc-test-framework" ,ghc-test-framework)
6711 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6712 ("ghc-test-framework-th" ,ghc-test-framework-th)
6713 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6714 ("ghc-quickcheck" ,ghc-quickcheck)))
6715 (home-page "https://github.com/ekmett/lens/")
6716 (synopsis "Lenses, Folds and Traversals")
6717 (description "This library provides @code{Control.Lens}. The combinators
6718in @code{Control.Lens} provide a highly generic toolbox for composing families
6719of getters, folds, isomorphisms, traversals, setters and lenses and their
6720indexed variants.")
6721 (license license:bsd-3)))
6722
bcd35444
JS
6723(define-public ghc-lens-family-core
6724 (package
6725 (name "ghc-lens-family-core")
6726 (version "1.2.3")
6727 (source
6728 (origin
6729 (method url-fetch)
6730 (uri (string-append
6731 "mirror://hackage/package/lens-family-core/lens-family-core-"
6732 version
6733 ".tar.gz"))
6734 (sha256
6735 (base32
6736 "009rf10pj1cb50v44cc1pq7qvfrmkkk9dikahs9qmvbvgl3mykwi"))))
6737 (build-system haskell-build-system)
6738 (home-page
6739 "http://hackage.haskell.org/package/lens-family-core")
6740 (synopsis "Haskell 98 Lens Families")
6741 (description
6742 "This package provides first class functional references. In addition to
6743the usual operations of getting, setting and composition, plus integration
6744with the state monad, lens families provide some unique features:
6745
6746@itemize
6747@item Polymorphic updating
6748@item Traversals
6749@item Cast projection functions to read-only lenses
6750@item Cast @code{toList} functions to read-only traversals
6751@item Cast semantic editor combinators to modify-only traversals
6752@end itemize
6753
6754For optimal first-class support use the lens-family package with rank 2/rank N
6755polymorphism. @code{Lens.Family.Clone} allows for first-class support of
6756lenses and traversals for those who require Haskell 98.")
6757 (license license:bsd-3)))
6758
dddbc90c
RV
6759(define-public ghc-libffi
6760 (package
6761 (name "ghc-libffi")
6762 (version "0.1")
6763 (source
6764 (origin
6765 (method url-fetch)
6766 (uri (string-append "https://hackage.haskell.org/package/"
6767 "libffi/libffi-" version ".tar.gz"))
6768 (sha256
6769 (base32
6770 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6771 (build-system haskell-build-system)
6772 (native-inputs `(("pkg-config" ,pkg-config)))
6773 (inputs `(("libffi" ,libffi)))
3ef91e15 6774 (home-page "https://hackage.haskell.org/package/libffi")
dddbc90c
RV
6775 (synopsis "Haskell binding to libffi")
6776 (description
6777 "A binding to libffi, allowing C functions of types only known at runtime
6778to be called from Haskell.")
6779 (license license:bsd-3)))
6780
6781(define-public ghc-libmpd
6782 (package
6783 (name "ghc-libmpd")
bbf9845f 6784 (version "0.9.0.10")
dddbc90c
RV
6785 (source
6786 (origin
6787 (method url-fetch)
6788 (uri (string-append
6789 "mirror://hackage/package/libmpd/libmpd-"
6790 version
6791 ".tar.gz"))
6792 (sha256
6793 (base32
bbf9845f 6794 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6795 (build-system haskell-build-system)
6796 ;; Tests fail on i686.
6797 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6798 (arguments `(#:tests? #f))
6799 (inputs
6800 `(("ghc-attoparsec" ,ghc-attoparsec)
6801 ("ghc-old-locale" ,ghc-old-locale)
6802 ("ghc-data-default-class" ,ghc-data-default-class)
6803 ("ghc-network" ,ghc-network)
bbf9845f 6804 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6805 ("ghc-utf8-string" ,ghc-utf8-string)))
6806 (native-inputs
6807 `(("ghc-quickcheck" ,ghc-quickcheck)
6808 ("ghc-hspec" ,ghc-hspec)
6809 ("hspec-discover" ,hspec-discover)))
6810 (home-page "https://github.com/vimus/libmpd-haskell")
6811 (synopsis "Haskell client library for the Music Player Daemon")
6812 (description "This package provides a pure Haskell client library for the
6813Music Player Daemon.")
6814 (license license:expat)))
6815
e34df1c3
TS
6816(define-public ghc-lib-parser
6817 (package
6818 (name "ghc-lib-parser")
6819 (version "8.8.0.20190424")
6820 (source
6821 (origin
6822 (method url-fetch)
6823 (uri (string-append "https://hackage.haskell.org/package/"
6824 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6825 (sha256
6826 (base32
6827 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6828 (build-system haskell-build-system)
6829 (native-inputs
6830 `(("ghc-alex" ,ghc-alex)
6831 ("ghc-happy" ,ghc-happy)))
6832 (home-page "https://github.com/digital-asset/ghc-lib")
6833 (synopsis "The GHC API, decoupled from GHC versions")
6834 (description "This library implements the GHC API. It is like the
6835compiler-provided @code{ghc} package, but it can be loaded on many
6836compiler versions.")
6837 (license license:bsd-3)))
6838
dddbc90c
RV
6839(define-public ghc-libxml
6840 (package
6841 (name "ghc-libxml")
6842 (version "0.1.1")
6843 (source
6844 (origin
6845 (method url-fetch)
6846 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6847 "libxml-" version ".tar.gz"))
6848 (sha256
6849 (base32
6850 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6851 (build-system haskell-build-system)
6852 (inputs
6853 `(("libxml2" ,libxml2)))
6854 (arguments
6855 `(#:configure-flags
6856 `(,(string-append "--extra-include-dirs="
6857 (assoc-ref %build-inputs "libxml2")
6858 "/include/libxml2"))))
6859 (home-page "https://hackage.haskell.org/package/libxml")
6860 (synopsis "Haskell bindings to libxml2")
6861 (description
6862 "This library provides minimal Haskell binding to libxml2.")
6863 (license license:bsd-3)))
6864
0c2d6fc2
TS
6865(define-public ghc-libyaml
6866 (package
6867 (name "ghc-libyaml")
6868 (version "0.1.1.0")
6869 (source
6870 (origin
6871 (method url-fetch)
6872 (uri (string-append "https://hackage.haskell.org/package/"
6873 "libyaml/libyaml-" version ".tar.gz"))
6874 (sha256
6875 (base32
6876 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6877 (modules '((guix build utils)))
6878 (snippet
6879 ;; Delete bundled LibYAML.
6880 '(begin
6881 (delete-file-recursively "libyaml_src")
6882 #t))))
6883 (build-system haskell-build-system)
6884 (arguments
6885 `(#:configure-flags `("--flags=system-libyaml")))
6886 (inputs
6887 `(("ghc-conduit" ,ghc-conduit)
6888 ("ghc-resourcet" ,ghc-resourcet)
1b35d303 6889 ("libyaml" ,libyaml)))
0c2d6fc2
TS
6890 (home-page "https://github.com/snoyberg/yaml#readme")
6891 (synopsis "Low-level, streaming YAML interface.")
6892 (description "This package provides a Haskell wrapper over the
6893LibYAML C library.")
6894 (license license:bsd-3)))
6895
dddbc90c
RV
6896(define-public ghc-lifted-async
6897 (package
6898 (name "ghc-lifted-async")
b5b6d7ea 6899 (version "0.10.0.4")
dddbc90c
RV
6900 (source
6901 (origin
6902 (method url-fetch)
6903 (uri (string-append
6904 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6905 version ".tar.gz"))
6906 (sha256
6907 (base32
b5b6d7ea 6908 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6909 (build-system haskell-build-system)
6910 (inputs
6911 `(("ghc-async" ,ghc-async)
6912 ("ghc-lifted-base" ,ghc-lifted-base)
6913 ("ghc-transformers-base" ,ghc-transformers-base)
6914 ("ghc-monad-control" ,ghc-monad-control)
6915 ("ghc-constraints" ,ghc-constraints)
6916 ("ghc-hunit" ,ghc-hunit)
6917 ("ghc-tasty" ,ghc-tasty)
6918 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6919 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6920 ("ghc-tasty-th" ,ghc-tasty-th)))
6921 (home-page "https://github.com/maoe/lifted-async")
6922 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6923 (description
6924 "This package provides IO operations from @code{async} package lifted to any
6925instance of @code{MonadBase} or @code{MonadBaseControl}.")
6926 (license license:bsd-3)))
6927
6928(define-public ghc-lifted-base
6929 (package
6930 (name "ghc-lifted-base")
6931 (version "0.2.3.12")
6932 (source
6933 (origin
6934 (method url-fetch)
6935 (uri (string-append
6936 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6937 version
6938 ".tar.gz"))
6939 (sha256
6940 (base32
6941 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6942 (build-system haskell-build-system)
6943 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6944 (inputs
6945 `(("ghc-transformers-base" ,ghc-transformers-base)
6946 ("ghc-monad-control" ,ghc-monad-control)
6947 ("ghc-transformers-compat" ,ghc-transformers-compat)
6948 ("ghc-hunit" ,ghc-hunit)))
6949 (home-page "https://github.com/basvandijk/lifted-base")
6950 (synopsis "Lifted IO operations from the base library")
6951 (description "Lifted-base exports IO operations from the @code{base}
6952library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6953Note that not all modules from @code{base} are converted yet. The package
6954includes a copy of the @code{monad-peel} test suite written by Anders
6955Kaseorg.")
6956 (license license:bsd-3)))
6957
6958(define-public ghc-linear
6959 (package
6960 (name "ghc-linear")
86526f37 6961 (version "1.20.9")
dddbc90c
RV
6962 (source
6963 (origin
6964 (method url-fetch)
6965 (uri (string-append "https://hackage.haskell.org/package/linear/"
6966 "linear-" version ".tar.gz"))
6967 (sha256
6968 (base32
86526f37 6969 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6970 (build-system haskell-build-system)
6971 (inputs
6972 `(("ghc-adjunctions" ,ghc-adjunctions)
6973 ("ghc-base-orphans" ,ghc-base-orphans)
6974 ("ghc-bytes" ,ghc-bytes)
6975 ("ghc-cereal" ,ghc-cereal)
6976 ("ghc-distributive" ,ghc-distributive)
6977 ("ghc-hashable" ,ghc-hashable)
6978 ("ghc-lens" ,ghc-lens)
6979 ("ghc-reflection" ,ghc-reflection)
6980 ("ghc-semigroups" ,ghc-semigroups)
6981 ("ghc-semigroupoids" ,ghc-semigroupoids)
6982 ("ghc-tagged" ,ghc-tagged)
6983 ("ghc-transformers-compat" ,ghc-transformers-compat)
6984 ("ghc-unordered-containers" ,ghc-unordered-containers)
6985 ("ghc-vector" ,ghc-vector)
6986 ("ghc-void" ,ghc-void)))
6987 (native-inputs
6988 `(("cabal-doctest" ,cabal-doctest)
6989 ("ghc-doctest" ,ghc-doctest)
6990 ("ghc-simple-reflect" ,ghc-simple-reflect)
6991 ("ghc-test-framework" ,ghc-test-framework)
6992 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6993 ("ghc-hunit" ,ghc-hunit)))
6994 (home-page "http://github.com/ekmett/linear/")
6995 (synopsis "Linear algebra library for Haskell")
6996 (description
6997 "This package provides types and combinators for linear algebra on free
6998vector spaces.")
6999 (license license:bsd-3)))
1307e4c7
JS
7000
7001(define-public ghc-listlike
7002 (package
7003 (name "ghc-listlike")
7004 (version "4.6.2")
7005 (source
7006 (origin
7007 (method url-fetch)
7008 (uri
7009 (string-append
7010 "https://hackage.haskell.org/package/ListLike/ListLike-"
7011 version ".tar.gz"))
7012 (sha256
7013 (base32
7014 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
7015 (build-system haskell-build-system)
7016 (inputs
7017 `(("ghc-vector" ,ghc-vector)
7018 ("ghc-dlist" ,ghc-dlist)
7019 ("ghc-fmlist" ,ghc-fmlist)
7020 ("ghc-hunit" ,ghc-hunit)
7021 ("ghc-quickcheck" ,ghc-quickcheck)
7022 ("ghc-random" ,ghc-random)
7023 ("ghc-utf8-string" ,ghc-utf8-string)))
7024 (home-page "https://github.com/JohnLato/listlike")
7025 (synopsis "Generic support for list-like structures")
7026 (description "The ListLike module provides a common interface to the
7027various Haskell types that are list-like. Predefined interfaces include
7028standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
7029Custom types can easily be made ListLike instances as well.
7030
7031ListLike also provides for String-like types, such as String and
7032ByteString, for types that support input and output, and for types that
7033can handle infinite lists.")
7034 (license license:bsd-3)))
dddbc90c 7035
84436be0
J
7036(define-public ghc-llvm-hs-pure
7037 (package
7038 (name "ghc-llvm-hs-pure")
7039 (version "9.0.0")
7040 (source
7041 (origin
7042 (method url-fetch)
7043 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
7044 "llvm-hs-pure-" version ".tar.gz"))
7045 (sha256
7046 (base32
7047 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
7048 (build-system haskell-build-system)
7049 (inputs
7050 `(("ghc-attoparsec" ,ghc-attoparsec)
7051 ("ghc-fail" ,ghc-fail)
7052 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7053 (native-inputs
7054 `(("ghc-tasty" ,ghc-tasty)
7055 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7056 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7057 (home-page "https://github.com/llvm-hs/llvm-hs/")
7058 (synopsis "Pure Haskell LLVM functionality (no FFI)")
7059 (description "llvm-hs-pure is a set of pure Haskell types and functions
7060for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
7061LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
7062llvm-hs-pure does not require LLVM to be available.")
7063 (license license:bsd-3)))
7064
e3ee8023
J
7065(define-public ghc-llvm-hs
7066 (package
7067 (name "ghc-llvm-hs")
7068 (version "9.0.1")
7069 (source
7070 (origin
7071 (method url-fetch)
7072 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
7073 version ".tar.gz"))
7074 (sha256
7075 (base32
7076 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
7077 (build-system haskell-build-system)
7078 (inputs
7079 `(("ghc-attoparsec" ,ghc-attoparsec)
7080 ("ghc-exceptions" ,ghc-exceptions)
7081 ("ghc-utf8-string" ,ghc-utf8-string)
7082 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
7083 ("llvm" ,llvm-9)))
7084 (native-inputs
7085 `(("ghc-tasty" ,ghc-tasty)
7086 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7087 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7088 ("ghc-quickcheck" ,ghc-quickcheck)
7089 ("ghc-temporary" ,ghc-temporary)
7090 ("ghc-pretty-show" ,ghc-pretty-show)
7091 ("ghc-temporary" ,ghc-temporary)))
7092 (home-page "https://github.com/llvm-hs/llvm-hs/")
7093 (synopsis "General purpose LLVM bindings for Haskell")
7094 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
7095current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
7096IR, and so offers two advantages: it handles almost all of the stateful
7097complexities of using the LLVM API to build IR; and it supports moving IR not
7098only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
7099into Haskell.")
7100 (license license:bsd-3)))
7101
dddbc90c
RV
7102(define-public ghc-logging-facade
7103 (package
7104 (name "ghc-logging-facade")
7105 (version "0.3.0")
7106 (source (origin
7107 (method url-fetch)
7108 (uri (string-append "https://hackage.haskell.org/package/"
7109 "logging-facade/logging-facade-"
7110 version ".tar.gz"))
7111 (sha256
7112 (base32
7113 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
7114 (build-system haskell-build-system)
7115 (native-inputs
7116 `(("ghc-hspec" ,ghc-hspec)
7117 ("hspec-discover" ,hspec-discover)))
7118 (home-page "https://hackage.haskell.org/package/logging-facade")
7119 (synopsis "Simple logging abstraction that allows multiple back-ends")
7120 (description
7121 "This package provides a simple logging abstraction that allows multiple
7122back-ends.")
7123 (license license:expat)))
7124
7125(define-public ghc-logict
7126 (package
7127 (name "ghc-logict")
79d9326f 7128 (version "0.7.0.2")
dddbc90c
RV
7129 (source
7130 (origin
7131 (method url-fetch)
7132 (uri (string-append
7133 "https://hackage.haskell.org/package/logict/logict-"
7134 version
7135 ".tar.gz"))
7136 (sha256
7137 (base32
79d9326f 7138 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 7139 (build-system haskell-build-system)
79d9326f
TS
7140 (native-inputs
7141 `(("ghc-tasty" ,ghc-tasty)
7142 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
7143 (home-page "http://code.haskell.org/~dolio/")
7144 (synopsis "Backtracking logic-programming monad")
7145 (description "This library provides a continuation-based, backtracking,
7146logic programming monad. An adaptation of the two-continuation implementation
7147found in the paper \"Backtracking, Interleaving, and Terminating Monad
7148Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
7149online}.")
7150 (license license:bsd-3)))
7151
7152(define-public ghc-lzma
7153 (package
7154 (name "ghc-lzma")
7155 (version "0.0.0.3")
7156 (source
7157 (origin
7158 (method url-fetch)
7159 (uri (string-append "https://hackage.haskell.org/package/lzma/"
7160 "lzma-" version ".tar.gz"))
7161 (sha256
7162 (base32
7163 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
7164 (build-system haskell-build-system)
7165 (arguments
7166 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
7167 #:cabal-revision
7168 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
7169 (native-inputs
7170 `(("ghc-hunit" ,ghc-hunit)
7171 ("ghc-quickcheck" ,ghc-quickcheck)
7172 ("ghc-tasty" ,ghc-tasty)
7173 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7174 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
7175 (home-page "https://github.com/hvr/lzma")
7176 (synopsis "LZMA/XZ compression and decompression")
7177 (description
7178 "This package provides a pure interface for compressing and
7179decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
7180monadic incremental interface is provided as well.")
7181 (license license:bsd-3)))
7182
7183(define-public ghc-lzma-conduit
7184 (package
7185 (name "ghc-lzma-conduit")
7186 (version "1.2.1")
7187 (source
7188 (origin
7189 (method url-fetch)
7190 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
7191 "lzma-conduit-" version ".tar.gz"))
7192 (sha256
7193 (base32
7194 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
7195 (build-system haskell-build-system)
7196 (inputs
7197 `(("ghc-conduit" ,ghc-conduit)
7198 ("ghc-lzma" ,ghc-lzma)
7199 ("ghc-resourcet" ,ghc-resourcet)))
7200 (native-inputs
7201 `(("ghc-base-compat" ,ghc-base-compat)
7202 ("ghc-test-framework" ,ghc-test-framework)
7203 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7204 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7205 ("ghc-hunit" ,ghc-hunit)
7206 ("ghc-quickcheck" ,ghc-quickcheck)))
7207 (home-page "https://github.com/alphaHeavy/lzma-conduit")
7208 (synopsis "Conduit interface for lzma/xz compression")
7209 (description
7210 "This package provides a @code{Conduit} interface for the LZMA
7211compression algorithm used in the @code{.xz} file format.")
7212 (license license:bsd-3)))
7213
e405912c
KM
7214(define-public ghc-magic
7215 (package
7216 (name "ghc-magic")
7217 (version "1.1")
7218 (source
7219 (origin
7220 (method url-fetch)
7221 (uri (string-append
7222 "https://hackage.haskell.org/package/magic/magic-"
7223 version ".tar.gz"))
7224 (sha256
7225 (base32
7226 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
7227 (build-system haskell-build-system)
3ef91e15 7228 (home-page "https://hackage.haskell.org/package/magic")
e405912c
KM
7229 (synopsis "Interface to C file/magic library")
7230 (description
7231 "This package provides a full-featured binding to the C libmagic library.
7232With it, you can determine the type of a file by examining its contents rather
7233than its name.")
7234 (license license:bsd-3)))
7235
bcfe9dba
JS
7236(define-public ghc-managed
7237 (package
7238 (name "ghc-managed")
7239 (version "1.0.6")
7240 (source
7241 (origin
7242 (method url-fetch)
7243 (uri (string-append
7244 "mirror://hackage/package/managed/managed-"
7245 version
7246 ".tar.gz"))
7247 (sha256
7248 (base32
7249 "1kbrw99yh5x5blykmx2n88mplbbi4ss1ij5j17b7asw6q0ihm9zi"))))
7250 (build-system haskell-build-system)
7251 (home-page "http://hackage.haskell.org/package/managed")
7252 (synopsis "Monad for managed values")
7253 (description
7254 "In Haskell you very often acquire values using the with... idiom using
7255functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a
7256special case of the ContT monad (from transformers) or the Codensity
7257monad (from kan-extensions). The main purpose behind this package is to
7258provide a restricted form of these monads specialized to this unusually common
7259case.
7260
7261The reason this package defines a specialized version of these types
7262is to:
7263
7264@itemize
7265@item be more beginner-friendly,
7266@item simplify inferred types and error messages, and:
7267@item provide some additional type class instances that would otherwise be
7268orphan instances
7269@end itemize")
7270 (license license:bsd-3)))
7271
dddbc90c
RV
7272(define-public ghc-markdown-unlit
7273 (package
7274 (name "ghc-markdown-unlit")
7275 (version "0.5.0")
7276 (source (origin
7277 (method url-fetch)
7278 (uri (string-append
7279 "mirror://hackage/package/markdown-unlit/"
7280 "markdown-unlit-" version ".tar.gz"))
7281 (sha256
7282 (base32
7283 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
7284 (build-system haskell-build-system)
7285 (inputs
7286 `(("ghc-base-compat" ,ghc-base-compat)
7287 ("ghc-hspec" ,ghc-hspec)
7288 ("ghc-quickcheck" ,ghc-quickcheck)
7289 ("ghc-silently" ,ghc-silently)
7290 ("ghc-stringbuilder" ,ghc-stringbuilder)
7291 ("ghc-temporary" ,ghc-temporary)
7292 ("hspec-discover" ,hspec-discover)))
7293 (home-page "https://github.com/sol/markdown-unlit#readme")
7294 (synopsis "Literate Haskell support for Markdown")
7295 (description "This package allows you to have a README.md that at the
7296same time is a literate Haskell program.")
7297 (license license:expat)))
7298
7299(define-public ghc-math-functions
7300 (package
7301 (name "ghc-math-functions")
b45de2bf 7302 (version "0.3.3.0")
dddbc90c
RV
7303 (source
7304 (origin
7305 (method url-fetch)
7306 (uri (string-append "https://hackage.haskell.org/package/"
7307 "math-functions-" version "/"
7308 "math-functions-" version ".tar.gz"))
7309 (sha256
7310 (base32
b45de2bf 7311 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
7312 (build-system haskell-build-system)
7313 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
7314 (inputs
b45de2bf
TS
7315 `(("ghc-data-default-class" ,ghc-data-default-class)
7316 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
7317 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
7318 (native-inputs
7319 `(("ghc-hunit" ,ghc-hunit)
7320 ("ghc-quickcheck" ,ghc-quickcheck)
7321 ("ghc-erf" ,ghc-erf)
7322 ("ghc-test-framework" ,ghc-test-framework)
7323 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7324 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7325 (home-page "https://github.com/bos/math-functions")
7326 (synopsis "Special functions and Chebyshev polynomials for Haskell")
7327 (description "This Haskell library provides implementations of
7328special mathematical functions and Chebyshev polynomials. These
7329functions are often useful in statistical and numerical computing.")
7330 (license license:bsd-3)))
7331
7332(define-public ghc-megaparsec
7333 (package
7334 (name "ghc-megaparsec")
03b0c92e 7335 (version "7.0.5")
dddbc90c
RV
7336 (source
7337 (origin
7338 (method url-fetch)
7339 (uri (string-append "https://hackage.haskell.org/package/"
7340 "megaparsec/megaparsec-"
7341 version ".tar.gz"))
7342 (sha256
7343 (base32
03b0c92e 7344 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 7345 (build-system haskell-build-system)
dddbc90c
RV
7346 (inputs
7347 `(("ghc-case-insensitive" ,ghc-case-insensitive)
7348 ("ghc-parser-combinators" ,ghc-parser-combinators)
7349 ("ghc-scientific" ,ghc-scientific)))
7350 (native-inputs
7351 `(("ghc-quickcheck" ,ghc-quickcheck)
7352 ("ghc-hspec" ,ghc-hspec)
7353 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
7354 ("hspec-discover" ,hspec-discover)))
7355 (home-page "https://github.com/mrkkrp/megaparsec")
7356 (synopsis "Monadic parser combinators")
7357 (description
7358 "This is an industrial-strength monadic parser combinator library.
7359Megaparsec is a feature-rich package that strikes a nice balance between
7360speed, flexibility, and quality of parse errors.")
7361 (license license:bsd-2)))
7362
7363(define-public ghc-memory
7364 (package
7365 (name "ghc-memory")
d2c7d336 7366 (version "0.14.18")
dddbc90c
RV
7367 (source (origin
7368 (method url-fetch)
7369 (uri (string-append "https://hackage.haskell.org/package/"
7370 "memory/memory-" version ".tar.gz"))
7371 (sha256
7372 (base32
d2c7d336 7373 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
7374 (build-system haskell-build-system)
7375 (inputs
7376 `(("ghc-basement" ,ghc-basement)
7377 ("ghc-foundation" ,ghc-foundation)))
7378 (native-inputs
7379 `(("ghc-tasty" ,ghc-tasty)
7380 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7381 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7382 (home-page "https://github.com/vincenthz/hs-memory")
7383 (synopsis "Memory abstractions for Haskell")
7384 (description
7385 "This package provides memory abstractions, such as chunk of memory,
7386polymorphic byte array management and manipulation functions. It contains a
7387polymorphic byte array abstraction and functions similar to strict ByteString,
7388different type of byte array abstraction, raw memory IO operations (memory
7389set, memory copy, ..) and more")
7390 (license license:bsd-3)))
7391
7392(define-public ghc-memotrie
7393 (package
7394 (name "ghc-memotrie")
7395 (version "0.6.9")
7396 (source
7397 (origin
7398 (method url-fetch)
7399 (uri (string-append
7400 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7401 version
7402 ".tar.gz"))
7403 (sha256
7404 (base32
7405 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7406 (build-system haskell-build-system)
7407 (inputs
7408 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7409 (home-page "https://github.com/conal/MemoTrie")
7410 (synopsis "Trie-based memo functions")
7411 (description "This package provides a functional library for creating
7412efficient memo functions using tries.")
7413 (license license:bsd-3)))
7414
7415(define-public ghc-microlens
7416 (package
7417 (name "ghc-microlens")
82478c58 7418 (version "0.4.10")
dddbc90c
RV
7419 (source
7420 (origin
7421 (method url-fetch)
7422 (uri (string-append "https://hackage.haskell.org/package/"
7423 "microlens-" version "/"
7424 "microlens-" version ".tar.gz"))
7425 (sha256
7426 (base32
82478c58 7427 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
7428 (build-system haskell-build-system)
7429 (home-page
7430 "https://github.com/aelve/microlens")
7431 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7432 (description "This Haskell package provides a lens library, just like
7433@code{ghc-lens}, but smaller. It provides essential lenses and
7434traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7435nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7436combinators (like @code{failing} and @code{singular}), but everything else is
7437stripped. As the result, this package has no dependencies.")
7438 (license license:bsd-3)))
7439
1cd3333e
TS
7440(define-public ghc-microlens-aeson
7441 (package
7442 (name "ghc-microlens-aeson")
7443 (version "2.3.0.4")
7444 (source
7445 (origin
7446 (method url-fetch)
7447 (uri (string-append "https://hackage.haskell.org/package/"
7448 "microlens-aeson/microlens-aeson-"
7449 version ".tar.gz"))
b4a00fec 7450 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
7451 (sha256
7452 (base32
7453 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7454 (build-system haskell-build-system)
7455 (inputs
7456 `(("ghc-aeson" ,ghc-aeson)
7457 ("ghc-attoparsec" ,ghc-attoparsec)
7458 ("ghc-hashable" ,ghc-hashable)
7459 ("ghc-microlens" ,ghc-microlens)
7460 ("ghc-scientific" ,ghc-scientific)
7461 ("ghc-unordered-containers" ,ghc-unordered-containers)
7462 ("ghc-vector" ,ghc-vector)))
7463 (native-inputs
7464 `(("ghc-tasty" ,ghc-tasty)
7465 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7466 (home-page "https://github.com/fosskers/microlens-aeson")
7467 (synopsis "Law-abiding lenses for Aeson, using microlens")
7468 (description "This library provides law-abiding lenses for Aeson, using
7469microlens.")
7470 (license license:expat)))
7471
dddbc90c
RV
7472(define-public ghc-microlens-ghc
7473 (package
7474 (name "ghc-microlens-ghc")
027beb55 7475 (version "0.4.10")
dddbc90c
RV
7476 (source
7477 (origin
7478 (method url-fetch)
7479 (uri (string-append
7480 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7481 version
7482 ".tar.gz"))
7483 (sha256
7484 (base32
027beb55 7485 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
7486 (build-system haskell-build-system)
7487 (inputs `(("ghc-microlens" ,ghc-microlens)))
7488 (home-page "https://github.com/monadfix/microlens")
7489 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7490 (description "This library provides everything that @code{microlens}
7491provides plus instances to make @code{each}, @code{at}, and @code{ix}
7492usable with arrays, @code{ByteString}, and containers. This package is
7493a part of the @uref{http://hackage.haskell.org/package/microlens,
7494microlens} family; see the readme
7495@uref{https://github.com/aelve/microlens#readme, on Github}.")
7496 (license license:bsd-3)))
7497
7498(define-public ghc-microlens-mtl
7499 (package
7500 (name "ghc-microlens-mtl")
7501 (version "0.1.11.1")
7502 (source
7503 (origin
7504 (method url-fetch)
7505 (uri (string-append
7506 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7507 version
7508 ".tar.gz"))
7509 (sha256
7510 (base32
7511 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7512 (build-system haskell-build-system)
7513 (inputs
7514 `(("ghc-microlens" ,ghc-microlens)
7515 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7516 (home-page "https://github.com/monadfix/microlens")
7517 (synopsis
7518 "@code{microlens} support for Reader/Writer/State from mtl")
7519 (description
7520 "This package contains functions (like @code{view} or @code{+=}) which
7521work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7522mtl package. This package is a part of the
7523@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7524readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7525 (license license:bsd-3)))
7526
7527(define-public ghc-microlens-platform
7528 (package
7529 (name "ghc-microlens-platform")
85decc1f 7530 (version "0.3.11")
dddbc90c
RV
7531 (source
7532 (origin
7533 (method url-fetch)
7534 (uri (string-append
7535 "https://hackage.haskell.org/package/"
7536 "microlens-platform/microlens-platform-" version ".tar.gz"))
7537 (sha256
7538 (base32
85decc1f 7539 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
7540 (build-system haskell-build-system)
7541 (inputs
7542 `(("ghc-hashable" ,ghc-hashable)
7543 ("ghc-microlens" ,ghc-microlens)
7544 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7545 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7546 ("ghc-microlens-th" ,ghc-microlens-th)
7547 ("ghc-unordered-containers" ,ghc-unordered-containers)
7548 ("ghc-vector" ,ghc-vector)))
7549 (home-page "https://github.com/monadfix/microlens")
7550 (synopsis "Feature-complete microlens")
7551 (description
7552 "This package exports a module which is the recommended starting point
7553for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7554you aren't trying to keep your dependencies minimal. By importing
7555@code{Lens.Micro.Platform} you get all functions and instances from
7556@uref{http://hackage.haskell.org/package/microlens, microlens},
7557@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7558@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7559@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7560well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7561minor and major versions of @code{microlens-platform} are incremented whenever
7562the minor and major versions of any other @code{microlens} package are
7563incremented, so you can depend on the exact version of
7564@code{microlens-platform} without specifying the version of @code{microlens}
7565you need. This package is a part of the
7566@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7567readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7568 (license license:bsd-3)))
7569
7570(define-public ghc-microlens-th
7571 (package
7572 (name "ghc-microlens-th")
7ae52867 7573 (version "0.4.2.3")
dddbc90c
RV
7574 (source
7575 (origin
7576 (method url-fetch)
7577 (uri (string-append "https://hackage.haskell.org/package/"
7578 "microlens-th-" version "/"
7579 "microlens-th-" version ".tar.gz"))
7580 (sha256
7581 (base32
7ae52867 7582 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 7583 (build-system haskell-build-system)
7ae52867
TS
7584 (arguments
7585 `(#:cabal-revision
7586 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
7587 (inputs `(("ghc-microlens" ,ghc-microlens)
7588 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7589 (home-page
7590 "https://github.com/aelve/microlens")
7591 (synopsis "Automatic generation of record lenses for
7592@code{ghc-microlens}")
7593 (description "This Haskell package lets you automatically generate lenses
7594for data types; code was extracted from the lens package, and therefore
7595generated lenses are fully compatible with ones generated by lens (and can be
7596used both from lens and microlens).")
7597 (license license:bsd-3)))
7598
7599(define-public ghc-missingh
7600 (package
7601 (name "ghc-missingh")
641207cb 7602 (version "1.4.1.0")
dddbc90c
RV
7603 (source
7604 (origin
7605 (method url-fetch)
7606 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7607 "MissingH-" version ".tar.gz"))
7608 (sha256
7609 (base32
641207cb 7610 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
7611 (build-system haskell-build-system)
7612 ;; Tests require the unmaintained testpack package, which depends on the
7613 ;; outdated QuickCheck version 2.7, which can no longer be built with
7614 ;; recent versions of GHC and Haskell libraries.
7615 (arguments '(#:tests? #f))
7616 (inputs
7617 `(("ghc-network" ,ghc-network)
7618 ("ghc-hunit" ,ghc-hunit)
7619 ("ghc-regex-compat" ,ghc-regex-compat)
7620 ("ghc-hslogger" ,ghc-hslogger)
7621 ("ghc-random" ,ghc-random)
7622 ("ghc-old-time" ,ghc-old-time)
7623 ("ghc-old-locale" ,ghc-old-locale)))
7624 (native-inputs
7625 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7626 ("ghc-quickcheck" ,ghc-quickcheck)
7627 ("ghc-hunit" ,ghc-hunit)))
7cde5203 7628 (home-page "https://software.complete.org/missingh")
dddbc90c
RV
7629 (synopsis "Large utility library")
7630 (description
7631 "MissingH is a library of all sorts of utility functions for Haskell
7632programmers. It is written in pure Haskell and thus should be extremely
7633portable and easy to use.")
7634 (license license:bsd-3)))
7635
7636(define-public ghc-mmap
7637 (package
7638 (name "ghc-mmap")
7639 (version "0.5.9")
7640 (source (origin
7641 (method url-fetch)
7642 (uri (string-append "https://hackage.haskell.org/package/"
7643 "mmap/mmap-" version ".tar.gz"))
7644 (sha256
7645 (base32
7646 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7647 (build-system haskell-build-system)
7648 (home-page "https://hackage.haskell.org/package/mmap")
7649 (synopsis "Memory mapped files for Haskell")
7650 (description
7651 "This library provides a wrapper to @code{mmap}, allowing files or
7652devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7653@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7654do on-demand loading.")
7655 (license license:bsd-3)))
7656
7657(define-public ghc-mmorph
7658 (package
7659 (name "ghc-mmorph")
e0389704 7660 (version "1.1.3")
dddbc90c
RV
7661 (source
7662 (origin
7663 (method url-fetch)
7664 (uri (string-append
7665 "https://hackage.haskell.org/package/mmorph/mmorph-"
7666 version
7667 ".tar.gz"))
7668 (sha256
7669 (base32
e0389704 7670 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7671 (build-system haskell-build-system)
7672 (inputs
7673 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7674 (home-page "https://hackage.haskell.org/package/mmorph")
7675 (synopsis "Monad morphisms")
7676 (description
7677 "This library provides monad morphism utilities, most commonly used for
7678manipulating monad transformer stacks.")
7679 (license license:bsd-3)))
7680
7681(define-public ghc-mockery
7682 (package
7683 (name "ghc-mockery")
7684 (version "0.3.5")
7685 (source (origin
7686 (method url-fetch)
7687 (uri (string-append "https://hackage.haskell.org/package/"
7688 "mockery/mockery-" version ".tar.gz"))
7689 (sha256
7690 (base32
7691 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7692 (build-system haskell-build-system)
7693 (inputs
7694 `(("ghc-temporary" ,ghc-temporary)
7695 ("ghc-logging-facade" ,ghc-logging-facade)
7696 ("ghc-base-compat" ,ghc-base-compat)))
7697 (native-inputs
7698 `(("ghc-hspec" ,ghc-hspec)
7699 ("hspec-discover" ,hspec-discover)))
7700 (home-page "https://hackage.haskell.org/package/mockery")
7701 (synopsis "Support functions for automated testing")
7702 (description
7703 "The mockery package provides support functions for automated testing.")
7704 (license license:expat)))
7705
7706(define-public ghc-monad-control
7707 (package
7708 (name "ghc-monad-control")
7709 (version "1.0.2.3")
7710 (source
7711 (origin
7712 (method url-fetch)
7713 (uri (string-append
7714 "https://hackage.haskell.org/package/monad-control"
7715 "/monad-control-" version ".tar.gz"))
7716 (sha256
7717 (base32
7718 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7719 (build-system haskell-build-system)
7720 (inputs
7721 `(("ghc-transformers-base" ,ghc-transformers-base)
7722 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7723 (home-page "https://github.com/basvandijk/monad-control")
7724 (synopsis "Monad transformers to lift control operations like exception
7725catching")
7726 (description "This package defines the type class @code{MonadBaseControl},
7727a subset of @code{MonadBase} into which generic control operations such as
7728@code{catch} can be lifted from @code{IO} or any other base monad.")
7729 (license license:bsd-3)))
7730
7731(define-public ghc-monad-logger
7732 (package
7733 (name "ghc-monad-logger")
26980aae 7734 (version "0.3.30")
dddbc90c
RV
7735 (source
7736 (origin
7737 (method url-fetch)
7738 (uri (string-append "https://hackage.haskell.org/package/"
7739 "monad-logger-" version "/"
7740 "monad-logger-" version ".tar.gz"))
7741 (sha256
7742 (base32
26980aae 7743 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7744 (build-system haskell-build-system)
7745 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7746 ("ghc-stm-chans" ,ghc-stm-chans)
7747 ("ghc-lifted-base" ,ghc-lifted-base)
7748 ("ghc-resourcet" ,ghc-resourcet)
7749 ("ghc-conduit" ,ghc-conduit)
7750 ("ghc-conduit-extra" ,ghc-conduit-extra)
7751 ("ghc-fast-logger" ,ghc-fast-logger)
7752 ("ghc-transformers-base" ,ghc-transformers-base)
7753 ("ghc-monad-control" ,ghc-monad-control)
7754 ("ghc-monad-loops" ,ghc-monad-loops)
7755 ("ghc-blaze-builder" ,ghc-blaze-builder)
7756 ("ghc-exceptions" ,ghc-exceptions)))
7757 (home-page "https://github.com/kazu-yamamoto/logger")
7758 (synopsis "Provides a class of monads which can log messages for Haskell")
7759 (description "This Haskell package uses a monad transformer approach
7760for logging.
7761
7762This package provides Template Haskell functions for determining source
7763code locations of messages.")
7764 (license license:expat)))
7765
7766(define-public ghc-monad-loops
7767 (package
7768 (name "ghc-monad-loops")
7769 (version "0.4.3")
7770 (source
7771 (origin
7772 (method url-fetch)
7773 (uri (string-append "https://hackage.haskell.org/package/"
7774 "monad-loops-" version "/"
7775 "monad-loops-" version ".tar.gz"))
7776 (sha256
7777 (base32
7778 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7779 (build-system haskell-build-system)
7780 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7781 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7782 (home-page "https://github.com/mokus0/monad-loops")
7783 (synopsis "Monadic loops for Haskell")
7784 (description "This Haskell package provides some useful control
7785operators for looping.")
7786 (license license:public-domain)))
7787
7788(define-public ghc-monad-par
7789 (package
7790 (name "ghc-monad-par")
7791 (version "0.3.4.8")
7792 (source
7793 (origin
7794 (method url-fetch)
7795 (uri (string-append "https://hackage.haskell.org/package/"
7796 "monad-par-" version "/"
7797 "monad-par-" version ".tar.gz"))
faac56f3 7798 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7799 (sha256
7800 (base32
7801 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7802 (build-system haskell-build-system)
7803 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7804 ("ghc-abstract-deque" ,ghc-abstract-deque)
7805 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7806 ("ghc-mwc-random" ,ghc-mwc-random)
7807 ("ghc-parallel" ,ghc-parallel)))
7808 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7809 ("ghc-hunit" ,ghc-hunit)
7810 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7811 ("ghc-test-framework-quickcheck2"
7812 ,ghc-test-framework-quickcheck2)
7813 ("ghc-test-framework" ,ghc-test-framework)
7814 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7815 (home-page "https://github.com/simonmar/monad-par")
7816 (synopsis "Haskell library for parallel programming based on a monad")
7817 (description "The @code{Par} monad offers an API for parallel
7818programming. The library works for parallelising both pure and @code{IO}
7819computations, although only the pure version is deterministic. The default
7820implementation provides a work-stealing scheduler and supports forking tasks
7821that are much lighter weight than IO-threads.")
7822 (license license:bsd-3)))
7823
7824(define-public ghc-monad-par-extras
7825 (package
7826 (name "ghc-monad-par-extras")
7827 (version "0.3.3")
7828 (source
7829 (origin
7830 (method url-fetch)
7831 (uri (string-append "https://hackage.haskell.org/package/"
7832 "monad-par-extras-" version "/"
7833 "monad-par-extras-" version ".tar.gz"))
7834 (sha256
7835 (base32
7836 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7837 (build-system haskell-build-system)
7838 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7839 ("ghc-cereal" ,ghc-cereal)
7840 ("ghc-random" ,ghc-random)))
7841 (home-page "https://github.com/simonmar/monad-par")
7842 (synopsis "Combinators and extra features for Par monads for Haskell")
7843 (description "This Haskell package provides additional data structures,
7844and other added capabilities layered on top of the @code{Par} monad.")
7845 (license license:bsd-3)))
7846
dddbc90c
RV
7847(define-public ghc-monadrandom
7848 (package
7849 (name "ghc-monadrandom")
7850 (version "0.5.1.1")
7851 (source
7852 (origin
7853 (method url-fetch)
7854 (uri (string-append "https://hackage.haskell.org/package/"
7855 "MonadRandom-" version "/"
7856 "MonadRandom-" version ".tar.gz"))
7857 (sha256
7858 (base32
7859 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7860 (build-system haskell-build-system)
7861 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7862 ("ghc-primitive" ,ghc-primitive)
7863 ("ghc-fail" ,ghc-fail)
7864 ("ghc-random" ,ghc-random)))
7865 (home-page "https://github.com/byorgey/MonadRandom")
7866 (synopsis "Random-number generation monad for Haskell")
7867 (description "This Haskell package provides support for computations
7868which consume random values.")
7869 (license license:bsd-3)))
7870
7871(define-public ghc-monads-tf
7872 (package
7873 (name "ghc-monads-tf")
7874 (version "0.1.0.3")
7875 (source
7876 (origin
7877 (method url-fetch)
7878 (uri (string-append
7879 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7880 version ".tar.gz"))
7881 (sha256
7882 (base32
7883 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7884 (build-system haskell-build-system)
7885 (home-page "https://hackage.haskell.org/package/monads-tf")
7886 (synopsis "Monad classes, using type families")
7887 (description
7888 "Monad classes using type families, with instances for various monad transformers,
7889inspired by the paper 'Functional Programming with Overloading and Higher-Order
7890Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7891the @code{mtl-tf} package.")
7892 (license license:bsd-3)))
7893
7894(define-public ghc-mono-traversable
7895 (package
7896 (name "ghc-mono-traversable")
23bb445b 7897 (version "1.0.13.0")
dddbc90c
RV
7898 (source
7899 (origin
7900 (method url-fetch)
7901 (uri (string-append "https://hackage.haskell.org/package/"
7902 "mono-traversable-" version "/"
7903 "mono-traversable-" version ".tar.gz"))
7904 (sha256
7905 (base32
23bb445b 7906 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7907 (build-system haskell-build-system)
7908 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7909 ("ghc-hashable" ,ghc-hashable)
7910 ("ghc-vector" ,ghc-vector)
7911 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7912 ("ghc-split" ,ghc-split)))
7913 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7914 ("ghc-hunit" ,ghc-hunit)
7915 ("ghc-quickcheck" ,ghc-quickcheck)
7916 ("ghc-semigroups" ,ghc-semigroups)
7917 ("ghc-foldl" ,ghc-foldl)))
7918 (home-page "https://github.com/snoyberg/mono-traversable")
7919 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7920containers")
7921 (description "This Haskell package provides Monomorphic variants of the
7922Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7923basic typeclasses, you understand mono-traversable. In addition to what
7924you are used to, it adds on an IsSequence typeclass and has code for marking
7925data structures as non-empty.")
7926 (license license:expat)))
7927
471e77cf
TS
7928(define-public ghc-monoid-extras
7929 (package
7930 (name "ghc-monoid-extras")
7931 (version "0.5.1")
7932 (source
7933 (origin
7934 (method url-fetch)
7935 (uri (string-append "https://hackage.haskell.org/package/"
7936 "monoid-extras/monoid-extras-" version ".tar.gz"))
7937 (sha256
7938 (base32
7939 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7940 (build-system haskell-build-system)
7941 (inputs
7942 `(("ghc-groups" ,ghc-groups)
7943 ("ghc-semigroups" ,ghc-semigroups)
7944 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7945 (arguments
7946 `(#:cabal-revision
7947 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7948 (home-page "https://hackage.haskell.org/package/monoid-extras")
7949 (synopsis "Various extra monoid-related definitions and utilities")
7950 (description "This package provides various extra monoid-related
7951definitions and utilities, such as monoid actions, monoid coproducts,
7952semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7953\"cut\" monoids.")
7954 (license license:bsd-3)))
7955
4759b617
JS
7956(define-public ghc-mtl-compat
7957 (package
7958 (name "ghc-mtl-compat")
7959 (version "0.2.2")
7960 (source
7961 (origin
7962 (method url-fetch)
7963 (uri (string-append
7964 "mirror://hackage/package/mtl-compat/mtl-compat-"
7965 version
7966 ".tar.gz"))
7967 (sha256
7968 (base32
7969 "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r"))))
7970 (build-system haskell-build-system)
7971 (home-page
7972 "https://github.com/haskell-compat/mtl-compat")
7973 (synopsis
7974 "Backported Control.Monad.Except module from mtl")
7975 (description
7976 "This package backports the Control.Monad.Except module from mtl (if
7977using mtl-2.2.0.1 or earlier), which reexports the ExceptT monad transformer
7978and the MonadError class.
7979
7980This package should only be used if there is a need to use the
7981Control.Monad.Except module specifically. If you just want the mtl class
7982instances for ExceptT, use transformers-compat instead, since mtl-compat does
7983nothing but reexport the instances from that package.
7984
7985Note that unlike how mtl-2.2 or later works, the Control.Monad.Except
7986module defined in this package exports all of ExceptT's monad class instances.
7987Therefore, you may have to declare @code{import Control.Monad.Except ()} at
7988the top of your file to get all of the ExceptT instances in scope.")
7989 (license license:bsd-3)))
7990
dddbc90c
RV
7991(define-public ghc-murmur-hash
7992 (package
7993 (name "ghc-murmur-hash")
7994 (version "0.1.0.9")
7995 (source
7996 (origin
7997 (method url-fetch)
7998 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7999 "/murmur-hash-" version ".tar.gz"))
8000 (sha256
8001 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
8002 (build-system haskell-build-system)
8003 (home-page "https://github.com/nominolo/murmur-hash")
8004 (synopsis "MurmurHash2 implementation for Haskell")
8005 (description
8006 "This package provides an implementation of MurmurHash2, a good, fast,
8007general-purpose, non-cryptographic hashing function. See
8008@url{https://sites.google.com/site/murmurhash/} for details. This
8009implementation is pure Haskell, so it might be a bit slower than a C FFI
8010binding.")
8011 (license license:bsd-3)))
8012
8013(define-public ghc-mwc-random
8014 (package
8015 (name "ghc-mwc-random")
33268e2c 8016 (version "0.14.0.0")
dddbc90c
RV
8017 (source
8018 (origin
8019 (method url-fetch)
8020 (uri (string-append "https://hackage.haskell.org/package/"
8021 "mwc-random-" version "/"
8022 "mwc-random-" version ".tar.gz"))
8023 (sha256
8024 (base32
33268e2c 8025 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
8026 (build-system haskell-build-system)
8027 (inputs
8028 `(("ghc-primitive" ,ghc-primitive)
8029 ("ghc-vector" ,ghc-vector)
8030 ("ghc-math-functions" ,ghc-math-functions)))
8031 (arguments
8032 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
8033 (native-inputs
8034 `(("ghc-hunit" ,ghc-hunit)
8035 ("ghc-quickcheck" ,ghc-quickcheck)
8036 ("ghc-test-framework" ,ghc-test-framework)
8037 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8038 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
8039 (home-page "https://github.com/bos/mwc-random")
8040 (synopsis "Random number generation library for Haskell")
8041 (description "This Haskell package contains code for generating
8042high quality random numbers that follow either a uniform or normal
8043distribution. The generated numbers are suitable for use in
8044statistical applications.
8045
8046The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
8047multiply-with-carry generator, which has a period of 2^{8222} and
8048fares well in tests of randomness. It is also extremely fast,
8049between 2 and 3 times faster than the Mersenne Twister.")
8050 (license license:bsd-3)))
8051
8052(define-public ghc-nats
8053 (package
8054 (name "ghc-nats")
8055 (version "1.1.2")
8056 (source
8057 (origin
8058 (method url-fetch)
8059 (uri (string-append
8060 "https://hackage.haskell.org/package/nats/nats-"
8061 version
8062 ".tar.gz"))
8063 (sha256
8064 (base32
8065 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
8066 (build-system haskell-build-system)
8067 (arguments `(#:haddock? #f))
8068 (inputs
8069 `(("ghc-hashable" ,ghc-hashable)))
8070 (home-page "https://hackage.haskell.org/package/nats")
8071 (synopsis "Natural numbers")
8072 (description "This library provides the natural numbers for Haskell.")
8073 (license license:bsd-3)))
8074
8075(define-public ghc-nats-bootstrap
8076 (package
8077 (inherit ghc-nats)
8078 (name "ghc-nats-bootstrap")
8079 (inputs
8080 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
8081 (properties '((hidden? #t)))))
8082
52915062
EF
8083(define-public ghc-ncurses
8084 (package
8085 (name "ghc-ncurses")
8086 (version "0.2.16")
8087 (source
8088 (origin
8089 (method url-fetch)
8090 (uri (string-append
8091 "https://hackage.haskell.org/package/ncurses/ncurses-"
8092 version ".tar.gz"))
8093 (sha256
8094 (base32
8095 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
8096 (build-system haskell-build-system)
8097 (arguments
8098 '(#:phases
8099 (modify-phases %standard-phases
8100 (add-before 'build 'fix-includes
8101 (lambda _
8102 (substitute* '("cbits/hsncurses-shim.h"
8103 "lib/UI/NCurses.chs"
8104 "lib/UI/NCurses/Enums.chs"
8105 "lib/UI/NCurses/Panel.chs")
8106 (("<ncursesw/") "<"))
8107 #t)))
8108 #:cabal-revision
8109 ("1"
8110 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
8111 (inputs `(("ncurses" ,ncurses)))
8112 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
8113 (home-page "https://john-millikin.com/software/haskell-ncurses/")
8114 (synopsis "Modernised bindings to GNU ncurses")
8115 (description "GNU ncurses is a library for creating command-line application
8116with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
8117ncurses.")
8118 (license license:gpl3)))
8119
dddbc90c
RV
8120(define-public ghc-network
8121 (package
8122 (name "ghc-network")
d4473202 8123 (version "2.8.0.1")
dddbc90c
RV
8124 (outputs '("out" "doc"))
8125 (source
8126 (origin
8127 (method url-fetch)
8128 (uri (string-append
8129 "https://hackage.haskell.org/package/network/network-"
8130 version
8131 ".tar.gz"))
8132 (sha256
8133 (base32
d4473202 8134 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
8135 (build-system haskell-build-system)
8136 ;; The regression tests depend on an unpublished module.
8137 (arguments `(#:tests? #f))
8138 (native-inputs
8139 `(("ghc-hunit" ,ghc-hunit)
8140 ("ghc-doctest" ,ghc-doctest)
8141 ("ghc-test-framework" ,ghc-test-framework)
8142 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
8143 (home-page "https://github.com/haskell/network")
8144 (synopsis "Low-level networking interface")
8145 (description
8146 "This package provides a low-level networking interface.")
8147 (license license:bsd-3)))
4780db2c 8148
30eebbe6
TS
8149(define-public ghc-network-bsd
8150 (package
8151 (name "ghc-network-bsd")
8152 (version "2.8.0.0")
8153 (source
8154 (origin
8155 (method url-fetch)
8156 (uri (string-append "https://hackage.haskell.org/package/"
8157 "network-bsd/network-bsd-" version ".tar.gz"))
8158 (sha256
8159 (base32
8160 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
8161 (build-system haskell-build-system)
8162 (inputs
8163 `(("ghc-network" ,ghc-network)))
8164 (home-page "https://github.com/haskell/network-bsd")
8165 (synopsis "POSIX network database (<netdb.h>) API")
8166 (description "This package provides Haskell bindings to the the POSIX
8167network database (<netdb.h>) API.")
8168 (license license:bsd-3)))
8169
096781a1
TS
8170(define-public ghc-network-byte-order
8171 (package
8172 (name "ghc-network-byte-order")
8173 (version "0.1.1.1")
8174 (source
8175 (origin
8176 (method url-fetch)
8177 (uri (string-append "https://hackage.haskell.org/package/"
8178 "network-byte-order/network-byte-order-"
8179 version ".tar.gz"))
8180 (sha256
8181 (base32
8182 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
8183 (build-system haskell-build-system)
8184 (native-inputs
8185 `(("ghc-doctest" ,ghc-doctest)))
3ef91e15 8186 (home-page "https://hackage.haskell.org/package/network-byte-order")
096781a1
TS
8187 (synopsis "Network byte order utilities")
8188 (description "This library provides peek and poke functions for network
8189byte order.")
8190 (license license:bsd-3)))
8191
dddbc90c
RV
8192(define-public ghc-network-info
8193 (package
8194 (name "ghc-network-info")
8195 (version "0.2.0.10")
8196 (source
8197 (origin
8198 (method url-fetch)
8199 (uri (string-append "https://hackage.haskell.org/package/"
8200 "network-info-" version "/"
8201 "network-info-" version ".tar.gz"))
8202 (sha256
8203 (base32
8204 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
8205 (build-system haskell-build-system)
8206 (home-page "https://github.com/jystic/network-info")
8207 (synopsis "Access the local computer's basic network configuration")
8208 (description "This Haskell library provides simple read-only access to the
8209local computer's networking configuration. It is currently capable of
8210getting a list of all the network interfaces and their respective
8211IPv4, IPv6 and MAC addresses.")
8212 (license license:bsd-3)))
8213
8214(define-public ghc-network-uri
8215 (package
8216 (name "ghc-network-uri")
8217 (version "2.6.1.0")
8218 (outputs '("out" "doc"))
8219 (source
8220 (origin
8221 (method url-fetch)
8222 (uri (string-append
8223 "https://hackage.haskell.org/package/network-uri/network-uri-"
8224 version
8225 ".tar.gz"))
8226 (sha256
8227 (base32
8228 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
8229 (build-system haskell-build-system)
8230 (arguments
8231 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
8232 (inputs
8233 `(("ghc-network" ,ghc-network)))
8234 (native-inputs
8235 `(("ghc-hunit" ,ghc-hunit)))
8236 (home-page
8237 "https://github.com/haskell/network-uri")
8238 (synopsis "Library for URI manipulation")
8239 (description "This package provides an URI manipulation interface. In
8240@code{network-2.6} the @code{Network.URI} module was split off from the
8241@code{network} package into this package.")
8242 (license license:bsd-3)))
8243
8244(define-public ghc-newtype-generics
8245 (package
8246 (name "ghc-newtype-generics")
c07e16dd 8247 (version "0.5.4")
dddbc90c
RV
8248 (source
8249 (origin
8250 (method url-fetch)
8251 (uri (string-append "https://hackage.haskell.org/package/"
8252 "newtype-generics/newtype-generics-"
8253 version ".tar.gz"))
8254 (sha256
8255 (base32
c07e16dd 8256 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
8257 (build-system haskell-build-system)
8258 (native-inputs
8259 `(("ghc-hspec" ,ghc-hspec)
8260 ("hspec-discover" ,hspec-discover)))
8261 (home-page "http://github.com/sjakobi/newtype-generics")
8262 (synopsis "Typeclass and set of functions for working with newtypes")
8263 (description "The @code{Newtype} typeclass represents the packing and
8264unpacking of a newtype, and allows you to operate under that newtype with
8265functions such as @code{ala}. Generics support was added in version 0.4,
8266making this package a full replacement for the original newtype package,
8267and an alternative to newtype-th.")
8268 (license license:bsd-3)))
8269
6b652f5a
JS
8270(define-public ghc-non-negative
8271 (package
8272 (name "ghc-non-negative")
8273 (version "0.1.2")
8274 (source
8275 (origin
8276 (method url-fetch)
8277 (uri
8278 (string-append
8279 "https://hackage.haskell.org/package/non-negative/non-negative-"
8280 version ".tar.gz"))
8281 (sha256
8282 (base32
8283 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
8284 (build-system haskell-build-system)
8285 (inputs
8286 `(("ghc-semigroups" ,ghc-semigroups)
8287 ("ghc-utility-ht" ,ghc-utility-ht)
8288 ("ghc-quickcheck" ,ghc-quickcheck)))
8289 (home-page "https://hackage.haskell.org/package/non-negative")
8290 (synopsis "Non-negative numbers class")
8291 (description "This library provides a class for non-negative numbers,
8292a wrapper which can turn any ordered numeric type into a member of that
8293class, and a lazy number type for non-negative numbers (a generalization
8294of Peano numbers).")
8295 (license license:gpl3+)))
8296
49bcca84
ASM
8297(define-public ghc-nonce
8298 (package
8299 (name "ghc-nonce")
8300 (version "1.0.7")
8301 (source
8302 (origin
8303 (method url-fetch)
8304 (uri (string-append
8305 "https://hackage.haskell.org/package/nonce/"
8306 "nonce-" version ".tar.gz"))
8307 (sha256
8308 (base32
8309 "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb"))))
8310 (build-system haskell-build-system)
8311 (inputs
8312 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
8313 ("ghc-entropy" ,ghc-entropy)
8314 ("ghc-unliftio" ,ghc-unliftio)
8315 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8316 (home-page "https://github.com/prowdsponsor/nonce")
8317 (synopsis "Generate cryptographic nonces in Haskell")
8318 (description
8319 "A nonce is an arbitrary number used only once in a cryptographic
8320communication. This package contain helper functions for generating nonces.
8321There are many kinds of nonces used in different situations. It's not
8322guaranteed that by using the nonces from this package you won't have any
8323security issues. Please make sure that the nonces generated via this
8324package are usable on your design.")
8325 (license license:bsd-3)))
8326
194a82e6
TS
8327(define-public ghc-numeric-extras
8328 (package
8329 (name "ghc-numeric-extras")
8330 (version "0.1")
8331 (source
8332 (origin
8333 (method url-fetch)
8334 (uri (string-append "https://hackage.haskell.org/package/"
8335 "numeric-extras/numeric-extras-"
8336 version ".tar.gz"))
8337 (sha256
8338 (base32
8339 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
8340 (build-system haskell-build-system)
8341 (home-page "https://github.com/ekmett/numeric-extras")
8342 (synopsis "Useful tools from the C standard library")
8343 (description "This library provides some useful tools from the C
8344standard library.")
8345 (license license:bsd-3)))
8346
dddbc90c
RV
8347(define-public ghc-objectname
8348 (package
8349 (name "ghc-objectname")
8350 (version "1.1.0.1")
8351 (source
8352 (origin
8353 (method url-fetch)
8354 (uri (string-append
8355 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
8356 version
8357 ".tar.gz"))
8358 (sha256
8359 (base32
8360 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
8361 (build-system haskell-build-system)
8362 (home-page "https://hackage.haskell.org/package/ObjectName")
8363 (synopsis "Helper library for Haskell OpenGL")
8364 (description "This tiny package contains the class ObjectName, which
8365corresponds to the general notion of explicitly handled identifiers for API
8366objects, e.g. a texture object name in OpenGL or a buffer object name in
8367OpenAL.")
8368 (license license:bsd-3)))
8369
8370(define-public ghc-old-locale
8371 (package
8372 (name "ghc-old-locale")
8373 (version "1.0.0.7")
8374 (source
8375 (origin
8376 (method url-fetch)
8377 (uri (string-append
8378 "https://hackage.haskell.org/package/old-locale/old-locale-"
8379 version
8380 ".tar.gz"))
8381 (sha256
8382 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
8383 (build-system haskell-build-system)
8384 (arguments
8385 `(#:cabal-revision
8386 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
8387 (home-page "https://hackage.haskell.org/package/old-locale")
8388 (synopsis "Adapt to locale conventions")
8389 (description
8390 "This package provides the ability to adapt to locale conventions such as
8391date and time formats.")
8392 (license license:bsd-3)))
8393
8394(define-public ghc-old-time
8395 (package
8396 (name "ghc-old-time")
8397 (version "1.1.0.3")
8398 (source
8399 (origin
8400 (method url-fetch)
8401 (uri (string-append
8402 "https://hackage.haskell.org/package/old-time/old-time-"
8403 version
8404 ".tar.gz"))
8405 (sha256
8406 (base32
8407 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
8408 (build-system haskell-build-system)
8409 (arguments
8410 `(#:cabal-revision
8411 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
8412 (inputs
8413 `(("ghc-old-locale" ,ghc-old-locale)))
8414 (home-page "https://hackage.haskell.org/package/old-time")
8415 (synopsis "Time compatibility library for Haskell")
8416 (description "Old-time is a package for backwards compatibility with the
8417old @code{time} library. For new projects, the newer
8418@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
8419 (license license:bsd-3)))
8420
8421(define-public ghc-opengl
8422 (package
8423 (name "ghc-opengl")
79a06910 8424 (version "3.0.3.0")
dddbc90c
RV
8425 (source
8426 (origin
8427 (method url-fetch)
8428 (uri (string-append
8429 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8430 version
8431 ".tar.gz"))
8432 (sha256
8433 (base32
79a06910 8434 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 8435 (build-system haskell-build-system)
79a06910
TS
8436 (arguments
8437 `(#:cabal-revision
8438 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
8439 (inputs
8440 `(("ghc-objectname" ,ghc-objectname)
8441 ("ghc-gluraw" ,ghc-gluraw)
8442 ("ghc-statevar" ,ghc-statevar)
8443 ("ghc-openglraw" ,ghc-openglraw)))
8444 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8445 (synopsis "Haskell bindings for the OpenGL graphics system")
8446 (description "This package provides Haskell bindings for the OpenGL
8447graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8448version 1.3).")
8449 (license license:bsd-3)))
8450
8451(define-public ghc-openglraw
8452 (package
8453 (name "ghc-openglraw")
15ebc815 8454 (version "3.3.3.0")
dddbc90c
RV
8455 (source
8456 (origin
8457 (method url-fetch)
8458 (uri (string-append
8459 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8460 version
8461 ".tar.gz"))
8462 (sha256
8463 (base32
15ebc815 8464 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
8465 (build-system haskell-build-system)
8466 (inputs
8467 `(("ghc-half" ,ghc-half)
8468 ("ghc-fixed" ,ghc-fixed)
8469 ("glu" ,glu)))
8470 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8471 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8472 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8473graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8474of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8475offers access to all necessary functions, tokens and types plus a general
8476facility for loading extension entries. The module hierarchy closely mirrors
8477the naming structure of the OpenGL extensions, making it easy to find the
8478right module to import. All API entries are loaded dynamically, so no special
8479C header files are needed for building this package. If an API entry is not
8480found at runtime, a userError is thrown.")
8481 (license license:bsd-3)))
8482
8483(define-public ghc-operational
8484 (package
8485 (name "ghc-operational")
8486 (version "0.2.3.5")
8487 (source
8488 (origin
8489 (method url-fetch)
8490 (uri (string-append "https://hackage.haskell.org/package/operational/"
8491 "operational-" version ".tar.gz"))
8492 (sha256
8493 (base32
8494 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8495 (build-system haskell-build-system)
8496 (inputs
8497 `(("ghc-random" ,ghc-random)))
8498 (home-page "http://wiki.haskell.org/Operational")
8499 (synopsis "Implementation of difficult monads made easy with operational semantics")
8500 (description
8501 "This library makes it easy to implement monads with tricky control
8502flow. This is useful for: writing web applications in a sequential style,
8503programming games with a uniform interface for human and AI players and easy
8504replay capababilities, implementing fast parser monads, designing monadic
8505DSLs, etc.")
8506 (license license:bsd-3)))
8507
6f1477d2
JS
8508(define-public ghc-optional-args
8509 (package
8510 (name "ghc-optional-args")
8511 (version "1.0.2")
8512 (source
8513 (origin
8514 (method url-fetch)
8515 (uri (string-append
8516 "mirror://hackage/package/optional-args/optional-args-"
8517 version
8518 ".tar.gz"))
8519 (sha256
8520 (base32
8521 "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f"))))
8522 (build-system haskell-build-system)
8523 (home-page
8524 "http://hackage.haskell.org/package/optional-args")
8525 (synopsis "Optional function arguments")
8526 (description
8527 "This library provides a type for specifying @code{Optional} function
8528arguments.")
8529 (license license:bsd-3)))
8530
dddbc90c
RV
8531(define-public ghc-options
8532 (package
8533 (name "ghc-options")
8534 (version "1.2.1.1")
8535 (source
8536 (origin
8537 (method url-fetch)
8538 (uri (string-append
8539 "https://hackage.haskell.org/package/options/options-"
8540 version ".tar.gz"))
8541 (sha256
8542 (base32
8543 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8544 (build-system haskell-build-system)
24cf2a8b
TS
8545 (arguments
8546 `(#:phases
8547 (modify-phases %standard-phases
8548 (add-before 'configure 'update-constraints
8549 (lambda _
8550 (substitute* "options.cabal"
8551 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8552 #t)))))
dddbc90c
RV
8553 (inputs
8554 `(("ghc-monads-tf" ,ghc-monads-tf)
8555 ("ghc-chell" ,ghc-chell)
8556 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8557 (home-page "https://john-millikin.com/software/haskell-options/")
8558 (synopsis "Powerful and easy-to-use command-line option parser")
8559 (description
8560 "The @code{options} package lets library and application developers
8561easily work with command-line options.")
8562 (license license:expat)))
8563
8564;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8565(define ghc-options-bootstrap
8566 (package
8567 (name "ghc-options-bootstrap")
8568 (version "1.2.1.1")
8569 (source
8570 (origin
8571 (method url-fetch)
8572 (uri (string-append
8573 "https://hackage.haskell.org/package/options/options-"
8574 version ".tar.gz"))
8575 (sha256
8576 (base32
8577 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8578 (build-system haskell-build-system)
8579 (arguments
8580 `(#:tests? #f))
8581 (inputs
8582 `(("ghc-monads-tf" ,ghc-monads-tf)))
8583 (home-page "https://john-millikin.com/software/haskell-options/")
8584 (synopsis "Powerful and easy-to-use command-line option parser")
8585 (description
8586 "The @code{options} package lets library and application developers
8587easily work with command-line options.")
8588 (license license:expat)))
8589
8590
8591(define-public ghc-optparse-applicative
8592 (package
8593 (name "ghc-optparse-applicative")
74bf6965 8594 (version "0.14.3.0")
dddbc90c
RV
8595 (source
8596 (origin
8597 (method url-fetch)
8598 (uri (string-append
8599 "https://hackage.haskell.org/package/optparse-applicative"
8600 "/optparse-applicative-" version ".tar.gz"))
8601 (sha256
8602 (base32
74bf6965 8603 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8604 (build-system haskell-build-system)
74bf6965
TS
8605 (arguments
8606 `(#:cabal-revision
8607 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8608 (inputs
8609 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8610 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8611 (native-inputs
8612 `(("ghc-quickcheck" ,ghc-quickcheck)))
8613 (home-page "https://github.com/pcapriotti/optparse-applicative")
8614 (synopsis "Utilities and combinators for parsing command line options")
8615 (description "This package provides utilities and combinators for parsing
8616command line options in Haskell.")
8617 (license license:bsd-3)))
8618
d56c8120
NG
8619(define-public ghc-jira-wiki-markup
8620 (package
8621 (name "ghc-jira-wiki-markup")
8622 (version "1.0.0")
8623 (source
8624 (origin
8625 (method url-fetch)
8626 (uri (string-append
8627 "https://hackage.haskell.org/package/jira-wiki-markup/"
8628 "jira-wiki-markup-" version ".tar.gz"))
8629 (sha256
8630 (base32 "1sl2jjcsqg61si33mxjwpf8zdn56kbbgcwqqqzbgifx2qbv4wmf8"))))
8631 (build-system haskell-build-system)
8632 (native-inputs
8633 `(("ghc-tasty" ,ghc-tasty)
8634 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8635 (home-page "https://github.com/tarleb/jira-wiki-markup")
8636 (synopsis "Handle Jira wiki markup")
8637 (description
8638 "Parse jira wiki text into an abstract syntax tree for easy transformation
8639to other formats.")
8640 (license license:expat)))
8641
20690771
NG
8642(define-public ghc-emojis
8643 (package
8644 (name "ghc-emojis")
8645 (version "0.1")
8646 (source
8647 (origin
8648 (method url-fetch)
8649 (uri (string-append
8650 "https://hackage.haskell.org/package/emojis/"
8651 "emojis-" version ".tar.gz"))
8652 (sha256
8653 (base32 "1c6zkj9gmk1y90gbdrn50hyp7mw1mggzhnr2khqd728ryipw60ss"))))
8654 (build-system haskell-build-system)
8655 (native-inputs
8656 `(("ghc-hunit" ,ghc-hunit)))
8657 (home-page "https://github.com/jgm/emojis#readme")
8658 (synopsis "Conversion between emoji characters and their names.")
8659 (description
8660 "This package provides functions for converting emoji names to emoji
8661characters and vice versa.
8662
8663How does it differ from the @code{emoji} package?
8664@itemize
8665@item It supports a fuller range of emojis, including all those supported by
8666GitHub
8667@item It supports lookup of emoji aliases from emoji
8668@item It uses Text rather than String
8669@item It has a lighter dependency footprint: in particular, it does not
8670require aeson
8671@item It does not require TemplateHaskell
8672@end itemize")
8673 (license license:bsd-3)))
8674
e90a06fc
NG
8675(define-public ghc-text-conversions
8676 (package
8677 (name "ghc-text-conversions")
8678 (version "0.3.0")
8679 (source
8680 (origin
8681 (method url-fetch)
8682 (uri (string-append
8683 "https://hackage.haskell.org/package/text-conversions/"
8684 "text-conversions-" version ".tar.gz"))
8685 (sha256
8686 (base32 "089c56vdj9xysqfr1hnvbnrghlg83q6w10xk02gflpsidcpvwmhp"))))
8687 (build-system haskell-build-system)
8688 (inputs
8689 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
8690 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8691 ("ghc-errors" ,ghc-errors)))
8692 (native-inputs
8693 `(("ghc-hspec" ,ghc-hspec)
27b09f3a 8694 ("hspec-discover" ,hspec-discover)))
e90a06fc
NG
8695 (home-page "https://github.com/cjdev/text-conversions#readme")
8696 (synopsis "Safe conversions between textual types")
8697 (description "Safe conversions between textual types")
8698 (license license:isc)))
8699
ba7cbae3
NG
8700(define-public ghc-doclayout
8701 (package
8702 (name "ghc-doclayout")
8703 (version "0.3")
8704 (source
8705 (origin
8706 (method url-fetch)
8707 (uri (string-append
8708 "https://hackage.haskell.org/package/doclayout/"
8709 "doclayout-" version ".tar.gz"))
8710 (sha256
8711 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8712 (build-system haskell-build-system)
8713 (inputs
8714 `(("ghc-safe" ,ghc-safe)))
8715 (native-inputs
8716 `(("ghc-tasty" ,ghc-tasty)
8717 ("ghc-tasty-golden" ,ghc-tasty-golden)
8718 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8719 (home-page "https://github.com/jgm/doclayout")
8720 (synopsis "Pretty-printing library for laying out text documents")
8721 (description
8722 "doclayout is a pretty-printing library for laying out text documents,
8723with several features not present in pretty-printing libraries designed for
8724code. It was designed for use in @code{Pandoc}.")
8725 (license license:bsd-3)))
8726
dddbc90c
RV
8727(define-public ghc-pandoc
8728 (package
8729 (name "ghc-pandoc")
d9b1567a 8730 (version "2.7.3")
dddbc90c
RV
8731 (source
8732 (origin
8733 (method url-fetch)
8734 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8735 version ".tar.gz"))
d9b1567a
TS
8736 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8737 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8738 (sha256
8739 (base32
d9b1567a 8740 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8741 (build-system haskell-build-system)
dddbc90c
RV
8742 (inputs
8743 `(("ghc-aeson" ,ghc-aeson)
8744 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8745 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8746 ("ghc-blaze-html" ,ghc-blaze-html)
8747 ("ghc-blaze-markup" ,ghc-blaze-markup)
8748 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8749 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8750 ("ghc-diff" ,ghc-diff)
8751 ("ghc-doctemplates" ,ghc-doctemplates)
8752 ("ghc-executable-path" ,ghc-executable-path)
8753 ("ghc-glob" ,ghc-glob)
8754 ("ghc-haddock-library" ,ghc-haddock-library)
8755 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8756 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8757 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8758 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8759 ("ghc-http" ,ghc-http)
8760 ("ghc-http-client" ,ghc-http-client)
8761 ("ghc-http-client-tls" ,ghc-http-client-tls)
8762 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8763 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8764 ("ghc-juicypixels" ,ghc-juicypixels)
8765 ("ghc-network" ,ghc-network)
8766 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8767 ("ghc-pandoc-types" ,ghc-pandoc-types)
8768 ("ghc-random" ,ghc-random)
8769 ("ghc-scientific" ,ghc-scientific)
8770 ("ghc-sha" ,ghc-sha)
8771 ("ghc-skylighting" ,ghc-skylighting)
8772 ("ghc-split" ,ghc-split)
8773 ("ghc-syb" ,ghc-syb)
8774 ("ghc-tagsoup" ,ghc-tagsoup)
8775 ("ghc-temporary" ,ghc-temporary)
8776 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8777 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8778 ("ghc-unordered-containers" ,ghc-unordered-containers)
8779 ("ghc-vector" ,ghc-vector)
8780 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8781 ("ghc-zip-archive" ,ghc-zip-archive)
8782 ("ghc-zlib" ,ghc-zlib)))
8783 (native-inputs
8784 `(("ghc-tasty" ,ghc-tasty)
8785 ("ghc-tasty-golden" ,ghc-tasty-golden)
8786 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8787 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8788 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8789 ("ghc-quickcheck" ,ghc-quickcheck)
8790 ("ghc-hunit" ,ghc-hunit)))
8791 (home-page "https://pandoc.org")
8792 (synopsis "Conversion between markup formats")
8793 (description
8794 "Pandoc is a Haskell library for converting from one markup format to
8795another, and a command-line tool that uses this library. It can read and
8796write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8797LaTeX, DocBook, and many more.
8798
8799Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8800definition lists, tables, and other features. A compatibility mode is
8801provided for those who need a drop-in replacement for Markdown.pl.")
8802 (license license:gpl2+)))
8803
8804(define-public ghc-pandoc-citeproc
8805 (package
8806 (name "ghc-pandoc-citeproc")
2da02d09 8807 (version "0.16.2")
dddbc90c
RV
8808 (source
8809 (origin
8810 (method url-fetch)
8811 (uri (string-append "https://hackage.haskell.org/package/"
8812 "pandoc-citeproc/pandoc-citeproc-"
8813 version ".tar.gz"))
8814 (sha256
8815 (base32
2da02d09 8816 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8817 (build-system haskell-build-system)
8818 (arguments
8819 `(#:phases
8820 (modify-phases %standard-phases
8821 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8822 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8823 (add-before 'configure 'patch-tests
8824 (lambda _
8825 (substitute* "tests/test-pandoc-citeproc.hs"
8826 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8827 "let allTests = citeprocTests"))))
8828 ;; Tests need to be run after installation.
8829 (delete 'check)
8830 (add-after 'install 'post-install-check
8831 (assoc-ref %standard-phases 'check)))))
8832 (inputs
8833 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8834 ("ghc-pandoc" ,ghc-pandoc)
8835 ("ghc-tagsoup" ,ghc-tagsoup)
8836 ("ghc-aeson" ,ghc-aeson)
8837 ("ghc-vector" ,ghc-vector)
8838 ("ghc-xml-conduit" ,ghc-xml-conduit)
8839 ("ghc-unordered-containers" ,ghc-unordered-containers)
8840 ("ghc-data-default" ,ghc-data-default)
8841 ("ghc-setenv" ,ghc-setenv)
8842 ("ghc-split" ,ghc-split)
8843 ("ghc-yaml" ,ghc-yaml)
8844 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8845 ("ghc-rfc5051" ,ghc-rfc5051)
8846 ("ghc-syb" ,ghc-syb)
8847 ("ghc-old-locale" ,ghc-old-locale)
8848 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8849 ("ghc-attoparsec" ,ghc-attoparsec)
8850 ("ghc-temporary" ,ghc-temporary)))
8851 (home-page "https://github.com/jgm/pandoc-citeproc")
8852 (synopsis "Library for using pandoc with citeproc")
8853 (description
8854 "The @code{pandoc-citeproc} library exports functions for using the
8855citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8856rendering bibliographic reference citations into a variety of styles using a
8857macro language called @dfn{Citation Style Language} (CSL). This package also
8858contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8859and also has a mode for converting bibliographic databases a YAML format
8860suitable for inclusion in pandoc YAML metadata.")
8861 (license license:bsd-3)))
8862
8863(define-public ghc-pandoc-types
8864 (package
8865 (name "ghc-pandoc-types")
0eaa88c8 8866 (version "1.17.6.1")
dddbc90c
RV
8867 (source (origin
8868 (method url-fetch)
8869 (uri (string-append "https://hackage.haskell.org/package/"
8870 "pandoc-types/pandoc-types-"
8871 version ".tar.gz"))
8872 (sha256
8873 (base32
0eaa88c8 8874 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8875 (build-system haskell-build-system)
8876 (inputs
8877 `(("ghc-syb" ,ghc-syb)
8878 ("ghc-aeson" ,ghc-aeson)
8879 ("ghc-string-qq" ,ghc-string-qq)))
8880 (native-inputs
8881 `(("ghc-quickcheck" ,ghc-quickcheck)
8882 ("ghc-test-framework" ,ghc-test-framework)
8883 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8884 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8885 ("ghc-hunit" ,ghc-hunit)))
8886 (home-page "http://johnmacfarlane.net/pandoc")
8887 (synopsis "Types for representing a structured document")
8888 (description
8889 "This module defines the @code{Pandoc} data structure, which is used by
8890pandoc to represent structured documents. It also provides functions for
8891building up, manipulating and serialising @code{Pandoc} structures.")
8892 (license license:bsd-3)))
8893
8894(define-public ghc-parallel
8895 (package
8896 (name "ghc-parallel")
8897 (version "3.2.2.0")
8898 (outputs '("out" "doc"))
8899 (source
8900 (origin
8901 (method url-fetch)
8902 (uri (string-append
8903 "https://hackage.haskell.org/package/parallel/parallel-"
8904 version
8905 ".tar.gz"))
8906 (sha256
8907 (base32
8908 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8909 (build-system haskell-build-system)
8910 (home-page "https://hackage.haskell.org/package/parallel")
8911 (synopsis "Parallel programming library")
8912 (description
8913 "This package provides a library for parallel programming.")
8914 (license license:bsd-3)))
8915
8916(define-public ghc-parsec-numbers
8917 (package
8918 (name "ghc-parsec-numbers")
8919 (version "0.1.0")
8920 (source
8921 (origin
8922 (method url-fetch)
8923 (uri (string-append "https://hackage.haskell.org/package/"
8924 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8925 (sha256
8926 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8927 (build-system haskell-build-system)
8928 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8929 (synopsis "Utilities for parsing numbers from strings")
8930 (description
8931 "This package provides the number parsers without the need to use a large
8932(and unportable) token parser.")
8933 (license license:bsd-3)))
8934
8935(define-public ghc-parser-combinators
8936 (package
8937 (name "ghc-parser-combinators")
2f173160 8938 (version "1.1.0")
dddbc90c
RV
8939 (source
8940 (origin
8941 (method url-fetch)
8942 (uri (string-append "https://hackage.haskell.org/package/"
8943 "parser-combinators/parser-combinators-"
8944 version ".tar.gz"))
8945 (sha256
8946 (base32
2f173160 8947 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8948 (build-system haskell-build-system)
8949 (home-page "https://github.com/mrkkrp/parser-combinators")
8950 (synopsis "Commonly useful parser combinators")
8951 (description
8952 "This is a lightweight package providing commonly useful parser
8953combinators.")
8954 (license license:bsd-3)))
8955
8956(define-public ghc-parsers
8957 (package
8958 (name "ghc-parsers")
6818f970 8959 (version "0.12.10")
dddbc90c
RV
8960 (source
8961 (origin
8962 (method url-fetch)
8963 (uri (string-append
8964 "https://hackage.haskell.org/package/parsers/parsers-"
8965 version
8966 ".tar.gz"))
8967 (sha256
8968 (base32
6818f970 8969 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8970 (build-system haskell-build-system)
8971 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8972 ; -package attoparsec-0.13.0.1"
8973 (inputs
8974 `(("ghc-base-orphans" ,ghc-base-orphans)
8975 ("ghc-attoparsec" ,ghc-attoparsec)
8976 ("ghc-scientific" ,ghc-scientific)
8977 ("ghc-charset" ,ghc-charset)
8978 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8979 (home-page "https://github.com/ekmett/parsers/")
8980 (synopsis "Parsing combinators")
8981 (description "This library provides convenient combinators for working
8982with and building parsing combinator libraries. Given a few simple instances,
8983you get access to a large number of canned definitions. Instances exist for
8984the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8985@code{Text.Read}.")
8986 (license license:bsd-3)))
8987
8988(define-public ghc-path
8989 (package
8990 (name "ghc-path")
8991 (version "0.6.1")
8992 (source
8993 (origin
8994 (method url-fetch)
8995 (uri (string-append
8996 "https://hackage.haskell.org/package/path/path-"
8997 version
8998 ".tar.gz"))
8999 (sha256
9000 (base32
9001 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
9002 (build-system haskell-build-system)
9003 (arguments
9004 ;; TODO: There are some Windows-related tests and modules that need to be
9005 ;; danced around.
9006 `(#:tests? #f
9007 #:cabal-revision
9008 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
9009 (inputs
9010 `(("ghc-aeson" ,ghc-aeson)
9011 ("ghc-exceptions" ,ghc-exceptions)
9012 ("ghc-hashable" ,ghc-hashable)))
9013 (native-inputs
9014 `(("ghc-hspec" ,ghc-hspec)
9015 ("ghc-quickcheck" ,ghc-quickcheck)
9016 ("ghc-genvalidity" ,ghc-genvalidity)
9017 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
9018 ("ghc-hspec" ,ghc-hspec)
9019 ("ghc-validity" ,ghc-validity)))
9020 (home-page
3ef91e15 9021 "https://hackage.haskell.org/package/path")
dddbc90c
RV
9022 (synopsis "Support for well-typed paths")
9023 (description "This package introduces a type for paths upholding useful
9024invariants.")
9025 (license license:bsd-3)))
9026
9027(define-public ghc-path-io
9028 (package
9029 (name "ghc-path-io")
a06613ea 9030 (version "1.4.2")
dddbc90c
RV
9031 (source
9032 (origin
9033 (method url-fetch)
9034 (uri (string-append
9035 "https://hackage.haskell.org/package/path-io/path-io-"
9036 version
9037 ".tar.gz"))
9038 (sha256
9039 (base32
a06613ea 9040 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
9041 (build-system haskell-build-system)
9042 (inputs
9043 `(("ghc-dlist" ,ghc-dlist)
9044 ("ghc-exceptions" ,ghc-exceptions)
9045 ("ghc-path" ,ghc-path)
9046 ("ghc-transformers-base" ,ghc-transformers-base)
9047 ("ghc-unix-compat" ,ghc-unix-compat)
9048 ("ghc-temporary" ,ghc-temporary)))
9049 (native-inputs
9050 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
9051 (home-page
9052 "https://github.com/mrkkrp/path-io")
9053 (synopsis "Functions for manipulating well-typed paths")
9054 (description "This package provides an interface to the @code{directory}
9055package for users of @code{path}. It also implements some missing stuff like
9056recursive scanning and copying of directories, working with temporary
9057files/directories, and more.")
9058 (license license:bsd-3)))
9059
9060(define-public ghc-paths
9061 (package
9062 (name "ghc-paths")
9a8adeb1 9063 (version "0.1.0.12")
dddbc90c
RV
9064 (outputs '("out" "doc"))
9065 (source
9066 (origin
9067 (method url-fetch)
9068 (uri (string-append
9069 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
9070 version
9071 ".tar.gz"))
9072 (sha256
9073 (base32
9a8adeb1 9074 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
9075 (build-system haskell-build-system)
9076 (home-page "https://github.com/simonmar/ghc-paths")
9077 (synopsis
9078 "Knowledge of GHC's installation directories")
9079 (description
9080 "Knowledge of GHC's installation directories.")
9081 (license license:bsd-3)))
9082
9083(define-public ghc-patience
9084 (package
9085 (name "ghc-patience")
484476f3 9086 (version "0.3")
dddbc90c
RV
9087 (source
9088 (origin
9089 (method url-fetch)
9090 (uri (string-append
9091 "https://hackage.haskell.org/package/patience/patience-"
9092 version ".tar.gz"))
9093 (sha256
9094 (base32
484476f3 9095 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
9096 (build-system haskell-build-system)
9097 (home-page "https://hackage.haskell.org/package/patience")
9098 (synopsis "Patience diff and longest increasing subsequence")
9099 (description
9100 "This library implements the 'patience diff' algorithm, as well as the
9101patience algorithm for the longest increasing subsequence problem.
9102Patience diff computes the difference between two lists, for example the lines
9103of two versions of a source file. It provides a good balance between
9104performance, nice output for humans, and simplicity of implementation.")
9105 (license license:bsd-3)))
9106
25a221a8
JS
9107(define-public ghc-pattern-arrows
9108 (package
9109 (name "ghc-pattern-arrows")
9110 (version "0.0.2")
9111 (source
9112 (origin
9113 (method url-fetch)
9114 (uri (string-append
9115 "mirror://hackage/package/pattern-arrows/pattern-arrows-"
9116 version
9117 ".tar.gz"))
9118 (sha256
9119 (base32
9120 "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg"))))
9121 (build-system haskell-build-system)
9122 (home-page
9123 "https://blog.functorial.com/posts/2013-10-27-Pretty-Printing-Arrows.html")
9124 (synopsis "Arrows for Pretty Printing")
9125 (description
9126 "A library for generating concise pretty printers based on precedence
9127rules.")
9128 (license license:expat)))
9129
dddbc90c
RV
9130(define-public ghc-pcre-light
9131 (package
9132 (name "ghc-pcre-light")
9133 (version "0.4.0.4")
9134 (source
9135 (origin
9136 (method url-fetch)
9137 (uri (string-append
9138 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
9139 version
9140 ".tar.gz"))
9141 (sha256
9142 (base32
9143 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
9144 (build-system haskell-build-system)
9145 (inputs
9146 `(("pcre" ,pcre)))
9147 (native-inputs
9148 `(("pkg-config" ,pkg-config)))
9149 (home-page "https://github.com/Daniel-Diaz/pcre-light")
9150 (synopsis "Haskell library for Perl 5 compatible regular expressions")
9151 (description "This package provides a small, efficient, and portable regex
9152library for Perl 5 compatible regular expressions. The PCRE library is a set
9153of functions that implement regular expression pattern matching using the same
9154syntax and semantics as Perl 5.")
9155 (license license:bsd-3)))
9156
9157(define-public ghc-persistent
9158 (package
9159 (name "ghc-persistent")
8c9697a9 9160 (version "2.10.4")
dddbc90c
RV
9161 (source
9162 (origin
9163 (method url-fetch)
8c9697a9
ASM
9164 (uri (string-append
9165 "https://hackage.haskell.org/package/persistent/"
9166 "persistent-" version ".tar.gz"))
dddbc90c
RV
9167 (sha256
9168 (base32
8c9697a9 9169 "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi"))))
dddbc90c 9170 (build-system haskell-build-system)
8c9697a9
ASM
9171 (inputs
9172 `(("ghc-aeson" ,ghc-aeson)
9173 ("ghc-attoparsec" ,ghc-attoparsec)
9174 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9175 ("ghc-blaze-html" ,ghc-blaze-html)
9176 ("ghc-conduit" ,ghc-conduit)
9177 ("ghc-fast-logger" ,ghc-fast-logger)
9178 ("ghc-http-api-data" ,ghc-http-api-data)
9179 ("ghc-monad-logger" ,ghc-monad-logger)
9180 ("ghc-path-pieces" ,ghc-path-pieces)
9181 ("ghc-resource-pool" ,ghc-resource-pool)
9182 ("ghc-resourcet" ,ghc-resourcet)
9183 ("ghc-scientific" ,ghc-scientific)
9184 ("ghc-silently" ,ghc-silently)
9185 ("ghc-unliftio-core" ,ghc-unliftio-core)
9186 ("ghc-unliftio" ,ghc-unliftio)
9187 ("ghc-unordered-containers"
9188 ,ghc-unordered-containers)
9189 ("ghc-vector" ,ghc-vector)))
dddbc90c
RV
9190 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
9191 (home-page "https://www.yesodweb.com/book/persistent")
9192 (synopsis "Type-safe, multi-backend data serialization for Haskell")
9193 (description "This Haskell package allows Haskell programs to access data
9194storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
9195way.")
9196 (license license:expat)))
9197
9198(define-public ghc-persistent-sqlite
9199 (package
9200 (name "ghc-persistent-sqlite")
78858787 9201 (version "2.10.5.2")
dddbc90c
RV
9202 (source
9203 (origin
9204 (method url-fetch)
78858787
ASM
9205 (uri (string-append
9206 "https://hackage.haskell.org/package/persistent-sqlite/"
9207 "persistent-sqlite-" version ".tar.gz"))
dddbc90c
RV
9208 (sha256
9209 (base32
78858787 9210 "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn"))))
dddbc90c 9211 (build-system haskell-build-system)
78858787
ASM
9212 (inputs
9213 `(("ghc-persistent" ,ghc-persistent)
9214 ("ghc-aeson" ,ghc-aeson)
9215 ("ghc-conduit" ,ghc-conduit)
9216 ("ghc-microlens-th" ,ghc-microlens-th)
9217 ("ghc-monad-logger" ,ghc-monad-logger)
9218 ("ghc-resource-pool" ,ghc-resource-pool)
9219 ("ghc-resourcet" ,ghc-resourcet)
9220 ("ghc-unliftio-core" ,ghc-unliftio-core)
9221 ("ghc-unordered-containers"
9222 ,ghc-unordered-containers)))
9223 (native-inputs
9224 `(("ghc-persistent-template"
9225 ,ghc-persistent-template)
9226 ("ghc-persistent-test" ,ghc-persistent-test)
9227 ("ghc-exceptions" ,ghc-exceptions)
9228 ("ghc-fast-logger" ,ghc-fast-logger)
9229 ("ghc-hspec" ,ghc-hspec)
9230 ("ghc-hunit" ,ghc-hunit)
9231 ("ghc-quickcheck" ,ghc-quickcheck)
9232 ("ghc-system-fileio" ,ghc-system-fileio)
9233 ("ghc-system-filepath" ,ghc-system-filepath)
9234 ("ghc-temporary" ,ghc-temporary)))
dddbc90c
RV
9235 (home-page
9236 "https://www.yesodweb.com/book/persistent")
9237 (synopsis "Backend for the persistent library using sqlite3")
9238 (description "This Haskell package includes a thin sqlite3 wrapper based
9239on the direct-sqlite package, as well as the entire C library, so there are no
9240system dependencies.")
9241 (license license:expat)))
9242
9243(define-public ghc-persistent-template
9244 (package
9245 (name "ghc-persistent-template")
d5378e98 9246 (version "2.8.0")
dddbc90c
RV
9247 (source
9248 (origin
9249 (method url-fetch)
d5378e98
ASM
9250 (uri (string-append
9251 "https://hackage.haskell.org/package/persistent-template/"
9252 "persistent-template-" version ".tar.gz"))
dddbc90c
RV
9253 (sha256
9254 (base32
d5378e98 9255 "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3"))))
dddbc90c 9256 (build-system haskell-build-system)
d5378e98
ASM
9257 (inputs
9258 `(("ghc-persistent" ,ghc-persistent)
9259 ("ghc-aeson" ,ghc-aeson)
9260 ("ghc-http-api-data" ,ghc-http-api-data)
9261 ("ghc-monad-control" ,ghc-monad-control)
9262 ("ghc-monad-logger" ,ghc-monad-logger)
9263 ("ghc-path-pieces" ,ghc-path-pieces)
9264 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
9265 ("ghc-unordered-containers"
9266 ,ghc-unordered-containers)))
9267 (native-inputs
9268 `(("ghc-hspec" ,ghc-hspec)
9269 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
9270 (home-page "https://www.yesodweb.com/book/persistent")
9271 (synopsis "Type-safe, non-relational, multi-backend persistence")
9272 (description "This Haskell package provides interfaces and helper
9273functions for the ghc-persistent package.")
9274 (license license:expat)))
9275
ce32f7c7
ASM
9276(define-public ghc-persistent-test
9277 (package
9278 (name "ghc-persistent-test")
9279 (version "2.0.3.1")
9280 (source
9281 (origin
9282 (method url-fetch)
9283 (uri (string-append
9284 "https://hackage.haskell.org/package/persistent-test/"
9285 "persistent-test-" version ".tar.gz"))
9286 (sha256
9287 (base32
9288 "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv"))))
9289 (build-system haskell-build-system)
9290 (inputs
9291 `(("ghc-aeson" ,ghc-aeson)
9292 ("ghc-blaze-html" ,ghc-blaze-html)
9293 ("ghc-conduit" ,ghc-conduit)
9294 ("ghc-monad-control" ,ghc-monad-control)
9295 ("ghc-monad-logger" ,ghc-monad-logger)
9296 ("ghc-path-pieces" ,ghc-path-pieces)
9297 ("ghc-persistent" ,ghc-persistent)
9298 ("ghc-persistent-template" ,ghc-persistent-template)
9299 ("ghc-random" ,ghc-random)
9300 ("ghc-resourcet" ,ghc-resourcet)
9301 ("ghc-transformers-base" ,ghc-transformers-base)
9302 ("ghc-unliftio" ,ghc-unliftio)
9303 ("ghc-unliftio-core" ,ghc-unliftio-core)
9304 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9305 (native-inputs
9306 `(("ghc-quickcheck" ,ghc-quickcheck)
9307 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
9308 ("ghc-hspec" ,ghc-hspec)
9309 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
9310 ("ghc-hunit" ,ghc-hunit)))
9311 (home-page "https://www.yesodweb.com/book/persistent")
9312 (synopsis "Tests for the Persistent database library")
9313 (description
9314 "This is only for use in developing libraries that should conform to
9315the persistent interface, not for users of the persistent suite of database
9316libraries.")
9317 (license license:expat)))
9318
0fb34235
JS
9319(define-public ghc-pgp-wordlist
9320 (package
9321 (name "ghc-pgp-wordlist")
9322 (version "0.1.0.3")
9323 (source
9324 (origin
9325 (method url-fetch)
9326 (uri (string-append
9327 "mirror://hackage/package/pgp-wordlist/pgp-wordlist-"
9328 version
9329 ".tar.gz"))
9330 (sha256
9331 (base32
9332 "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg"))))
9333 (build-system haskell-build-system)
9334 (inputs
9335 `(("ghc-vector" ,ghc-vector)))
9336 (native-inputs
9337 `(("ghc-hunit" ,ghc-hunit)
9338 ("ghc-tasty" ,ghc-tasty)
9339 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9340 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9341 ("ghc-doctest" ,ghc-doctest)))
9342 (home-page
9343 "https://github.com/quchen/pgp-wordlist")
9344 (synopsis
9345 "Translate between binary data and a human-readable collection of words")
9346 (description
9347 "The PGP Word List consists of two phonetic alphabets, each with one word
9348per possible byte value. A string of bytes is translated with these
9349alphabets, alternating between them at each byte.
9350
9351The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway
9352spellbind headwaters\", for example.
9353
9354For further information, see
9355@url{http://en.wikipedia.org/wiki/PGP_word_list}.")
9356 (license license:bsd-3)))
9357
4639fa32
ASM
9358(define-public ghc-pipes
9359 (package
9360 (name "ghc-pipes")
9361 (version "4.3.13")
9362 (source
9363 (origin
9364 (method url-fetch)
9365 (uri (string-append
9366 "https://hackage.haskell.org/package/pipes/"
9367 "pipes-" version ".tar.gz"))
9368 (sha256
9369 (base32
9370 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
9371 (build-system haskell-build-system)
9372 (inputs
9373 `(("ghc-exceptions" ,ghc-exceptions)
9374 ("ghc-mmorph" ,ghc-mmorph)
9375 ("ghc-void" ,ghc-void)
9376 ("ghc-semigroups" ,ghc-semigroups)))
9377 (native-inputs
9378 `(("ghc-quickcheck" ,ghc-quickcheck)
9379 ("ghc-test-framework" ,ghc-test-framework)
9380 ("ghc-test-framework-quickcheck2"
9381 ,ghc-test-framework-quickcheck2)))
9382 (home-page
9383 "https://hackage.haskell.org/package/pipes")
9384 (synopsis "Compositional pipelines")
9385 (description
9386 "A clean and powerful stream processing library that lets you build
9387and connect reusable streaming components. Advantages over traditional streaming
9388libraries:
9389@itemize
9390@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
9391and @code{yield}
9392@item Blazing fast: Implementation tuned for speed, including shortcut fusion
9393@item Lightweight Dependency: pipes is small and compiles very rapidly, including
9394dependencies
9395@item Elegant semantics: Use practical category theory
9396@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
9397@item Bidirectionality: Implement duplex channels
9398@end itemize")
9399 (license license:bsd-3)))
9400
451775a5
ASM
9401(define-public ghc-pointedlist
9402 (package
9403 (name "ghc-pointedlist")
9404 (version "0.6.1")
9405 (source
9406 (origin
9407 (method url-fetch)
9408 (uri (string-append
9409 "https://hackage.haskell.org/package/pointedlist/"
9410 "pointedlist-" version ".tar.gz"))
9411 (sha256
9412 (base32
9413 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
9414 (build-system haskell-build-system)
9415 (home-page
3ef91e15 9416 "https://hackage.haskell.org/package/pointedlist")
451775a5
ASM
9417 (synopsis
9418 "Zipper-like comonad which works as a list, tracking a position")
9419 (description
9420 "A PointedList tracks the position in a non-empty list which works
9421similarly to a zipper. A current item is always required, and therefore
9422the list may never be empty. A circular PointedList wraps around to the
9423other end when progressing past the actual edge.")
9424 (license license:bsd-3)))
9425
dddbc90c
RV
9426(define-public ghc-polyparse
9427 (package
9428 (name "ghc-polyparse")
9822b9ca 9429 (version "1.12.1")
dddbc90c
RV
9430 (source
9431 (origin
9432 (method url-fetch)
9433 (uri (string-append
9434 "https://hackage.haskell.org/package/polyparse/polyparse-"
9435 version
9436 ".tar.gz"))
9437 (sha256
9438 (base32
9822b9ca 9439 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
9440 (build-system haskell-build-system)
9441 (home-page
9442 "http://code.haskell.org/~malcolm/polyparse/")
9443 (synopsis
9444 "Alternative parser combinator libraries")
9445 (description
9446 "This package provides a variety of alternative parser combinator
9447libraries, including the original HuttonMeijer set. The Poly sets have
9448features like good error reporting, arbitrary token type, running state, lazy
9449parsing, and so on. Finally, Text.Parse is a proposed replacement for the
9450standard Read class, for better deserialisation of Haskell values from
9451Strings.")
9452 (license license:lgpl2.1)))
9453
9454(define-public ghc-pqueue
9455 (package
9456 (name "ghc-pqueue")
142415b0 9457 (version "1.4.1.2")
dddbc90c
RV
9458 (source
9459 (origin
9460 (method url-fetch)
9461 (uri (string-append "https://hackage.haskell.org/package/"
9462 "pqueue/pqueue-" version ".tar.gz"))
9463 (sha256
9464 (base32
142415b0 9465 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
9466 (build-system haskell-build-system)
9467 (native-inputs
9468 `(("ghc-quickcheck" ,ghc-quickcheck)))
9469 (home-page "https://hackage.haskell.org/package/pqueue")
9470 (synopsis "Reliable, persistent, fast priority queues")
9471 (description
9472 "This package provides a fast, reliable priority queue implementation
9473based on a binomial heap.")
9474 (license license:bsd-3)))
9475
9476(define-public ghc-prelude-extras
9477 (package
9478 (name "ghc-prelude-extras")
9479 (version "0.4.0.3")
9480 (source
9481 (origin
9482 (method url-fetch)
9483 (uri (string-append
9484 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
9485 version
9486 ".tar.gz"))
9487 (sha256
9488 (base32
9489 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
9490 (build-system haskell-build-system)
9491 (home-page "https://github.com/ekmett/prelude-extras")
9492 (synopsis "Higher order versions of Prelude classes")
9493 (description "This library provides higher order versions of
9494@code{Prelude} classes to ease programming with polymorphic recursion and
9495reduce @code{UndecidableInstances}.")
9496 (license license:bsd-3)))
9497
9498(define-public ghc-prettyclass
9499 (package
9500 (name "ghc-prettyclass")
9501 (version "1.0.0.0")
9502 (source
9503 (origin
9504 (method url-fetch)
9505 (uri (string-append "https://hackage.haskell.org/package/"
9506 "prettyclass/prettyclass-" version ".tar.gz"))
9507 (sha256
9508 (base32
9509 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
9510 (build-system haskell-build-system)
3ef91e15 9511 (home-page "https://hackage.haskell.org/package/prettyclass")
dddbc90c
RV
9512 (synopsis "Pretty printing class similar to Show")
9513 (description "This package provides a pretty printing class similar
9514to @code{Show}, based on the HughesPJ pretty printing library. It
9515provides the pretty printing class and instances for the Prelude
9516types.")
9517 (license license:bsd-3)))
9518
2fad2bf7
JS
9519(define-public ghc-prettyprinter
9520 (package
9521 (name "ghc-prettyprinter")
9522 (version "1.2.1.1")
9523 (source
9524 (origin
9525 (method url-fetch)
9526 (uri (string-append
9527 "mirror://hackage/package/prettyprinter/prettyprinter-"
9528 version
9529 ".tar.gz"))
9530 (sha256
9531 (base32 "1p9c3q55hba4c0zyxc624g5df7wgsclpsmd8wqpdnmib882q9d1v"))))
9532 (build-system haskell-build-system)
9533 (native-inputs
9534 `(("ghc-doctest" ,ghc-doctest)
9535 ("ghc-pgp-wordlist" ,ghc-pgp-wordlist)
9536 ("ghc-tasty" ,ghc-tasty)
9537 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9538 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9539 (home-page "https://github.com/quchen/prettyprinter")
9540 (synopsis
9541 "Modern, easy to use, well-documented, extensible pretty-printer")
9542 (description
9543 "A prettyprinter/text rendering engine. Easy to use, well-documented,
9544ANSI terminal backend exists, HTML backend is trivial to implement, no name
9545clashes, @code{Text}-based, extensible.")
9546 (license license:bsd-2)))
9547
2496e49f
JS
9548(define-public ghc-prettyprinter-1.6
9549 (package
9550 (inherit ghc-prettyprinter)
9551 (version "1.6.1")
9552 (source
9553 (origin
9554 (method url-fetch)
9555 (uri (string-append
9556 "mirror://hackage/package/prettyprinter/prettyprinter-"
9557 version
9558 ".tar.gz"))
9559 (sha256
9560 (base32 "10fphxh8lvdaw7i8jyllwmj87w02db92mf99zfw5vddp9mv6b5rz"))))
9561 (inputs
9562 `(("ghc-quickckeck-instances" , ghc-quickcheck-instances)
9563 ,@(package-inputs ghc-prettyprinter)))))
9564
b4f24d66
JS
9565(define-public ghc-prettyprinter-ansi-terminal
9566 (package
9567 (name "ghc-prettyprinter-ansi-terminal")
9568 (version "1.1.1.2")
9569 (source
9570 (origin
9571 (method url-fetch)
9572 (uri (string-append
9573 "mirror://hackage/package/prettyprinter-ansi-terminal/"
9574 "prettyprinter-ansi-terminal-" version ".tar.gz"))
9575 (sha256
9576 (base32 "0ha6vz707qzb5ky7kdsnw2zgphg2dnxrpbrxy8gaw119vwhb9q6k"))))
9577 (build-system haskell-build-system)
9578 (inputs
9579 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9580 ("ghc-prettyprinter" ,ghc-prettyprinter-1.6)))
9581 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
9582 (home-page
9583 "https://github.com/quchen/prettyprinter")
9584 (synopsis
9585 "ANSI terminal backend for the prettyprinter package")
9586 (description "ANSI terminal backend for the prettyprinter package.")
9587 (license license:bsd-2)))
9588
dddbc90c
RV
9589(define-public ghc-pretty-hex
9590 (package
9591 (name "ghc-pretty-hex")
9592 (version "1.0")
9593 (source
9594 (origin
9595 (method url-fetch)
9596 (uri (string-append "https://hackage.haskell.org/package/"
9597 "pretty-hex-" version "/"
9598 "pretty-hex-" version ".tar.gz"))
9599 (sha256
9600 (base32
9601 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
9602 (build-system haskell-build-system)
9603 (home-page "https://github.com/GaloisInc/hexdump")
9604 (synopsis "Haskell library for hex dumps of ByteStrings")
9605 (description "This Haskell library generates pretty hex dumps of
9606ByteStrings in the style of other common *nix hex dump tools.")
9607 (license license:bsd-3)))
9608
9609(define-public ghc-pretty-show
9610 (package
9611 (name "ghc-pretty-show")
7683a084 9612 (version "1.9.5")
dddbc90c
RV
9613 (source
9614 (origin
9615 (method url-fetch)
9616 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
9617 "pretty-show-" version ".tar.gz"))
9618 (sha256
9619 (base32
7683a084 9620 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
9621 (build-system haskell-build-system)
9622 (inputs
9623 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
9624 ("ghc-happy" ,ghc-happy)))
9625 (home-page "http://wiki.github.com/yav/pretty-show")
9626 (synopsis "Tools for working with derived `Show` instances")
9627 (description
9628 "This package provides a library and an executable for working with
9629derived @code{Show} instances. By using the library, derived @code{Show}
9630instances can be parsed into a generic data structure. The @code{ppsh} tool
9631uses the library to produce human-readable versions of @code{Show} instances,
9632which can be quite handy for debugging Haskell programs. We can also render
9633complex generic values into an interactive Html page, for easier
9634examination.")
9635 (license license:expat)))
9636
f011e3d6
JS
9637(define-public ghc-pretty-simple
9638 (package
9639 (name "ghc-pretty-simple")
9640 (version "2.2.0.1")
9641 (source
9642 (origin
9643 (method url-fetch)
9644 (uri (string-append
9645 "mirror://hackage/package/pretty-simple/"
9646 "pretty-simple-" version ".tar.gz"))
9647 (sha256
9648 (base32 "0wsi9235ihm15s145lxi7325vv2k4bhighc5m88kn1lk0pl81aqq"))))
9649 (build-system haskell-build-system)
9650 (inputs
9651 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
9652 ("ghc-glob" ,ghc-glob)
9653 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
9654 ("ghc-aeson" ,ghc-aeson)))
9655 (native-inputs
9656 `(("ghc-doctest" ,ghc-doctest)))
9657 (home-page "https://github.com/cdepillabout/pretty-simple")
9658 (synopsis "Pretty printer for data types with a 'Show' instance")
9659 (description
9660 "Pretty-simple is a pretty printer for Haskell data types that have a
9661Show instance.")
9662 (license license:bsd-3)))
9663
dddbc90c
RV
9664(define-public ghc-primitive
9665 (package
9666 (name "ghc-primitive")
9667 (version "0.6.4.0")
9668 (outputs '("out" "doc"))
9669 (source
9670 (origin
9671 (method url-fetch)
9672 (uri (string-append
9673 "https://hackage.haskell.org/package/primitive/primitive-"
9674 version
9675 ".tar.gz"))
9676 (sha256
9677 (base32
9678 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
9679 (build-system haskell-build-system)
6cf0daa4
TS
9680 (arguments
9681 `(#:cabal-revision
9682 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
9683 (home-page
9684 "https://github.com/haskell/primitive")
9685 (synopsis "Primitive memory-related operations")
9686 (description
9687 "This package provides various primitive memory-related operations.")
9688 (license license:bsd-3)))
9689
21f5b9a9
JS
9690(define-public ghc-process-extras
9691 (package
9692 (name "ghc-process-extras")
9693 (version "0.7.4")
9694 (source
9695 (origin
9696 (method url-fetch)
9697 (uri
9698 (string-append
9699 "https://hackage.haskell.org/package/process-extras/"
9700 "process-extras-" version ".tar.gz"))
9701 (sha256
9702 (base32
9703 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
9704 (build-system haskell-build-system)
9705 (inputs
9706 `(("ghc-data-default" ,ghc-data-default)
9707 ("ghc-generic-deriving" ,ghc-generic-deriving)
9708 ("ghc-hunit" ,ghc-hunit)
9709 ("ghc-listlike" ,ghc-listlike)))
9710 (home-page "https://github.com/seereason/process-extras")
9711 (synopsis "Extra tools for managing processes")
f74b6983 9712 (description "This package extends
21f5b9a9
JS
9713@url{http://hackage.haskell.org/package/process}. It allows you to read
9714process input and output as ByteStrings or Text, or write your own
9715ProcessOutput instance. It also provides lazy process input and output,
9716and a ProcessMaker class for more flexibility in the process creation
9717API.")
9718 (license license:expat)))
9719
dddbc90c
RV
9720(define-public ghc-profunctors
9721 (package
9722 (name "ghc-profunctors")
899b5297 9723 (version "5.3")
dddbc90c
RV
9724 (source
9725 (origin
9726 (method url-fetch)
9727 (uri (string-append
9728 "https://hackage.haskell.org/package/profunctors/profunctors-"
9729 version
9730 ".tar.gz"))
9731 (sha256
9732 (base32
899b5297 9733 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 9734 (build-system haskell-build-system)
dddbc90c
RV
9735 (inputs
9736 `(("ghc-base-orphans" ,ghc-base-orphans)
9737 ("ghc-bifunctors" ,ghc-bifunctors)
9738 ("ghc-comonad" ,ghc-comonad)
9739 ("ghc-contravariant" ,ghc-contravariant)
9740 ("ghc-distributive" ,ghc-distributive)
9741 ("ghc-semigroups" ,ghc-semigroups)
9742 ("ghc-tagged" ,ghc-tagged)))
9743 (home-page "https://github.com/ekmett/profunctors/")
9744 (synopsis "Profunctors for Haskell")
9745 (description "This library provides profunctors for Haskell.")
9746 (license license:bsd-3)))
9747
fbe32d46
ASM
9748(define-public ghc-project-template
9749 (package
9750 (name "ghc-project-template")
9751 (version "0.2.0.1")
9752 (source
9753 (origin
9754 (method url-fetch)
9755 (uri (string-append
9756 "https://hackage.haskell.org/package/project-template/project-template-"
9757 version ".tar.gz"))
9758 (sha256
9759 (base32
9760 "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb"))))
9761 (build-system haskell-build-system)
9762 (inputs
9763 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9764 ("ghc-conduit" ,ghc-conduit)
9765 ("ghc-conduit-extra" ,ghc-conduit-extra)
9766 ("ghc-resourcet" ,ghc-resourcet)))
9767 (native-inputs
9768 `(("ghc-hspec" ,ghc-hspec)
9769 ("hspec-discover" ,hspec-discover)
9770 ("ghc-quickcheck" ,ghc-quickcheck)))
9771 (arguments
9772 `(#:cabal-revision
9773 ("1"
9774 "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a")))
9775 (home-page "https://github.com/fpco/haskell-ide")
9776 (synopsis "Specify Haskell project templates and generate files")
9777 (description
9778 "Haskell library for both generating and consuming project templates.
9779
9780ost IDEs provide the concept of a project template: instead of writing all
9781of the code for a project from scratch, you select a template, answer a few
9782questions, and a bunch of files are automatically generated.
9783
9784project-template tries to provide a canonical Haskell library for implementing
9785the ideal templating system.")
9786 (license license:bsd-3)))
9787
8a6e745d
JS
9788(define-public ghc-protolude
9789 (package
9790 (name "ghc-protolude")
9791 (version "0.2.3")
9792 (source
9793 (origin
9794 (method url-fetch)
9795 (uri (string-append
9796 "mirror://hackage/package/protolude/protolude-"
9797 version
9798 ".tar.gz"))
9799 (sha256
9800 (base32
9801 "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj"))))
9802 (build-system haskell-build-system)
9803 (inputs
9804 `(("ghc-async" ,ghc-async)
9805 ("ghc-hashable" ,ghc-hashable)
9806 ("ghc-mtl-compat" ,ghc-mtl-compat)
9807 ("ghc-transformers-compat" ,ghc-transformers-compat)))
9808 (home-page "https://github.com/protolude/protolude")
9809 (synopsis "Sensible set of defaults for writing custom Preludes")
9810 (description
9811 "Protolude gives you sensible defaults for writing custom Preludes to
9812replace the standard one provided by GHC.")
9813 (license license:expat)))
9814
dddbc90c
RV
9815(define-public ghc-psqueues
9816 (package
9817 (name "ghc-psqueues")
5d133942 9818 (version "0.2.7.2")
dddbc90c
RV
9819 (source
9820 (origin
9821 (method url-fetch)
9822 (uri (string-append "https://hackage.haskell.org/package/"
9823 "psqueues-" version "/"
9824 "psqueues-" version ".tar.gz"))
9825 (sha256
9826 (base32
5d133942 9827 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
9828 (build-system haskell-build-system)
9829 (inputs
9830 `(("ghc-hashable" ,ghc-hashable)))
9831 (native-inputs
9832 `(("ghc-hunit" ,ghc-hunit)
9833 ("ghc-quickcheck" ,ghc-quickcheck)
9834 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
9835 ("ghc-tasty" ,ghc-tasty)
9836 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9837 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
9838 (home-page "https://github.com/jaspervdj/psqueues")
9839 (synopsis "Pure priority search queues")
9840 (description "The psqueues package provides
9841@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9842three different flavors:
9843
9844@itemize
9845@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9846fast insertion, deletion and lookup. This implementation is based on Ralf
9847Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9848Implementation Technique for Priority Search Queues}.
9849
9850Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9851PSQueue} library, although it is considerably faster and provides a slightly
9852different API.
9853
9854@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9855key type to @code{Int} and uses a
9856@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9857with an additional min-heap property.
9858
9859@item @code{HashPSQ k p v} is a fairly straightforward extension
9860of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9861@code{IntPSQ}. If there are any hash collisions, it uses an
9862@code{OrdPSQ} to resolve those. The performance of this implementation
9863is comparable to that of @code{IntPSQ}, but it is more widely
9864applicable since the keys are not restricted to @code{Int},
9865but rather to any @code{Hashable} datatype.
9866@end itemize
9867
9868Each of the three implementations provides the same API, so they can
9869be used interchangeably.
9870
9871Typical applications of Priority Search Queues include:
9872
9873@itemize
9874@item Caches, and more specifically LRU Caches;
9875@item Schedulers;
9876@item Pathfinding algorithms, such as Dijkstra's and A*.
9877@end itemize")
9878 (license license:bsd-3)))
b1dbc9f5
ASM
9879
9880(define-public ghc-pwstore-fast
9881 (package
9882 (name "ghc-pwstore-fast")
9883 (version "2.4.4")
9884 (source
9885 (origin
9886 (method url-fetch)
9887 (uri (string-append
9888 "https://hackage.haskell.org/package/pwstore-fast/"
9889 "pwstore-fast-" version ".tar.gz"))
9890 (sha256
9891 (base32
9892 "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj"))))
9893 (build-system haskell-build-system)
9894 (inputs
9895 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
9896 ("ghc-cryptohash" ,ghc-cryptohash)
9897 ("ghc-random" ,ghc-random)
9898 ("ghc-byteable" ,ghc-byteable)))
9899 (home-page "https://github.com/PeterScott/pwstore")
9900 (synopsis "Secure password storage")
9901 (description
9902 "To store passwords securely, they should be salted, then hashed with
9903a slow hash function. This library uses PBKDF1-SHA256, and handles all the
9904details. It uses the cryptohash package for speed; if you need a pure
9905Haskell library, pwstore-purehaskell has the exact same API, but uses only
9906pure Haskell. It is about 25 times slower than this package, but still quite
9907usable.")
9908 (license license:bsd-3)))
dddbc90c
RV
9909
9910(define-public ghc-random
9911 (package
9912 (name "ghc-random")
9913 (version "1.1")
9914 (outputs '("out" "doc"))
9915 (source
9916 (origin
9917 (method url-fetch)
9918 (uri (string-append
9919 "https://hackage.haskell.org/package/random/random-"
9920 version
9921 ".tar.gz"))
9922 (sha256
9923 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9924 (build-system haskell-build-system)
9925 (home-page "https://hackage.haskell.org/package/random")
9926 (synopsis "Random number library")
9927 (description "This package provides a basic random number generation
9928library, including the ability to split random number generators.")
9929 (license license:bsd-3)))
9930
9931(define-public ghc-raw-strings-qq
9932 (package
9933 (name "ghc-raw-strings-qq")
9934 (version "1.1")
9935 (source
9936 (origin
9937 (method url-fetch)
9938 (uri (string-append "https://hackage.haskell.org/package/"
9939 "raw-strings-qq/raw-strings-qq-"
9940 version ".tar.gz"))
9941 (sha256
9942 (base32
9943 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9944 (build-system haskell-build-system)
9945 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9946 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9947 (synopsis "Raw string literals for Haskell")
9948 (description
9949 "This package provides a quasiquoter for raw string literals, i.e. string
9950literals that don't recognise the standard escape sequences. Basically, they
9951make your code more readable by freeing you from the responsibility to escape
9952backslashes. They are useful when working with regular expressions,
9953DOS/Windows paths and markup languages (such as XML).")
9954 (license license:bsd-3)))
9955
9956(define-public ghc-readable
9957 (package
9958 (name "ghc-readable")
9959 (version "0.3.1")
9960 (source
9961 (origin
9962 (method url-fetch)
9963 (uri (string-append "https://hackage.haskell.org/package/"
9964 "readable/readable-" version ".tar.gz"))
9965 (sha256
9966 (base32
9967 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9968 (build-system haskell-build-system)
9969 (home-page "https://github.com/mightybyte/readable")
9970 (synopsis "Type class for reading from Text and ByteString")
9971 (description "This package provides a @code{Readable} type class for
9972reading data types from @code{ByteString} and @code{Text}. It also
9973includes efficient implementations for common data types.")
9974 (license license:bsd-3)))
9975
9976(define-public ghc-rebase
9977 (package
9978 (name "ghc-rebase")
8d2ae3fe 9979 (version "1.3.1.1")
dddbc90c
RV
9980 (source
9981 (origin
9982 (method url-fetch)
9983 (uri (string-append "https://hackage.haskell.org/package/"
9984 "rebase-" version "/"
9985 "rebase-" version ".tar.gz"))
9986 (sha256
9987 (base32
8d2ae3fe 9988 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
9989 (build-system haskell-build-system)
9990 (inputs `(("ghc-hashable" ,ghc-hashable)
9991 ("ghc-vector" ,ghc-vector)
9992 ("ghc-unordered-containers" ,ghc-unordered-containers)
9993 ("ghc-scientific" ,ghc-scientific)
9994 ("ghc-uuid" ,ghc-uuid)
9995 ("ghc-dlist" ,ghc-dlist)
9996 ("ghc-void" ,ghc-void)
9997 ("ghc-bifunctors" ,ghc-bifunctors)
9998 ("ghc-profunctors" ,ghc-profunctors)
9999 ("ghc-contravariant" ,ghc-contravariant)
10000 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
10001 ("ghc-semigroups" ,ghc-semigroups)
10002 ("ghc-either" ,ghc-either)
10003 ("ghc-fail" ,ghc-fail)
10004 ("ghc-base-prelude" ,ghc-base-prelude)))
10005 (home-page "https://github.com/nikita-volkov/rebase")
10006 (synopsis "Progressive alternative to the base package
10007for Haskell")
10008 (description "This Haskell package is intended for those who are
10009tired of keeping long lists of dependencies to the same essential libraries
10010in each package as well as the endless imports of the same APIs all over again.
10011
10012It also supports the modern tendencies in the language.
10013
10014To solve those problems this package does the following:
10015
10016@itemize
10017@item Reexport the original APIs under the @code{Rebase} namespace.
10018
10019@item Export all the possible non-conflicting symbols from the
10020@code{Rebase.Prelude} module.
10021
10022@item Give priority to the modern practices in the conflicting cases.
10023@end itemize
10024
10025The policy behind the package is only to reexport the non-ambiguous and
10026non-controversial APIs, which the community has obviously settled on.
10027The package is intended to rapidly evolve with the contribution from
10028the community, with the missing features being added with pull-requests.")
10029 (license license:expat)))
10030
10031(define-public ghc-reducers
10032 (package
10033 (name "ghc-reducers")
10034 (version "3.12.3")
10035 (source
10036 (origin
10037 (method url-fetch)
10038 (uri (string-append
10039 "https://hackage.haskell.org/package/reducers/reducers-"
10040 version
10041 ".tar.gz"))
10042 (sha256
10043 (base32
10044 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
10045 (build-system haskell-build-system)
10046 (inputs
10047 `(("ghc-fingertree" ,ghc-fingertree)
10048 ("ghc-hashable" ,ghc-hashable)
10049 ("ghc-unordered-containers" ,ghc-unordered-containers)
10050 ("ghc-semigroupoids" ,ghc-semigroupoids)
10051 ("ghc-semigroups" ,ghc-semigroups)))
10052 (home-page "https://github.com/ekmett/reducers/")
10053 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
10054 (description "This library provides various semigroups, specialized
10055containers and a general map/reduce framework for Haskell.")
10056 (license license:bsd-3)))
10057
10058(define-public ghc-refact
10059 (package
10060 (name "ghc-refact")
10061 (version "0.3.0.2")
10062 (source
10063 (origin
10064 (method url-fetch)
10065 (uri (string-append "https://hackage.haskell.org/package/"
10066 "refact/refact-"
10067 version ".tar.gz"))
10068 (sha256
10069 (base32
10070 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
10071 (build-system haskell-build-system)
3ef91e15 10072 (home-page "https://hackage.haskell.org/package/refact")
dddbc90c
RV
10073 (synopsis "Specify refactorings to perform with apply-refact")
10074 (description
10075 "This library provides a datatype which can be interpreted by
10076@code{apply-refact}. It exists as a separate library so that applications can
10077specify refactorings without depending on GHC.")
10078 (license license:bsd-3)))
10079
10080(define-public ghc-reflection
10081 (package
10082 (name "ghc-reflection")
d215f1cc 10083 (version "2.1.5")
dddbc90c
RV
10084 (source
10085 (origin
10086 (method url-fetch)
10087 (uri (string-append
10088 "https://hackage.haskell.org/package/reflection/reflection-"
10089 version
10090 ".tar.gz"))
10091 (sha256
10092 (base32
d215f1cc 10093 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
10094 (build-system haskell-build-system)
10095 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
10096 (native-inputs
10097 `(("ghc-hspec" ,ghc-hspec)
10098 ("ghc-quickcheck" ,ghc-quickcheck)
10099 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
10100 (home-page "https://github.com/ekmett/reflection")
10101 (synopsis "Reify arbitrary terms into types that can be reflected back
10102into terms")
10103 (description "This package addresses the 'configuration problem' which is
10104propagating configurations that are available at run-time, allowing multiple
10105configurations to coexist without resorting to mutable global variables or
10106@code{System.IO.Unsafe.unsafePerformIO}.")
10107 (license license:bsd-3)))
10108
10109(define-public ghc-regex
10110 (package
10111 (name "ghc-regex")
b9a5e634 10112 (version "1.0.2.0")
dddbc90c
RV
10113 (source
10114 (origin
10115 (method url-fetch)
10116 (uri (string-append "https://hackage.haskell.org/package/regex/"
10117 "regex-" version ".tar.gz"))
10118 (sha256
10119 (base32
b9a5e634 10120 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
10121 (build-system haskell-build-system)
10122 (arguments
10123 `(#:phases
10124 (modify-phases %standard-phases
10125 (add-after 'unpack 'relax-dependencies
10126 (lambda _
10127 (substitute* "regex.cabal"
10128 (("base-compat.*>=.*0.6.*")
10129 "base-compat >= 0.6\n")
10130 (("template-haskell.*>=.*2.7.*")
10131 "template-haskell >= 2.7\n"))
10132 #t)))))
10133 (inputs
10134 `(("ghc-base-compat" ,ghc-base-compat)
10135 ("ghc-hashable" ,ghc-hashable)
10136 ("ghc-regex-base" ,ghc-regex-base)
10137 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10138 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
10139 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
10140 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
10141 ("ghc-unordered-containers" ,ghc-unordered-containers)
10142 ("ghc-utf8-string" ,ghc-utf8-string)))
10143 (home-page "http://regex.uk")
10144 (synopsis "Toolkit for regex-base")
10145 (description
10146 "This package provides a regular expression toolkit for @code{regex-base}
10147with compile-time checking of regular expression syntax, data types for
10148matches and captures, a text replacement toolkit, portable options, high-level
10149AWK-like tools for building text processing apps, regular expression macros
10150with parsers and test bench, comprehensive documentation, tutorials and
10151copious examples.")
10152 (license license:bsd-3)))
10153
10154(define-public ghc-regex-applicative
10155 (package
10156 (name "ghc-regex-applicative")
30f60e42 10157 (version "0.3.3.1")
dddbc90c
RV
10158 (source
10159 (origin
10160 (method url-fetch)
10161 (uri (string-append
10162 "https://hackage.haskell.org/package/regex-applicative/"
10163 "regex-applicative-" version ".tar.gz"))
10164 (sha256
10165 (base32
30f60e42 10166 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
10167 (build-system haskell-build-system)
10168 (inputs
10169 `(("ghc-smallcheck" ,ghc-smallcheck)
10170 ("ghc-tasty" ,ghc-tasty)
10171 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10172 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10173 (home-page "https://github.com/feuerbach/regex-applicative")
10174 (synopsis "Regex-based parsing with applicative interface")
10175 (description
10176 "@code{regex-applicative} is a Haskell library for parsing using
10177regular expressions. Parsers can be built using Applicative interface.")
10178 (license license:expat)))
10179
10180(define-public ghc-regex-base
10181 (package
10182 (name "ghc-regex-base")
10183 (version "0.93.2")
10184 (source
10185 (origin
10186 (method url-fetch)
10187 (uri (string-append
10188 "https://hackage.haskell.org/package/regex-base/regex-base-"
10189 version
10190 ".tar.gz"))
10191 (sha256
10192 (base32
10193 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
10194 (build-system haskell-build-system)
10195 (home-page
10196 "https://sourceforge.net/projects/lazy-regex")
10197 (synopsis "Replaces/Enhances Text.Regex")
10198 (description "@code{Text.Regex.Base} provides the interface API for
10199regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
10200 (license license:bsd-3)))
10201
10202(define-public ghc-regex-compat
10203 (package
10204 (name "ghc-regex-compat")
10205 (version "0.95.1")
10206 (source
10207 (origin
10208 (method url-fetch)
10209 (uri (string-append
10210 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
10211 version
10212 ".tar.gz"))
10213 (sha256
10214 (base32
10215 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
10216 (build-system haskell-build-system)
10217 (inputs
10218 `(("ghc-regex-base" ,ghc-regex-base)
10219 ("ghc-regex-posix" ,ghc-regex-posix)))
10220 (home-page "https://sourceforge.net/projects/lazy-regex")
10221 (synopsis "Replaces/Enhances Text.Regex")
10222 (description "This library provides one module layer over
10223@code{regex-posix} to replace @code{Text.Regex}.")
10224 (license license:bsd-3)))
10225
10226(define-public ghc-regex-compat-tdfa
10227 (package
10228 (name "ghc-regex-compat-tdfa")
10229 (version "0.95.1.4")
10230 (source
10231 (origin
10232 (method url-fetch)
10233 (uri (string-append
10234 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
10235 version ".tar.gz"))
10236 (sha256
10237 (base32
10238 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
10239 (build-system haskell-build-system)
10240 (inputs
10241 `(("ghc-regex-base" ,ghc-regex-base)
10242 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10243 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
10244 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
10245 (description
10246 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
10247@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
10248This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
10249this problem.")
10250 (license license:bsd-3)))
10251
10252(define-public ghc-regex-pcre-builtin
10253 (package
10254 (name "ghc-regex-pcre-builtin")
ee946143 10255 (version "0.94.5.8.8.35")
dddbc90c
RV
10256 (source (origin
10257 (method url-fetch)
10258 (uri (string-append "https://hackage.haskell.org/package/"
10259 "regex-pcre-builtin/regex-pcre-builtin-"
10260 version ".tar.gz"))
10261 (sha256
10262 (base32
ee946143 10263 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
10264 (build-system haskell-build-system)
10265 (inputs
10266 `(("ghc-regex-base" ,ghc-regex-base)))
4723766b 10267 (home-page "https://hackage.haskell.org/package/regex-pcre-builtin")
dddbc90c
RV
10268 (synopsis "Enhancement of the builtin Text.Regex library")
10269 (description
10270 "This package is an enhancement of the @code{Text.Regex} library,
10271providing the PCRE backend to accompany regex-base, with bundled code from
10272@url{https://www.pcre.org}.")
10273 (license license:bsd-3)))
10274
10275(define-public ghc-regex-posix
10276 (package
10277 (name "ghc-regex-posix")
10278 (version "0.95.2")
10279 (source
10280 (origin
10281 (method url-fetch)
10282 (uri (string-append
10283 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
10284 version
10285 ".tar.gz"))
10286 (sha256
10287 (base32
10288 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
10289 (build-system haskell-build-system)
10290 (inputs
10291 `(("ghc-regex-base" ,ghc-regex-base)))
10292 (home-page "https://sourceforge.net/projects/lazy-regex")
10293 (synopsis "POSIX regular expressions for Haskell")
10294 (description "This library provides the POSIX regex backend used by the
10295Haskell library @code{regex-base}.")
10296 (license license:bsd-3)))
10297
10298(define-public ghc-regex-tdfa
10299 (package
10300 (name "ghc-regex-tdfa")
ce684db0 10301 (version "1.2.3.2")
dddbc90c
RV
10302 (source
10303 (origin
10304 (method url-fetch)
10305 (uri (string-append
10306 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
10307 version ".tar.gz"))
10308 (sha256
10309 (base32
ce684db0 10310 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
10311 (build-system haskell-build-system)
10312 (inputs
10313 `(("ghc-regex-base" ,ghc-regex-base)))
90b74c6f 10314 (home-page "https://github.com/haskell-hvr/regex-tdfa")
dddbc90c
RV
10315 (synopsis "POSIX extended regular expressions in Haskell.")
10316 (description
10317 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
10318extended regular expressions. It is a \"tagged\" DFA regex engine. It is
10319inspired by libtre.")
10320 (license license:bsd-3)))
10321
10322(define-public ghc-regex-tdfa-text
10323 (package
10324 (name "ghc-regex-tdfa-text")
10325 (version "1.0.0.3")
10326 (source
10327 (origin
10328 (method url-fetch)
10329 (uri (string-append
10330 "https://hackage.haskell.org/package/regex-tdfa-text/"
10331 "regex-tdfa-text-" version ".tar.gz"))
10332 (sha256
10333 (base32
10334 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
10335 (build-system haskell-build-system)
10336 (inputs
10337 `(("ghc-regex-base" ,ghc-regex-base)
10338 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
10339 (home-page
3ef91e15 10340 "https://hackage.haskell.org/package/regex-tdfa-text")
dddbc90c
RV
10341 (synopsis "Text interface for regex-tdfa")
10342 (description
10343 "This provides an extra text interface for regex-tdfa.")
10344 (license license:bsd-3)))
10345
798a2df4
JS
10346(define-public ghc-repline
10347 (package
10348 (name "ghc-repline")
10349 (version "0.2.0.0")
10350 (source
10351 (origin
10352 (method url-fetch)
10353 (uri (string-append
10354 "mirror://hackage/package/repline/repline-"
10355 version
10356 ".tar.gz"))
10357 (sha256
10358 (base32
10359 "1ph21kbbanlcs8n5lwk16g9vqkb98mkbz5mzwrp8j2rls2921izc"))))
10360 (build-system haskell-build-system)
10361 (home-page "https://github.com/sdiehl/repline")
10362 (synopsis "Haskeline wrapper for GHCi-like REPL interfaces")
10363 (description
10364 "Haskeline wrapper for GHCi-like REPL interfaces. Composable with
10365normal mtl transformers.")
10366 (license license:expat)))
10367
6c0858dd
JS
10368(define-public ghc-repline-0.3
10369 (package
10370 (inherit ghc-repline)
10371 (version "0.3.0.0")
10372 (source
10373 (origin
10374 (method url-fetch)
10375 (uri (string-append
10376 "mirror://hackage/package/repline/repline-"
10377 version
10378 ".tar.gz"))
10379 (sha256
10380 (base32
10381 "0niihfyggg2qisadg7w49cr5k5qyyynia93iip0ng2bbmzwi88g8"))))
10382 (inputs
10383 `(("ghc-exceptions" ,ghc-exceptions)
10384 ("ghc-haskeline" ,ghc-haskeline-0.8)))))
10385
dddbc90c
RV
10386(define-public ghc-rerebase
10387 (package
10388 (name "ghc-rerebase")
cdec7b8c 10389 (version "1.3.1.1")
dddbc90c
RV
10390 (source
10391 (origin
10392 (method url-fetch)
10393 (uri (string-append
10394 "https://hackage.haskell.org/package/rerebase/rerebase-"
10395 version ".tar.gz"))
10396 (sha256
10397 (base32
cdec7b8c 10398 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
10399 (build-system haskell-build-system)
10400 (inputs
10401 `(("ghc-rebase" ,ghc-rebase)))
10402 (home-page "https://github.com/nikita-volkov/rerebase")
10403 (synopsis "Reexports from ``base'' with many other standard libraries")
10404 (description "A rich drop-in replacement for @code{base}. For details and
10405documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
10406the project's home page}.")
10407 (license license:expat)))
10408
10409(define-public ghc-resolv
10410 (package
10411 (name "ghc-resolv")
87309478 10412 (version "0.1.1.2")
dddbc90c
RV
10413 (source
10414 (origin
10415 (method url-fetch)
10416 (uri (string-append
10417 "https://hackage.haskell.org/package/resolv/resolv-"
10418 version ".tar.gz"))
10419 (sha256
10420 (base32
87309478 10421 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
10422 (build-system haskell-build-system)
10423 (arguments
87309478
TS
10424 `(#:phases
10425 (modify-phases %standard-phases
10426 (add-before 'configure 'update-constraints
10427 (lambda _
10428 (substitute* "resolv.cabal"
10429 (("tasty >= 1\\.1 && < 1\\.2")
10430 "tasty >= 1.1 && < 1.3"))
10431 #t)))))
dddbc90c
RV
10432 (inputs
10433 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
10434 (native-inputs
10435 `(("ghc-tasty" ,ghc-tasty)
10436 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
10437 (home-page "https://github.com/haskell/hackage-security")
10438 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
10439 (description "This package implements an API for accessing the
10440@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
10441resolver service via the standard @code{libresolv} system library (whose
10442API is often available directly via the standard @code{libc} C library) on
10443Unix systems.")
10444 (license license:gpl3)))
10445
10446(define-public ghc-resource-pool
10447 (package
10448 (name "ghc-resource-pool")
10449 (version "0.2.3.2")
10450 (source
10451 (origin
10452 (method url-fetch)
10453 (uri (string-append "https://hackage.haskell.org/package/"
10454 "resource-pool-" version "/"
10455 "resource-pool-" version ".tar.gz"))
10456 (sha256
10457 (base32
10458 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
10459 (build-system haskell-build-system)
10460 (inputs `(("ghc-hashable" ,ghc-hashable)
10461 ("ghc-monad-control" ,ghc-monad-control)
10462 ("ghc-transformers-base" ,ghc-transformers-base)
10463 ("ghc-vector" ,ghc-vector)))
10464 (home-page "https://github.com/bos/pool")
10465 (synopsis "Striped resource pooling implementation in Haskell")
10466 (description "This Haskell package provides striped pooling abstraction
10467for managing flexibly-sized collections of resources such as database
10468connections.")
10469 (license license:bsd-3)))
10470
10471(define-public ghc-resourcet
10472 (package
10473 (name "ghc-resourcet")
9ac341ac 10474 (version "1.2.2")
dddbc90c
RV
10475 (source
10476 (origin
10477 (method url-fetch)
10478 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
10479 "resourcet-" version ".tar.gz"))
10480 (sha256
10481 (base32
9ac341ac 10482 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
10483 (build-system haskell-build-system)
10484 (inputs
10485 `(("ghc-transformers-base" ,ghc-transformers-base)
10486 ("ghc-monad-control" ,ghc-monad-control)
10487 ("ghc-transformers-compat" ,ghc-transformers-compat)
10488 ("ghc-mmorph" ,ghc-mmorph)
10489 ("ghc-exceptions" ,ghc-exceptions)
10490 ("ghc-unliftio-core" ,ghc-unliftio-core)))
10491 (native-inputs
10492 `(("ghc-lifted-base" ,ghc-lifted-base)
10493 ("ghc-hspec" ,ghc-hspec)))
10494 (home-page "https://github.com/snoyberg/conduit")
10495 (synopsis "Deterministic allocation and freeing of scarce resources")
10496 (description "ResourceT is a monad transformer which creates a region of
10497code where you can safely allocate resources.")
10498 (license license:bsd-3)))
10499
b9debc37
TS
10500(define-public ghc-retry
10501 (package
10502 (name "ghc-retry")
10503 (version "0.8.1.0")
10504 (source
10505 (origin
10506 (method url-fetch)
10507 (uri (string-append "https://hackage.haskell.org/package/"
10508 "retry/retry-" version ".tar.gz"))
10509 (sha256
10510 (base32
10511 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
10512 (build-system haskell-build-system)
10513 (inputs
10514 `(("ghc-exceptions" ,ghc-exceptions)
10515 ("ghc-random" ,ghc-random)))
10516 (native-inputs
10517 `(("ghc-hunit" ,ghc-hunit)
10518 ("ghc-tasty" ,ghc-tasty)
10519 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10520 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
10521 ("ghc-hedgehog" ,ghc-hedgehog)))
10522 (home-page "http://github.com/Soostone/retry")
10523 (synopsis "Retry combinators for monadic actions that may fail")
10524 (description "This package exposes combinators that can wrap
10525arbitrary monadic actions. They run the action and potentially retry
10526running it with some configurable delay for a configurable number of
10527times. The purpose is to make it easier to work with IO and especially
10528network IO actions that often experience temporary failure and warrant
10529retrying of the original action. For example, a database query may time
10530out for a while, in which case we should hang back for a bit and retry
10531the query instead of simply raising an exception.")
10532 (license license:bsd-3)))
10533
dddbc90c
RV
10534(define-public ghc-rfc5051
10535 (package
10536 (name "ghc-rfc5051")
ec42ab7c 10537 (version "0.1.0.4")
dddbc90c
RV
10538 (source
10539 (origin
10540 (method url-fetch)
10541 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
10542 "rfc5051-" version ".tar.gz"))
10543 (sha256
10544 (base32
ec42ab7c 10545 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
10546 (build-system haskell-build-system)
10547 (home-page "https://hackage.haskell.org/package/rfc5051")
10548 (synopsis "Simple unicode collation as per RFC5051")
10549 (description
10550 "This library implements @code{unicode-casemap}, the simple, non
10551locale-sensitive unicode collation algorithm described in RFC 5051. Proper
10552unicode collation can be done using @code{text-icu}, but that is a big
10553dependency that depends on a large C library, and @code{rfc5051} might be
10554better for some purposes.")
10555 (license license:bsd-3)))
10556
10557(define-public ghc-rio
10558 (package
10559 (name "ghc-rio")
8bda2fa7 10560 (version "0.1.12.0")
dddbc90c
RV
10561 (source
10562 (origin
10563 (method url-fetch)
10564 (uri (string-append
10565 "https://hackage.haskell.org/package/rio/rio-"
10566 version ".tar.gz"))
10567 (sha256
10568 (base32
8bda2fa7 10569 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
10570 (build-system haskell-build-system)
10571 (inputs
10572 `(("ghc-exceptions" ,ghc-exceptions)
10573 ("ghc-hashable" ,ghc-hashable)
10574 ("ghc-microlens" ,ghc-microlens)
10575 ("ghc-primitive" ,ghc-primitive)
10576 ("ghc-typed-process" ,ghc-typed-process)
10577 ("ghc-unliftio" ,ghc-unliftio)
10578 ("ghc-unordered-containers" ,ghc-unordered-containers)
10579 ("ghc-vector" ,ghc-vector)))
10580 (native-inputs
10581 `(("ghc-hspec" ,ghc-hspec)
10582 ("hspec-discover" ,hspec-discover)))
10583 (home-page "https://github.com/commercialhaskell/rio#readme")
10584 (synopsis "A standard library for Haskell")
10585 (description "This package works as a prelude replacement for Haskell,
10586providing more functionality and types out of the box than the standard
10587prelude (such as common data types like @code{ByteString} and
10588@code{Text}), as well as removing common ``gotchas'', like partial
10589functions and lazy I/O. The guiding principle here is:
10590@itemize
10591@item If something is safe to use in general and has no expected naming
10592conflicts, expose it.
10593@item If something should not always be used, or has naming conflicts,
10594expose it from another module in the hierarchy.
10595@end itemize")
10596 (license license:expat)))
10597
10598(define-public ghc-safe
10599 (package
10600 (name "ghc-safe")
10601 (version "0.3.17")
10602 (source
10603 (origin
10604 (method url-fetch)
10605 (uri (string-append
10606 "https://hackage.haskell.org/package/safe/safe-"
10607 version
10608 ".tar.gz"))
10609 (sha256
10610 (base32
10611 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
10612 (build-system haskell-build-system)
10613 (native-inputs
10614 `(("ghc-quickcheck" ,ghc-quickcheck)))
10615 (home-page "https://github.com/ndmitchell/safe#readme")
10616 (synopsis "Library of safe (exception free) functions")
10617 (description "This library provides wrappers around @code{Prelude} and
10618@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
10619exceptions.")
10620 (license license:bsd-3)))
10621
10622(define-public ghc-safe-exceptions
10623 (package
10624 (name "ghc-safe-exceptions")
10625 (version "0.1.7.0")
10626 (source
10627 (origin
10628 (method url-fetch)
10629 (uri (string-append "https://hackage.haskell.org/package/"
10630 "safe-exceptions/safe-exceptions-"
10631 version ".tar.gz"))
10632 (sha256
10633 (base32
10634 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
10635 (build-system haskell-build-system)
10636 (arguments
10637 '(#:cabal-revision
10638 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
10639 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10640 (native-inputs
10641 `(("ghc-hspec" ,ghc-hspec)
10642 ("ghc-void" ,ghc-void)
10643 ("hspec-discover" ,hspec-discover)))
10644 (home-page "https://github.com/fpco/safe-exceptions")
10645 (synopsis "Safe, consistent, and easy exception handling")
10646 (description "Runtime exceptions - as exposed in @code{base} by the
10647@code{Control.Exception} module - have long been an intimidating part of the
10648Haskell ecosystem. This package is intended to overcome this. It provides a
10649safe and simple API on top of the existing exception handling machinery. The
10650API is equivalent to the underlying implementation in terms of power but
10651encourages best practices to minimize the chances of getting the exception
10652handling wrong.")
10653 (license license:expat)))
10654
10655(define-public ghc-safeio
10656 (package
10657 (name "ghc-safeio")
10658 (version "0.0.5.0")
10659 (source
10660 (origin
10661 (method url-fetch)
10662 (uri (string-append "https://hackage.haskell.org/package/safeio/"
10663 "safeio-" version ".tar.gz"))
10664 (sha256
10665 (base32
10666 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
10667 (build-system haskell-build-system)
10668 (inputs
10669 `(("ghc-conduit" ,ghc-conduit)
10670 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10671 ("ghc-exceptions" ,ghc-exceptions)
10672 ("ghc-resourcet" ,ghc-resourcet)))
10673 (native-inputs
10674 `(("ghc-hunit" ,ghc-hunit)
10675 ("ghc-test-framework" ,ghc-test-framework)
10676 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10677 ("ghc-test-framework-th" ,ghc-test-framework-th)))
10678 (home-page "https://github.com/luispedro/safeio")
10679 (synopsis "Write output to disk atomically")
10680 (description
10681 "This package implements utilities to perform atomic output so as to
10682avoid the problem of partial intermediate files.")
10683 (license license:expat)))
10684
10685(define-public ghc-safesemaphore
10686 (package
10687 (name "ghc-safesemaphore")
10688 (version "0.10.1")
10689 (source
10690 (origin
10691 (method url-fetch)
10692 (uri (string-append "https://hackage.haskell.org/package/"
10693 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
10694 (sha256
10695 (base32
10696 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
10697 (build-system haskell-build-system)
10698 (native-inputs
10699 `(("ghc-hunit" ,ghc-hunit)))
10700 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
10701 (synopsis "Exception safe semaphores")
10702 (description "This library provides exception safe semaphores that can be
10703used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
10704are not exception safe and can be broken by @code{killThread}.")
10705 (license license:bsd-3)))
10706
10707(define-public ghc-sandi
10708 (package
10709 (name "ghc-sandi")
b867c2b0 10710 (version "0.5")
dddbc90c
RV
10711 (source
10712 (origin
10713 (method url-fetch)
10714 (uri (string-append
10715 "https://hackage.haskell.org/package/sandi/sandi-"
10716 version ".tar.gz"))
10717 (sha256
10718 (base32
b867c2b0 10719 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
10720 (build-system haskell-build-system)
10721 (inputs
10722 `(("ghc-stringsearch" ,ghc-stringsearch)
10723 ("ghc-conduit" ,ghc-conduit)
10724 ("ghc-exceptions" ,ghc-exceptions)
10725 ("ghc-hunit" ,ghc-hunit)
10726 ("ghc-tasty" ,ghc-tasty)
10727 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10728 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10729 ("ghc-tasty-th" ,ghc-tasty-th)))
10730 (home-page "https://hackage.haskell.org/package/sandi")
10731 (synopsis "Data encoding library")
10732 (description "Reasonably fast data encoding library.")
10733 (license license:bsd-3)))
10734
4da75228
ASM
10735(define-public ghc-say
10736 (package
10737 (name "ghc-say")
10738 (version "0.1.0.1")
10739 (source
10740 (origin
10741 (method url-fetch)
10742 (uri (string-append
10743 "https://hackage.haskell.org/package/say/say-"
10744 version
10745 ".tar.gz"))
10746 (sha256
10747 (base32
10748 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
10749 (build-system haskell-build-system)
10750 (native-inputs
10751 `(("ghc-hspec" ,ghc-hspec)
10752 ("hspec-discover" ,hspec-discover)
10753 ("ghc-unliftio" ,ghc-unliftio)))
10754 (home-page "https://github.com/fpco/say")
10755 (synopsis
10756 "Send textual messages to a Handle in a thread-friendly way")
10757 (description
10758 "A thread safe API to write a line of textual data to a Handle, such
10759as sending some messages to the terminal - that has the following properties:
10760@itemize
10761@item Properly handle character encoding settings on the Handle
10762@item For reasonably sized messages, ensure that the entire message is written
10763 in one chunk to avoid interleaving data with other threads
10764@item Avoid unnecessary memory allocations and copies
10765@item Minimize locking.
10766@end itemize")
10767 (license license:expat)))
10768
dddbc90c
RV
10769(define-public ghc-scientific
10770 (package
10771 (name "ghc-scientific")
10772 (version "0.3.6.2")
10773 (source
10774 (origin
10775 (method url-fetch)
10776 (uri (string-append
10777 "https://hackage.haskell.org/package/scientific/scientific-"
10778 version
10779 ".tar.gz"))
10780 (sha256
10781 (base32
10782 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
10783 (build-system haskell-build-system)
10784 (inputs
10785 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
10786 ("ghc-hashable" ,ghc-hashable)
10787 ("ghc-primitive" ,ghc-primitive)))
10788 (native-inputs
10789 `(("ghc-tasty" ,ghc-tasty)
10790 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
10791 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10792 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
10793 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
10794 ("ghc-smallcheck" ,ghc-smallcheck)
10795 ("ghc-quickcheck" ,ghc-quickcheck)))
10796 (home-page "https://github.com/basvandijk/scientific")
10797 (synopsis "Numbers represented using scientific notation")
10798 (description "This package provides @code{Data.Scientific}, which provides
10799the number type @code{Scientific}. Scientific numbers are arbitrary precision
10800and space efficient. They are represented using
10801@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
10802notation}.")
10803 (license license:bsd-3)))
10804
10805(define-public ghc-scientific-bootstrap
10806 (package
10807 (inherit ghc-scientific)
10808 (name "ghc-scientific-bootstrap")
10809 (arguments `(#:tests? #f))
10810 (inputs
10811 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
10812 ("ghc-hashable" ,ghc-hashable)
10813 ("ghc-primitive" ,ghc-primitive)))
10814 (native-inputs '())
799d8d3c 10815 (properties '((hidden? #t)))))
dddbc90c
RV
10816
10817(define-public ghc-sdl
10818 (package
10819 (name "ghc-sdl")
10820 (version "0.6.7.0")
10821 (source
10822 (origin
10823 (method url-fetch)
10824 (uri (string-append
10825 "https://hackage.haskell.org/package/SDL/SDL-"
10826 version
10827 ".tar.gz"))
10828 (sha256
10829 (base32
10830 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
10831 (build-system haskell-build-system)
10832 (inputs
10833 `(("sdl" ,sdl)))
10834 (home-page "https://hackage.haskell.org/package/SDL")
10835 (synopsis "LibSDL for Haskell")
10836 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
10837multimedia library designed to provide low level access to audio, keyboard,
10838mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
10839by MPEG playback software, emulators, and many popular games, including the
10840award winning Linux port of \"Civilization: Call To Power.\"")
10841 (license license:bsd-3)))
10842
1874cdc1
RV
10843(define-public ghc-sdl2
10844 (package
10845 (name "ghc-sdl2")
145148ca 10846 (version "2.5.0.0")
1874cdc1
RV
10847 (source
10848 (origin
10849 (method url-fetch)
10850 (uri (string-append "https://hackage.haskell.org/package/"
10851 "sdl2/sdl2-" version ".tar.gz"))
10852 (sha256
10853 (base32
145148ca 10854 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
10855 (build-system haskell-build-system)
10856 (arguments '(#:tests? #f)) ; tests require graphical environment
10857 (inputs
10858 `(("ghc-exceptions" ,ghc-exceptions)
10859 ("ghc-linear" ,ghc-linear)
10860 ("ghc-statevar" ,ghc-statevar)
10861 ("ghc-vector" ,ghc-vector)
10862 ("sdl2" ,sdl2)))
10863 (native-inputs
10864 `(("ghc-weigh" ,ghc-weigh)
10865 ("pkg-config" ,pkg-config)))
35437dbf 10866 (home-page "https://hackage.haskell.org/package/sdl2")
1874cdc1
RV
10867 (synopsis "High- and low-level bindings to the SDL library")
10868 (description
10869 "This package contains bindings to the SDL 2 library, in both high- and
10870low-level forms. The @code{SDL} namespace contains high-level bindings, where
10871enumerations are split into sum types, and we perform automatic
10872error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
10873translation of the C API into Haskell FFI calls. As such, this does not
10874contain sum types nor error checking. Thus this namespace is suitable for
10875building your own abstraction over SDL, but is not recommended for day-to-day
10876programming.")
10877 (license license:bsd-3)))
10878
10879(define-public ghc-sdl2-image
10880 (package
10881 (name "ghc-sdl2-image")
10882 (version "2.0.0")
10883 (source
10884 (origin
10885 (method url-fetch)
10886 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10887 "sdl2-image-" version ".tar.gz"))
10888 (sha256
10889 (base32
10890 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10891 (build-system haskell-build-system)
10892 (inputs
10893 `(("ghc-sdl2" ,ghc-sdl2)
10894 ("sdl2-image" ,sdl2-image)))
10895 (native-inputs
10896 `(("pkg-config" ,pkg-config)))
3ef91e15 10897 (home-page "https://hackage.haskell.org/package/sdl2-image")
1874cdc1
RV
10898 (synopsis "Bindings to SDL2_image")
10899 (description "This package provides Haskell bindings to
10900@code{SDL2_image}.")
10901 (license license:expat)))
10902
10903(define-public ghc-sdl2-mixer
10904 (package
10905 (name "ghc-sdl2-mixer")
10906 (version "1.1.0")
10907 (source
10908 (origin
10909 (method url-fetch)
10910 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10911 "sdl2-mixer-" version ".tar.gz"))
10912 (sha256
10913 (base32
10914 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10915 (build-system haskell-build-system)
10916 (inputs
10917 `(("ghc-data-default-class" ,ghc-data-default-class)
10918 ("ghc-lifted-base" ,ghc-lifted-base)
10919 ("ghc-monad-control" ,ghc-monad-control)
10920 ("ghc-sdl2" ,ghc-sdl2)
10921 ("ghc-vector" ,ghc-vector)
10922 ("sdl2-mixer" ,sdl2-mixer)))
10923 (native-inputs
10924 `(("pkg-config" ,pkg-config)))
3ef91e15 10925 (home-page "https://hackage.haskell.org/package/sdl2-mixer")
1874cdc1
RV
10926 (synopsis "Bindings to SDL2 mixer")
10927 (description "This package provides Haskell bindings to
10928@code{SDL2_mixer}.")
10929 (license license:bsd-3)))
10930
dddbc90c
RV
10931(define-public ghc-sdl-image
10932 (package
10933 (name "ghc-sdl-image")
10934 (version "0.6.2.0")
10935 (source
10936 (origin
10937 (method url-fetch)
10938 (uri (string-append
10939 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10940 version
10941 ".tar.gz"))
10942 (sha256
10943 (base32
10944 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
10945 (build-system haskell-build-system)
10946 (arguments
10947 `(#:configure-flags
10948 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
10949 (sdl-image-include (string-append sdl-image "/include/SDL")))
10950 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
10951 (inputs
10952 `(("ghc-sdl" ,ghc-sdl)
10953 ("sdl-image" ,sdl-image)))
10954 (home-page "https://hackage.haskell.org/package/SDL-image")
10955 (synopsis "Haskell bindings to libSDL_image")
10956 (description "SDL_image is an image file loading library. It loads images
10957as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
10958PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
10959 (license license:bsd-3)))
10960
10961(define-public ghc-sdl-mixer
10962 (package
10963 (name "ghc-sdl-mixer")
10964 (version "0.6.3.0")
10965 (source
10966 (origin
10967 (method url-fetch)
10968 (uri (string-append
10969 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
10970 version
10971 ".tar.gz"))
10972 (sha256
10973 (base32
10974 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
10975 (build-system haskell-build-system)
10976 (arguments
10977 `(#:configure-flags
10978 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
10979 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
10980 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
10981 (inputs
10982 `(("ghc-sdl" ,ghc-sdl)
10983 ("sdl-mixer" ,sdl-mixer)))
10984 (home-page "https://hackage.haskell.org/package/SDL-mixer")
10985 (synopsis "Haskell bindings to libSDL_mixer")
10986 (description "SDL_mixer is a sample multi-channel audio mixer library. It
10987supports any number of simultaneously playing channels of 16 bit stereo audio,
10988plus a single channel of music, mixed by the popular MikMod MOD, Timidity
10989MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
10990 (license license:bsd-3)))
10991
10992(define-public ghc-securemem
10993 (package
10994 (name "ghc-securemem")
10995 (version "0.1.10")
10996 (source
10997 (origin
10998 (method url-fetch)
10999 (uri (string-append "https://hackage.haskell.org/package/"
11000 "securemem-" version "/"
11001 "securemem-" version ".tar.gz"))
11002 (sha256
11003 (base32
11004 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
11005 (build-system haskell-build-system)
11006 (inputs `(("ghc-byteable" ,ghc-byteable)
11007 ("ghc-memory" ,ghc-memory)))
11008 (home-page "https://github.com/vincenthz/hs-securemem")
11009 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
11010Haskell")
11011 (description "SecureMem is similar to ByteString, except that it provides
11012a memory chunk that will be auto-scrubbed after it run out of scope.")
11013 (license license:bsd-3)))
11014
3cf7219c
JS
11015(define-public ghc-semialign
11016 (package
11017 (name "ghc-semialign")
11018 (version "1")
11019 (source
11020 (origin
11021 (method url-fetch)
11022 (uri (string-append
11023 "https://hackage.haskell.org/package/semialign/semialign-"
11024 version
11025 ".tar.gz"))
11026 (sha256
11027 (base32
11028 "004x0a80sqqdgvsyk4z0nasxpi6z3g1d8kgwj804bj9ka8dlc75m"))))
11029 (build-system haskell-build-system)
11030 (inputs
11031 `(("ghc-these" ,ghc-these)
11032 ("ghc-base-compat" ,ghc-base-compat)
11033 ("ghc-hashable" ,ghc-hashable)
11034 ("ghc-tagged" ,ghc-tagged)
11035 ("ghc-unordered-containers" ,ghc-unordered-containers)
11036 ("ghc-vector" ,ghc-vector)
11037 ("ghc-semigroupoids" ,ghc-semigroupoids)))
11038 (arguments
11039 `(#:cabal-revision
11040 ("1"
11041 "0qnqnyfng4kwy2h2anrcy5id2ijnawava3zcc5h5b8ri1y6ks6zi")))
11042 (home-page
11043 "https://github.com/isomorphism/these")
11044 (synopsis
11045 "Align and Zip type-classes from the common Semialign ancestor ")
11046 (description
11047 "The major use of @code{These} of this is provided by the
11048@code{align} member of @code{Semialign} class, representing a
11049generalized notion of \"zipping with padding\" that combines
11050structures without truncating to the size of the smaller input. It
11051turns out that @code{zip} operation fits well the @code{Semialign}
11052class, forming lattice-like structure.")
11053 (license license:bsd-3)))
11054
dddbc90c
RV
11055(define-public ghc-semigroupoids
11056 (package
11057 (name "ghc-semigroupoids")
a8aaadf2 11058 (version "5.3.3")
dddbc90c
RV
11059 (source
11060 (origin
11061 (method url-fetch)
11062 (uri (string-append
11063 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
11064 version
11065 ".tar.gz"))
11066 (sha256
11067 (base32
a8aaadf2 11068 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 11069 (build-system haskell-build-system)
dddbc90c
RV
11070 (inputs
11071 `(("ghc-base-orphans" ,ghc-base-orphans)
11072 ("ghc-transformers-compat" ,ghc-transformers-compat)
11073 ("ghc-bifunctors" ,ghc-bifunctors)
11074 ("ghc-comonad" ,ghc-comonad)
11075 ("ghc-contravariant" ,ghc-contravariant)
11076 ("ghc-distributive" ,ghc-distributive)
11077 ("ghc-hashable" ,ghc-hashable)
11078 ("ghc-semigroups" ,ghc-semigroups)
11079 ("ghc-tagged" ,ghc-tagged)
11080 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11081 (native-inputs
11082 `(("cabal-doctest" ,cabal-doctest)
11083 ("ghc-doctest" ,ghc-doctest)))
11084 (home-page "https://github.com/ekmett/semigroupoids")
11085 (synopsis "Semigroupoids operations for Haskell")
11086 (description "This library provides a wide array of (semi)groupoids and
11087operations for working with them. A @code{Semigroupoid} is a @code{Category}
11088without the requirement of identity arrows for every object in the category.
11089A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
11090Finally, to work with these weaker structures it is beneficial to have
11091containers that can provide stronger guarantees about their contents, so
11092versions of @code{Traversable} and @code{Foldable} that can be folded with
11093just a @code{Semigroup} are added.")
11094 (license license:bsd-3)))
11095
11096(define-public ghc-semigroups
11097 (package
11098 (name "ghc-semigroups")
11099 (version "0.18.5")
11100 (source
11101 (origin
11102 (method url-fetch)
11103 (uri (string-append
11104 "https://hackage.haskell.org/package/semigroups/semigroups-"
11105 version
11106 ".tar.gz"))
11107 (sha256
11108 (base32
11109 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
11110 (build-system haskell-build-system)
11111 (inputs
11112 `(("ghc-nats" ,ghc-nats)
11113 ("ghc-tagged" ,ghc-tagged)
11114 ("ghc-unordered-containers" ,ghc-unordered-containers)
11115 ("ghc-hashable" ,ghc-hashable)))
11116 (home-page "https://github.com/ekmett/semigroups/")
11117 (synopsis "Semigroup operations for Haskell")
11118 (description "This package provides semigroups for Haskell. In
11119mathematics, a semigroup is an algebraic structure consisting of a set
11120together with an associative binary operation. A semigroup generalizes a
11121monoid in that there might not exist an identity element. It
11122also (originally) generalized a group (a monoid with all inverses) to a type
11123where every element did not have to have an inverse, thus the name
11124semigroup.")
11125 (license license:bsd-3)))
11126
11127(define-public ghc-semigroups-bootstrap
11128 (package
11129 (inherit ghc-semigroups)
11130 (name "ghc-semigroups-bootstrap")
11131 (inputs
11132 `(("ghc-nats" ,ghc-nats-bootstrap)
11133 ("ghc-tagged" ,ghc-tagged)
11134 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
11135 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11136 (properties '((hidden? #t)))))
dddbc90c 11137
47c526df
JS
11138(define-public ghc-serialise
11139 (package
11140 (name "ghc-serialise")
11141 (version "0.2.1.0")
11142 (source
11143 (origin
11144 (method url-fetch)
11145 (uri (string-append
11146 "mirror://hackage/package/serialise/serialise-"
11147 version
11148 ".tar.gz"))
11149 (sha256
11150 (base32
11151 "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4"))))
11152 (build-system haskell-build-system)
11153 (inputs
11154 `(("ghc-cborg" ,ghc-cborg)
11155 ("ghc-half" ,ghc-half)
11156 ("ghc-hashable" ,ghc-hashable)
11157 ("ghc-primitive" ,ghc-primitive)
11158 ("ghc-unordered-containers" ,ghc-unordered-containers)
11159 ("ghc-vector" ,ghc-vector)))
11160 (native-inputs
11161 `(("ghc-quickcheck" ,ghc-quickcheck)
11162 ("ghc-tasty" ,ghc-tasty)
11163 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11164 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11165 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
11166 (arguments
11167 `(#:cabal-revision
11168 ("1" "1rknhad1i8bpknsnphmcmb6dnb48c2p2c13ia2qqch3hkhsvfpr6")))
11169 (home-page "https://github.com/well-typed/cborg")
11170 (synopsis "Binary serialisation library for Haskell values")
11171 (description
11172 "This package (formerly binary-serialise-cbor) provides pure,
11173efficient serialization of Haskell values directly into ByteStrings for
11174storage or transmission purposes. By providing a set of type class instances,
11175you can also serialise any custom data type you have as well.
11176
11177The underlying binary format used is the 'Concise Binary Object
11178Representation', or CBOR, specified in RFC 7049. As a result, serialised
11179Haskell values have implicit structure outside of the Haskell program itself,
11180meaning they can be inspected or analyzed without custom tools.
11181
11182An implementation of the standard bijection between CBOR and JSON is
11183provided by the https://hackage.haskell.org/package/cborg-json
11184package. Also see https://hackage.haskell.org/package/cbor-tool for a
11185convenient command-line utility for working with CBOR data.")
11186 (license license:bsd-3)))
11187
dddbc90c
RV
11188(define-public ghc-setenv
11189 (package
11190 (name "ghc-setenv")
11191 (version "0.1.1.3")
11192 (source
11193 (origin
11194 (method url-fetch)
11195 (uri (string-append
11196 "https://hackage.haskell.org/package/setenv/setenv-"
11197 version
11198 ".tar.gz"))
11199 (sha256
11200 (base32
11201 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
11202 (build-system haskell-build-system)
11203 (home-page "https://hackage.haskell.org/package/setenv")
11204 (synopsis "Library for setting environment variables")
11205 (description "This package provides a Haskell library for setting
11206environment variables.")
11207 (license license:expat)))
11208
11209(define-public ghc-setlocale
11210 (package
11211 (name "ghc-setlocale")
9d7cfc9b 11212 (version "1.0.0.9")
dddbc90c
RV
11213 (source (origin
11214 (method url-fetch)
11215 (uri (string-append
11216 "https://hackage.haskell.org/package/setlocale-"
11217 version "/setlocale-" version ".tar.gz"))
11218 (sha256
11219 (base32
9d7cfc9b 11220 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
11221 (build-system haskell-build-system)
11222 (home-page "https://hackage.haskell.org/package/setlocale")
11223 (synopsis "Haskell bindings to setlocale")
11224 (description "This package provides Haskell bindings to the
11225@code{setlocale} C function.")
11226 (license license:bsd-3)))
11227
11228(define-public ghc-shakespeare
11229 (package
11230 (name "ghc-shakespeare")
f680955f 11231 (version "2.0.22")
dddbc90c
RV
11232 (source
11233 (origin
11234 (method url-fetch)
11235 (uri (string-append "https://hackage.haskell.org/package/"
11236 "shakespeare-" version "/"
11237 "shakespeare-" version ".tar.gz"))
11238 (sha256
11239 (base32
f680955f 11240 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
11241 (build-system haskell-build-system)
11242 (inputs `(("ghc-aeson" ,ghc-aeson)
11243 ("ghc-blaze-markup" ,ghc-blaze-markup)
11244 ("ghc-blaze-html" ,ghc-blaze-html)
11245 ("ghc-exceptions" ,ghc-exceptions)
11246 ("ghc-vector" ,ghc-vector)
11247 ("ghc-unordered-containers" ,ghc-unordered-containers)
11248 ("ghc-scientific" ,ghc-scientific)))
11249 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11250 ("ghc-hunit" ,ghc-hunit)
11251 ("hspec-discover" ,hspec-discover)))
11252 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
11253 (synopsis "Family of type-safe template languages for Haskell")
11254 (description "This Haskell package provides a family of type-safe
11255templates with simple variable interpolation. Shakespeare templates can
11256be used inline with a quasi-quoter or in an external file and it
11257interpolates variables according to the type being inserted.")
11258 (license license:expat)))
11259
11260(define-public ghc-shelly
11261 (package
11262 (name "ghc-shelly")
11263 (version "1.8.1")
11264 (source
11265 (origin
11266 (method url-fetch)
11267 (uri (string-append
11268 "https://hackage.haskell.org/package/shelly/shelly-"
11269 version ".tar.gz"))
11270 (sha256
11271 (base32
11272 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
11273 (build-system haskell-build-system)
11274 (inputs
11275 `(("ghc-unix-compat" ,ghc-unix-compat)
11276 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11277 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
11278 ("ghc-monad-control" ,ghc-monad-control)
11279 ("ghc-lifted-base" ,ghc-lifted-base)
11280 ("ghc-lifted-async" ,ghc-lifted-async)
11281 ("ghc-exceptions" ,ghc-exceptions)
11282 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
11283 ("ghc-async" ,ghc-async)
11284 ("ghc-transformers-base" ,ghc-transformers-base)
11285 ("ghc-hunit" ,ghc-hunit)
11286 ("ghc-hspec" ,ghc-hspec)
11287 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
11288 (home-page "https://github.com/yesodweb/Shelly.hs")
11289 (synopsis "Shell-like (systems) programming in Haskell")
11290 (description
11291 "Shelly provides convenient systems programming in Haskell, similar in
11292spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
11293 (license license:bsd-3)))
11294
11295(define-public ghc-silently
11296 (package
11297 (name "ghc-silently")
544bb369 11298 (version "1.2.5.1")
dddbc90c
RV
11299 (source
11300 (origin
11301 (method url-fetch)
11302 (uri (string-append
11303 "https://hackage.haskell.org/package/silently/silently-"
11304 version
11305 ".tar.gz"))
11306 (sha256
11307 (base32
544bb369 11308 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
11309 (build-system haskell-build-system)
11310 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
11311 ;; (inputs
11312 ;; `(("ghc-temporary" ,ghc-temporary)))
11313 (home-page "https://github.com/hspec/silently")
11314 (synopsis "Prevent writing to stdout")
11315 (description "This package provides functions to prevent or capture
11316writing to stdout and other handles.")
11317 (license license:bsd-3)))
11318
11319(define-public ghc-simple-reflect
11320 (package
11321 (name "ghc-simple-reflect")
11322 (version "0.3.3")
11323 (source
11324 (origin
11325 (method url-fetch)
11326 (uri (string-append
11327 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
11328 version
11329 ".tar.gz"))
11330 (sha256
11331 (base32
11332 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
11333 (build-system haskell-build-system)
11334 (home-page
11335 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
11336 (synopsis
11337 "Simple reflection of expressions containing variables")
11338 (description
11339 "This package allows simple reflection of expressions containing
11340variables. Reflection here means that a Haskell expression is turned into a
11341string. The primary aim of this package is teaching and understanding; there
11342are no options for manipulating the reflected expressions beyond showing
11343them.")
11344 (license license:bsd-3)))
11345
11346(define-public ghc-simple-sendfile
11347 (package
11348 (name "ghc-simple-sendfile")
08f54390 11349 (version "0.2.30")
dddbc90c
RV
11350 (source
11351 (origin
11352 (method url-fetch)
11353 (uri (string-append "https://hackage.haskell.org/package/"
11354 "simple-sendfile-" version "/"
11355 "simple-sendfile-" version ".tar.gz"))
11356 (sha256
11357 (base32
08f54390 11358 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
11359 (build-system haskell-build-system)
11360 (inputs
11361 `(("ghc-conduit" ,ghc-conduit)
11362 ("ghc-conduit-extra" ,ghc-conduit-extra)
11363 ("ghc-network" ,ghc-network)
11364 ("ghc-resourcet" ,ghc-resourcet)))
11365 (native-inputs
11366 `(("ghc-hspec" ,ghc-hspec)
11367 ("hspec-discover" ,hspec-discover)))
11368 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
11369 (synopsis "Cross platform library for the sendfile system call")
11370 (description "This library tries to call minimum system calls which
11371are the bottleneck of web servers.")
11372 (license license:bsd-3)))
11373
06966c05
TS
11374(define-public ghc-size-based
11375 (package
11376 (name "ghc-size-based")
11377 (version "0.1.2.0")
11378 (source
11379 (origin
11380 (method url-fetch)
11381 (uri (string-append "https://hackage.haskell.org/package/"
11382 "size-based/size-based-" version ".tar.gz"))
11383 (sha256
11384 (base32
11385 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
11386 (build-system haskell-build-system)
11387 (inputs
11388 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
11389 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
11390 ("ghc-semigroups" ,ghc-semigroups)))
11391 (arguments
11392 `(#:cabal-revision
11393 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
11394 (home-page "https://hackage.haskell.org/package/size-based")
11395 (synopsis "Sized functors for size-based enumerations")
11396 (description "This library provides a framework for size-based
11397enumerations.")
11398 (license license:bsd-3)))
11399
dddbc90c
RV
11400(define-public ghc-skylighting-core
11401 (package
11402 (name "ghc-skylighting-core")
1826c2a8 11403 (version "0.8.2.1")
dddbc90c
RV
11404 (source (origin
11405 (method url-fetch)
11406 (uri (string-append "https://hackage.haskell.org/package/"
11407 "skylighting-core/skylighting-core-"
11408 version ".tar.gz"))
11409 (sha256
11410 (base32
1826c2a8 11411 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
11412 (build-system haskell-build-system)
11413 (inputs
11414 `(("ghc-aeson" ,ghc-aeson)
11415 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11416 ("ghc-attoparsec" ,ghc-attoparsec)
11417 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
11418 ("ghc-blaze-html" ,ghc-blaze-html)
11419 ("ghc-case-insensitive" ,ghc-case-insensitive)
11420 ("ghc-colour" ,ghc-colour)
11421 ("ghc-hxt" ,ghc-hxt)
11422 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
11423 ("ghc-safe" ,ghc-safe)
11424 ("ghc-utf8-string" ,ghc-utf8-string)))
11425 (native-inputs
11426 `(("ghc-diff" ,ghc-diff)
11427 ("ghc-hunit" ,ghc-hunit)
11428 ("ghc-pretty-show" ,ghc-pretty-show)
11429 ("ghc-quickcheck" ,ghc-quickcheck)
11430 ("ghc-tasty" ,ghc-tasty)
11431 ("ghc-tasty-golden" ,ghc-tasty-golden)
11432 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11433 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11434 (home-page "https://github.com/jgm/skylighting")
11435 (synopsis "Syntax highlighting library")
11436 (description "Skylighting is a syntax highlighting library with support
11437for over one hundred languages. It derives its tokenizers from XML syntax
11438definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
11439supported by that framework can be added. An optional command-line program is
11440provided. Skylighting is intended to be the successor to highlighting-kate.")
11441 (license license:gpl2)))
11442
11443(define-public ghc-skylighting
11444 (package
11445 (inherit ghc-skylighting-core)
11446 (name "ghc-skylighting")
36c940cf 11447 (version "0.8.2.1")
dddbc90c
RV
11448 (source (origin
11449 (method url-fetch)
11450 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
11451 version "/skylighting-" version ".tar.gz"))
11452 (sha256
11453 (base32
36c940cf 11454 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
11455 (inputs
11456 `(("ghc-skylighting-core" ,ghc-skylighting-core)
11457 ,@(package-inputs ghc-skylighting-core)))))
11458
11459(define-public ghc-smallcheck
11460 (package
11461 (name "ghc-smallcheck")
11462 (version "1.1.5")
11463 (source
11464 (origin
11465 (method url-fetch)
11466 (uri (string-append
11467 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
11468 version
11469 ".tar.gz"))
11470 (sha256
11471 (base32
11472 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
11473 (build-system haskell-build-system)
11474 (inputs
11475 `(("ghc-logict" ,ghc-logict)))
11476 (home-page
11477 "https://github.com/feuerbach/smallcheck")
11478 (synopsis "Property-based testing library")
a84be333 11479 (description "SmallCheck is a testing library that verifies
dddbc90c
RV
11480properties for all test cases up to some depth. The test cases are generated
11481automatically by SmallCheck.")
11482 (license license:bsd-3)))
11483
11484(define-public ghc-socks
11485 (package
11486 (name "ghc-socks")
ab761e9d 11487 (version "0.6.1")
dddbc90c
RV
11488 (source (origin
11489 (method url-fetch)
11490 (uri (string-append "https://hackage.haskell.org/package/"
11491 "socks/socks-" version ".tar.gz"))
11492 (sha256
11493 (base32
ab761e9d 11494 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
11495 (build-system haskell-build-system)
11496 (inputs
11497 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 11498 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
11499 ("ghc-network" ,ghc-network)))
11500 (home-page "https://github.com/vincenthz/hs-socks")
11501 (synopsis "SOCKS proxy (version 5) implementation")
11502 (description
11503 "This library provides a SOCKS proxy (version 5) implementation.")
11504 (license license:bsd-3)))
11505
081d85d6
TS
11506(define-public ghc-sop-core
11507 (package
11508 (name "ghc-sop-core")
11509 (version "0.4.0.0")
11510 (source
11511 (origin
11512 (method url-fetch)
11513 (uri (string-append "https://hackage.haskell.org/package/"
11514 "sop-core/sop-core-" version ".tar.gz"))
11515 (sha256
11516 (base32
11517 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
11518 (build-system haskell-build-system)
3ef91e15 11519 (home-page "https://hackage.haskell.org/package/sop-core")
081d85d6
TS
11520 (synopsis "True Sums of Products")
11521 (description "This package provides an implementation of
11522@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
11523is the main module of this library and contains more detailed
11524documentation. The main use case of this package is to serve as the
11525core of @url{https://hackage.haskell.org/package/generics-sop,
11526generics-sop}.")
11527 (license license:bsd-3)))
11528
4c77a1a0
JS
11529(define-public ghc-special-values
11530 (package
11531 (name "ghc-special-values")
11532 (version "0.1.0.0")
11533 (source
11534 (origin
11535 (method url-fetch)
11536 (uri (string-append
11537 "https://hackage.haskell.org/package/special-values/"
11538 "special-values-" version ".tar.gz"))
11539 (sha256
11540 (base32
11541 "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w"))))
11542 (build-system haskell-build-system)
11543 (inputs
11544 `(("ghc-scientific" ,ghc-scientific)
11545 ("ghc-ieee754" ,ghc-ieee754)
11546 ("ghc-nats" ,ghc-nats)))
11547 (home-page
11548 "https://github.com/minad/special-values#readme")
11549 (synopsis "Typeclass providing special values")
11550 (description
11551 "Special values are provided by a SpecialValues typeclass. Those can be
11552used for example by QuickCheck, see quickcheck-special." )
11553 (license license:expat)))
11554
dddbc90c
RV
11555(define-public ghc-split
11556 (package
11557 (name "ghc-split")
11558 (version "0.2.3.3")
11559 (outputs '("out" "doc"))
11560 (source
11561 (origin
11562 (method url-fetch)
11563 (uri (string-append
11564 "https://hackage.haskell.org/package/split/split-"
11565 version
11566 ".tar.gz"))
11567 (sha256
11568 (base32
11569 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
11570 (build-system haskell-build-system)
9bbc21a7
TS
11571 (arguments
11572 `(#:cabal-revision
11573 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
11574 (native-inputs
11575 `(("ghc-quickcheck" ,ghc-quickcheck)))
11576 (home-page "https://hackage.haskell.org/package/split")
11577 (synopsis "Combinator library for splitting lists")
11578 (description "This package provides a collection of Haskell functions for
11579splitting lists into parts, akin to the @code{split} function found in several
11580mainstream languages.")
11581 (license license:bsd-3)))
11582
7799d17f 11583(define-public ghc-splitmix
49367c92 11584 (package
7799d17f 11585 (name "ghc-splitmix")
49367c92
TS
11586 (version "0.0.3")
11587 (source
11588 (origin
11589 (method url-fetch)
11590 (uri (string-append "https://hackage.haskell.org/package/"
11591 "splitmix/splitmix-" version ".tar.gz"))
11592 (sha256
11593 (base32
11594 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 11595 (build-system haskell-build-system)
49367c92
TS
11596 (inputs
11597 `(("ghc-random" ,ghc-random)))
7799d17f
TS
11598 (native-inputs
11599 `(("ghc-hunit" ,ghc-hunit)
11600 ("ghc-async" ,ghc-async)
11601 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
11602 ("ghc-tf-random" ,ghc-tf-random)
11603 ("ghc-vector" ,ghc-vector)))
92a79fee 11604 (home-page "https://hackage.haskell.org/package/splitmix")
49367c92
TS
11605 (synopsis "Fast and splittable pseudorandom number generator")
11606 (description "This package provides a Pure Haskell implementation of the
11607SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
11608pseudorandom number generator that is quite fast: 9 64-bit
11609arithmetic/logical operations per 64 bits generated. SplitMix is tested
11610with two standard statistical test suites (DieHarder and TestU01, this
11611implementation only using the former) and it appears to be adequate for
11612\"everyday\" use, such as Monte Carlo algorithms and randomized data
11613structures where speed is important. In particular, it @strong{should not
11614be used for cryptographic or security applications}, because generated
11615sequences of pseudorandom values are too predictable (the mixing functions
11616are easily inverted, and two successive outputs suffice to reconstruct the
11617internal state).")
11618 (license license:bsd-3)))
11619
7799d17f
TS
11620(define-public ghc-splitmix-bootstrap
11621 (package
11622 (inherit ghc-splitmix)
11623 (name "ghc-splitmix-bootstrap")
11624 (arguments `(#:tests? #f))
11625 (native-inputs '())
11626 (properties '((hidden? #t)))))
11627
a152258b
JS
11628(define-public ghc-spoon
11629 (package
11630 (name "ghc-spoon")
11631 (version "0.3.1")
11632 (source
11633 (origin
11634 (method url-fetch)
11635 (uri (string-append
11636 "https://hackage.haskell.org/package/spoon/spoon-"
11637 version
11638 ".tar.gz"))
11639 (sha256
11640 (base32
11641 "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr"))))
11642 (build-system haskell-build-system)
11643 (arguments
11644 `(#:cabal-revision
11645 ("1"
11646 "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74")))
11647 (home-page
11648 "http://hackage.haskell.org/package/spoon")
11649 (synopsis
11650 "Catch errors thrown from pure computations")
11651 (description
11652 "Takes an error-throwing expression and puts it back in the Maybe it
11653belongs in.
11654
11655Note that this suffers from the
11656@url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.")
11657 (license license:bsd-3)))
11658
dddbc90c
RV
11659(define-public ghc-statevar
11660 (package
11661 (name "ghc-statevar")
19419709 11662 (version "1.2")
dddbc90c
RV
11663 (source
11664 (origin
11665 (method url-fetch)
11666 (uri (string-append
11667 "https://hackage.haskell.org/package/StateVar/StateVar-"
11668 version
11669 ".tar.gz"))
11670 (sha256
11671 (base32
19419709 11672 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
11673 (build-system haskell-build-system)
11674 (home-page "https://hackage.haskell.org/package/StateVar")
11675 (synopsis "State variables for Haskell")
11676 (description "This package provides state variables, which are references
11677in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
11678 (license license:bsd-3)))
11679
11680(define-public ghc-statistics
11681 (package
11682 (name "ghc-statistics")
60e78e68 11683 (version "0.15.1.1")
dddbc90c
RV
11684 (source
11685 (origin
11686 (method url-fetch)
11687 (uri (string-append "https://hackage.haskell.org/package/"
11688 "statistics-" version "/"
11689 "statistics-" version ".tar.gz"))
11690 (sha256
11691 (base32
60e78e68 11692 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
11693 (build-system haskell-build-system)
11694 (arguments
60e78e68 11695 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
11696 #:tests? #f))
11697 (inputs
11698 `(("ghc-aeson" ,ghc-aeson)
60e78e68 11699 ("ghc-async" ,ghc-async)
dddbc90c 11700 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 11701 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
11702 ("ghc-math-functions" ,ghc-math-functions)
11703 ("ghc-monad-par" ,ghc-monad-par)
11704 ("ghc-mwc-random" ,ghc-mwc-random)
11705 ("ghc-primitive" ,ghc-primitive)
11706 ("ghc-vector" ,ghc-vector)
11707 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
11708 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
11709 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
11710 (native-inputs
11711 `(("ghc-hunit" ,ghc-hunit)
11712 ("ghc-quickcheck" ,ghc-quickcheck)
11713 ("ghc-ieee754" ,ghc-ieee754)
11714 ("ghc-test-framework" ,ghc-test-framework)
11715 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11716 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11717 (home-page "https://github.com/bos/mwc-random")
11718 (synopsis "Haskell library of statistical types, data, and functions")
11719 (description "This library provides a number of common functions
11720and types useful in statistics. We focus on high performance, numerical
11721robustness, and use of good algorithms. Where possible, we provide references
11722to the statistical literature.
11723
11724The library's facilities can be divided into four broad categories:
11725
11726@itemize
11727@item Working with widely used discrete and continuous probability
11728distributions. (There are dozens of exotic distributions in use; we focus
11729on the most common.)
11730
11731@item Computing with sample data: quantile estimation, kernel density
11732estimation, histograms, bootstrap methods, significance testing,
11733and regression and autocorrelation analysis.
11734
11735@item Random variate generation under several different distributions.
11736
11737@item Common statistical tests for significant differences between samples.
11738@end itemize")
11739 (license license:bsd-2)))
11740
11741(define-public ghc-stm-chans
11742 (package
11743 (name "ghc-stm-chans")
11744 (version "3.0.0.4")
11745 (source
11746 (origin
11747 (method url-fetch)
11748 (uri (string-append "https://hackage.haskell.org/package/"
11749 "stm-chans-" version "/"
11750 "stm-chans-" version ".tar.gz"))
11751 (sha256
11752 (base32
11753 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
11754 (build-system haskell-build-system)
11755 (home-page "https://hackage.haskell.org/package/stm-chans")
11756 (synopsis "Additional types of channels for ghc-stm")
11757 (description "This Haskell package offers a collection of channel types,
11758similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
11759features.")
11760 (license license:bsd-3)))
11761
11762(define-public ghc-stm-conduit
11763 (package
11764 (name "ghc-stm-conduit")
cd518e95 11765 (version "4.0.1")
dddbc90c
RV
11766 (source
11767 (origin
11768 (method url-fetch)
11769 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
11770 "stm-conduit-" version ".tar.gz"))
11771 (sha256
11772 (base32
cd518e95 11773 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
11774 (build-system haskell-build-system)
11775 (inputs
11776 `(("ghc-stm-chans" ,ghc-stm-chans)
11777 ("ghc-cereal" ,ghc-cereal)
11778 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
11779 ("ghc-conduit" ,ghc-conduit)
11780 ("ghc-conduit-extra" ,ghc-conduit-extra)
11781 ("ghc-exceptions" ,ghc-exceptions)
11782 ("ghc-resourcet" ,ghc-resourcet)
11783 ("ghc-async" ,ghc-async)
11784 ("ghc-monad-loops" ,ghc-monad-loops)
11785 ("ghc-unliftio" ,ghc-unliftio)))
11786 (native-inputs
11787 `(("ghc-doctest" ,ghc-doctest)
11788 ("ghc-quickcheck" ,ghc-quickcheck)
11789 ("ghc-hunit" ,ghc-hunit)
11790 ("ghc-test-framework" ,ghc-test-framework)
11791 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11792 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
11793 (home-page "https://github.com/cgaebel/stm-conduit")
11794 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
11795 (description
11796 "This package provides two simple conduit wrappers around STM channels: a
11797source and a sink.")
11798 (license license:bsd-3)))
11799
11800(define-public ghc-stmonadtrans
11801 (package
11802 (name "ghc-stmonadtrans")
11803 (version "0.4.3")
11804 (source
11805 (origin
11806 (method url-fetch)
11807 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
11808 "/STMonadTrans-" version ".tar.gz"))
11809 (sha256
11810 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
11811 (build-system haskell-build-system)
11812 (home-page "https://hackage.haskell.org/package/STMonadTrans")
11813 (synopsis "Monad transformer version of the ST monad")
11814 (description
11815 "This package provides a monad transformer version of the @code{ST} monad
11816for strict state threads.")
11817 (license license:bsd-3)))
11818
11819(define-public ghc-storable-complex
11820 (package
11821 (name "ghc-storable-complex")
4a35e3c3 11822 (version "0.2.3.0")
dddbc90c
RV
11823 (source
11824 (origin
11825 (method url-fetch)
11826 (uri (string-append
11827 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
11828 version ".tar.gz"))
11829 (sha256
4a35e3c3 11830 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 11831 (build-system haskell-build-system)
4a35e3c3
TS
11832 (inputs
11833 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
11834 (home-page "https://github.com/cartazio/storable-complex")
11835 (synopsis "Haskell Storable instance for Complex")
11836 (description "This package provides a Haskell library including a
11837Storable instance for Complex which is binary compatible with C99, C++
11838and Fortran complex data types.")
11839 (license license:bsd-3)))
11840
ad80074a
JS
11841(define-public ghc-storable-record
11842 (package
11843 (name "ghc-storable-record")
11844 (version "0.0.4")
11845 (source
11846 (origin
11847 (method url-fetch)
11848 (uri
11849 (string-append
11850 "https://hackage.haskell.org/package/storable-record/"
11851 "storable-record-" version ".tar.gz"))
11852 (sha256
11853 (base32
11854 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
11855 (build-system haskell-build-system)
11856 (inputs
11857 `(("ghc-semigroups" ,ghc-semigroups)
11858 ("ghc-utility-ht" ,ghc-utility-ht)
11859 ("ghc-storablevector" ,ghc-storablevector)
11860 ("ghc-timeit" ,ghc-timeit)))
11861 (home-page "https://hackage.haskell.org/package/storable-record")
11862 (synopsis "Elegant definition of Storable instances for records")
11863 (description "With this package you can build a Storable instance of
11864a record type from Storable instances of its elements in an elegant way.
11865It does not do any magic, just a bit arithmetic to compute the right
11866offsets, that would be otherwise done manually or by a preprocessor like
11867C2HS. There is no guarantee that the generated memory layout is
11868compatible with that of a corresponding C struct. However, the module
11869generates the smallest layout that is possible with respect to the
11870alignment of the record elements.")
11871 (license license:bsd-3)))
11872
55f4c653
JS
11873(define-public ghc-storable-tuple
11874 (package
11875 (name "ghc-storable-tuple")
11876 (version "0.0.3.3")
11877 (source
11878 (origin
11879 (method url-fetch)
11880 (uri
11881 (string-append
11882 "https://hackage.haskell.org/package/storable-tuple/"
11883 "storable-tuple-" version ".tar.gz"))
11884 (sha256
11885 (base32
11886 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
11887 (build-system haskell-build-system)
11888 (inputs
11889 `(("ghc-storable-record" ,ghc-storable-record)
11890 ("ghc-utility-ht" ,ghc-utility-ht)
11891 ("ghc-base-orphans" ,ghc-base-orphans)))
11892 (home-page "https://hackage.haskell.org/package/storable-tuple")
11893 (synopsis "Storable instance for pairs and triples")
11894 (description "This package provides a Storable instance for pairs
11895and triples which should be binary compatible with C99 and C++. The
11896only purpose of this package is to provide a standard location for this
11897instance so that other packages needing this instance can play nicely
11898together.")
11899 (license license:bsd-3)))
11900
bc06ca45
JS
11901(define-public ghc-storablevector
11902 (package
11903 (name "ghc-storablevector")
11904 (version "0.2.13")
11905 (source
11906 (origin
11907 (method url-fetch)
11908 (uri
11909 (string-append
11910 "https://hackage.haskell.org/package/storablevector/storablevector-"
11911 version ".tar.gz"))
11912 (sha256
11913 (base32
11914 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
11915 (build-system haskell-build-system)
11916 (inputs
11917 `(("ghc-non-negative" ,ghc-non-negative)
11918 ("ghc-utility-ht" ,ghc-utility-ht)
11919 ("ghc-semigroups" ,ghc-semigroups)
11920 ("ghc-unsafe" ,ghc-unsafe)
11921 ("ghc-quickcheck" ,ghc-quickcheck)
11922 ("ghc-syb" ,ghc-syb)))
11923 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
11924 (synopsis "Fast, packed, strict storable arrays with a list interface")
11925 (description "This library provides fast, packed, strict storable
11926arrays with a list interface, a chunky lazy list interface with variable
11927chunk size and an interface for write access via the ST monad. This is
11928much like bytestring and binary but can be used for every
11929@code{Foreign.Storable.Storable} type. See also
11930@url{http://hackage.haskell.org/package/vector}, a library with a
11931similar intention.
11932
11933This library does not do advanced fusion optimization, since especially
11934for lazy vectors this would either be incorrect or not applicable. See
11935@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
11936a library that provides fusion with lazy lists.")
11937 (license license:bsd-3)))
11938
dddbc90c
RV
11939(define-public ghc-streaming-commons
11940 (package
11941 (name "ghc-streaming-commons")
11942 (version "0.2.1.1")
11943 (source
11944 (origin
11945 (method url-fetch)
11946 (uri (string-append "https://hackage.haskell.org/package/"
11947 "streaming-commons/streaming-commons-"
11948 version ".tar.gz"))
11949 (sha256
11950 (base32
11951 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
11952 (build-system haskell-build-system)
11953 (inputs
11954 `(("ghc-async" ,ghc-async)
11955 ("ghc-blaze-builder" ,ghc-blaze-builder)
11956 ("ghc-network" ,ghc-network)
11957 ("ghc-random" ,ghc-random)
11958 ("ghc-zlib" ,ghc-zlib)))
11959 (native-inputs
11960 `(("ghc-quickcheck" ,ghc-quickcheck)
11961 ("ghc-hspec" ,ghc-hspec)
11962 ("hspec-discover" ,hspec-discover)))
11963 (home-page "https://hackage.haskell.org/package/streaming-commons")
11964 (synopsis "Conduit and pipes needed by some streaming data libraries")
11965 (description "This package provides low-dependency functionality commonly
11966needed by various Haskell streaming data libraries, such as @code{conduit} and
11967@code{pipe}s.")
11968 (license license:expat)))
11969
11970(define-public ghc-strict
11971 (package
11972 (name "ghc-strict")
11973 (version "0.3.2")
11974 (source
11975 (origin
11976 (method url-fetch)
11977 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
11978 version ".tar.gz"))
11979 (sha256
11980 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
11981 (build-system haskell-build-system)
11982 (home-page "https://hackage.haskell.org/package/strict")
11983 (synopsis "Strict data types and String IO")
11984 (description
11985 "This package provides strict versions of some standard Haskell data
11986types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
11987IO operations.")
11988 (license license:bsd-3)))
11989
11990(define-public ghc-stringbuilder
11991 (package
11992 (name "ghc-stringbuilder")
11993 (version "0.5.1")
11994 (source
11995 (origin
11996 (method url-fetch)
11997 (uri (string-append
11998 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
11999 version
12000 ".tar.gz"))
12001 (sha256
12002 (base32
12003 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
12004 (build-system haskell-build-system)
12005 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
12006 ; enabled
12007 (home-page "https://hackage.haskell.org/package/stringbuilder")
12008 (synopsis "Writer monad for multi-line string literals")
12009 (description "This package provides a writer monad for multi-line string
12010literals.")
12011 (license license:expat)))
12012
12013(define-public ghc-string-qq
12014 (package
12015 (name "ghc-string-qq")
4d6fddc3 12016 (version "0.0.4")
dddbc90c
RV
12017 (source
12018 (origin
12019 (method url-fetch)
12020 (uri (string-append
12021 "https://hackage.haskell.org/package/string-qq/string-qq-"
12022 version
12023 ".tar.gz"))
12024 (sha256
12025 (base32
4d6fddc3 12026 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 12027 (build-system haskell-build-system)
4d6fddc3
TS
12028 (native-inputs
12029 `(("ghc-hunit" ,ghc-hunit)))
3ef91e15 12030 (home-page "https://hackage.haskell.org/package/string-qq")
dddbc90c
RV
12031 (synopsis
12032 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
12033 (description
12034 "This package provides a quasiquoter for non-interpolated strings, texts
12035and bytestrings.")
12036 (license license:public-domain)))
12037
12038(define-public ghc-stringsearch
12039 (package
12040 (name "ghc-stringsearch")
12041 (version "0.3.6.6")
12042 (source
12043 (origin
12044 (method url-fetch)
12045 (uri (string-append
12046 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
12047 version
12048 ".tar.gz"))
12049 (sha256
12050 (base32
12051 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
12052 (build-system haskell-build-system)
e2303abb
TS
12053 (arguments
12054 `(#:cabal-revision
12055 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
12056 (home-page "https://bitbucket.org/dafis/stringsearch")
12057 (synopsis "Fast searching, splitting and replacing of ByteStrings")
12058 (description "This package provides several functions to quickly search
12059for substrings in strict or lazy @code{ByteStrings}. It also provides
12060functions for breaking or splitting on substrings and replacing all
12061occurrences of a substring (the first in case of overlaps) with another.")
12062 (license license:bsd-3)))
12063
dcf3f8f4
TS
12064(define-public ghc-svg-builder
12065 (package
12066 (name "ghc-svg-builder")
12067 (version "0.1.1")
12068 (source
12069 (origin
12070 (method url-fetch)
12071 (uri (string-append "https://hackage.haskell.org/package/"
12072 "svg-builder/svg-builder-" version ".tar.gz"))
12073 (sha256
12074 (base32
12075 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
12076 (build-system haskell-build-system)
12077 (inputs
12078 `(("ghc-blaze-builder" ,ghc-blaze-builder)
12079 ("ghc-hashable" ,ghc-hashable)
12080 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12081 (arguments
12082 `(#:cabal-revision
12083 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
12084 (home-page "https://github.com/diagrams/svg-builder.git")
12085 (synopsis "Domain-specific language for building Scalable Vector Graphics")
12086 (description "Easy-to-write domain-specific language (DSL) for
12087building Scalable Vector Graphics (SVG).")
12088 (license license:bsd-3)))
12089
dddbc90c
RV
12090(define-public ghc-syb
12091 (package
12092 (name "ghc-syb")
07d65eef 12093 (version "0.7.1")
dddbc90c
RV
12094 (outputs '("out" "doc"))
12095 (source
12096 (origin
12097 (method url-fetch)
12098 (uri (string-append
12099 "https://hackage.haskell.org/package/syb/syb-"
12100 version
12101 ".tar.gz"))
12102 (sha256
12103 (base32
07d65eef 12104 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
12105 (build-system haskell-build-system)
12106 (inputs
12107 `(("ghc-hunit" ,ghc-hunit)))
12108 (home-page
12109 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
12110 (synopsis "Scrap Your Boilerplate")
12111 (description "This package contains the generics system described in the
12112/Scrap Your Boilerplate/ papers (see
12113@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
12114defines the @code{Data} class of types permitting folding and unfolding of
12115constructor applications, instances of this class for primitive types, and a
12116variety of traversals.")
12117 (license license:bsd-3)))
12118
12119(define-public ghc-system-fileio
12120 (package
12121 (name "ghc-system-fileio")
dcfb99d4 12122 (version "0.3.16.4")
dddbc90c
RV
12123 (source
12124 (origin
12125 (method url-fetch)
12126 (uri (string-append
12127 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12128 version ".tar.gz"))
12129 (sha256
12130 (base32
dcfb99d4 12131 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 12132 (build-system haskell-build-system)
dcfb99d4
TS
12133 (arguments
12134 `(#:phases
12135 (modify-phases %standard-phases
12136 (add-before 'configure 'update-constraints
12137 (lambda _
12138 (substitute* "system-fileio.cabal"
12139 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
12140 #t)))))
dddbc90c
RV
12141 (inputs
12142 `(("ghc-system-filepath" ,ghc-system-filepath)
12143 ("ghc-chell" ,ghc-chell)
12144 ("ghc-temporary" ,ghc-temporary)))
12145 (home-page "https://github.com/fpco/haskell-filesystem")
12146 (synopsis "Consistent file system interaction across GHC versions")
12147 (description
12148 "This is a small wrapper around the directory, unix, and Win32 packages,
12149for use with system-filepath. It provides a consistent API to the various
12150versions of these packages distributed with different versions of GHC.
12151In particular, this library supports working with POSIX files that have paths
12152which can't be decoded in the current locale encoding.")
12153 (license license:expat)))
12154
12155;; See ghc-system-filepath-bootstrap. In addition this package depends on
12156;; ghc-system-filepath.
12157(define ghc-system-fileio-bootstrap
12158 (package
12159 (name "ghc-system-fileio-bootstrap")
12160 (version "0.3.16.3")
12161 (source
12162 (origin
12163 (method url-fetch)
12164 (uri (string-append
12165 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
12166 version ".tar.gz"))
12167 (sha256
12168 (base32
12169 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
12170 (build-system haskell-build-system)
12171 (arguments
12172 `(#:tests? #f))
12173 (inputs
12174 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
12175 ("ghc-temporary" ,ghc-temporary)))
12176 (home-page "https://github.com/fpco/haskell-filesystem")
12177 (synopsis "Consistent file system interaction across GHC versions")
12178 (description
12179 "This is a small wrapper around the directory, unix, and Win32 packages,
12180for use with system-filepath. It provides a consistent API to the various
12181versions of these packages distributed with different versions of GHC.
12182In particular, this library supports working with POSIX files that have paths
12183which can't be decoded in the current locale encoding.")
12184 (license license:expat)))
12185
12186
12187(define-public ghc-system-filepath
12188 (package
12189 (name "ghc-system-filepath")
12190 (version "0.4.14")
12191 (source
12192 (origin
12193 (method url-fetch)
12194 (uri (string-append
12195 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12196 version ".tar.gz"))
12197 (sha256
12198 (base32
12199 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12200 (build-system haskell-build-system)
12201 ;; FIXME: One of the tests fails:
12202 ;; [ FAIL ] tests.validity.posix
12203 ;; note: seed=7310214548328823169
12204 ;; *** Failed! Falsifiable (after 24 tests):
12205 ;; 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"
12206 (arguments `(#:tests? #f))
12207 (inputs
12208 `(("ghc-chell" ,ghc-chell)
12209 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
12210 ("ghc-quickcheck" ,ghc-quickcheck)))
12211 (home-page "https://github.com/fpco/haskell-filesystem")
12212 (synopsis "High-level, byte-based file and directory path manipulations")
12213 (description
12214 "Provides a FilePath datatype and utility functions for operating on it.
12215Unlike the filepath package, this package does not simply reuse String,
12216increasing type safety.")
12217 (license license:expat)))
12218
12219;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
12220;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
12221;; which depends on ghc-chell and ghc-chell-quickcheck.
12222;; Therefore we bootstrap it with tests disabled.
12223(define ghc-system-filepath-bootstrap
12224 (package
12225 (name "ghc-system-filepath-bootstrap")
12226 (version "0.4.14")
12227 (source
12228 (origin
12229 (method url-fetch)
12230 (uri (string-append
12231 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
12232 version ".tar.gz"))
12233 (sha256
12234 (base32
12235 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
12236 (build-system haskell-build-system)
12237 (arguments
12238 `(#:tests? #f))
12239 (inputs
12240 `(("ghc-quickcheck" ,ghc-quickcheck)))
12241 (home-page "https://github.com/fpco/haskell-filesystem")
12242 (synopsis "High-level, byte-based file and directory path manipulations")
12243 (description
12244 "Provides a FilePath datatype and utility functions for operating on it.
12245Unlike the filepath package, this package does not simply reuse String,
12246increasing type safety.")
12247 (license license:expat)))
12248
12249
12250(define-public ghc-tagged
12251 (package
12252 (name "ghc-tagged")
f0f3756a 12253 (version "0.8.6")
dddbc90c
RV
12254 (source
12255 (origin
12256 (method url-fetch)
12257 (uri (string-append
12258 "https://hackage.haskell.org/package/tagged/tagged-"
12259 version
12260 ".tar.gz"))
12261 (sha256
12262 (base32
f0f3756a 12263 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
12264 (build-system haskell-build-system)
12265 (arguments
12266 `(#:cabal-revision
f0f3756a 12267 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
12268 (inputs
12269 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
12270 (home-page "https://hackage.haskell.org/package/tagged")
12271 (synopsis "Haskell phantom types to avoid passing dummy arguments")
12272 (description "This library provides phantom types for Haskell 98, to avoid
12273having to unsafely pass dummy arguments.")
12274 (license license:bsd-3)))
12275
12276(define-public ghc-tar
12277 (package
12278 (name "ghc-tar")
ec83929f 12279 (version "0.5.1.1")
dddbc90c
RV
12280 (source
12281 (origin
12282 (method url-fetch)
12283 (uri (string-append
12284 "https://hackage.haskell.org/package/tar/tar-"
12285 version ".tar.gz"))
12286 (sha256
12287 (base32
ec83929f 12288 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
12289 (build-system haskell-build-system)
12290 ;; FIXME: 2/24 tests fail.
12291 (arguments `(#:tests? #f))
12292 (inputs
12293 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
12294 ("ghc-quickcheck" ,ghc-quickcheck)
12295 ("ghc-tasty" ,ghc-tasty)
12296 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12297 (home-page "https://hackage.haskell.org/package/tar")
12298 (synopsis "Reading, writing and manipulating \".tar\" archive files")
12299 (description
12300 "This library is for working with \\\"@.tar@\\\" archive files.
12301It can read and write a range of common variations of the tar archive format
12302including V7, POSIX USTAR and GNU formats. It provides support for packing and
12303unpacking portable archives. This makes it suitable for distribution but not
12304backup because details like file ownership and exact permissions are not
12305preserved. It also provides features for random access to archive content using
12306an index.")
12307 (license license:bsd-3)))
12308
f8d17902
TS
12309(define-public ghc-tar-conduit
12310 (package
12311 (name "ghc-tar-conduit")
12312 (version "0.3.2")
12313 (source
12314 (origin
12315 (method url-fetch)
12316 (uri (string-append "https://hackage.haskell.org/package/"
12317 "tar-conduit/tar-conduit-" version ".tar.gz"))
12318 (sha256
12319 (base32
12320 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
12321 (build-system haskell-build-system)
12322 (inputs
12323 `(("ghc-conduit" ,ghc-conduit)
12324 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
12325 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
12326 (native-inputs
12327 `(("ghc-quickcheck" ,ghc-quickcheck)
12328 ("ghc-conduit-extra" ,ghc-conduit-extra)
12329 ("ghc-hspec" ,ghc-hspec)
12330 ("ghc-hspec" ,ghc-hspec)
12331 ("ghc-weigh" ,ghc-weigh)))
12332 (home-page "https://github.com/snoyberg/tar-conduit#readme")
12333 (synopsis "Extract and create tar files using conduit for streaming")
12334 (description "This library provides a conduit-based, streaming
12335interface for extracting and creating tar files.")
12336 (license license:expat)))
12337
dddbc90c
RV
12338(define-public ghc-temporary
12339 (package
12340 (name "ghc-temporary")
12341 (version "1.3")
12342 (source
12343 (origin
12344 (method url-fetch)
12345 (uri (string-append
12346 "https://hackage.haskell.org/package/temporary/temporary-"
12347 version
12348 ".tar.gz"))
12349 (sha256
12350 (base32
12351 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
12352 (build-system haskell-build-system)
12353 (inputs
12354 `(("ghc-exceptions" ,ghc-exceptions)
12355 ("ghc-random" ,ghc-random)))
12356 (native-inputs
12357 `(("ghc-base-compat" ,ghc-base-compat)
12358 ("ghc-tasty" ,ghc-tasty)
12359 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12360 (home-page "https://www.github.com/batterseapower/temporary")
12361 (synopsis "Temporary file and directory support")
12362 (description "The functions for creating temporary files and directories
12363in the Haskelll base library are quite limited. This library just repackages
12364the Cabal implementations of its own temporary file and folder functions so
12365that you can use them without linking against Cabal or depending on it being
12366installed.")
12367 (license license:bsd-3)))
12368
12369(define-public ghc-temporary-rc
12370 (package
12371 (name "ghc-temporary-rc")
12372 (version "1.2.0.3")
12373 (source
12374 (origin
12375 (method url-fetch)
12376 (uri (string-append
12377 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
12378 version
12379 ".tar.gz"))
12380 (sha256
12381 (base32
12382 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
12383 (build-system haskell-build-system)
12384 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
12385 (home-page
12386 "https://www.github.com/feuerbach/temporary")
12387 (synopsis
12388 "Portable temporary file and directory support")
12389 (description
12390 "The functions for creating temporary files and directories in the base
12391library are quite limited. The unixutils package contains some good ones, but
12392they aren't portable to Windows. This library just repackages the Cabal
12393implementations of its own temporary file and folder functions so that you can
12394use them without linking against Cabal or depending on it being installed.
12395This is a better maintained fork of the \"temporary\" package.")
12396 (license license:bsd-3)))
12397
12398(define-public ghc-terminal-size
12399 (package
12400 (name "ghc-terminal-size")
12401 (version "0.3.2.1")
12402 (source (origin
12403 (method url-fetch)
12404 (uri (string-append
12405 "https://hackage.haskell.org/package/terminal-size/"
12406 "terminal-size-" version ".tar.gz"))
12407 (sha256
12408 (base32
12409 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
12410 (build-system haskell-build-system)
12411 (home-page "https://hackage.haskell.org/package/terminal-size")
12412 (synopsis "Get terminal window height and width")
12413 (description "Get terminal window height and width without ncurses
12414dependency.")
12415 (license license:bsd-3)))
12416
12417(define-public ghc-texmath
12418 (package
12419 (name "ghc-texmath")
7fec7e66 12420 (version "0.11.3")
dddbc90c
RV
12421 (source (origin
12422 (method url-fetch)
12423 (uri (string-append "https://hackage.haskell.org/package/"
12424 "texmath/texmath-" version ".tar.gz"))
12425 (sha256
12426 (base32
7fec7e66 12427 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
12428 (build-system haskell-build-system)
12429 (inputs
12430 `(("ghc-syb" ,ghc-syb)
12431 ("ghc-network-uri" ,ghc-network-uri)
12432 ("ghc-split" ,ghc-split)
12433 ("ghc-temporary" ,ghc-temporary)
12434 ("ghc-utf8-string" ,ghc-utf8-string)
12435 ("ghc-xml" ,ghc-xml)
12436 ("ghc-pandoc-types" ,ghc-pandoc-types)))
12437 (home-page "https://github.com/jgm/texmath")
12438 (synopsis "Conversion between formats used to represent mathematics")
12439 (description
12440 "The texmath library provides functions to read and write TeX math,
12441presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
12442Office). Support is also included for converting math formats to pandoc's
12443native format (allowing conversion, via pandoc, to a variety of different
12444markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
12445it can parse and apply LaTeX macros.")
12446 (license license:gpl2+)))
12447
12448(define-public ghc-text-binary
12449 (package
12450 (name "ghc-text-binary")
12451 (version "0.2.1.1")
12452 (source
12453 (origin
12454 (method url-fetch)
12455 (uri (string-append "https://hackage.haskell.org/package/"
12456 "text-binary/text-binary-"
12457 version ".tar.gz"))
12458 (sha256
12459 (base32
12460 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
12461 (build-system haskell-build-system)
12462 (home-page "https://github.com/kawu/text-binary")
12463 (synopsis "Binary instances for text types")
12464 (description
12465 "This package provides a compatibility layer providing @code{Binary}
12466instances for strict and lazy text types for versions older than 1.2.1 of the
12467text package.")
12468 (license license:bsd-2)))
12469
714e5605
JS
12470(define-public ghc-text-manipulate
12471 (package
12472 (name "ghc-text-manipulate")
12473 (version "0.2.0.1")
12474 (source
12475 (origin
12476 (method url-fetch)
12477 (uri (string-append
12478 "https://hackage.haskell.org/package/text-manipulate"
12479 "/text-manipulate-"
12480 version
12481 ".tar.gz"))
12482 (sha256
12483 (base32
12484 "0bwxyjj3ll45srxhsp2ihikgqglvjc6m02ixr8xpvyqwkcfwgsg0"))))
12485 (build-system haskell-build-system)
12486 (native-inputs
12487 `(("ghc-tasty" ,ghc-tasty)
12488 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12489 (home-page
12490 "https://github.com/brendanhay/text-manipulate")
12491 (synopsis
12492 "Case conversion, word boundary manipulation, and textual subjugation")
12493 (description
12494 "Manipulate identifiers and structurally non-complex pieces of text by
12495delimiting word boundaries via a combination of whitespace,
12496control-characters, and case-sensitivity.
12497
12498Has support for common idioms like casing of programmatic variable names,
12499taking, dropping, and splitting by word, and modifying the first character of
12500a piece of text.
12501
12502Caution: this library makes heavy use of the text library's internal loop
12503optimisation framework. Since internal modules are not guaranteed to have a
12504stable API there is potential for build breakage when the text dependency is
12505upgraded. Consider yourself warned!")
12506 (license license:mpl2.0)))
12507
bdc877c4
TS
12508(define-public ghc-text-metrics
12509 (package
12510 (name "ghc-text-metrics")
12511 (version "0.3.0")
12512 (source
12513 (origin
12514 (method url-fetch)
12515 (uri (string-append "https://hackage.haskell.org/package/"
12516 "text-metrics/text-metrics-" version ".tar.gz"))
12517 (sha256
12518 (base32
12519 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
12520 (build-system haskell-build-system)
12521 (inputs
12522 `(("ghc-vector" ,ghc-vector)))
12523 (native-inputs
12524 `(("ghc-quickcheck" ,ghc-quickcheck)
12525 ("ghc-hspec" ,ghc-hspec)))
12526 (arguments
12527 `(#:cabal-revision
12528 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
12529 (home-page "https://github.com/mrkkrp/text-metrics")
12530 (synopsis "Calculate various string metrics efficiently")
12531 (description "This library provides tools to calculate various
12532string metrics efficiently.")
12533 (license license:bsd-3)))
12534
dddbc90c
RV
12535(define-public ghc-tf-random
12536 (package
12537 (name "ghc-tf-random")
12538 (version "0.5")
12539 (outputs '("out" "doc"))
12540 (source
12541 (origin
12542 (method url-fetch)
12543 (uri (string-append
12544 "https://hackage.haskell.org/package/tf-random/tf-random-"
12545 version
12546 ".tar.gz"))
12547 (sha256
12548 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
12549 (build-system haskell-build-system)
12550 (inputs
12551 `(("ghc-primitive" ,ghc-primitive)
12552 ("ghc-random" ,ghc-random)))
12553 (home-page "https://hackage.haskell.org/package/tf-random")
12554 (synopsis "High-quality splittable pseudorandom number generator")
12555 (description "This package contains an implementation of a high-quality
12556splittable pseudorandom number generator. The generator is based on a
12557cryptographic hash function built on top of the ThreeFish block cipher. See
12558the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
12559Hashing\" by Claessen, Pałka for details and the rationale of the design.")
12560 (license license:bsd-3)))
12561
12562(define-public ghc-th-abstraction
12563 (package
12564 (name "ghc-th-abstraction")
1188eabb 12565 (version "0.3.1.0")
dddbc90c
RV
12566 (source
12567 (origin
12568 (method url-fetch)
12569 (uri (string-append "https://hackage.haskell.org/package/"
12570 "th-abstraction/th-abstraction-"
12571 version ".tar.gz"))
12572 (sha256
12573 (base32
1188eabb 12574 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
12575 (build-system haskell-build-system)
12576 (home-page "https://github.com/glguy/th-abstraction")
12577 (synopsis "Nicer interface for reified information about data types")
12578 (description
12579 "This package normalizes variations in the interface for inspecting
12580datatype information via Template Haskell so that packages and support a
12581single, easier to use informational datatype while supporting many versions of
12582Template Haskell.")
12583 (license license:isc)))
12584
12585(define-public ghc-th-expand-syns
12586 (package
12587 (name "ghc-th-expand-syns")
8c766600 12588 (version "0.4.5.0")
dddbc90c
RV
12589 (source (origin
12590 (method url-fetch)
12591 (uri (string-append "https://hackage.haskell.org/package/"
12592 "th-expand-syns/th-expand-syns-"
12593 version ".tar.gz"))
12594 (sha256
12595 (base32
8c766600 12596 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
12597 (build-system haskell-build-system)
12598 (inputs
12599 `(("ghc-syb" ,ghc-syb)))
12600 (home-page "https://hackage.haskell.org/package/th-expand-syns")
12601 (synopsis "Expands type synonyms in Template Haskell ASTs")
12602 (description
12603 "This package enables users to expand type synonyms in Template Haskell
12604@dfn{abstract syntax trees} (ASTs).")
12605 (license license:bsd-3)))
12606
12607(define-public ghc-th-lift
12608 (package
12609 (name "ghc-th-lift")
bd76b20a 12610 (version "0.8.0.1")
dddbc90c
RV
12611 (source (origin
12612 (method url-fetch)
12613 (uri (string-append "https://hackage.haskell.org/package/"
12614 "th-lift/th-lift-" version ".tar.gz"))
12615 (sha256
12616 (base32
bd76b20a 12617 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
12618 (build-system haskell-build-system)
12619 (inputs
12620 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
12621 (home-page "https://github.com/mboes/th-lift")
12622 (synopsis "Derive Template Haskell's Lift class for datatypes")
12623 (description
12624 "This is a Haskell library to derive Template Haskell's Lift class for
12625datatypes.")
12626 (license license:bsd-3)))
12627
12628(define-public ghc-th-lift-instances
12629 (package
12630 (name "ghc-th-lift-instances")
d3db399e 12631 (version "0.1.14")
dddbc90c
RV
12632 (source
12633 (origin
12634 (method url-fetch)
12635 (uri (string-append "https://hackage.haskell.org/package/"
12636 "th-lift-instances/th-lift-instances-"
12637 version ".tar.gz"))
12638 (sha256
12639 (base32
d3db399e 12640 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
12641 (build-system haskell-build-system)
12642 (inputs
12643 `(("ghc-th-lift" ,ghc-th-lift)
12644 ("ghc-vector" ,ghc-vector)
12645 ("ghc-quickcheck" ,ghc-quickcheck)))
12646 (home-page "https://github.com/bennofs/th-lift-instances/")
12647 (synopsis "Lift instances for template-haskell for common data types.")
12648 (description "Most data types in the Haskell platform do not have Lift
12649instances. This package provides orphan instances for @code{containers},
12650@code{text}, @code{bytestring} and @code{vector}.")
12651 (license license:bsd-3)))
12652
12653(define-public ghc-th-orphans
12654 (package
12655 (name "ghc-th-orphans")
882b23e2 12656 (version "0.13.9")
dddbc90c
RV
12657 (source (origin
12658 (method url-fetch)
12659 (uri (string-append "https://hackage.haskell.org/package/"
12660 "th-orphans/th-orphans-" version ".tar.gz"))
12661 (sha256
12662 (base32
882b23e2 12663 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
12664 (build-system haskell-build-system)
12665 (inputs
12666 `(("ghc-th-lift" ,ghc-th-lift)
12667 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
12668 ("ghc-th-reify-many" ,ghc-th-reify-many)
12669 ("ghc-generic-deriving" ,ghc-generic-deriving)))
12670 (native-inputs
12671 `(("ghc-hspec" ,ghc-hspec)))
12672 (home-page "https://hackage.haskell.org/package/th-orphans")
12673 (synopsis "Orphan instances for TH datatypes")
12674 (description
12675 "This package provides orphan instances for Template Haskell datatypes. In particular,
12676instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
12677and @code{Eq} instances. These instances used to live in the haskell-src-meta
12678package, and that's where the version number started.")
12679 (license license:bsd-3)))
12680
20c440ea
JS
12681(define-public ghc-these
12682 (package
12683 (name "ghc-these")
12684 (version "1.0.1")
12685 (source
12686 (origin
12687 (method url-fetch)
12688 (uri (string-append
12689 "https://hackage.haskell.org/package/these/these-"
12690 version
12691 ".tar.gz"))
12692 (sha256
12693 (base32
12694 "1k0pi65g7cm9hzdw6my6bzz2zvddkmj1qs45ymqmi316bpiixk3r"))))
12695 (build-system haskell-build-system)
12696 (inputs
12697 `(("ghc-base-compat" ,ghc-base-compat)
12698 ("ghc-hashable" ,ghc-hashable)
12699 ("ghc-aeson" ,ghc-aeson)
12700 ("ghc-unordered-containers" ,ghc-unordered-containers)
12701 ("ghc-assoc" ,ghc-assoc)
12702 ("ghc-semigroupoids" ,ghc-semigroupoids)
12703 ("ghc-quickcheck" ,ghc-quickcheck)))
12704 (arguments
12705 `(#:cabal-revision
12706 ("1"
12707 "0923r86fnmgpx0msm68aszirh2n19nn5bccgjxfh2146jw4z7w3z")))
12708 (home-page
12709 "https://github.com/isomorphism/these")
12710 (synopsis "Either-or-both data type")
12711 (description
12712 "This package provides a data type @code{These a b} which can
12713hold a value of either type or values of each type. This is usually
12714thought of as an \"inclusive or\" type (contrasting @code{Either a b} as
12715\"exclusive or\") or as an \"outer join\" type (contrasting @code{(a, b)}
12716as \"inner join\").
12717
12718@code{data These a b = This a | That b | These a b}
12719
12720Since version 1, this package was split into parts:
12721
12722@itemize
12723@item
12724https://hackage.haskell.org/package/semialign For @code{Align} and
12725@code{Zip} type-classes.
12726@item
12727https://hackage.haskell.org/package/semialign-indexed For
12728@code{SemialignWithIndex} class, providing @code{ialignWith} and
12729@code{izipWith}
12730@item
12731https://hackage.haskell.org/package/these-lens For lens combinators.
12732@item
12733http://hackage.haskell.org/package/monad-chronicle For transformers
12734variant of @code{These}.
12735@end itemize")
12736 (license license:bsd-3)))
12737
dddbc90c
RV
12738(define-public ghc-threads
12739 (package
12740 (name "ghc-threads")
12741 (version "0.5.1.6")
12742 (source
12743 (origin
12744 (method url-fetch)
12745 (uri (string-append "https://hackage.haskell.org/package/"
12746 "threads/threads-" version ".tar.gz"))
12747 (sha256
12748 (base32
12749 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
12750 (build-system haskell-build-system)
12751 (native-inputs
12752 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
12753 ("ghc-hunit" ,ghc-hunit)
12754 ("ghc-test-framework" ,ghc-test-framework)
12755 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
12756 (home-page "https://github.com/basvandijk/threads")
12757 (synopsis "Fork threads and wait for their result")
12758 (description "This package provides functions to fork threads and
12759wait for their result, whether it's an exception or a normal value.
12760Besides waiting for the termination of a single thread this package also
12761provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
12762package is similar to the @code{threadmanager}, @code{async} and
12763@code{spawn} packages. The advantages of this package are:
12764
dddbc90c
RV
12765@itemize
12766@item Simpler API.
12767@item More efficient in both space and time.
12768@item No space-leak when forking a large number of threads.
12769@item Correct handling of asynchronous exceptions.
12770@item GHC specific functionality like @code{forkOn} and
12771@code{forkIOWithUnmask}.
12772@end itemize")
12773 (license license:bsd-3)))
12774
12775(define-public ghc-th-reify-many
12776 (package
12777 (name "ghc-th-reify-many")
32d4a6ae 12778 (version "0.1.9")
dddbc90c
RV
12779 (source (origin
12780 (method url-fetch)
12781 (uri (string-append "https://hackage.haskell.org/package/"
12782 "th-reify-many/th-reify-many-"
12783 version ".tar.gz"))
12784 (sha256
12785 (base32
32d4a6ae 12786 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
12787 (build-system haskell-build-system)
12788 (inputs
12789 `(("ghc-safe" ,ghc-safe)
12790 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
12791 (home-page "https://github.com/mgsloan/th-reify-many")
12792 (synopsis "Recurseively reify template haskell datatype info")
12793 (description
12794 "th-reify-many provides functions for recursively reifying top level
12795declarations. The main intended use case is for enumerating the names of
12796datatypes reachable from an initial datatype, and passing these names to some
12797function which generates instances.")
12798 (license license:bsd-3)))
12799
75cfc9a2
TS
12800(define-public ghc-time-compat
12801 (package
12802 (name "ghc-time-compat")
12803 (version "1.9.2.2")
12804 (source
12805 (origin
12806 (method url-fetch)
12807 (uri (string-append "https://hackage.haskell.org/package/"
12808 "time-compat/time-compat-" version ".tar.gz"))
12809 (sha256
12810 (base32
12811 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
12812 (build-system haskell-build-system)
12813 (inputs
12814 `(("ghc-base-orphans" ,ghc-base-orphans)))
12815 (native-inputs
12816 `(("ghc-hunit" ,ghc-hunit)
12817 ("ghc-base-compat" ,ghc-base-compat)
12818 ("ghc-quickcheck" ,ghc-quickcheck)
12819 ("ghc-tagged" ,ghc-tagged)
12820 ("ghc-tasty" ,ghc-tasty)
12821 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12822 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12823 (arguments
12824 `(#:cabal-revision
12825 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
12826 (home-page "https://github.com/phadej/time-compat")
12827 (synopsis "Compatibility package for time")
a8d73e69 12828 (description "This package tries to compat as many @code{time}
75cfc9a2
TS
12829features as possible.")
12830 (license license:bsd-3)))
12831
dddbc90c
RV
12832(define-public ghc-time-locale-compat
12833 (package
12834 (name "ghc-time-locale-compat")
12835 (version "0.1.1.5")
12836 (source
12837 (origin
12838 (method url-fetch)
12839 (uri (string-append "https://hackage.haskell.org/package/"
12840 "time-locale-compat/time-locale-compat-"
12841 version ".tar.gz"))
12842 (sha256
12843 (base32
12844 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
12845 (build-system haskell-build-system)
12846 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
12847 (home-page "https://github.com/khibino/haskell-time-locale-compat")
12848 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
12849 (description "This package contains a wrapped name module for
12850@code{TimeLocale}.")
12851 (license license:bsd-3)))
12852
c022a4d4
TS
12853(define-public ghc-time-manager
12854 (package
12855 (name "ghc-time-manager")
12856 (version "0.0.0")
12857 (source
12858 (origin
12859 (method url-fetch)
12860 (uri (string-append "https://hackage.haskell.org/package/"
12861 "time-manager/time-manager-" version ".tar.gz"))
12862 (sha256
12863 (base32
12864 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
12865 (build-system haskell-build-system)
12866 (inputs
12867 `(("ghc-auto-update" ,ghc-auto-update)))
12868 (home-page "https://github.com/yesodweb/wai")
12869 (synopsis "Scalable timer")
12870 (description "This library contains scalable timer functions provided by a
12871timer manager.")
12872 (license license:expat)))
12873
7bbfa392
JS
12874(define-public ghc-timeit
12875 (package
12876 (name "ghc-timeit")
12877 (version "2.0")
12878 (source
12879 (origin
12880 (method url-fetch)
12881 (uri
12882 (string-append
12883 "https://hackage.haskell.org/package/timeit/timeit-"
12884 version ".tar.gz"))
12885 (sha256
12886 (base32
12887 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
12888 (build-system haskell-build-system)
12889 (home-page "https://github.com/merijn/timeit")
12890 (synopsis "Time monadic computations with an IO base")
12891 (description "This package provides a simple wrapper to show the
12892used CPU time of monadic computation with an IO base.")
12893 (license license:bsd-3)))
12894
2ed8bd2d
JS
12895(define-public ghc-timezone-series
12896 (package
12897 (name "ghc-timezone-series")
12898 (version "0.1.9")
12899 (source
12900 (origin
12901 (method url-fetch)
12902 (uri
12903 (string-append
12904 "mirror://hackage/package/timezone-series/timezone-series-"
12905 version ".tar.gz"))
12906 (sha256
12907 (base32
12908 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
12909 (build-system haskell-build-system)
12910 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12911 (synopsis "Enhanced timezone handling for Time")
12912 (description
12913 "This package endows @code{Data.Time}, from the time package, with several
12914data types and functions for enhanced processing of timezones. For one way to
12915create timezone series, see the ghc-timezone-olson package.")
12916 (license license:bsd-3)))
12917
ff0f5786
JS
12918(define-public ghc-timezone-olson
12919 (package
12920 (name "ghc-timezone-olson")
12921 (version "0.1.9")
12922 (source
12923 (origin
12924 (method url-fetch)
12925 (uri
12926 (string-append
12927 "mirror://hackage/package/timezone-olson/timezone-olson-"
12928 version ".tar.gz"))
12929 (sha256
12930 (base32
12931 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
12932 (build-system haskell-build-system)
12933 (inputs
12934 `(("ghc-timezone-series" ,ghc-timezone-series)
12935 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
12936 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
12937 (synopsis "Parser and renderer for binary Olson timezone files")
12938 (description
12939 "A parser and renderer for binary Olson timezone files whose format
12940is specified by the tzfile(5) man page on Unix-like systems. For more
12941information about this format, see
12942@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
12943are provided for converting the parsed data into @code{TimeZoneSeries}
12944objects from the timezone-series package.")
12945 (license license:bsd-3)))
12946
dddbc90c
RV
12947(define-public ghc-tldr
12948 (package
12949 (name "ghc-tldr")
871ceb31 12950 (version "0.4.0.2")
dddbc90c
RV
12951 (source
12952 (origin
12953 (method url-fetch)
12954 (uri (string-append
12955 "https://hackage.haskell.org/package/tldr/tldr-"
12956 version
12957 ".tar.gz"))
12958 (sha256
12959 (base32
871ceb31 12960 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
12961 (build-system haskell-build-system)
12962 (inputs
12963 `(("ghc-cmark" ,ghc-cmark)
12964 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
12965 ("ghc-typed-process" ,ghc-typed-process)
12966 ("ghc-semigroups" ,ghc-semigroups)))
12967 (native-inputs
12968 `(("ghc-tasty" ,ghc-tasty)
12969 ("ghc-tasty-golden" ,ghc-tasty-golden)))
12970 (home-page "https://github.com/psibi/tldr-hs#readme")
12971 (synopsis "Haskell tldr client")
12972 (description "This package provides the @command{tldr} command and a
12973Haskell client library allowing users to update and view @code{tldr} pages
12974from a shell. The @code{tldr} pages are a community effort to simplify the
12975man pages with practical examples.")
12976 (license license:bsd-3)))
12977
460e4e42
JS
12978(define-public ghc-transformers
12979 (package
12980 (name "ghc-transformers")
12981 (version "0.5.6.2")
12982 (source
12983 (origin
12984 (method url-fetch)
12985 (uri (string-append
12986 "mirror://hackage/package/transformers/transformers-"
12987 version
12988 ".tar.gz"))
12989 (sha256
12990 (base32
12991 "0v66j5k0xqk51pmca55wq192qyw2p43s2mgxlz4f95q2c1fpjs5n"))))
12992 (build-system haskell-build-system)
12993 (home-page
12994 "http://hackage.haskell.org/package/transformers")
12995 (synopsis "Concrete functor and monad transformers")
12996 (description
12997 "Transformers provides functor and monad transformers, inspired by the
12998paper \"Functional Programming with Overloading and Higher-Order
12999Polymorphism\", by Mark P Jones, in Advanced School of Functional Programming,
130001995 @url{http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}.
13001
13002This package contains:
13003@itemize
13004@item the monad transformer class (in @code{Control.Monad.Trans.Class})
13005@item concrete functor and monad transformers, each with associated operations
13006and functions to lift operations associated with other transformers.
13007@end itemize
13008
13009This package can be used on its own in portable Haskell code, in which case
13010operations need to be manually lifted through transformer stacks (see
13011@code{Control.Monad.Trans.Class} for some examples). Alternatively, it can be
13012used with the non-portable monad classes in the mtl or monads-tf packages,
13013which automatically lift operations introduced by monad transformers through
13014other transformers.")
13015 (license license:bsd-3)))
13016
dddbc90c
RV
13017(define-public ghc-transformers-base
13018 (package
13019 (name "ghc-transformers-base")
13020 (version "0.4.5.2")
13021 (source
13022 (origin
13023 (method url-fetch)
13024 (uri (string-append
13025 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
13026 version
13027 ".tar.gz"))
13028 (sha256
13029 (base32
13030 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
13031 (build-system haskell-build-system)
13032 (inputs
13033 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
13034 (home-page
13035 "https://hackage.haskell.org/package/transformers-compat")
13036 (synopsis
13037 "Backported transformer library")
13038 (description
13039 "Backported versions of types that were added to transformers in
13040transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
13041compatibility to run on old versions of the platform.")
13042 (license license:bsd-3)))
13043
13044(define-public ghc-transformers-compat
13045 (package
13046 (name "ghc-transformers-compat")
1c9c4d58 13047 (version "0.6.5")
dddbc90c
RV
13048 (source
13049 (origin
13050 (method url-fetch)
13051 (uri (string-append
13052 "https://hackage.haskell.org/package/transformers-compat"
13053 "/transformers-compat-" version ".tar.gz"))
13054 (sha256
13055 (base32
1c9c4d58 13056 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
13057 (build-system haskell-build-system)
13058 (home-page "https://github.com/ekmett/transformers-compat/")
13059 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
13060 (description "This package includes backported versions of types that were
13061added to transformers in transformers 0.3 and 0.4 for users who need strict
13062transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
13063but also need those types.")
13064 (license license:bsd-3)))
13065
13066(define-public ghc-tree-diff
13067 (package
13068 (name "ghc-tree-diff")
b4e26067 13069 (version "0.1")
dddbc90c
RV
13070 (source
13071 (origin
13072 (method url-fetch)
13073 (uri (string-append
13074 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
13075 version
13076 ".tar.gz"))
13077 (sha256
13078 (base32
b4e26067 13079 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 13080 (build-system haskell-build-system)
dddbc90c
RV
13081 (inputs
13082 `(("ghc-aeson" ,ghc-aeson)
13083 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13084 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13085 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 13086 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 13087 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
13088 ("ghc-parsers" ,ghc-parsers)
13089 ("ghc-quickcheck" ,ghc-quickcheck)
13090 ("ghc-scientific" ,ghc-scientific)
13091 ("ghc-tagged" ,ghc-tagged)
13092 ("ghc-unordered-containers" ,ghc-unordered-containers)
13093 ("ghc-uuid-types" ,ghc-uuid-types)
13094 ("ghc-vector" ,ghc-vector)))
13095 (native-inputs
13096 `(("ghc-base-compat" ,ghc-base-compat)
13097 ("ghc-quickcheck" ,ghc-quickcheck)
13098 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13099 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13100 ("ghc-trifecta" ,ghc-trifecta)
13101 ("ghc-tasty" ,ghc-tasty)
13102 ("ghc-tasty-golden" ,ghc-tasty-golden)
13103 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13104 (home-page "https://github.com/phadej/tree-diff")
13105 (synopsis "Compute difference between (expression) trees")
13106 (description "This Haskell library provides a function for computing
13107the difference between (expression) trees. It also provides a way to
13108compute the difference between arbitrary abstract datatypes (ADTs) using
13109@code{Generics}-derivable helpers.")
13110 (license license:bsd-3)))
13111
13112(define-public ghc-trifecta
13113 (package
13114 (name "ghc-trifecta")
13115 (version "2")
13116 (source (origin
13117 (method url-fetch)
13118 (uri (string-append
13119 "https://hackage.haskell.org/package/trifecta/"
13120 "trifecta-" version ".tar.gz"))
13121 (sha256
13122 (base32
13123 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
13124 (build-system haskell-build-system)
5ffe8cfd
TS
13125 (arguments
13126 `(#:tests? #f ; doctest suite fails to build on i686
13127 #:cabal-revision
13128 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
13129 (inputs
13130 `(("ghc-reducers" ,ghc-reducers)
13131 ("ghc-semigroups" ,ghc-semigroups)
13132 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13133 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
13134 ("ghc-blaze-builder" ,ghc-blaze-builder)
13135 ("ghc-blaze-html" ,ghc-blaze-html)
13136 ("ghc-blaze-markup" ,ghc-blaze-markup)
13137 ("ghc-charset" ,ghc-charset)
13138 ("ghc-comonad" ,ghc-comonad)
13139 ("ghc-fingertree" ,ghc-fingertree)
13140 ("ghc-hashable" ,ghc-hashable)
13141 ("ghc-lens" ,ghc-lens)
13142 ("ghc-parsers" ,ghc-parsers)
13143 ("ghc-profunctors" ,ghc-profunctors)
13144 ("ghc-unordered-containers" ,ghc-unordered-containers)
13145 ("ghc-utf8-string" ,ghc-utf8-string)))
13146 (native-inputs
13147 `(("cabal-doctest" ,cabal-doctest)
13148 ("ghc-doctest" ,ghc-doctest)
13149 ("ghc-quickcheck" ,ghc-quickcheck)))
13150 (home-page "https://github.com/ekmett/trifecta/")
13151 (synopsis "Parser combinator library with convenient diagnostics")
13152 (description "Trifecta is a modern parser combinator library for Haskell,
13153with slicing and Clang-style colored diagnostics.")
13154 (license license:bsd-3)))
13155
13156(define-public ghc-tuple-th
13157 (package
13158 (name "ghc-tuple-th")
13159 (version "0.2.5")
13160 (source
13161 (origin
13162 (method url-fetch)
13163 (uri (string-append "https://hackage.haskell.org/package/"
13164 "tuple-th-" version "/"
13165 "tuple-th-" version ".tar.gz"))
13166 (sha256
13167 (base32
13168 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
13169 (build-system haskell-build-system)
13170 (home-page "https://github.com/DanielSchuessler/tuple-th")
13171 (synopsis "Generate utility functions for tuples of statically known size
13172for Haskell")
13173 (description "This Haskell package contains Template Haskell functions for
13174generating functions similar to those in @code{Data.List} for tuples of
13175statically known size.")
13176 (license license:bsd-3)))
13177
9f776fe2
JS
13178(define-public ghc-turtle
13179 (package
13180 (name "ghc-turtle")
13181 (version "1.5.15")
13182 (source
13183 (origin
13184 (method url-fetch)
13185 (uri (string-append
13186 "mirror://hackage/package/turtle/turtle-"
13187 version
13188 ".tar.gz"))
13189 (sha256
13190 (base32
13191 "0yckgsc2a4g5x867gni80ldp226bsnhncfbil4ql6v2zwm4r8p7f"))))
13192 (build-system haskell-build-system)
13193 (inputs
13194 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
13195 ("ghc-async" ,ghc-async)
13196 ("ghc-clock" ,ghc-clock)
13197 ("ghc-exceptions" ,ghc-exceptions)
13198 ("ghc-foldl" ,ghc-foldl)
13199 ("ghc-hostname" ,ghc-hostname)
13200 ("ghc-managed" ,ghc-managed)
13201 ("ghc-semigroups" ,ghc-semigroups)
13202 ("ghc-system-filepath" ,ghc-system-filepath)
13203 ("ghc-system-fileio" ,ghc-system-fileio)
13204 ("ghc-streaming-commons" ,ghc-streaming-commons)
13205 ("ghc-temporary" ,ghc-temporary)
13206 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
13207 ("ghc-optional-args" ,ghc-optional-args)
13208 ("ghc-unix-compat" ,ghc-unix-compat)))
13209 (native-inputs
13210 `(("ghc-doctest" ,ghc-doctest)
13211 ("ghc-fail" ,ghc-fail)))
13212 (arguments
13213 `(#:cabal-revision
13214 ("1" "02q1rv7zx31xz9wnmcqwd4w3iw7623p07iyi21zr0cqlignic5pg")))
13215 (home-page
13216 "http://hackage.haskell.org/package/turtle")
13217 (synopsis "Shell programming, Haskell-style")
13218 (description
13219 "Turtle is a reimplementation of the Unix command line environment in
13220Haskell so that you can use Haskell as both a shell and a scripting
13221language. Features include:
13222
13223@itemize
13224@item Batteries included: Command an extended suite of predefined utilities.
13225@item Interoperability: You can still run external shell commands.
13226@item Portability: Works on Windows, OS X, and Linux.
13227@item Exception safety: Safely acquire and release resources.
13228@item Streaming: Transform or fold command output in constant space.
13229@item Patterns: Use typed regular expressions that can parse structured values.
13230@item Formatting: Type-safe printf-style text formatting.
13231@item Modern: Supports text and system-filepath.
13232@end itemize
13233
13234Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a
13235quick-start guide. Turtle is designed to be beginner-friendly, but as a
13236result lacks certain features, like tracing commands. If you feel comfortable
13237using turtle then you should also check out the Shelly library which provides
13238similar functionality.")
13239 (license license:bsd-3)))
13240
dddbc90c
RV
13241(define-public ghc-typed-process
13242 (package
13243 (name "ghc-typed-process")
72fb84a5 13244 (version "0.2.6.0")
dddbc90c
RV
13245 (source
13246 (origin
13247 (method url-fetch)
13248 (uri (string-append "https://hackage.haskell.org/package/"
13249 "typed-process/typed-process-"
13250 version ".tar.gz"))
13251 (sha256
13252 (base32
72fb84a5 13253 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
13254 (build-system haskell-build-system)
13255 (inputs
72fb84a5
TS
13256 `(("ghc-async" ,ghc-async)
13257 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
13258 (native-inputs
13259 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
13260 ("ghc-hspec" ,ghc-hspec)
13261 ("hspec-discover" ,hspec-discover)
13262 ("ghc-temporary" ,ghc-temporary)))
13263 (home-page "https://haskell-lang.org/library/typed-process")
13264 (synopsis "Run external processes with strong typing of streams")
13265 (description
13266 "This library provides the ability to launch and interact with external
13267processes. It wraps around the @code{process} library, and intends to improve
13268upon it.")
13269 (license license:expat)))
13270
d392f803
AG
13271(define-public ghc-unagi-chan
13272 (package
13273 (name "ghc-unagi-chan")
13274 (version "0.4.1.2")
13275 (source
13276 (origin
13277 (method url-fetch)
13278 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
13279 "/unagi-chan-" version ".tar.gz"))
13280 (sha256
13281 (base32
13282 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
13283 (build-system haskell-build-system)
13284 (inputs
13285 `(("ghc-atomic-primops" ,ghc-atomic-primops)
13286 ("ghc-primitive" ,ghc-primitive)))
13287 (arguments
13288 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
13289 #:cabal-revision
13290 ("1"
13291 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
3ef91e15 13292 (home-page "https://hackage.haskell.org/package/unagi-chan")
d392f803
AG
13293 (synopsis "Fast concurrent queues with a Chan-like API, and more")
13294 (description
13295 "This library provides implementations of concurrent FIFO queues (for
13296both general boxed and primitive unboxed values) that are fast, perform well
13297under contention, and offer a Chan-like interface. The library may be of
13298limited usefulness outside of x86 architectures where the fetch-and-add
13299instruction is not available.")
13300 (license license:bsd-3)))
13301
dddbc90c
RV
13302(define-public ghc-unbounded-delays
13303 (package
13304 (name "ghc-unbounded-delays")
13305 (version "0.1.1.0")
13306 (source
13307 (origin
13308 (method url-fetch)
13309 (uri (string-append
13310 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
13311 version
13312 ".tar.gz"))
13313 (sha256
13314 (base32
13315 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
13316 (build-system haskell-build-system)
13317 (home-page "https://github.com/basvandijk/unbounded-delays")
13318 (synopsis "Unbounded thread delays and timeouts")
13319 (description "The @code{threadDelay} and @code{timeout} functions from the
13320Haskell base library use the bounded @code{Int} type for specifying the delay
13321or timeout period. This package provides alternative functions which use the
13322unbounded @code{Integer} type.")
13323 (license license:bsd-3)))
13324
13325(define-public ghc-unexceptionalio
13326 (package
13327 (name "ghc-unexceptionalio")
13328 (version "0.4.0")
13329 (source
13330 (origin
13331 (method url-fetch)
13332 (uri (string-append "https://hackage.haskell.org/package/"
13333 "unexceptionalio-" version "/" "unexceptionalio-"
13334 version ".tar.gz"))
13335 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
13336 (build-system haskell-build-system)
13337 (home-page "https://github.com/singpolyma/unexceptionalio")
13338 (synopsis "IO without any non-error, synchronous exceptions")
13339 (description "When you've caught all the exceptions that can be
13340handled safely, this is what you're left with.")
13341 (license license:isc)))
13342
b69d4aa7
TS
13343(define-public ghc-unicode-transforms
13344 (package
13345 (name "ghc-unicode-transforms")
13346 (version "0.3.6")
13347 (source
13348 (origin
13349 (method url-fetch)
13350 (uri (string-append "https://hackage.haskell.org/package/"
13351 "unicode-transforms/unicode-transforms-"
13352 version ".tar.gz"))
13353 (sha256
13354 (base32
13355 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
13356 (build-system haskell-build-system)
13357 (inputs
13358 `(("ghc-bitarray" ,ghc-bitarray)))
13359 (native-inputs
13360 `(("ghc-quickcheck" ,ghc-quickcheck)
13361 ("ghc-getopt-generics" ,ghc-getopt-generics)
13362 ("ghc-split" ,ghc-split)))
13363 (home-page "https://github.com/composewell/unicode-transforms")
13364 (synopsis "Unicode normalization")
13365 (description "This library provides tools for fast Unicode 12.1.0
13366normalization in Haskell (normalization forms C, KC, D, and KD).")
13367 (license license:bsd-3)))
13368
dddbc90c
RV
13369(define-public ghc-union-find
13370 (package
13371 (name "ghc-union-find")
13372 (version "0.2")
13373 (source (origin
13374 (method url-fetch)
13375 (uri (string-append
13376 "https://hackage.haskell.org/package/union-find/union-find-"
13377 version ".tar.gz"))
13378 (sha256
13379 (base32
13380 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
13381 (build-system haskell-build-system)
13382 (home-page "https://github.com/nominolo/union-find")
13383 (synopsis "Efficient union and equivalence testing of sets")
13384 (description
13385 "The Union/Find algorithm implements these operations in (effectively)
13386constant-time:
13387@enumerate
13388@item Check whether two elements are in the same equivalence class.
13389@item Create a union of two equivalence classes.
13390@item Look up the descriptor of the equivalence class.
13391@end enumerate\n")
13392 (license license:bsd-3)))
13393
13394(define-public ghc-uniplate
13395 (package
13396 (name "ghc-uniplate")
13397 (version "1.6.12")
13398 (source
13399 (origin
13400 (method url-fetch)
13401 (uri (string-append
13402 "https://hackage.haskell.org/package/uniplate/uniplate-"
13403 version
13404 ".tar.gz"))
13405 (sha256
13406 (base32
13407 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
13408 (build-system haskell-build-system)
13409 (inputs
13410 `(("ghc-syb" ,ghc-syb)
13411 ("ghc-hashable" ,ghc-hashable)
13412 ("ghc-unordered-containers" ,ghc-unordered-containers)))
13413 (home-page "http://community.haskell.org/~ndm/uniplate/")
13414 (synopsis "Simple, concise and fast generic operations")
13415 (description "Uniplate is a library for writing simple and concise generic
13416operations. Uniplate has similar goals to the original Scrap Your Boilerplate
13417work, but is substantially simpler and faster.")
13418 (license license:bsd-3)))
13419
13420(define-public ghc-unix-compat
13421 (package
13422 (name "ghc-unix-compat")
bc82e9f5 13423 (version "0.5.2")
dddbc90c
RV
13424 (source
13425 (origin
13426 (method url-fetch)
13427 (uri (string-append
13428 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
13429 version
13430 ".tar.gz"))
13431 (sha256
13432 (base32
bc82e9f5 13433 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
13434 (build-system haskell-build-system)
13435 (home-page
13436 "https://github.com/jystic/unix-compat")
13437 (synopsis "Portable POSIX-compatibility layer")
13438 (description
13439 "This package provides portable implementations of parts of the unix
13440package. This package re-exports the unix package when available. When it
13441isn't available, portable implementations are used.")
13442 (license license:bsd-3)))
13443
13444(define-public ghc-unix-time
13445 (package
13446 (name "ghc-unix-time")
fad9cff2 13447 (version "0.4.7")
dddbc90c
RV
13448 (source
13449 (origin
13450 (method url-fetch)
13451 (uri (string-append
13452 "https://hackage.haskell.org/package/unix-time/unix-time-"
13453 version
13454 ".tar.gz"))
13455 (sha256
13456 (base32
fad9cff2 13457 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
13458 (build-system haskell-build-system)
13459 (arguments
13460 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
13461 ; is weird, that should be provided by GHC 7.10.2.
13462 (inputs
13463 `(("ghc-old-time" ,ghc-old-time)
13464 ("ghc-old-locale" ,ghc-old-locale)))
13465 (home-page "https://hackage.haskell.org/package/unix-time")
13466 (synopsis "Unix time parser/formatter and utilities")
13467 (description "This library provides fast parsing and formatting utilities
13468for Unix time in Haskell.")
13469 (license license:bsd-3)))
13470
13471(define-public ghc-unliftio
13472 (package
13473 (name "ghc-unliftio")
a4084db1 13474 (version "0.2.12")
dddbc90c
RV
13475 (source
13476 (origin
13477 (method url-fetch)
13478 (uri (string-append
13479 "https://hackage.haskell.org/package/unliftio/unliftio-"
13480 version
13481 ".tar.gz"))
13482 (sha256
13483 (base32
a4084db1 13484 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
13485 (build-system haskell-build-system)
13486 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
13487 (inputs
13488 `(("ghc-async" ,ghc-async)
13489 ("ghc-unliftio-core" ,ghc-unliftio-core)))
13490 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
13491 (home-page "https://github.com/fpco/unliftio")
13492 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
13493IO (batteries included)")
13494 (description "This Haskell package provides the core @code{MonadUnliftIO}
13495typeclass, a number of common instances, and a collection of common functions
13496working with it.")
13497 (license license:expat)))
13498
13499(define-public ghc-unliftio-core
13500 (package
13501 (name "ghc-unliftio-core")
2ae42618 13502 (version "0.1.2.0")
dddbc90c
RV
13503 (source
13504 (origin
13505 (method url-fetch)
13506 (uri (string-append "https://hackage.haskell.org/package/"
13507 "unliftio-core-" version "/"
13508 "unliftio-core-" version ".tar.gz"))
13509 (sha256
13510 (base32
2ae42618 13511 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
13512 (build-system haskell-build-system)
13513 (arguments
13514 `(#:cabal-revision
2ae42618 13515 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
13516 (home-page
13517 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
13518 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
13519 (description "This Haskell package provides the core @code{MonadUnliftIO}
13520typeclass, instances for base and transformers, and basic utility
13521functions.")
13522 (license license:expat)))
13523
13524(define-public ghc-unordered-containers
13525 (package
13526 (name "ghc-unordered-containers")
ca01f8d3 13527 (version "0.2.10.0")
dddbc90c
RV
13528 (outputs '("out" "doc"))
13529 (source
13530 (origin
13531 (method url-fetch)
13532 (uri (string-append
13533 "https://hackage.haskell.org/package/unordered-containers"
13534 "/unordered-containers-" version ".tar.gz"))
13535 (sha256
13536 (base32
ca01f8d3 13537 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
13538 (build-system haskell-build-system)
13539 (inputs
13540 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
13541 ("ghc-hunit" ,ghc-hunit)
13542 ("ghc-quickcheck" ,ghc-quickcheck)
13543 ("ghc-test-framework" ,ghc-test-framework)
13544 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13545 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13546 ("ghc-hashable" ,ghc-hashable)))
13547 (home-page
13548 "https://github.com/tibbe/unordered-containers")
13549 (synopsis
13550 "Efficient hashing-based container types")
13551 (description
13552 "Efficient hashing-based container types. The containers have been
13553optimized for performance critical use, both in terms of large data quantities
13554and high speed.")
13555 (license license:bsd-3)))
13556
13557(define-public ghc-unordered-containers-bootstrap
13558 (package
13559 (inherit ghc-unordered-containers)
13560 (name "ghc-unordered-containers-bootstrap")
13561 (arguments `(#:tests? #f))
13562 (inputs
13563 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 13564 (properties '((hidden? #t)))))
dddbc90c 13565
a52f4c57
JS
13566(define-public ghc-unsafe
13567 (package
13568 (name "ghc-unsafe")
13569 (version "0.0")
13570 (source
13571 (origin
13572 (method url-fetch)
13573 (uri
13574 (string-append
13575 "https://hackage.haskell.org/package/unsafe/unsafe-"
13576 version ".tar.gz"))
13577 (sha256
13578 (base32
13579 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
13580 (build-system haskell-build-system)
13581 (home-page "https://hackage.haskell.org/package/unsafe")
13582 (synopsis "Unified interface to unsafe functions")
13583 (description "Safe Haskell introduced the notion of safe and unsafe
13584modules. In order to make as many as possible modules ``safe'', the
13585well-known unsafe functions were moved to distinguished modules. This
13586makes it hard to write packages that work with both old and new versions
13587of GHC. This package provides a single module System.Unsafe that
13588exports the unsafe functions from the base package. It provides them in
13589a style ready for qualification, that is, you should import them by
13590@code{import qualified System.Unsafe as Unsafe}.")
13591 (license license:bsd-3)))
13592
dddbc90c
RV
13593(define-public ghc-uri-bytestring
13594 (package
13595 (name "ghc-uri-bytestring")
d35ffd39 13596 (version "0.3.2.2")
dddbc90c
RV
13597 (source
13598 (origin
13599 (method url-fetch)
13600 (uri (string-append "https://hackage.haskell.org/package/"
13601 "uri-bytestring-" version "/"
13602 "uri-bytestring-" version ".tar.gz"))
13603 (sha256
13604 (base32
d35ffd39 13605 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
13606 (build-system haskell-build-system)
13607 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
13608 ("ghc-blaze-builder" ,ghc-blaze-builder)
13609 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 13610 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
13611 ("ghc-tasty" ,ghc-tasty)
13612 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
13613 ("ghc-hedgehog" ,ghc-hedgehog)
13614 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 13615 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 13616 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 13617 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
13618 (home-page "https://github.com/Soostone/uri-bytestring")
13619 (synopsis "Haskell URI parsing as ByteStrings")
13620 (description "This Haskell package aims to be an RFC3986 compliant URI
13621parser that uses ByteStrings for parsing and representing the URI data.")
13622 (license license:bsd-3)))
13623
d7ad0823
JS
13624(define-public ghc-utf8-light
13625 (package
13626 (name "ghc-utf8-light")
13627 (version "0.4.2")
13628 (source
13629 (origin
13630 (method url-fetch)
13631 (uri (string-append
13632 "mirror://hackage/package/utf8-light/utf8-light-"
13633 version
13634 ".tar.gz"))
13635 (sha256
13636 (base32
13637 "0rwyc5z331yfnm4hpx0sph6i1zvkd1z10vvglhnp0vc9wy644k0q"))))
13638 (build-system haskell-build-system)
13639 (home-page
13640 "http://hackage.haskell.org/package/utf8-light")
13641 (synopsis "Lightweight unicode support for Haskell")
13642 (description
13643 "This package profides a class for encoding and decoding UTF8 strings
13644with instances for several common types. It also includes several functions
13645for working with UTF8. It aims to be lightweight, depending only on Base and
13646including only one module.")
13647 (license license:bsd-3)))
13648
dddbc90c
RV
13649(define-public ghc-utf8-string
13650 (package
13651 (name "ghc-utf8-string")
13652 (version "1.0.1.1")
13653 (source
13654 (origin
13655 (method url-fetch)
13656 (uri (string-append
13657 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
13658 version
13659 ".tar.gz"))
13660 (sha256
13661 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
13662 (build-system haskell-build-system)
13663 (arguments
13664 `(#:cabal-revision
13665 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
13666 (home-page "https://github.com/glguy/utf8-string/")
13667 (synopsis "Support for reading and writing UTF8 Strings")
13668 (description
13669 "A UTF8 layer for Strings. The utf8-string package provides operations
13670for encoding UTF8 strings to Word8 lists and back, and for reading and writing
13671UTF8 without truncation.")
13672 (license license:bsd-3)))
13673
13674(define-public ghc-utility-ht
13675 (package
13676 (name "ghc-utility-ht")
13677 (version "0.0.14")
13678 (home-page "https://hackage.haskell.org/package/utility-ht")
13679 (source
13680 (origin
13681 (method url-fetch)
13682 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
13683 (sha256
13684 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
13685 (build-system haskell-build-system)
13686 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
13687 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
13688 (description "This package includes Hakell modules providing various
13689helper functions for Lists, Maybes, Tuples, Functions.")
13690 (license license:bsd-3)))
13691
13692(define-public ghc-uuid
13693 (package
13694 (name "ghc-uuid")
13695 (version "1.3.13")
13696 (source
13697 (origin
13698 (method url-fetch)
13699 (uri (string-append "https://hackage.haskell.org/package/"
13700 "uuid-" version "/"
13701 "uuid-" version ".tar.gz"))
13702 (sha256
13703 (base32
13704 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
13705 (build-system haskell-build-system)
13706 (arguments
13707 `(#:cabal-revision
13708 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
13709 #:phases
13710 (modify-phases %standard-phases
13711 (add-before 'configure 'strip-test-framework-constraints
13712 (lambda _
13713 (substitute* "uuid.cabal"
13714 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
13715 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
13716 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13717 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13718 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13719 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
13720 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
13721 ("ghc-entropy" ,ghc-entropy)
13722 ("ghc-network-info" ,ghc-network-info)
13723 ("ghc-random" ,ghc-random)
13724 ("ghc-uuid-types" ,ghc-uuid-types)))
13725 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13726 ("ghc-quickcheck" ,ghc-quickcheck)
13727 ("ghc-tasty" ,ghc-tasty)
13728 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13729 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13730 (home-page "https://github.com/hvr/uuid")
13731 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
13732 (description "This Haskell library provides utilities creating, comparing,
13733parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
13734 (license license:bsd-3)))
13735
13736(define-public ghc-uuid-types
13737 (package
13738 (name "ghc-uuid-types")
13739 (version "1.0.3")
13740 (source
13741 (origin
13742 (method url-fetch)
13743 (uri (string-append "https://hackage.haskell.org/package/"
13744 "uuid-types-" version "/"
13745 "uuid-types-" version ".tar.gz"))
13746 (sha256
13747 (base32
13748 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
13749 (build-system haskell-build-system)
13750 (arguments
13751 `(#:phases
13752 (modify-phases %standard-phases
13753 (add-before 'configure 'strip-test-framework-constraints
13754 (lambda _
13755 (substitute* "uuid-types.cabal"
13756 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
13757 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
13758 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
13759 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
13760 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13761 (inputs `(("ghc-hashable" ,ghc-hashable)
13762 ("ghc-random" ,ghc-random)))
13763 (native-inputs `(("ghc-hunit" ,ghc-hunit)
13764 ("ghc-quickcheck" ,ghc-quickcheck)
13765 ("ghc-tasty" ,ghc-tasty)
13766 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13767 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13768 (home-page "https://github.com/hvr/uuid")
13769 (synopsis "Haskell type definitions for UUIDs")
13770 (description "This Haskell library contains type definitions for
13771@dfn{Universally Unique Identifiers} or
13772@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
13773functions.")
13774 (license license:bsd-3)))
13775
13776(define-public ghc-validation
13777 (package
13778 (name "ghc-validation")
08397fde 13779 (version "1.1")
dddbc90c
RV
13780 (source
13781 (origin
13782 (method url-fetch)
13783 (uri (string-append
13784 "mirror://hackage/package/validation/validation-"
13785 version
13786 ".tar.gz"))
13787 (sha256
13788 (base32
08397fde 13789 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
13790 (build-system haskell-build-system)
13791 (arguments
13792 `(#:cabal-revision
08397fde 13793 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
13794 (inputs
13795 `(("ghc-semigroups" ,ghc-semigroups)
13796 ("ghc-semigroupoids" ,ghc-semigroupoids)
13797 ("ghc-bifunctors" ,ghc-bifunctors)
13798 ("ghc-lens" ,ghc-lens)))
13799 (native-inputs
13800 `(("ghc-hedgehog" ,ghc-hedgehog)
13801 ("ghc-hunit" ,ghc-hunit)))
13802 (home-page "https://github.com/qfpl/validation")
13803 (synopsis
13804 "Data-type like Either but with an accumulating Applicative")
13805 (description
13806 "A data-type like Either but with differing properties and type-class
13807instances.
13808
13809Library support is provided for this different representation, including
13810@code{lens}-related functions for converting between each and abstracting over
13811their similarities.
13812
13813The @code{Validation} data type is isomorphic to @code{Either}, but has an
13814instance of @code{Applicative} that accumulates on the error side. That is to
13815say, if two (or more) errors are encountered, they are appended using a
13816@{Semigroup} operation.
13817
13818As a consequence of this @code{Applicative} instance, there is no
13819corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
13820example of, \"An applicative functor that is not a monad.\"")
13821 (license license:bsd-3)))
13822
13823(define-public ghc-validity
13824 (package
13825 (name "ghc-validity")
3f1ba75d 13826 (version "0.9.0.2")
dddbc90c
RV
13827 (source
13828 (origin
13829 (method url-fetch)
13830 (uri (string-append
13831 "https://hackage.haskell.org/package/validity/validity-"
13832 version
13833 ".tar.gz"))
13834 (sha256
13835 (base32
3f1ba75d 13836 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
13837 (build-system haskell-build-system)
13838 (native-inputs `(("ghc-hspec" ,ghc-hspec)
13839 ("hspec-discover" ,hspec-discover)))
13840 (home-page
13841 "https://github.com/NorfairKing/validity")
13842 (synopsis "Validity typeclass")
13843 (description
13844 "Values of custom types usually have invariants imposed upon them. This
13845package provides the @code{Validity} type class, which makes these invariants
13846explicit by providing a function to check whether the invariants hold.")
13847 (license license:expat)))
13848
13849(define-public ghc-vault
13850 (package
13851 (name "ghc-vault")
b40a436e 13852 (version "0.3.1.3")
dddbc90c
RV
13853 (source
13854 (origin
13855 (method url-fetch)
13856 (uri (string-append
13857 "https://hackage.haskell.org/package/vault/vault-"
13858 version
13859 ".tar.gz"))
13860 (sha256
13861 (base32
b40a436e 13862 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
13863 (build-system haskell-build-system)
13864 (inputs
13865 `(("ghc-unordered-containers" ,ghc-unordered-containers)
13866 ("ghc-hashable" ,ghc-hashable)
b40a436e 13867 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
13868 (home-page
13869 "https://github.com/HeinrichApfelmus/vault")
13870 (synopsis "Persistent store for arbitrary values")
13871 (description "This package provides vaults for Haskell. A vault is a
13872persistent store for values of arbitrary types. It's like having first-class
13873access to the storage space behind @code{IORefs}. The data structure is
13874analogous to a bank vault, where you can access different bank boxes with
13875different keys; hence the name. Also provided is a @code{locker} type,
13876representing a store for a single element.")
13877 (license license:bsd-3)))
13878
13879(define-public ghc-vector
13880 (package
13881 (name "ghc-vector")
3ad67f6b 13882 (version "0.12.0.3")
dddbc90c
RV
13883 (outputs '("out" "doc"))
13884 (source
13885 (origin
13886 (method url-fetch)
13887 (uri (string-append
13888 "https://hackage.haskell.org/package/vector/vector-"
13889 version
13890 ".tar.gz"))
13891 (sha256
13892 (base32
3ad67f6b 13893 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
13894 (build-system haskell-build-system)
13895 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
13896 ;; disabled for now.
13897 (arguments
3ad67f6b 13898 `(#:tests? #f))
dddbc90c
RV
13899 (inputs
13900 `(("ghc-primitive" ,ghc-primitive)
13901 ("ghc-random" ,ghc-random)
13902 ("ghc-quickcheck" ,ghc-quickcheck)
13903 ;; ("ghc-hunit" ,ghc-hunit)
13904 ;; ("ghc-test-framework" ,ghc-test-framework)
13905 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
13906 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
13907 ))
13908 (home-page "https://github.com/haskell/vector")
13909 (synopsis "Efficient Arrays")
13910 (description "This library provides an efficient implementation of
13911Int-indexed arrays (both mutable and immutable), with a powerful loop
13912optimisation framework.")
13913 (license license:bsd-3)))
13914
13915(define-public ghc-vector-algorithms
13916 (package
13917 (name "ghc-vector-algorithms")
e71f316f 13918 (version "0.8.0.1")
dddbc90c
RV
13919 (source
13920 (origin
13921 (method url-fetch)
13922 (uri (string-append "https://hackage.haskell.org/package/"
13923 "vector-algorithms-" version "/"
13924 "vector-algorithms-" version ".tar.gz"))
13925 (sha256
13926 (base32
e71f316f 13927 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
13928 (build-system haskell-build-system)
13929 (inputs
13930 `(("ghc-vector" ,ghc-vector)))
13931 (native-inputs
13932 `(("ghc-quickcheck" ,ghc-quickcheck)))
13933 (home-page "https://github.com/bos/math-functions")
13934 (synopsis "Algorithms for vector arrays in Haskell")
13935 (description "This Haskell library algorithms for vector arrays.")
13936 (license license:bsd-3)))
13937
13938(define-public ghc-vector-binary-instances
13939 (package
13940 (name "ghc-vector-binary-instances")
ca0701ef 13941 (version "0.2.5.1")
dddbc90c
RV
13942 (source
13943 (origin
13944 (method url-fetch)
13945 (uri (string-append
13946 "https://hackage.haskell.org/package/"
13947 "vector-binary-instances/vector-binary-instances-"
13948 version ".tar.gz"))
13949 (sha256
13950 (base32
ca0701ef 13951 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 13952 (build-system haskell-build-system)
dddbc90c
RV
13953 (inputs
13954 `(("ghc-vector" ,ghc-vector)))
13955 (native-inputs
13956 `(("ghc-tasty" ,ghc-tasty)
13957 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13958 (home-page "https://github.com/bos/vector-binary-instances")
13959 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
13960 (description "This library provides instances of @code{Binary} for the
13961types defined in the @code{vector} package, making it easy to serialize
13962vectors to and from disk. We use the generic interface to vectors, so all
13963vector types are supported. Specific instances are provided for unboxed,
13964boxed and storable vectors.")
13965 (license license:bsd-3)))
13966
13967(define-public ghc-vector-builder
13968 (package
13969 (name "ghc-vector-builder")
1fc05441 13970 (version "0.3.8")
dddbc90c
RV
13971 (source
13972 (origin
13973 (method url-fetch)
13974 (uri (string-append "https://hackage.haskell.org/package/"
13975 "vector-builder-" version "/"
13976 "vector-builder-" version ".tar.gz"))
13977 (sha256
13978 (base32
1fc05441 13979 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
13980 (build-system haskell-build-system)
13981 (inputs `(("ghc-vector" ,ghc-vector)
13982 ("ghc-semigroups" ,ghc-semigroups)
13983 ("ghc-base-prelude" ,ghc-base-prelude)))
13984 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
13985 ("ghc-tasty" ,ghc-tasty)
13986 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13987 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
13988 ("ghc-hunit" ,ghc-hunit)
13989 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
13990 ("ghc-rerebase" ,ghc-rerebase)))
13991 (home-page "https://github.com/nikita-volkov/vector-builder")
13992 (synopsis "Vector builder for Haskell")
13993 (description "This Haskell package provides an API for constructing vectors.
13994It provides the composable @code{Builder} abstraction, which has instances of the
13995@code{Monoid} and @code{Semigroup} classes.
13996
13997You would first use the @code{Builder} abstraction to specify the structure of
13998the vector; then you can execute the builder to actually produce the
13999vector. ")
14000 (license license:expat)))
14001
14002(define-public ghc-vector-th-unbox
14003 (package
14004 (name "ghc-vector-th-unbox")
63056e61 14005 (version "0.2.1.7")
dddbc90c
RV
14006 (source
14007 (origin
14008 (method url-fetch)
14009 (uri (string-append "https://hackage.haskell.org/package/"
14010 "vector-th-unbox-" version "/"
14011 "vector-th-unbox-" version ".tar.gz"))
14012 (sha256
14013 (base32
63056e61 14014 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
14015 (build-system haskell-build-system)
14016 (inputs
14017 `(("ghc-vector" ,ghc-vector)
14018 ("ghc-data-default" ,ghc-data-default)))
14019 (home-page "https://github.com/liyang/vector-th-unbox")
14020 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
14021 (description "This Haskell library provides a Template Haskell
14022deriver for unboxed vectors, given a pair of coercion functions to
14023and from some existing type with an Unbox instance.")
14024 (license license:bsd-3)))
14025
14026(define-public ghc-void
14027 (package
14028 (name "ghc-void")
51889121 14029 (version "0.7.3")
dddbc90c
RV
14030 (source
14031 (origin
14032 (method url-fetch)
14033 (uri (string-append
14034 "https://hackage.haskell.org/package/void/void-"
14035 version
14036 ".tar.gz"))
14037 (sha256
14038 (base32
51889121 14039 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
14040 (build-system haskell-build-system)
14041 (inputs
14042 `(("ghc-semigroups" ,ghc-semigroups)
14043 ("ghc-hashable" ,ghc-hashable)))
14044 (home-page "https://github.com/ekmett/void")
14045 (synopsis
14046 "Logically uninhabited data type")
14047 (description
14048 "A Haskell 98 logically uninhabited data type, used to indicate that a
14049given term should not exist.")
14050 (license license:bsd-3)))
14051
14052(define-public ghc-wave
14053 (package
14054 (name "ghc-wave")
1631a0f7 14055 (version "0.2.0")
dddbc90c
RV
14056 (source (origin
14057 (method url-fetch)
14058 (uri (string-append
14059 "https://hackage.haskell.org/package/wave/wave-"
14060 version
14061 ".tar.gz"))
14062 (sha256
14063 (base32
1631a0f7 14064 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
14065 (build-system haskell-build-system)
14066 (arguments
14067 '(#:phases
14068 (modify-phases %standard-phases
14069 (add-before 'configure 'update-constraints
14070 (lambda _
14071 (substitute* "wave.cabal"
14072 (("temporary.* < 1\\.3")
14073 "temporary >= 1.1 && < 1.4")))))))
14074 (inputs
14075 `(("ghc-cereal" ,ghc-cereal)
14076 ("ghc-data-default-class"
14077 ,ghc-data-default-class)
14078 ("ghc-quickcheck" ,ghc-quickcheck)
14079 ("ghc-temporary" ,ghc-temporary)))
14080 (native-inputs
14081 `(("hspec-discover" ,hspec-discover)
14082 ("ghc-hspec" ,ghc-hspec)))
14083 (home-page "https://github.com/mrkkrp/wave")
14084 (synopsis "Work with WAVE and RF64 files in Haskell")
14085 (description "This package allows you to work with WAVE and RF64
14086files in Haskell.")
14087 (license license:bsd-3)))
14088
14089(define-public ghc-wcwidth
14090 (package
14091 (name "ghc-wcwidth")
14092 (version "0.0.2")
14093 (source
14094 (origin
14095 (method url-fetch)
14096 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
14097 version ".tar.gz"))
14098 (sha256
14099 (base32
14100 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
14101 (build-system haskell-build-system)
14102 (inputs
14103 `(("ghc-setlocale" ,ghc-setlocale)
14104 ("ghc-utf8-string" ,ghc-utf8-string)
14105 ("ghc-attoparsec" ,ghc-attoparsec)))
14106 (home-page "https://github.com/solidsnack/wcwidth/")
14107 (synopsis "Haskell bindings to wcwidth")
14108 (description "This package provides Haskell bindings to your system's
14109native wcwidth and a command line tool to examine the widths assigned by it.
14110The command line tool can compile a width table to Haskell code that assigns
14111widths to the Char type.")
14112 (license license:bsd-3)))
14113
14114(define-public ghc-wcwidth-bootstrap
14115 (package
14116 (inherit ghc-wcwidth)
14117 (name "ghc-wcwidth-bootstrap")
14118 (inputs
14119 `(("ghc-setlocale" ,ghc-setlocale)
14120 ("ghc-utf8-string" ,ghc-utf8-string)
14121 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 14122 (properties '((hidden? #t)))))
dddbc90c
RV
14123
14124(define-public ghc-weigh
14125 (package
14126 (name "ghc-weigh")
b6d9777f 14127 (version "0.0.14")
dddbc90c
RV
14128 (source
14129 (origin
14130 (method url-fetch)
14131 (uri (string-append "https://hackage.haskell.org/package/weigh/"
14132 "weigh-" version ".tar.gz"))
14133 (sha256
14134 (base32
b6d9777f 14135 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
14136 (build-system haskell-build-system)
14137 (inputs
14138 `(("ghc-split" ,ghc-split)
14139 ("ghc-temporary" ,ghc-temporary)))
14140 (home-page "https://github.com/fpco/weigh#readme")
14141 (synopsis "Measure allocations of a Haskell functions/values")
14142 (description "This package provides tools to measure the memory usage of a
14143Haskell value or function.")
14144 (license license:bsd-3)))
14145
14146(define-public ghc-wl-pprint
14147 (package
14148 (name "ghc-wl-pprint")
14149 (version "1.2.1")
14150 (source (origin
14151 (method url-fetch)
14152 (uri (string-append
14153 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
14154 version ".tar.gz"))
14155 (sha256
14156 (base32
14157 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
14158 (build-system haskell-build-system)
14159 (home-page "https://hackage.haskell.org/package/wl-pprint")
14160 (synopsis "Wadler/Leijen pretty printer")
14161 (description
14162 "This is a pretty printing library based on Wadler's paper @i{A Prettier
14163Printer}. This version allows the library user to declare overlapping
14164instances of the @code{Pretty} class.")
14165 (license license:bsd-3)))
14166
14167(define-public ghc-wl-pprint-annotated
14168 (package
14169 (name "ghc-wl-pprint-annotated")
14170 (version "0.1.0.1")
14171 (source
14172 (origin
14173 (method url-fetch)
14174 (uri (string-append
14175 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
14176 version
14177 ".tar.gz"))
14178 (sha256
14179 (base32
14180 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
14181 (build-system haskell-build-system)
14182 (native-inputs
14183 `(("ghc-tasty" ,ghc-tasty)
14184 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
14185 (home-page
14186 "https://github.com/minad/wl-pprint-annotated#readme")
14187 (synopsis
14188 "Wadler/Leijen pretty printer with annotation support")
14189 (description
14190 "Annotations are useful for coloring. This is a limited version of
14191@code{wl-pprint-extras} without support for point effects and without the free
14192monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
14193Compared to @code{annotated-wl-pprint} this library provides a slightly
14194modernized interface.")
14195 (license license:bsd-3)))
14196
14197(define-public ghc-wl-pprint-text
14198 (package
14199 (name "ghc-wl-pprint-text")
14200 (version "1.2.0.0")
14201 (source
14202 (origin
14203 (method url-fetch)
14204 (uri (string-append
14205 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
14206 version ".tar.gz"))
14207 (sha256
14208 (base32
14209 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
14210 (build-system haskell-build-system)
14211 (inputs
14212 `(("ghc-base-compat" ,ghc-base-compat)))
14213 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
14214 (synopsis "Wadler/Leijen Pretty Printer for Text values")
14215 (description
14216 "A clone of wl-pprint for use with the text library.")
14217 (license license:bsd-3)))
14218
14219(define-public ghc-word8
14220 (package
14221 (name "ghc-word8")
14222 (version "0.1.3")
14223 (source
14224 (origin
14225 (method url-fetch)
14226 (uri (string-append
14227 "https://hackage.haskell.org/package/word8/word8-"
14228 version
14229 ".tar.gz"))
14230 (sha256
14231 (base32
14232 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
14233 (build-system haskell-build-system)
14234 (native-inputs
14235 `(("ghc-hspec" ,ghc-hspec)
14236 ("hspec-discover" ,hspec-discover)))
14237 (home-page "https://hackage.haskell.org/package/word8")
14238 (synopsis "Word8 library for Haskell")
14239 (description "Word8 library to be used with @code{Data.ByteString}.")
14240 (license license:bsd-3)))
14241
14242(define-public ghc-x11
14243 (package
14244 (name "ghc-x11")
6c4581a3 14245 (version "1.9.1")
dddbc90c
RV
14246 (source
14247 (origin
14248 (method url-fetch)
14249 (uri (string-append "https://hackage.haskell.org/package/X11/"
14250 "X11-" version ".tar.gz"))
14251 (sha256
6c4581a3 14252 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
14253 (build-system haskell-build-system)
14254 (inputs
14255 `(("libx11" ,libx11)
14256 ("libxrandr" ,libxrandr)
14257 ("libxinerama" ,libxinerama)
14258 ("libxscrnsaver" ,libxscrnsaver)
14259 ("ghc-data-default" ,ghc-data-default)))
14260 (home-page "https://github.com/haskell-pkg-janitors/X11")
14261 (synopsis "Bindings to the X11 graphics library")
14262 (description
14263 "This package provides Haskell bindings to the X11 graphics library. The
14264bindings are a direct translation of the C bindings.")
14265 (license license:bsd-3)))
14266
14267(define-public ghc-x11-xft
14268 (package
14269 (name "ghc-x11-xft")
14270 (version "0.3.1")
14271 (source
14272 (origin
14273 (method url-fetch)
14274 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
14275 "X11-xft-" version ".tar.gz"))
14276 (sha256
14277 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
14278 (inputs
14279 `(("ghc-x11" ,ghc-x11)
14280 ("ghc-utf8-string" ,ghc-utf8-string)
14281 ("libx11" ,libx11)
14282 ("libxft" ,libxft)
14283 ("xorgproto" ,xorgproto)))
14284 (native-inputs
14285 `(("pkg-config" ,pkg-config)))
14286 (build-system haskell-build-system)
14287 (home-page "https://hackage.haskell.org/package/X11-xft")
14288 (synopsis "Bindings to Xft")
14289 (description
14290 "Bindings to the Xft, X Free Type interface library, and some Xrender
14291parts.")
14292 (license license:lgpl2.1)))
14293
14294(define-public ghc-xdg-basedir
14295 (package
14296 (name "ghc-xdg-basedir")
14297 (version "0.2.2")
14298 (source
14299 (origin
14300 (method url-fetch)
14301 (uri (string-append
14302 "https://hackage.haskell.org/package/xdg-basedir/"
14303 "xdg-basedir-" version ".tar.gz"))
14304 (sha256
14305 (base32
14306 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
14307 (build-system haskell-build-system)
14308 (home-page "http://github.com/willdonnelly/xdg-basedir")
14309 (synopsis "XDG Base Directory library for Haskell")
14310 (description "This package provides a library implementing the XDG Base Directory spec.")
14311 (license license:bsd-3)))
14312
14313(define-public ghc-xml
14314 (package
14315 (name "ghc-xml")
14316 (version "1.3.14")
14317 (source
14318 (origin
14319 (method url-fetch)
14320 (uri (string-append
14321 "https://hackage.haskell.org/package/xml/xml-"
14322 version
14323 ".tar.gz"))
14324 (sha256
14325 (base32
14326 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
14327 (build-system haskell-build-system)
2b62f5d0 14328 (home-page "https://github.com/GaloisInc/xml")
dddbc90c
RV
14329 (synopsis "Simple XML library for Haskell")
14330 (description "This package provides a simple XML library for Haskell.")
14331 (license license:bsd-3)))
14332
14333(define-public ghc-xml-conduit
14334 (package
14335 (name "ghc-xml-conduit")
14336 (version "1.8.0.1")
14337 (source
14338 (origin
14339 (method url-fetch)
14340 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
14341 "xml-conduit-" version ".tar.gz"))
14342 (sha256
14343 (base32
14344 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
14345 (build-system haskell-build-system)
14346 (inputs
14347 `(("ghc-conduit" ,ghc-conduit)
14348 ("ghc-conduit-extra" ,ghc-conduit-extra)
14349 ("ghc-doctest" ,ghc-doctest)
14350 ("ghc-resourcet" ,ghc-resourcet)
14351 ("ghc-xml-types" ,ghc-xml-types)
14352 ("ghc-attoparsec" ,ghc-attoparsec)
14353 ("ghc-data-default-class" ,ghc-data-default-class)
14354 ("ghc-blaze-markup" ,ghc-blaze-markup)
14355 ("ghc-blaze-html" ,ghc-blaze-html)
14356 ("ghc-monad-control" ,ghc-monad-control)
14357 ("ghc-hspec" ,ghc-hspec)
14358 ("ghc-hunit" ,ghc-hunit)))
14359 (home-page "https://github.com/snoyberg/xml")
14360 (synopsis "Utilities for dealing with XML with the conduit package")
14361 (description
14362 "This package provides pure-Haskell utilities for dealing with XML with
14363the @code{conduit} package.")
14364 (license license:expat)))
14365
14366(define-public ghc-xml-types
14367 (package
14368 (name "ghc-xml-types")
14369 (version "0.3.6")
14370 (source
14371 (origin
14372 (method url-fetch)
14373 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
14374 "xml-types-" version ".tar.gz"))
14375 (sha256
14376 (base32
14377 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
14378 (build-system haskell-build-system)
14379 (home-page "https://john-millikin.com/software/haskell-xml/")
14380 (synopsis "Basic types for representing XML")
14381 (description "This package provides basic types for representing XML
14382documents.")
14383 (license license:expat)))
14384
14385(define-public ghc-yaml
14386 (package
14387 (name "ghc-yaml")
b58e5b84 14388 (version "0.11.1.2")
dddbc90c
RV
14389 (source (origin
14390 (method url-fetch)
14391 (uri (string-append "https://hackage.haskell.org/package/"
14392 "yaml/yaml-" version ".tar.gz"))
14393 (sha256
14394 (base32
b58e5b84 14395 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 14396 (build-system haskell-build-system)
dddbc90c
RV
14397 (inputs
14398 `(("ghc-conduit" ,ghc-conduit)
14399 ("ghc-resourcet" ,ghc-resourcet)
14400 ("ghc-aeson" ,ghc-aeson)
14401 ("ghc-unordered-containers" ,ghc-unordered-containers)
14402 ("ghc-vector" ,ghc-vector)
14403 ("ghc-attoparsec" ,ghc-attoparsec)
14404 ("ghc-scientific" ,ghc-scientific)
14405 ("ghc-semigroups" ,ghc-semigroups)
14406 ("ghc-temporary" ,ghc-temporary)
14407 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
14408 ("ghc-base-compat" ,ghc-base-compat)
14409 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
14410 (native-inputs
14411 `(("ghc-hspec" ,ghc-hspec)
14412 ("ghc-hunit" ,ghc-hunit)
14413 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
14414 ("ghc-mockery" ,ghc-mockery)
14415 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
14416 (home-page "https://github.com/snoyberg/yaml/")
14417 (synopsis "Parsing and rendering YAML documents")
14418 (description
14419 "This package provides a library to parse and render YAML documents.")
14420 (license license:bsd-3)))
14421
14422(define-public ghc-zip-archive
14423 (package
14424 (name "ghc-zip-archive")
93c1fdd3 14425 (version "0.4.1")
dddbc90c
RV
14426 (source
14427 (origin
14428 (method url-fetch)
14429 (uri (string-append
14430 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
14431 version
14432 ".tar.gz"))
14433 (sha256
14434 (base32
93c1fdd3 14435 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 14436 (build-system haskell-build-system)
93c1fdd3
TS
14437 (arguments
14438 `(#:phases
14439 (modify-phases %standard-phases
14440 (add-before 'check 'set-PATH-for-tests
14441 (lambda* (#:key inputs #:allow-other-keys)
14442 (let ((unzip (assoc-ref inputs "unzip"))
14443 (which (assoc-ref inputs "which"))
14444 (path (getenv "PATH")))
14445 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
14446 #t))))))
dddbc90c
RV
14447 (inputs
14448 `(("ghc-digest" ,ghc-digest)
14449 ("ghc-temporary" ,ghc-temporary)
14450 ("ghc-zlib" ,ghc-zlib)))
14451 (native-inputs
14452 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
14453 ("unzip" ,unzip)
14454 ("which" ,which)))
dddbc90c
RV
14455 (home-page "https://hackage.haskell.org/package/zip-archive")
14456 (synopsis "Zip archive library for Haskell")
14457 (description "The zip-archive library provides functions for creating,
14458modifying, and extracting files from zip archives in Haskell.")
14459 (license license:bsd-3)))
14460
14461(define-public ghc-zlib
14462 (package
14463 (name "ghc-zlib")
bf12089a 14464 (version "0.6.2.1")
dddbc90c
RV
14465 (outputs '("out" "doc"))
14466 (source
14467 (origin
14468 (method url-fetch)
14469 (uri (string-append
14470 "https://hackage.haskell.org/package/zlib/zlib-"
14471 version
14472 ".tar.gz"))
14473 (sha256
14474 (base32
bf12089a 14475 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
14476 (build-system haskell-build-system)
14477 (arguments
14478 `(#:phases
14479 (modify-phases %standard-phases
14480 (add-before 'configure 'strip-test-framework-constraints
14481 (lambda _
14482 (substitute* "zlib.cabal"
14483 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
14484 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
14485 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
14486 (inputs `(("zlib" ,zlib)))
14487 (native-inputs
14488 `(("ghc-quickcheck" ,ghc-quickcheck)
14489 ("ghc-tasty" ,ghc-tasty)
14490 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
14491 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
14492 (home-page "https://hackage.haskell.org/package/zlib")
14493 (synopsis
14494 "Compression and decompression in the gzip and zlib formats")
14495 (description
14496 "This package provides a pure interface for compressing and decompressing
14497streams of data represented as lazy @code{ByteString}s. It uses the zlib C
14498library so it has high performance. It supports the @code{zlib}, @code{gzip}
14499and @code{raw} compression formats. It provides a convenient high level API
14500suitable for most tasks and for the few cases where more control is needed it
14501provides access to the full zlib feature set.")
bbf8bf31 14502 (license license:bsd-3)))
14e41996
RV
14503
14504(define-public ghc-zlib-bindings
14505 (package
14506 (name "ghc-zlib-bindings")
14507 (version "0.1.1.5")
14508 (source
14509 (origin
14510 (method url-fetch)
14511 (uri (string-append "https://hackage.haskell.org/package/"
14512 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
14513 (sha256
14514 (base32
14515 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
14516 (build-system haskell-build-system)
14517 (inputs
14518 `(("ghc-zlib" ,ghc-zlib)))
14519 (native-inputs
14520 `(("ghc-hspec" ,ghc-hspec)
14521 ("ghc-quickcheck" ,ghc-quickcheck)))
14522 (arguments
14523 `(#:cabal-revision
14524 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
14525 (home-page "https://github.com/snapframework/zlib-bindings")
14526 (synopsis "Low-level bindings to the @code{zlib} package")
14527 (description "This package provides low-level bindings to the
14528@code{zlib} package.")
14529 (license license:bsd-3)))
8428e92c
TS
14530
14531(define-public ghc-zstd
14532 (package
14533 (name "ghc-zstd")
14534 (version "0.1.1.2")
14535 (source
14536 (origin
14537 (method url-fetch)
14538 (uri (string-append "https://hackage.haskell.org/package/"
14539 "zstd/zstd-" version ".tar.gz"))
14540 (sha256
14541 (base32
14542 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
14543 (build-system haskell-build-system)
14544 (native-inputs
14545 `(("ghc-quickcheck" ,ghc-quickcheck)
14546 ("ghc-test-framework" ,ghc-test-framework)
14547 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
14548 (home-page "https://github.com/luispedro/hs-zstd")
14549 (synopsis "Haskell bindings to the Zstandard compression algorithm")
14550 (description "This library provides Haskell bindings to the
14551Zstandard compression algorithm, a fast lossless compression algorithm
14552targeting real-time compression scenarios at zlib-level and better
14553compression ratios.")
14554 (license license:bsd-3)))