gnu: Add ne.
[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>
7;;; Copyright © 2016, 2017 ng0 <ng0@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>
a52f4c57 22;;; Copyright © 2019 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>
6b34d01c
RV
26;;;
27;;; This file is part of GNU Guix.
28;;;
29;;; GNU Guix is free software; you can redistribute it and/or modify it
30;;; under the terms of the GNU General Public License as published by
31;;; the Free Software Foundation; either version 3 of the License, or (at
32;;; your option) any later version.
33;;;
34;;; GNU Guix is distributed in the hope that it will be useful, but
35;;; WITHOUT ANY WARRANTY; without even the implied warranty of
36;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
37;;; GNU General Public License for more details.
38;;;
39;;; You should have received a copy of the GNU General Public License
40;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
41
42(define-module (gnu packages haskell-xyz)
43 #:use-module (gnu packages)
dddbc90c
RV
44 #:use-module (gnu packages base)
45 #:use-module (gnu packages compression)
46 #:use-module (gnu packages emacs)
47 #:use-module (gnu packages gcc)
48 #:use-module (gnu packages gl)
49 #:use-module (gnu packages graphviz)
50 #:use-module (gnu packages gtk)
51 #:use-module (gnu packages haskell-apps)
efb96749 52 #:use-module (gnu packages haskell-check)
dddbc90c
RV
53 #:use-module (gnu packages haskell-crypto)
54 #:use-module (gnu packages haskell-web)
55 #:use-module (gnu packages libffi)
56 #:use-module (gnu packages linux)
57 #:use-module (gnu packages lua)
58 #:use-module (gnu packages maths)
49e29df5 59 #:use-module (gnu packages ncurses)
dddbc90c
RV
60 #:use-module (gnu packages pcre)
61 #:use-module (gnu packages pkg-config)
62 #:use-module (gnu packages sdl)
0c2d6fc2 63 #:use-module (gnu packages web)
dddbc90c
RV
64 #:use-module (gnu packages xml)
65 #:use-module (gnu packages xorg)
6b34d01c
RV
66 #:use-module (guix build-system haskell)
67 #:use-module (guix download)
dddbc90c 68 #:use-module (guix git-download)
4780db2c 69 #:use-module (guix utils)
6b34d01c
RV
70 #:use-module ((guix licenses) #:prefix license:)
71 #:use-module (guix packages))
72
dddbc90c 73(define-public ghc-abstract-deque
efb96749 74 (package
dddbc90c
RV
75 (name "ghc-abstract-deque")
76 (version "0.3")
efb96749
RV
77 (source
78 (origin
79 (method url-fetch)
80 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
81 "abstract-deque-" version "/"
82 "abstract-deque-" version ".tar.gz"))
efb96749
RV
83 (sha256
84 (base32
dddbc90c 85 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 86 (build-system haskell-build-system)
dddbc90c
RV
87 (inputs `(("ghc-random" ,ghc-random)))
88 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
89 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
90 (description "This Haskell package provides an abstract interface to
91highly-parameterizable queues/deques.
92
93Background: There exists a feature space for queues that extends between:
efb96749
RV
94
95@itemize
dddbc90c
RV
96@item Simple, single-ended, non-concurrent, bounded queues
97
98@item Double-ended, thread-safe, growable queues with important points
99in between (such as the queues used for work stealing).
efb96749
RV
100@end itemize
101
dddbc90c
RV
102This package includes an interface for Deques that allows the programmer
103to use a single API for all of the above, while using the type system to
104select an efficient implementation given the requirements (using type families).
efb96749 105
dddbc90c
RV
106This package also includes a simple reference implementation based on
107@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
108 (license license:bsd-3)))
109
dddbc90c 110(define-public ghc-abstract-par
658dbc7f 111 (package
dddbc90c
RV
112 (name "ghc-abstract-par")
113 (version "0.3.3")
658dbc7f
RV
114 (source
115 (origin
116 (method url-fetch)
117 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
118 "abstract-par-" version "/"
119 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
120 (sha256
121 (base32
dddbc90c
RV
122 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
123 (build-system haskell-build-system)
124 (home-page "https://github.com/simonmar/monad-par")
125 (synopsis "Abstract parallelization interface for Haskell")
126 (description "This Haskell package is an abstract interface
127only. It provides a number of type clasess, but not an
128implementation. The type classes separate different levels
129of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
130module for more details.")
131 (license license:bsd-3)))
132
d8b88d74
TS
133(define-public ghc-active
134 (package
135 (name "ghc-active")
136 (version "0.2.0.14")
137 (source
138 (origin
139 (method url-fetch)
140 (uri (string-append "https://hackage.haskell.org/package/"
141 "active/active-" version ".tar.gz"))
142 (sha256
143 (base32
144 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
145 (build-system haskell-build-system)
146 (inputs
147 `(("ghc-vector" ,ghc-vector)
148 ("ghc-semigroups" ,ghc-semigroups)
149 ("ghc-semigroupoids" ,ghc-semigroupoids)
150 ("ghc-lens" ,ghc-lens)
151 ("ghc-linear" ,ghc-linear)))
152 (native-inputs
153 `(("ghc-quickcheck" ,ghc-quickcheck)))
154 (home-page "https://hackage.haskell.org/package/active")
155 (synopsis "Abstractions for animation")
156 (description "This package defines an @code{Active} abstraction for
157time-varying values with finite start and end times. It is used for
158describing animations within the
159@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
160diagrams framework}.")
161 (license license:bsd-3)))
162
dddbc90c
RV
163(define-public ghc-adjunctions
164 (package
165 (name "ghc-adjunctions")
166 (version "4.4")
167 (source
168 (origin
169 (method url-fetch)
170 (uri (string-append
171 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
172 version
173 ".tar.gz"))
174 (sha256
175 (base32
176 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f 177 (build-system haskell-build-system)
a78262be
TS
178 (arguments
179 `(#:cabal-revision
180 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
658dbc7f 181 (inputs
dddbc90c
RV
182 `(("ghc-profunctors" ,ghc-profunctors)
183 ("ghc-comonad" ,ghc-comonad)
184 ("ghc-contravariant" ,ghc-contravariant)
185 ("ghc-distributive" ,ghc-distributive)
186 ("ghc-free" ,ghc-free)
187 ("ghc-tagged" ,ghc-tagged)
188 ("ghc-semigroupoids" ,ghc-semigroupoids)
189 ("ghc-semigroups" ,ghc-semigroups)
190 ("ghc-transformers-compat" ,ghc-transformers-compat)
191 ("ghc-void" ,ghc-void)))
658dbc7f 192 (native-inputs
dddbc90c
RV
193 `(("ghc-generic-deriving" ,ghc-generic-deriving)
194 ("ghc-hspec" ,ghc-hspec)
195 ("hspec-discover" ,hspec-discover)))
196 (home-page "https://github.com/ekmett/adjunctions/")
197 (synopsis "Adjunctions and representable functors")
198 (description "This library provides adjunctions and representable functors
199for Haskell.")
200 (license license:bsd-3)))
201
202(define-public ghc-aeson-compat
203 (package
204 (name "ghc-aeson-compat")
0bafb755 205 (version "0.3.9")
dddbc90c
RV
206 (source
207 (origin
208 (method url-fetch)
209 (uri (string-append "https://hackage.haskell.org/package/"
210 "aeson-compat-" version "/"
211 "aeson-compat-" version ".tar.gz"))
212 (sha256
213 (base32
0bafb755 214 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
215 (build-system haskell-build-system)
216 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
217 (inputs `(("ghc-base-compat" ,ghc-base-compat)
218 ("ghc-aeson" ,ghc-aeson)
219 ("ghc-attoparsec" ,ghc-attoparsec)
220 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
221 ("ghc-exceptions" ,ghc-exceptions)
222 ("ghc-hashable" ,ghc-hashable)
223 ("ghc-scientific" ,ghc-scientific)
224 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
225 ("ghc-unordered-containers" ,ghc-unordered-containers)
226 ("ghc-vector" ,ghc-vector)
227 ("ghc-tagged" ,ghc-tagged)
228 ("ghc-semigroups" ,ghc-semigroups)
229 ("ghc-nats" ,ghc-nats)))
230 (home-page "https://github.com/phadej/aeson-compat")
231 (synopsis "Compatibility layer for ghc-aeson")
232 (description "This Haskell package provides compatibility layer for
233ghc-aeson.")
234 (license license:bsd-3)))
235
cbc6f861
TS
236(define-public ghc-aeson-diff
237 (package
238 (name "ghc-aeson-diff")
239 (version "1.1.0.7")
240 (source
241 (origin
242 (method url-fetch)
243 (uri (string-append "https://hackage.haskell.org/package/"
244 "aeson-diff/aeson-diff-" version ".tar.gz"))
245 (sha256
246 (base32
247 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
248 (build-system haskell-build-system)
249 (inputs
250 `(("ghc-aeson" ,ghc-aeson)
251 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
252 ("ghc-hashable" ,ghc-hashable)
253 ("ghc-scientific" ,ghc-scientific)
254 ("ghc-unordered-containers" ,ghc-unordered-containers)
255 ("ghc-vector" ,ghc-vector)
256 ("ghc-semigroups" ,ghc-semigroups)
257 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
258 (native-inputs
259 `(("ghc-quickcheck" ,ghc-quickcheck)
260 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
261 ("ghc-glob" ,ghc-glob)
262 ("ghc-quickcheck" ,ghc-quickcheck)
263 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
264 ("ghc-quickcheck" ,ghc-quickcheck)
265 ("ghc-doctest" ,ghc-doctest)
266 ("hlint" ,hlint)))
267 (home-page "https://github.com/thsutton/aeson-diff")
268 (synopsis "Extract and apply patches to JSON documents")
269 (description "This is a small library for working with changes to JSON
270documents. It includes a library and two command-line executables in the
271style of the @command{diff} and @command{patch} commands available on many
272systems.")
273 (license license:bsd-3)))
274
dddbc90c
RV
275(define-public ghc-alex
276 (package
277 (name "ghc-alex")
278 (version "3.2.4")
279 (source
280 (origin
281 (method url-fetch)
282 (uri (string-append
283 "https://hackage.haskell.org/package/alex/alex-"
284 version
285 ".tar.gz"))
286 (sha256
287 (base32
288 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
289 (build-system haskell-build-system)
658dbc7f 290 (arguments
dddbc90c
RV
291 `(#:phases
292 (modify-phases %standard-phases
293 (add-before 'check 'set-check-variables
294 (lambda _
295 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
296 (getenv "PATH")))
297 (setenv "alex_datadir" (string-append (getcwd) "/data"))
298 #t)))))
299 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
300 (native-inputs
301 `(("which" ,which)))
302 (home-page "https://www.haskell.org/alex/")
303 (synopsis
304 "Tool for generating lexical analysers in Haskell")
305 (description
306 "Alex is a tool for generating lexical analysers in Haskell. It takes a
307description of tokens based on regular expressions and generates a Haskell
308module containing code for scanning text efficiently. It is similar to the
309tool lex or flex for C/C++.")
658dbc7f
RV
310 (license license:bsd-3)))
311
dddbc90c 312(define-public ghc-alsa-core
7b01a977 313 (package
dddbc90c
RV
314 (name "ghc-alsa-core")
315 (version "0.5.0.1")
316 (source
317 (origin
318 (method url-fetch)
319 (uri (string-append
320 "mirror://hackage/package/alsa-core/alsa-core-"
321 version
322 ".tar.gz"))
323 (sha256
324 (base32
325 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
326 (build-system haskell-build-system)
327 (inputs
328 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
329 ("alsa-lib" ,alsa-lib)))
330 (native-inputs
331 `(("pkg-config" ,pkg-config)))
332 (home-page "http://www.haskell.org/haskellwiki/ALSA")
333 (synopsis "Binding to the ALSA Library API (Exceptions)")
334 (description "This package provides access to ALSA infrastructure, that is
335needed by both alsa-seq and alsa-pcm.")
336 (license license:bsd-3)))
337
f2ed1e6d
JS
338(define-public ghc-alsa-mixer
339 (package
340 (name "ghc-alsa-mixer")
341 (version "0.3.0")
342 (source
343 (origin
344 (method url-fetch)
345 (uri
346 (string-append
347 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
348 version ".tar.gz"))
349 (sha256
350 (base32
351 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
352 (build-system haskell-build-system)
353 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
354 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
355 (home-page "https://github.com/ttuegel/alsa-mixer")
356 (synopsis "Bindings to the ALSA simple mixer API")
357 (description
358 "This package provides bindings to the ALSA simple mixer API.")
359 (license license:bsd-3)))
360
dddbc90c
RV
361(define-public ghc-annotated-wl-pprint
362 (package
363 (name "ghc-annotated-wl-pprint")
364 (version "0.7.0")
365 (source
366 (origin
367 (method url-fetch)
368 (uri (string-append
369 "https://hackage.haskell.org/package/annotated-wl-pprint"
370 "/annotated-wl-pprint-" version
371 ".tar.gz"))
372 (sha256
373 (base32
374 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
375 (build-system haskell-build-system)
376 (home-page
377 "https://github.com/david-christiansen/annotated-wl-pprint")
378 (synopsis
379 "The Wadler/Leijen Pretty Printer, with annotation support")
380 (description "This is a modified version of wl-pprint, which was based on
381Wadler's paper \"A Prettier Printer\". This version allows the library user
382to annotate the text with semantic information, which can later be rendered in
383a variety of ways.")
384 (license license:bsd-3)))
385
386(define-public ghc-ansi-terminal
387 (package
388 (name "ghc-ansi-terminal")
f1b4a73f 389 (version "0.9.1")
dddbc90c
RV
390 (source
391 (origin
392 (method url-fetch)
393 (uri (string-append
394 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
395 version
396 ".tar.gz"))
397 (sha256
398 (base32
f1b4a73f 399 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
400 (build-system haskell-build-system)
401 (inputs
402 `(("ghc-colour" ,ghc-colour)))
403 (home-page "https://github.com/feuerbach/ansi-terminal")
404 (synopsis "ANSI terminal support for Haskell")
405 (description "This package provides ANSI terminal support for Haskell. It
406allows cursor movement, screen clearing, color output showing or hiding the
407cursor, and changing the title.")
408 (license license:bsd-3)))
409
410(define-public ghc-ansi-wl-pprint
411 (package
412 (name "ghc-ansi-wl-pprint")
c38746eb 413 (version "0.6.9")
7b01a977
RV
414 (source
415 (origin
416 (method url-fetch)
417 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 418 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
419 version ".tar.gz"))
420 (sha256
421 (base32
c38746eb 422 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
423 (build-system haskell-build-system)
424 (inputs
dddbc90c
RV
425 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
426 (home-page "https://github.com/ekmett/ansi-wl-pprint")
427 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
428 (description "This is a pretty printing library based on Wadler's paper
429\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
430colored output using the ansi-terminal package.")
431 (license license:bsd-3)))
432
433(define-public ghc-appar
434 (package
435 (name "ghc-appar")
1159d1a5 436 (version "0.1.8")
dddbc90c
RV
437 (source
438 (origin
439 (method url-fetch)
440 (uri (string-append
441 "https://hackage.haskell.org/package/appar/appar-"
442 version
443 ".tar.gz"))
444 (sha256
445 (base32
1159d1a5 446 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
447 (build-system haskell-build-system)
448 (home-page
449 "https://hackage.haskell.org/package/appar")
450 (synopsis "Simple applicative parser")
451 (description "This package provides a simple applicative parser in Parsec
452style.")
453 (license license:bsd-3)))
454
455(define-public ghc-async
456 (package
457 (name "ghc-async")
048ef066 458 (version "2.2.2")
dddbc90c
RV
459 (source
460 (origin
461 (method url-fetch)
462 (uri (string-append
463 "https://hackage.haskell.org/package/async/async-"
464 version
465 ".tar.gz"))
466 (sha256
467 (base32
048ef066 468 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
469 (build-system haskell-build-system)
470 (inputs
471 `(("ghc-hashable" ,ghc-hashable)
472 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
473 ("ghc-test-framework" ,ghc-test-framework)
474 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
475 (home-page "https://github.com/simonmar/async")
476 (synopsis "Library to run IO operations asynchronously")
477 (description "Async provides a library to run IO operations
478asynchronously, and wait for their results. It is a higher-level interface
479over threads in Haskell, in which @code{Async a} is a concurrent thread that
480will eventually deliver a value of type @code{a}.")
7b01a977
RV
481 (license license:bsd-3)))
482
9ad9ec2e
AG
483(define-public ghc-atomic-primops
484 (package
485 (name "ghc-atomic-primops")
af16c6b0 486 (version "0.8.3")
9ad9ec2e
AG
487 (source
488 (origin
489 (method url-fetch)
490 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
491 "/atomic-primops-" version ".tar.gz"))
492 (sha256
493 (base32
af16c6b0 494 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
9ad9ec2e
AG
495 (build-system haskell-build-system)
496 (inputs `(("ghc-primitive" ,ghc-primitive)))
497 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
498 (synopsis "Safe approach to CAS and other atomic ops")
499 (description
500 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
501use safely, because pointer equality is a highly unstable property in Haskell.
502This library provides a safer method based on the concept of @code{Ticket}s.")
503 (license license:bsd-3)))
504
dddbc90c 505(define-public ghc-atomic-write
79fcc5e5 506 (package
dddbc90c 507 (name "ghc-atomic-write")
c09d1e62 508 (version "0.2.0.6")
79fcc5e5
RV
509 (source
510 (origin
511 (method url-fetch)
dddbc90c
RV
512 (uri (string-append
513 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
514 version
515 ".tar.gz"))
79fcc5e5
RV
516 (sha256
517 (base32
c09d1e62 518 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
519 (build-system haskell-build-system)
520 (inputs
521 `(("ghc-temporary" ,ghc-temporary)
522 ("ghc-unix-compat" ,ghc-unix-compat)))
523 (native-inputs
524 `(("ghc-temporary" ,ghc-temporary)
525 ("ghc-unix-compat" ,ghc-unix-compat)
526 ("ghc-hspec" ,ghc-hspec)
527 ("hspec-discover" ,hspec-discover)))
528 (home-page "https://github.com/stackbuilders/atomic-write")
529 (synopsis "Atomically write to a file")
530 (description
531 "Atomically write to a file on POSIX-compliant systems while preserving
532permissions. @code{mv} is an atomic operation. This makes it simple to write
533to a file atomically just by using the @code{mv} operation. However, this
534will destroy the permissions on the original file. This library preserves
535permissions while atomically writing to a file.")
536 (license license:expat)))
537
538(define-public ghc-attoparsec
539 (package
540 (name "ghc-attoparsec")
511c3204 541 (version "0.13.2.3")
dddbc90c
RV
542 (source
543 (origin
544 (method url-fetch)
545 (uri (string-append
546 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
547 version
548 ".tar.gz"))
549 (sha256
550 (base32
511c3204 551 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 552 (build-system haskell-build-system)
79fcc5e5 553 (arguments
dddbc90c
RV
554 `(#:phases
555 (modify-phases %standard-phases
556 (add-after 'unpack 'patch-for-newer-quickcheck
557 (lambda _
558 (substitute* "attoparsec.cabal"
559 (("QuickCheck >= 2\\.7 && < 2\\.10")
560 "QuickCheck >= 2.7 && < 2.12"))
561 ;; This test fails because of the newer QuickCheck:
562 ;; <https://github.com/bos/attoparsec/issues/134>.
563 (substitute* "tests/QC/ByteString.hs"
564 ((", testProperty \"satisfyWith\" satisfyWith")
565 "")))))))
566 (inputs
567 `(("ghc-scientific" ,ghc-scientific)))
568 (native-inputs
569 `(("ghc-tasty" ,ghc-tasty)
570 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
571 ("ghc-quickcheck" ,ghc-quickcheck)
572 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
573 ("ghc-vector" ,ghc-vector)))
574 (home-page "https://github.com/bos/attoparsec")
575 (synopsis "Fast combinator parsing for bytestrings and text")
576 (description "This library provides a fast parser combinator library,
577aimed particularly at dealing efficiently with network protocols and
578complicated text/binary file formats.")
79fcc5e5
RV
579 (license license:bsd-3)))
580
dddbc90c 581(define-public ghc-attoparsec-bootstrap
6b34d01c 582 (package
dddbc90c
RV
583 (inherit ghc-attoparsec)
584 (name "ghc-attoparsec-bootstrap")
585 (arguments `(#:tests? #f))
586 (inputs
587 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
588 (native-inputs '())
799d8d3c 589 (properties '((hidden? #t)))))
dddbc90c
RV
590
591(define-public ghc-attoparsec-iso8601
592 (package
593 (name "ghc-attoparsec-iso8601")
97f267c8 594 (version "1.0.1.0")
6b34d01c
RV
595 (source
596 (origin
597 (method url-fetch)
598 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
599 "attoparsec-iso8601-" version "/"
600 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
601 (sha256
602 (base32
97f267c8 603 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 604 (build-system haskell-build-system)
dddbc90c
RV
605 (arguments
606 `(#:cabal-revision
97f267c8 607 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
608 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
609 ("ghc-base-compat" ,ghc-base-compat)))
610 (home-page "https://github.com/bos/aeson")
611 (synopsis "Parse ISO 8601 dates")
612 (description "Haskell library for parsing of ISO 8601 dates, originally
613from aeson.")
6b34d01c 614 (license license:bsd-3)))
b57e99f5 615
dddbc90c 616(define-public ghc-auto-update
b57e99f5 617 (package
dddbc90c 618 (name "ghc-auto-update")
11b1b6cd 619 (version "0.1.6")
dddbc90c
RV
620 (source
621 (origin
622 (method url-fetch)
623 (uri (string-append
624 "https://hackage.haskell.org/package/auto-update/auto-update-"
625 version
626 ".tar.gz"))
627 (sha256
628 (base32
11b1b6cd 629 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 630 (build-system haskell-build-system)
11b1b6cd
TS
631 (native-inputs
632 `(("ghc-hspec" ,ghc-hspec)
633 ("ghc-hunit" ,ghc-hunit)
634 ("ghc-retry" ,ghc-retry)
635 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
636 (home-page "https://github.com/yesodweb/wai")
637 (synopsis "Efficiently run periodic, on-demand actions")
638 (description "This library provides mechanisms to efficiently run
639periodic, on-demand actions in Haskell.")
640 (license license:expat)))
641
642(define-public ghc-aws
643 (package
644 (name "ghc-aws")
645 (version "0.20")
b57e99f5
RV
646 (source
647 (origin
648 (method url-fetch)
649 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
650 "aws-" version "/aws-" version ".tar.gz"))
651 (sha256 (base32
652 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
653 (build-system haskell-build-system)
654 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
655 (inputs
656 `(("ghc-aeson" ,ghc-aeson)
657 ("ghc-attoparsec" ,ghc-attoparsec)
658 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
659 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
660 ("ghc-blaze-builder" ,ghc-blaze-builder)
661 ("ghc-byteable" ,ghc-byteable)
662 ("ghc-case-insensitive" ,ghc-case-insensitive)
663 ("ghc-cereal" ,ghc-cereal)
664 ("ghc-conduit" ,ghc-conduit)
665 ("ghc-conduit-extra" ,ghc-conduit-extra)
666 ("ghc-cryptonite" ,ghc-cryptonite)
667 ("ghc-data-default" ,ghc-data-default)
668 ("ghc-http-conduit" ,ghc-http-conduit)
669 ("ghc-http-types" ,ghc-http-types)
670 ("ghc-lifted-base" ,ghc-lifted-base)
671 ("ghc-monad-control" ,ghc-monad-control)
672 ("ghc-network" ,ghc-network)
673 ("ghc-old-locale" ,ghc-old-locale)
674 ("ghc-safe" ,ghc-safe)
675 ("ghc-scientific" ,ghc-scientific)
676 ("ghc-tagged" ,ghc-tagged)
677 ("ghc-unordered-containers" ,ghc-unordered-containers)
678 ("ghc-utf8-string" ,ghc-utf8-string)
679 ("ghc-vector" ,ghc-vector)
680 ("ghc-xml-conduit" ,ghc-xml-conduit)))
681 (native-inputs
682 `(("ghc-quickcheck" ,ghc-quickcheck)
683 ("ghc-errors" ,ghc-errors)
684 ("ghc-http-client" ,ghc-http-client)
685 ("ghc-http-client-tls" ,ghc-http-client-tls)
686 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
687 ("ghc-tasty" ,ghc-tasty)
688 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
689 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
690 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
691 (home-page "https://github.com/aristidb/aws")
692 (synopsis "Amazon Web Services for Haskell")
693 (description "This package attempts to provide support for using
694Amazon Web Services like S3 (storage), SQS (queuing) and others to
695Haskell programmers. The ultimate goal is to support all Amazon
696Web Services.")
697 (license license:bsd-3)))
698
699(define-public ghc-base16-bytestring
700 (package
701 (name "ghc-base16-bytestring")
702 (version "0.1.1.6")
703 (source
704 (origin
705 (method url-fetch)
706 (uri (string-append
707 "https://hackage.haskell.org/package/base16-bytestring/"
708 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
709 (sha256
710 (base32
dddbc90c 711 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 712 (build-system haskell-build-system)
dddbc90c
RV
713 (home-page "https://github.com/bos/base16-bytestring")
714 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
715 (description
716 "This package provides a Haskell library for working with base16-encoded
717data quickly and efficiently, using the ByteString type.")
b57e99f5 718 (license license:bsd-3)))
bbf8bf31 719
dddbc90c 720(define-public ghc-base64-bytestring
bbf8bf31 721 (package
dddbc90c
RV
722 (name "ghc-base64-bytestring")
723 (version "1.0.0.2")
bbf8bf31
RV
724 (source
725 (origin
726 (method url-fetch)
dddbc90c
RV
727 (uri (string-append
728 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
729 version
730 ".tar.gz"))
731 (sha256
732 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
733 (build-system haskell-build-system)
734 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
735 (home-page "https://github.com/bos/base64-bytestring")
736 (synopsis "Base64 encoding and decoding for ByteStrings")
737 (description "This library provides fast base64 encoding and decoding for
738Haskell @code{ByteString}s.")
739 (license license:bsd-3)))
740
741(define-public ghc-base-compat
742 (package
743 (name "ghc-base-compat")
4daaa371 744 (version "0.10.5")
dddbc90c
RV
745 (source
746 (origin
747 (method url-fetch)
748 (uri (string-append
749 "https://hackage.haskell.org/package/base-compat/base-compat-"
750 version
751 ".tar.gz"))
bbf8bf31
RV
752 (sha256
753 (base32
4daaa371 754 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
755 (build-system haskell-build-system)
756 (native-inputs
dddbc90c
RV
757 `(("ghc-quickcheck" ,ghc-quickcheck)
758 ("ghc-hspec" ,ghc-hspec)
759 ("hspec-discover" ,hspec-discover)))
760 (home-page "https://hackage.haskell.org/package/base-compat")
761 (synopsis "Haskell compiler compatibility library")
762 (description "This library provides functions available in later versions
763of base to a wider range of compilers, without requiring the use of CPP
764pragmas in your code.")
765 (license license:bsd-3)))
766
f9d78c7f
TS
767(define-public ghc-base-compat-batteries
768 (package
769 (name "ghc-base-compat-batteries")
770 (version "0.10.5")
771 (source
772 (origin
773 (method url-fetch)
774 (uri (string-append "https://hackage.haskell.org/package/"
775 "base-compat-batteries/base-compat-batteries-"
776 version ".tar.gz"))
777 (sha256
778 (base32
779 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
780 (build-system haskell-build-system)
781 (inputs
782 `(("ghc-base-compat" ,ghc-base-compat)))
783 (native-inputs
784 `(("ghc-hspec" ,ghc-hspec)
785 ("ghc-quickcheck" ,ghc-quickcheck)
786 ("hspec-discover" ,hspec-discover)))
787 (arguments
788 `(#:cabal-revision
789 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
790 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
791 (synopsis "base-compat with extra batteries")
792 (description "This library provides functions available in later
793versions of @code{base} to a wider range of compilers, without requiring
794you to use CPP pragmas in your code. This package provides the same API
795as the @code{base-compat} library, but depends on compatibility
796packages (such as @code{semigroups}) to offer a wider support window
797than @code{base-compat}, which has no dependencies.")
798 (license license:expat)))
799
dddbc90c
RV
800(define-public ghc-basement
801 (package
802 (name "ghc-basement")
8b56c1fd 803 (version "0.0.11")
dddbc90c
RV
804 (source
805 (origin
806 (method url-fetch)
807 (uri (string-append "https://hackage.haskell.org/package/"
808 "basement/basement-" version ".tar.gz"))
809 (sha256
810 (base32
8b56c1fd 811 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
812 (build-system haskell-build-system)
813 (home-page "https://github.com/haskell-foundation/foundation")
814 (synopsis "Basic primitives for Foundation starter pack")
815 (description
816 "This package contains basic primitives for the Foundation set of
817packages.")
818 (license license:bsd-3)))
819
820(define-public ghc-base-orphans
821 (package
822 (name "ghc-base-orphans")
780477fb 823 (version "0.8.1")
dddbc90c
RV
824 (source
825 (origin
826 (method url-fetch)
827 (uri (string-append
828 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
829 version
830 ".tar.gz"))
831 (sha256
832 (base32
780477fb 833 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
834 (build-system haskell-build-system)
835 (native-inputs
836 `(("ghc-quickcheck" ,ghc-quickcheck)
837 ("ghc-hspec" ,ghc-hspec)
838 ("hspec-discover" ,hspec-discover)))
839 (home-page "https://hackage.haskell.org/package/base-orphans")
840 (synopsis "Orphan instances for backwards compatibility")
841 (description "This package defines orphan instances that mimic instances
842available in later versions of base to a wider (older) range of compilers.")
843 (license license:bsd-3)))
844
845(define-public ghc-base-prelude
846 (package
847 (name "ghc-base-prelude")
848 (version "1.3")
849 (source
850 (origin
851 (method url-fetch)
852 (uri (string-append "https://hackage.haskell.org/package/"
853 "base-prelude-" version "/"
854 "base-prelude-" version ".tar.gz"))
855 (sha256
856 (base32
857 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
858 (build-system haskell-build-system)
859 (home-page "https://github.com/nikita-volkov/base-prelude")
860 (synopsis "The most complete prelude formed solely from the Haskell's base
861package")
862 (description "This Haskell package aims to reexport all the non-conflicting
863and most general definitions from the \"base\" package.
864
865This includes APIs for applicatives, arrows, monoids, foldables, traversables,
866exceptions, generics, ST, MVars and STM.
867
868This package will never have any dependencies other than \"base\".
869
870Versioning policy:
871
872The versioning policy of this package deviates from PVP in the sense
873that its exports in part are transitively determined by the version of \"base\".
874Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
875the bounds of \"base\" as well.")
876 (license license:expat)))
877
878(define-public ghc-base-unicode-symbols
879 (package
880 (name "ghc-base-unicode-symbols")
881 (version "0.2.3")
882 (source
883 (origin
884 (method url-fetch)
885 (uri (string-append
886 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
887 version
888 ".tar.gz"))
889 (sha256
890 (base32
891 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
892 (build-system haskell-build-system)
893 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
894 (synopsis "Unicode alternatives for common functions and operators")
895 (description "This package defines new symbols for a number of functions,
896operators and types in the base package. All symbols are documented with
897their actual definition and information regarding their Unicode code point.
898They should be completely interchangeable with their definitions. For
899further Unicode goodness you can enable the @code{UnicodeSyntax}
900@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
901language extension}. This extension enables Unicode characters to be used to
902stand for certain ASCII character sequences, i.e. → instead of @code{->},
903∀ instead of @code{forall} and many others.")
904 (license license:bsd-3)))
905
906(define-public ghc-bifunctors
907 (package
908 (name "ghc-bifunctors")
0beaec66 909 (version "5.5.5")
dddbc90c
RV
910 (source
911 (origin
912 (method url-fetch)
913 (uri (string-append
914 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
915 version
916 ".tar.gz"))
917 (sha256
918 (base32
0beaec66 919 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
920 (build-system haskell-build-system)
921 (inputs
922 `(("ghc-base-orphans" ,ghc-base-orphans)
923 ("ghc-comonad" ,ghc-comonad)
924 ("ghc-th-abstraction" ,ghc-th-abstraction)
925 ("ghc-transformers-compat" ,ghc-transformers-compat)
926 ("ghc-tagged" ,ghc-tagged)
927 ("ghc-semigroups" ,ghc-semigroups)))
928 (native-inputs
929 `(("ghc-hspec" ,ghc-hspec)
930 ("hspec-discover" ,hspec-discover)
931 ("ghc-quickcheck" ,ghc-quickcheck)))
932 (home-page "https://github.com/ekmett/bifunctors/")
933 (synopsis "Bifunctors for Haskell")
934 (description "This package provides bifunctors for Haskell.")
935 (license license:bsd-3)))
936
937(define-public ghc-bindings-dsl
938 (package
939 (name "ghc-bindings-dsl")
940 (version "1.0.25")
941 (source
942 (origin
943 (method url-fetch)
944 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
945 "bindings-DSL-" version ".tar.gz"))
946 (sha256
947 (base32
948 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
949 (build-system haskell-build-system)
950 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
951 (synopsis "FFI domain specific language, on top of hsc2hs")
952 (description
953 "This is a set of macros to be used when writing Haskell FFI. They were
954designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
955extract from them all Haskell code needed to mimic such interfaces. All
956Haskell names used are automatically derived from C names, structures are
957mapped to Haskell instances of @code{Storable}, and there are also macros you
958can use with C code to help write bindings to inline functions or macro
959functions.")
960 (license license:bsd-3)))
961
64f42786
TS
962(define-public ghc-bitarray
963 (package
964 (name "ghc-bitarray")
965 (version "0.0.1.1")
966 (source
967 (origin
968 (method url-fetch)
969 (uri (string-append "https://hackage.haskell.org/package/"
970 "bitarray/bitarray-" version ".tar.gz"))
971 (sha256
972 (base32
973 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
974 (build-system haskell-build-system)
975 (arguments
976 `(#:cabal-revision
977 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
978 (home-page "https://hackage.haskell.org/package/bitarray")
979 (synopsis "Mutable and immutable bit arrays")
980 (description "The package provides mutable and immutable bit arrays.")
981 (license license:bsd-3)))
982
dddbc90c
RV
983(define-public ghc-blaze-builder
984 (package
985 (name "ghc-blaze-builder")
986 (version "0.4.1.0")
987 (source
988 (origin
989 (method url-fetch)
990 (uri (string-append
991 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
992 version
993 ".tar.gz"))
994 (sha256
995 (base32
996 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
997 (build-system haskell-build-system)
998 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
999 (inputs
1000 `(("ghc-utf8-string" ,ghc-utf8-string)))
1001 (home-page "https://github.com/lpsmith/blaze-builder")
1002 (synopsis "Efficient buffered output")
1003 (description "This library provides an implementation of the older
1004@code{blaze-builder} interface in terms of the new builder that shipped with
1005@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1006bridge to the new builder, so that code that uses the old interface can
1007interoperate with code that uses the new implementation.")
1008 (license license:bsd-3)))
1009
1010(define-public ghc-blaze-markup
1011 (package
1012 (name "ghc-blaze-markup")
7d30fcf3 1013 (version "0.8.2.3")
dddbc90c
RV
1014 (source
1015 (origin
1016 (method url-fetch)
1017 (uri (string-append "https://hackage.haskell.org/package/"
1018 "blaze-markup/blaze-markup-"
1019 version ".tar.gz"))
1020 (sha256
1021 (base32
7d30fcf3 1022 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
1023 (build-system haskell-build-system)
1024 (arguments
1025 `(#:phases
1026 (modify-phases %standard-phases
1027 (add-before 'configure 'update-constraints
1028 (lambda _
1029 (substitute* "blaze-markup.cabal"
1030 (("tasty >= 1\\.0 && < 1\\.1")
1031 "tasty >= 1.0 && < 1.2")))))))
1032 (inputs
1033 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1034 (native-inputs
1035 `(("ghc-hunit" ,ghc-hunit)
1036 ("ghc-quickcheck" ,ghc-quickcheck)
1037 ("ghc-tasty" ,ghc-tasty)
1038 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1039 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1040 (home-page "https://jaspervdj.be/blaze")
1041 (synopsis "Fast markup combinator library for Haskell")
1042 (description "This library provides core modules of a markup combinator
1043library for Haskell.")
1044 (license license:bsd-3)))
1045
1046(define-public ghc-bloomfilter
1047 (package
1048 (name "ghc-bloomfilter")
1049 (version "2.0.1.0")
1050 (source
1051 (origin
1052 (method url-fetch)
1053 (uri (string-append "https://hackage.haskell.org/package/"
1054 "bloomfilter/bloomfilter-" version ".tar.gz"))
1055 (sha256
1056 (base32
1057 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1058 (build-system haskell-build-system)
1059 (native-inputs
1060 `(("ghc-quickcheck" ,ghc-quickcheck)
1061 ("ghc-random" ,ghc-random)
1062 ("ghc-test-framework" ,ghc-test-framework)
1063 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1064 (home-page "https://github.com/bos/bloomfilter")
1065 (synopsis "Pure and impure Bloom filter implementations")
1066 (description "This package provides both mutable and immutable Bloom
1067filter data types, along with a family of hash functions and an easy-to-use
1068interface.")
1069 (license license:bsd-3)))
1070
1071(define-public ghc-boxes
1072 (package
1073 (name "ghc-boxes")
1074 (version "0.1.5")
1075 (source
1076 (origin
1077 (method url-fetch)
1078 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1079 version ".tar.gz"))
1080 (sha256
1081 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1082 (build-system haskell-build-system)
1083 (inputs
1084 `(("ghc-split" ,ghc-split)
1085 ("ghc-quickcheck" ,ghc-quickcheck)))
1086 (home-page "https://hackage.haskell.org/package/boxes")
1087 (synopsis "2D text pretty-printing library")
1088 (description
1089 "Boxes is a pretty-printing library for laying out text in two dimensions,
1090using a simple box model.")
1091 (license license:bsd-3)))
1092
1093(define-public ghc-byteable
1094 (package
1095 (name "ghc-byteable")
1096 (version "0.1.1")
1097 (source (origin
1098 (method url-fetch)
1099 (uri (string-append "https://hackage.haskell.org/package/"
1100 "byteable/byteable-" version ".tar.gz"))
1101 (sha256
1102 (base32
1103 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1104 (build-system haskell-build-system)
1105 (home-page "https://github.com/vincenthz/hs-byteable")
1106 (synopsis "Type class for sequence of bytes")
1107 (description
1108 "This package provides an abstract class to manipulate sequence of bytes.
1109The use case of this class is abstracting manipulation of types that are just
1110wrapping a bytestring with stronger and more meaniful name.")
1111 (license license:bsd-3)))
1112
1113(define-public ghc-byteorder
1114 (package
1115 (name "ghc-byteorder")
1116 (version "1.0.4")
1117 (source
1118 (origin
1119 (method url-fetch)
1120 (uri (string-append
1121 "https://hackage.haskell.org/package/byteorder/byteorder-"
1122 version
1123 ".tar.gz"))
1124 (sha256
1125 (base32
1126 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1127 (build-system haskell-build-system)
1128 (home-page
1129 "http://community.haskell.org/~aslatter/code/byteorder")
1130 (synopsis
1131 "Exposes the native endianness of the system")
1132 (description
1133 "This package is for working with the native byte-ordering of the
1134system.")
1135 (license license:bsd-3)))
1136
1137(define-public ghc-bytes
1138 (package
1139 (name "ghc-bytes")
1140 (version "0.15.5")
1141 (source
1142 (origin
1143 (method url-fetch)
1144 (uri
1145 (string-append "https://hackage.haskell.org/package/bytes-"
1146 version "/bytes-"
1147 version ".tar.gz"))
1148 (file-name (string-append name "-" version ".tar.gz"))
1149 (sha256
1150 (base32
1151 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1152 (build-system haskell-build-system)
1153 (inputs `(("ghc-cereal" ,ghc-cereal)
1154 ("cabal-doctest" ,cabal-doctest)
1155 ("ghc-doctest" ,ghc-doctest)
1156 ("ghc-scientific" ,ghc-scientific)
1157 ("ghc-transformers-compat" ,ghc-transformers-compat)
1158 ("ghc-unordered-containers" ,ghc-unordered-containers)
1159 ("ghc-void" ,ghc-void)
1160 ("ghc-vector" ,ghc-vector)))
1161 (synopsis "Serialization between @code{binary} and @code{cereal}")
1162 (description "This package provides a simple compatibility shim that lets
1163you work with both @code{binary} and @code{cereal} with one chunk of
1164serialization code.")
1165 (home-page "https://hackage.haskell.org/package/bytes")
1166 (license license:bsd-3)))
1167
1168(define-public ghc-bytestring-builder
1169 (package
1170 (name "ghc-bytestring-builder")
13ac8a7f 1171 (version "0.10.8.2.0")
dddbc90c
RV
1172 (source
1173 (origin
1174 (method url-fetch)
1175 (uri (string-append
1176 "https://hackage.haskell.org/package/bytestring-builder"
1177 "/bytestring-builder-" version ".tar.gz"))
1178 (sha256
1179 (base32
13ac8a7f 1180 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1181 (build-system haskell-build-system)
1182 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1183 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1184 (synopsis "The new bytestring builder, packaged outside of GHC")
1185 (description "This package provides the bytestring builder that is
1186debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1187Compatibility package for older packages.")
1188 (license license:bsd-3)))
1189
1190(define-public ghc-bytestring-handle
1191 (package
1192 (name "ghc-bytestring-handle")
1193 (version "0.1.0.6")
1194 (source
1195 (origin
1196 (method url-fetch)
1197 (uri (string-append
1198 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1199 version ".tar.gz"))
1200 (sha256
1201 (base32
1202 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1203 (build-system haskell-build-system)
1204 (arguments
853748c4
TS
1205 `(#:cabal-revision
1206 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1207 #:phases
dddbc90c
RV
1208 (modify-phases %standard-phases
1209 (add-before 'configure 'update-constraints
1210 (lambda _
1211 (substitute* "bytestring-handle.cabal"
1212 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1213 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1214 (inputs
1215 `(("ghc-hunit" ,ghc-hunit)
1216 ("ghc-quickcheck" ,ghc-quickcheck)
1217 ("ghc-test-framework" ,ghc-test-framework)
1218 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1219 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1220 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1221 (synopsis "ByteString-backed Handles")
1222 (description "ByteString-backed Handles") ; There is no description
1223 (license license:bsd-3)))
1224
1225(define-public ghc-bytestring-lexing
1226 (package
1227 (name "ghc-bytestring-lexing")
1228 (version "0.5.0.2")
1229 (source
1230 (origin
1231 (method url-fetch)
1232 (uri (string-append "https://hackage.haskell.org/package/"
1233 "bytestring-lexing/bytestring-lexing-"
1234 version ".tar.gz"))
1235 (sha256
1236 (base32
1237 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1238 (build-system haskell-build-system)
1239 (home-page "http://code.haskell.org/~wren/")
1240 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1241 (description
1242 "This package provides tools to parse and produce literals efficiently
1243from strict or lazy bytestrings.")
1244 (license license:bsd-2)))
1245
1246(define-public ghc-bzlib-conduit
1247 (package
1248 (name "ghc-bzlib-conduit")
5fba8d6d 1249 (version "0.3.0.2")
dddbc90c
RV
1250 (source
1251 (origin
1252 (method url-fetch)
1253 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1254 "bzlib-conduit-" version ".tar.gz"))
1255 (sha256
1256 (base32
5fba8d6d 1257 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1258 (build-system haskell-build-system)
1259 (inputs
1260 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1261 ("ghc-conduit" ,ghc-conduit)
1262 ("ghc-data-default-class" ,ghc-data-default-class)
1263 ("ghc-resourcet" ,ghc-resourcet)))
1264 (native-inputs
1265 `(("ghc-hspec" ,ghc-hspec)
1266 ("ghc-random" ,ghc-random)))
1267 (home-page "https://github.com/snoyberg/bzlib-conduit")
1268 (synopsis "Streaming compression/decompression via conduits")
1269 (description
1270 "This package provides Haskell bindings to bzlib and Conduit support for
1271streaming compression and decompression.")
1272 (license license:bsd-3)))
1273
1274(define-public ghc-c2hs
1275 (package
1276 (name "ghc-c2hs")
1277 (version "0.28.6")
1278 (source
1279 (origin
1280 (method url-fetch)
1281 (uri (string-append
1282 "https://hackage.haskell.org/package/c2hs/c2hs-"
1283 version
1284 ".tar.gz"))
1285 (sha256
1286 (base32
1287 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1288 (build-system haskell-build-system)
1289 (inputs
1290 `(("ghc-language-c" ,ghc-language-c)
1291 ("ghc-dlist" ,ghc-dlist)))
1292 (native-inputs
1293 `(("ghc-test-framework" ,ghc-test-framework)
1294 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1295 ("ghc-hunit" ,ghc-hunit)
1296 ("ghc-shelly" ,ghc-shelly)
1297 ("gcc" ,gcc)))
1298 (arguments
1299 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1300 ;; of glibc 2.28.
1301 #:tests? #f
1302
1303 #:phases
1304 (modify-phases %standard-phases
1305 (add-before 'check 'set-cc
1306 ;; add a cc executable in the path, needed for some tests to pass
1307 (lambda* (#:key inputs #:allow-other-keys)
1308 (let ((gcc (assoc-ref inputs "gcc"))
1309 (tmpbin (tmpnam))
1310 (curpath (getenv "PATH")))
1311 (mkdir-p tmpbin)
1312 (symlink (which "gcc") (string-append tmpbin "/cc"))
1313 (setenv "PATH" (string-append tmpbin ":" curpath)))
1314 #t))
1315 (add-after 'check 'remove-cc
1316 ;; clean the tmp dir made in 'set-cc
1317 (lambda _
1318 (let* ((cc-path (which "cc"))
1319 (cc-dir (dirname cc-path)))
1320 (delete-file-recursively cc-dir)
1321 #t))))))
1322 (home-page "https://github.com/haskell/c2hs")
1323 (synopsis "Create Haskell bindings to C libraries")
1324 (description "C->Haskell assists in the development of Haskell bindings to
1325C libraries. It extracts interface information from C header files and
1326generates Haskell code with foreign imports and marshaling. Unlike writing
1327foreign imports by hand (or using hsc2hs), this ensures that C functions are
1328imported with the correct Haskell types.")
1329 (license license:gpl2)))
1330
1331(define-public ghc-cairo
1332 (package
1333 (name "ghc-cairo")
1334 (version "0.13.5.0")
1335 (source
1336 (origin
1337 (method url-fetch)
1338 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1339 "cairo-" version ".tar.gz"))
1340 (sha256
1341 (base32
1342 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1343 (build-system haskell-build-system)
1344 (arguments
1345 `(#:modules ((guix build haskell-build-system)
1346 (guix build utils)
1347 (ice-9 match)
1348 (srfi srfi-26))
1349 #:phases
1350 (modify-phases %standard-phases
1351 ;; FIXME: This is a copy of the standard configure phase with a tiny
1352 ;; difference: this package needs the -package-db flag to be passed
1353 ;; to "runhaskell" in addition to the "configure" action, because it
1354 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1355 ;; this option the Setup.hs file cannot be evaluated. The
1356 ;; haskell-build-system should be changed to pass "-package-db" to
1357 ;; "runhaskell" in any case.
1358 (replace 'configure
1359 (lambda* (#:key outputs inputs tests? (configure-flags '())
1360 #:allow-other-keys)
1361 (let* ((out (assoc-ref outputs "out"))
1362 (name-version (strip-store-file-name out))
1363 (input-dirs (match inputs
1364 (((_ . dir) ...)
1365 dir)
1366 (_ '())))
1367 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1368 (params (append `(,(string-append "--prefix=" out))
1369 `(,(string-append "--libdir=" out "/lib"))
1370 `(,(string-append "--bindir=" out "/bin"))
1371 `(,(string-append
1372 "--docdir=" out
1373 "/share/doc/" name-version))
1374 '("--libsubdir=$compiler/$pkg-$version")
1375 '("--package-db=../package.conf.d")
1376 '("--global")
1377 `(,@(map
1378 (cut string-append "--extra-include-dirs=" <>)
1379 (search-path-as-list '("include") input-dirs)))
1380 `(,@(map
1381 (cut string-append "--extra-lib-dirs=" <>)
1382 (search-path-as-list '("lib") input-dirs)))
1383 (if tests?
1384 '("--enable-tests")
1385 '())
1386 configure-flags)))
1387 (unsetenv "GHC_PACKAGE_PATH")
1388 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1389 "Setup.hs" "configure" params)
1390 (setenv "GHC_PACKAGE_PATH" ghc-path)
1391 #t))))))
1392 (inputs
1393 `(("ghc-utf8-string" ,ghc-utf8-string)
1394 ("cairo" ,cairo)))
1395 (native-inputs
1396 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1397 ("pkg-config" ,pkg-config)))
1398 (home-page "http://projects.haskell.org/gtk2hs/")
1399 (synopsis "Haskell bindings to the Cairo vector graphics library")
1400 (description
1401 "Cairo is a library to render high quality vector graphics. There exist
1402various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1403documents, amongst others.")
1404 (license license:bsd-3)))
1405
1406(define-public ghc-call-stack
1407 (package
1408 (name "ghc-call-stack")
1409 (version "0.1.0")
1410 (source
1411 (origin
1412 (method url-fetch)
1413 (uri (string-append "https://hackage.haskell.org/package/"
1414 "call-stack/call-stack-"
1415 version ".tar.gz"))
1416 (sha256
1417 (base32
1418 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1419 (build-system haskell-build-system)
1420 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1421 (home-page "https://github.com/sol/call-stack#readme")
1422 (synopsis "Use GHC call-stacks in a backward compatible way")
1423 (description "This package provides a compatibility layer for using GHC
1424call stacks with different versions of the compiler.")
1425 (license license:expat)))
1426
1427;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1428;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1429(define-public ghc-call-stack-boot
1430 (hidden-package
1431 (package
1432 (inherit ghc-call-stack)
1433 (arguments '(#:tests? #f))
1434 (inputs '()))))
1435
1436(define-public ghc-case-insensitive
1437 (package
1438 (name "ghc-case-insensitive")
1439 (version "1.2.0.11")
1440 (outputs '("out" "doc"))
1441 (source
1442 (origin
1443 (method url-fetch)
1444 (uri (string-append
1445 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1446 version
1447 ".tar.gz"))
1448 (sha256
1449 (base32
1450 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1451 (build-system haskell-build-system)
1452 ;; these inputs are necessary to use this library
1453 (inputs
1454 `(("ghc-hashable" ,ghc-hashable)))
1455 (arguments
1456 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1457 (home-page
1458 "https://github.com/basvandijk/case-insensitive")
1459 (synopsis "Case insensitive string comparison")
1460 (description
1461 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1462constructor which can be parameterised by a string-like type like:
1463@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1464the resulting type will be insensitive to cases.")
1465 (license license:bsd-3)))
1466
1467(define-public ghc-cereal
1468 (package
1469 (name "ghc-cereal")
bd95427e 1470 (version "0.5.8.1")
dddbc90c
RV
1471 (source
1472 (origin
1473 (method url-fetch)
1474 (uri (string-append
1475 "https://hackage.haskell.org/package/cereal/cereal-"
1476 version
1477 ".tar.gz"))
1478 (sha256
1479 (base32
bd95427e 1480 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1481 (build-system haskell-build-system)
1482 (native-inputs
1483 `(("ghc-quickcheck" ,ghc-quickcheck)
1484 ("ghc-fail" ,ghc-fail)
1485 ("ghc-test-framework" ,ghc-test-framework)
1486 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1487 (home-page "https://hackage.haskell.org/package/cereal")
1488 (synopsis "Binary serialization library")
1489 (description "This package provides a binary serialization library,
1490similar to @code{binary}, that introduces an @code{isolate} primitive for
1491parser isolation, and labeled blocks for better error messages.")
1492 (license license:bsd-3)))
1493
1494(define-public ghc-cereal-conduit
1495 (package
1496 (name "ghc-cereal-conduit")
1497 (version "0.8.0")
1498 (source
1499 (origin
1500 (method url-fetch)
1501 (uri (string-append "https://hackage.haskell.org/package/"
1502 "cereal-conduit/cereal-conduit-"
1503 version ".tar.gz"))
1504 (sha256
1505 (base32
1506 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1507 (build-system haskell-build-system)
1508 (inputs
1509 `(("ghc-conduit" ,ghc-conduit)
1510 ("ghc-resourcet" ,ghc-resourcet)
1511 ("ghc-cereal" ,ghc-cereal)))
1512 (native-inputs
1513 `(("ghc-hunit" ,ghc-hunit)))
1514 (home-page "https://github.com/snoyberg/conduit")
1515 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1516 (description
1517 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1518@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1519 (license license:bsd-3)))
1520
1521(define-public ghc-cgi
1522 (package
1523 (name "ghc-cgi")
b6b2c218 1524 (version "3001.4.0.0")
dddbc90c
RV
1525 (source
1526 (origin
1527 (method url-fetch)
1528 (uri (string-append
1529 "https://hackage.haskell.org/package/cgi/cgi-"
1530 version
1531 ".tar.gz"))
1532 (sha256
1533 (base32
b6b2c218 1534 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1535 (build-system haskell-build-system)
dddbc90c
RV
1536 (inputs
1537 `(("ghc-exceptions" ,ghc-exceptions)
1538 ("ghc-multipart" ,ghc-multipart)
1539 ("ghc-network-uri" ,ghc-network-uri)
1540 ("ghc-network" ,ghc-network)))
1541 (native-inputs
1542 `(("ghc-doctest" ,ghc-doctest)
1543 ("ghc-quickcheck" ,ghc-quickcheck)))
1544 (home-page
1545 "https://github.com/cheecheeo/haskell-cgi")
1546 (synopsis "Library for writing CGI programs")
1547 (description
1548 "This is a Haskell library for writing CGI programs.")
1549 (license license:bsd-3)))
1550
1551(define-public ghc-charset
1552 (package
1553 (name "ghc-charset")
1554 (version "0.3.7.1")
1555 (source
1556 (origin
1557 (method url-fetch)
1558 (uri (string-append
1559 "https://hackage.haskell.org/package/charset/charset-"
1560 version
1561 ".tar.gz"))
1562 (sha256
1563 (base32
1564 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1565 (build-system haskell-build-system)
35ee173c
TS
1566 (arguments
1567 `(#:cabal-revision
1568 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1569 (inputs
1570 `(("ghc-semigroups" ,ghc-semigroups)
1571 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1572 (home-page "https://github.com/ekmett/charset")
1573 (synopsis "Fast unicode character sets for Haskell")
1574 (description "This package provides fast unicode character sets for
1575Haskell, based on complemented PATRICIA tries.")
1576 (license license:bsd-3)))
1577
1578(define-public ghc-chart
1579 (package
1580 (name "ghc-chart")
6cd84b98 1581 (version "1.9.1")
dddbc90c
RV
1582 (source
1583 (origin
1584 (method url-fetch)
1585 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1586 "Chart-" version ".tar.gz"))
1587 (sha256
1588 (base32
6cd84b98 1589 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
dddbc90c
RV
1590 (build-system haskell-build-system)
1591 (inputs
1592 `(("ghc-old-locale" ,ghc-old-locale)
1593 ("ghc-lens" ,ghc-lens)
1594 ("ghc-colour" ,ghc-colour)
1595 ("ghc-data-default-class" ,ghc-data-default-class)
1596 ("ghc-operational" ,ghc-operational)
1597 ("ghc-vector" ,ghc-vector)))
1598 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1599 (synopsis "Library for generating 2D charts and plots")
1600 (description
1601 "This package provides a library for generating 2D charts and plots, with
1602backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1603 (license license:bsd-3)))
1604
1605(define-public ghc-chart-cairo
1606 (package
1607 (name "ghc-chart-cairo")
5cf9264d 1608 (version "1.9.1")
dddbc90c
RV
1609 (source
1610 (origin
1611 (method url-fetch)
1612 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1613 "Chart-cairo-" version ".tar.gz"))
1614 (sha256
1615 (base32
5cf9264d 1616 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
dddbc90c
RV
1617 (build-system haskell-build-system)
1618 (inputs
1619 `(("ghc-old-locale" ,ghc-old-locale)
1620 ("ghc-cairo" ,ghc-cairo)
1621 ("ghc-colour" ,ghc-colour)
1622 ("ghc-data-default-class" ,ghc-data-default-class)
1623 ("ghc-operational" ,ghc-operational)
1624 ("ghc-lens" ,ghc-lens)
1625 ("ghc-chart" ,ghc-chart)))
1626 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1627 (synopsis "Cairo backend for Charts")
1628 (description "This package provides a Cairo vector graphics rendering
1629backend for the Charts library.")
1630 (license license:bsd-3)))
1631
1632(define-public ghc-chasingbottoms
1633 (package
1634 (name "ghc-chasingbottoms")
1f67853e 1635 (version "1.3.1.7")
dddbc90c
RV
1636 (source
1637 (origin
1638 (method url-fetch)
1639 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1640 "ChasingBottoms-" version ".tar.gz"))
1641 (sha256
1642 (base32
1f67853e 1643 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1644 (build-system haskell-build-system)
1645 (inputs
1646 `(("ghc-quickcheck" ,ghc-quickcheck)
1647 ("ghc-random" ,ghc-random)
1648 ("ghc-syb" ,ghc-syb)))
1649 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1650 (synopsis "Testing of partial and infinite values in Haskell")
1651 (description
1652 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1653 ;; rendered properly.
1654 "This is a library for testing code involving bottoms or infinite values.
1655For the underlying theory and a larger example involving use of QuickCheck,
1656see the article
1657@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1658\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1659Partial and Infinite Values\"}.")
1660 (license license:expat)))
1661
1662(define-public ghc-cheapskate
1663 (package
1664 (name "ghc-cheapskate")
5e18bb9e 1665 (version "0.1.1.1")
dddbc90c
RV
1666 (source
1667 (origin
1668 (method url-fetch)
1669 (uri (string-append
1670 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1671 version
1672 ".tar.gz"))
1673 (sha256
1674 (base32
5e18bb9e 1675 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1676 (build-system haskell-build-system)
1677 (inputs
1678 `(("ghc-blaze-html" ,ghc-blaze-html)
1679 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1680 ("ghc-data-default" ,ghc-data-default)
1681 ("ghc-syb" ,ghc-syb)
1682 ("ghc-uniplate" ,ghc-uniplate)))
1683 (home-page "https://github.com/jgm/cheapskate")
1684 (synopsis "Experimental markdown processor")
1685 (description "Cheapskate is an experimental Markdown processor in pure
1686Haskell. It aims to process Markdown efficiently and in the most forgiving
1687possible way. It is designed to deal with any input, including garbage, with
1688linear performance. Output is sanitized by default for protection against
1689cross-site scripting (@dfn{XSS}) attacks.")
1690 (license license:bsd-3)))
1691
1692(define-public ghc-chell
1693 (package
1694 (name "ghc-chell")
acdd03be 1695 (version "0.5")
dddbc90c
RV
1696 (source
1697 (origin
1698 (method url-fetch)
1699 (uri (string-append
1700 "https://hackage.haskell.org/package/chell/chell-"
1701 version ".tar.gz"))
1702 (sha256
1703 (base32
acdd03be 1704 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1705 (build-system haskell-build-system)
acdd03be
TS
1706 (arguments
1707 `(#:cabal-revision
1708 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1709 (inputs
1710 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1711 ("ghc-patience" ,ghc-patience)
1712 ("ghc-random" ,ghc-random)
1713 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1714 (home-page "https://john-millikin.com/software/chell/")
1715 (synopsis "Simple and intuitive library for automated testing")
1716 (description
1717 "Chell is a simple and intuitive library for automated testing.
1718It natively supports assertion-based testing, and can use companion
1719libraries such as @code{chell-quickcheck} to support more complex
1720testing strategies.")
1721 (license license:expat)))
1722
1723(define-public ghc-chell-quickcheck
1724 (package
1725 (name "ghc-chell-quickcheck")
e0e21831 1726 (version "0.2.5.2")
dddbc90c
RV
1727 (source
1728 (origin
1729 (method url-fetch)
1730 (uri (string-append
1731 "https://hackage.haskell.org/package/chell-quickcheck/"
1732 "chell-quickcheck-" version ".tar.gz"))
1733 (sha256
1734 (base32
e0e21831 1735 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1736 (build-system haskell-build-system)
1737 (arguments
1738 `(#:phases
1739 (modify-phases %standard-phases
1740 (add-before 'configure 'update-constraints
1741 (lambda _
1742 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1743 (("QuickCheck >= 2\\.3 && < 2\\.13")
1744 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1745 (inputs
1746 `(("ghc-chell" ,ghc-chell)
1747 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1748 ("ghc-random" ,ghc-random)
1749 ("ghc-quickcheck" ,ghc-quickcheck)))
1750 (home-page "https://john-millikin.com/software/chell/")
1751 (synopsis "QuickCheck support for the Chell testing library")
1752 (description "More complex tests for @code{chell}.")
1753 (license license:expat)))
1754
1755(define ghc-chell-quickcheck-bootstrap
1756 (package
1757 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1758 (version "0.2.5.2")
dddbc90c
RV
1759 (source
1760 (origin
1761 (method url-fetch)
1762 (uri (string-append
1763 "https://hackage.haskell.org/package/chell-quickcheck/"
1764 "chell-quickcheck-" version ".tar.gz"))
1765 (sha256
1766 (base32
e0e21831 1767 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1768 (build-system haskell-build-system)
1769 (inputs
1770 `(("ghc-chell" ,ghc-chell)
1771 ("ghc-random" ,ghc-random)
1772 ("ghc-quickcheck" ,ghc-quickcheck)))
1773 (arguments
1774 `(#:tests? #f
1775 #:phases
1776 (modify-phases %standard-phases
1777 (add-before 'configure 'update-constraints
1778 (lambda _
1779 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1780 (("QuickCheck >= 2\\.3 && < 2\\.13")
1781 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1782 (home-page "https://john-millikin.com/software/chell/")
1783 (synopsis "QuickCheck support for the Chell testing library")
1784 (description "More complex tests for @code{chell}.")
1785 (license license:expat)))
1786
1787(define-public ghc-chunked-data
1788 (package
1789 (name "ghc-chunked-data")
1790 (version "0.3.1")
1791 (source
1792 (origin
1793 (method url-fetch)
1794 (uri (string-append "https://hackage.haskell.org/package/"
1795 "chunked-data-" version "/"
1796 "chunked-data-" version ".tar.gz"))
1797 (sha256
1798 (base32
1799 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1800 (build-system haskell-build-system)
1801 (inputs `(("ghc-vector" ,ghc-vector)
1802 ("ghc-semigroups" ,ghc-semigroups)))
1803 (home-page "https://github.com/snoyberg/mono-traversable")
1804 (synopsis "Typeclasses for dealing with various chunked data
1805representations for Haskell")
1806 (description "This Haskell package was originally present in
1807classy-prelude.")
1808 (license license:expat)))
1809
1810(define-public ghc-clock
1811 (package
1812 (name "ghc-clock")
0841b6f2 1813 (version "0.8")
dddbc90c
RV
1814 (source
1815 (origin
1816 (method url-fetch)
1817 (uri (string-append
1818 "https://hackage.haskell.org/package/"
1819 "clock/"
1820 "clock-" version ".tar.gz"))
1821 (sha256
0841b6f2 1822 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1823 (build-system haskell-build-system)
1824 (inputs
1825 `(("ghc-tasty" ,ghc-tasty)
1826 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1827 (home-page "https://hackage.haskell.org/package/clock")
1828 (synopsis "High-resolution clock for Haskell")
1829 (description "A package for convenient access to high-resolution clock and
1830timer functions of different operating systems via a unified API.")
1831 (license license:bsd-3)))
1832
1833;; This package builds `clock` without tests, since the tests rely on tasty
1834;; and tasty-quickcheck, which in turn require clock to build.
1835(define-public ghc-clock-bootstrap
1836 (package
1837 (inherit ghc-clock)
1838 (name "ghc-clock-bootstrap")
1839 (arguments '(#:tests? #f))
1840 (inputs '())
1841 (properties '((hidden? #t)))))
1842
1843(define-public ghc-cmark
1844 (package
1845 (name "ghc-cmark")
6bdd36c0 1846 (version "0.6")
dddbc90c
RV
1847 (source (origin
1848 (method url-fetch)
6bdd36c0 1849 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1850 ;; See cbits/cmark_version.h.
1851 (uri (string-append "https://hackage.haskell.org/package/"
1852 "cmark/cmark-" version ".tar.gz"))
1853 (sha256
1854 (base32
6bdd36c0 1855 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1856 (build-system haskell-build-system)
1857 (native-inputs
1858 `(("ghc-hunit" ,ghc-hunit)))
1859 (home-page "https://github.com/jgm/commonmark-hs")
1860 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1861 (description
1862 "This package provides Haskell bindings for
1863@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1864CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1865sources, and does not require prior installation of the C library.")
1866 (license license:bsd-3)))
1867
1868(define-public ghc-cmark-gfm
1869 (package
1870 (name "ghc-cmark-gfm")
24fc8dae 1871 (version "0.2.0")
dddbc90c
RV
1872 (source
1873 (origin
1874 (method url-fetch)
1875 (uri (string-append "https://hackage.haskell.org/package/"
1876 "cmark-gfm/cmark-gfm-"
1877 version ".tar.gz"))
1878 (sha256
1879 (base32
24fc8dae 1880 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1881 (build-system haskell-build-system)
1882 (native-inputs
1883 `(("ghc-hunit" ,ghc-hunit)))
1884 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1885 (synopsis
1886 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1887 (description
1888 "This package provides Haskell bindings for libcmark-gfm, the reference
1889parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1890It includes sources for libcmark-gfm and does not require prior installation
1891of the C library.")
1892 (license license:bsd-3)))
1893
1894(define-public ghc-cmdargs
1895 (package
1896 (name "ghc-cmdargs")
1897 (version "0.10.20")
1898 (source
1899 (origin
1900 (method url-fetch)
1901 (uri (string-append
1902 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1903 version ".tar.gz"))
1904 (sha256
1905 (base32
1906 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1907 (build-system haskell-build-system)
1908 (home-page
1909 "http://community.haskell.org/~ndm/cmdargs/")
1910 (synopsis "Command line argument processing")
1911 (description
1912 "This library provides an easy way to define command line parsers.")
1913 (license license:bsd-3)))
1914
1915(define-public ghc-code-page
1916 (package
1917 (name "ghc-code-page")
f6bb6519 1918 (version "0.2")
dddbc90c
RV
1919 (source
1920 (origin
1921 (method url-fetch)
1922 (uri (string-append
1923 "https://hackage.haskell.org/package/code-page/code-page-"
1924 version ".tar.gz"))
1925 (sha256
1926 (base32
f6bb6519 1927 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1928 (build-system haskell-build-system)
1929 (home-page "https://github.com/RyanGlScott/code-page")
1930 (synopsis "Windows code page library for Haskell")
1931 (description "A cross-platform library with functions for adjusting
1932code pages on Windows. On all other operating systems, the library does
1933nothing.")
1934 (license license:bsd-3)))
1935
1936(define-public ghc-colour
1937(package
1938 (name "ghc-colour")
bc9d1af9 1939 (version "2.3.5")
dddbc90c
RV
1940 (source
1941 (origin
1942 (method url-fetch)
1943 (uri (string-append
1944 "https://hackage.haskell.org/package/colour/colour-"
1945 version ".tar.gz"))
1946 (sha256
1947 (base32
bc9d1af9 1948 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1949 (arguments
1950 ;; The tests for this package have the following dependency cycle:
1951 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1952 `(#:tests? #f))
1953 (build-system haskell-build-system)
1954 (home-page "https://www.haskell.org/haskellwiki/Colour")
1955 (synopsis "Model for human colour perception")
1956 (description
1957 "This package provides a data type for colours and transparency.
1958Colours can be blended and composed. Various colour spaces are
1959supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1960 (license license:expat)))
1961
1962(define-public ghc-comonad
1963 (package
1964 (name "ghc-comonad")
1a825512 1965 (version "5.0.5")
dddbc90c
RV
1966 (source
1967 (origin
1968 (method url-fetch)
1969 (uri (string-append
1970 "https://hackage.haskell.org/package/comonad/comonad-"
1971 version
1972 ".tar.gz"))
1973 (sha256
1974 (base32
1a825512 1975 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
1976 (build-system haskell-build-system)
1977 (native-inputs
1978 `(("cabal-doctest" ,cabal-doctest)
1979 ("ghc-doctest" ,ghc-doctest)))
1980 (inputs
1981 `(("ghc-contravariant" ,ghc-contravariant)
1982 ("ghc-distributive" ,ghc-distributive)
1983 ("ghc-semigroups" ,ghc-semigroups)
1984 ("ghc-tagged" ,ghc-tagged)
1985 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1986 (home-page "https://github.com/ekmett/comonad/")
1987 (synopsis "Comonads for Haskell")
1988 (description "This library provides @code{Comonad}s for Haskell.")
1989 (license license:bsd-3)))
1990
1991(define-public ghc-concatenative
1992 (package
1993 (name "ghc-concatenative")
1994 (version "1.0.1")
1995 (source (origin
1996 (method url-fetch)
1997 (uri (string-append
1998 "https://hackage.haskell.org/package/concatenative/concatenative-"
1999 version ".tar.gz"))
2000 (sha256
2001 (base32
2002 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2003 (build-system haskell-build-system)
2004 (home-page
2005 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2006 (synopsis "Library for postfix control flow")
2007 (description
2008 "Concatenative gives Haskell Factor-style combinators and arrows for
2009postfix notation. For more information on stack based languages, see
2010@uref{https://concatenative.org}.")
2011 (license license:bsd-3)))
2012
2013(define-public ghc-concurrent-extra
2014 (package
2015 (name "ghc-concurrent-extra")
2016 (version "0.7.0.12")
2017 (source
2018 (origin
2019 (method url-fetch)
2020 (uri (string-append "https://hackage.haskell.org/package/"
2021 "concurrent-extra/concurrent-extra-"
2022 version ".tar.gz"))
2023 (sha256
2024 (base32
2025 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2026 (build-system haskell-build-system)
2027 (arguments
2028 ;; XXX: The ReadWriteLock 'stressTest' fails.
2029 `(#:tests? #f))
2030 (inputs
2031 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2032 (native-inputs
2033 `(("ghc-async" ,ghc-async)
2034 ("ghc-hunit" ,ghc-hunit)
2035 ("ghc-random" ,ghc-random)
2036 ("ghc-test-framework" ,ghc-test-framework)
2037 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2038 (home-page "https://github.com/basvandijk/concurrent-extra")
2039 (synopsis "Extra concurrency primitives")
2040 (description "This Haskell library offers (among other things) the
2041following selection of synchronisation primitives:
2042
2043@itemize
2044@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2045@item @code{Event}: Wake multiple threads by signalling an event.
2046@item @code{Lock}: Enforce exclusive access to a resource. Also known
2047as a binary semaphore or mutex. The package additionally provides an
2048alternative that works in the STM monad.
2049@item @code{RLock}: A lock which can be acquired multiple times by the
2050same thread. Also known as a reentrant mutex.
2051@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2052to protect shared resources which may be concurrently read, but only
2053sequentially written.
2054@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2055@end itemize
2056
2057Please consult the API documentation of the individual modules for more
2058detailed information.
2059
2060This package was inspired by the concurrency libraries of Java and
2061Python.")
2062 (license license:bsd-3)))
2063
2064(define-public ghc-concurrent-output
2065 (package
2066 (name "ghc-concurrent-output")
4fce0a4a 2067 (version "1.10.11")
dddbc90c
RV
2068 (source
2069 (origin
2070 (method url-fetch)
2071 (uri (string-append
2072 "mirror://hackage/package/concurrent-output/concurrent-output-"
2073 version
2074 ".tar.gz"))
2075 (sha256
2076 (base32
4fce0a4a 2077 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
2078 (build-system haskell-build-system)
2079 (inputs
2080 `(("ghc-async" ,ghc-async)
2081 ("ghc-exceptions" ,ghc-exceptions)
2082 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2083 ("ghc-terminal-size" ,ghc-terminal-size)))
2084 (home-page
2085 "https://hackage.haskell.org/package/concurrent-output")
2086 (synopsis
2087 "Ungarble output from several threads or commands")
2088 (description
2089 "Lets multiple threads and external processes concurrently output to the
2090console, without it getting all garbled up.
2091
2092Built on top of that is a way of defining multiple output regions, which are
2093automatically laid out on the screen and can be individually updated by
2094concurrent threads. Can be used for progress displays etc.")
2095 (license license:bsd-2)))
2096
2097(define-public ghc-conduit
2098 (package
2099 (name "ghc-conduit")
1ac981d4 2100 (version "1.3.1.1")
dddbc90c
RV
2101 (source (origin
2102 (method url-fetch)
2103 (uri (string-append "https://hackage.haskell.org/package/"
2104 "conduit/conduit-" version ".tar.gz"))
2105 (sha256
2106 (base32
1ac981d4 2107 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
2108 (build-system haskell-build-system)
2109 (inputs
2110 `(("ghc-exceptions" ,ghc-exceptions)
2111 ("ghc-lifted-base" ,ghc-lifted-base)
2112 ("ghc-mono-traversable" ,ghc-mono-traversable)
2113 ("ghc-mmorph" ,ghc-mmorph)
2114 ("ghc-resourcet" ,ghc-resourcet)
2115 ("ghc-silently" ,ghc-silently)
2116 ("ghc-transformers-base" ,ghc-transformers-base)
2117 ("ghc-unliftio" ,ghc-unliftio)
2118 ("ghc-unliftio-core" ,ghc-unliftio-core)
2119 ("ghc-vector" ,ghc-vector)
2120 ("ghc-void" ,ghc-void)))
2121 (native-inputs
2122 `(("ghc-quickcheck" ,ghc-quickcheck)
2123 ("ghc-hspec" ,ghc-hspec)
2124 ("ghc-safe" ,ghc-safe)
2125 ("ghc-split" ,ghc-split)))
2126 (home-page "https://github.com/snoyberg/conduit")
2127 (synopsis "Streaming data library ")
2128 (description
2129 "The conduit package is a solution to the streaming data problem,
2130allowing for production, transformation, and consumption of streams of data
2131in constant memory. It is an alternative to lazy I/O which guarantees
2132deterministic resource handling, and fits in the same general solution
2133space as enumerator/iteratee and pipes.")
2134 (license license:expat)))
2135
2136(define-public ghc-conduit-algorithms
2137 (package
2138 (name "ghc-conduit-algorithms")
503b74ae 2139 (version "0.0.11.0")
dddbc90c
RV
2140 (source
2141 (origin
2142 (method url-fetch)
2143 (uri (string-append "https://hackage.haskell.org/package/"
2144 "conduit-algorithms/conduit-algorithms-"
2145 version ".tar.gz"))
2146 (sha256
2147 (base32
503b74ae 2148 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2149 (build-system haskell-build-system)
2150 (inputs
2151 `(("ghc-async" ,ghc-async)
2152 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2153 ("ghc-conduit" ,ghc-conduit)
2154 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2155 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2156 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2157 ("ghc-exceptions" ,ghc-exceptions)
2158 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2159 ("ghc-monad-control" ,ghc-monad-control)
2160 ("ghc-pqueue" ,ghc-pqueue)
2161 ("ghc-resourcet" ,ghc-resourcet)
2162 ("ghc-stm-conduit" ,ghc-stm-conduit)
2163 ("ghc-streaming-commons" ,ghc-streaming-commons)
2164 ("ghc-unliftio-core" ,ghc-unliftio-core)
2165 ("ghc-vector" ,ghc-vector)))
2166 (native-inputs
2167 `(("ghc-hunit" ,ghc-hunit)
2168 ("ghc-test-framework" ,ghc-test-framework)
2169 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2170 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2171 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2172 (synopsis "Conduit-based algorithms")
2173 (description
2174 "This package provides algorithms on @code{Conduits}, including higher
2175level asynchronous processing and some other utilities.")
2176 (license license:expat)))
2177
2178(define-public ghc-conduit-combinators
2179 (package
2180 (name "ghc-conduit-combinators")
2181 (version "1.3.0")
2182 (source
2183 (origin
2184 (method url-fetch)
2185 (uri (string-append "https://hackage.haskell.org/package/"
2186 "conduit-combinators-" version "/"
2187 "conduit-combinators-" version ".tar.gz"))
2188 (sha256
2189 (base32
2190 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2191 (build-system haskell-build-system)
2192 (inputs `(("ghc-conduit" ,ghc-conduit)
2193 ("ghc-conduit-extra" ,ghc-conduit-extra)
2194 ("ghc-transformers-base" ,ghc-transformers-base)
2195 ("ghc-primitive" ,ghc-primitive)
2196 ("ghc-vector" ,ghc-vector)
2197 ("ghc-void" ,ghc-void)
2198 ("ghc-mwc-random" ,ghc-mwc-random)
2199 ("ghc-unix-compat" ,ghc-unix-compat)
2200 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2201 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2202 ("ghc-resourcet" ,ghc-resourcet)
2203 ("ghc-monad-control" ,ghc-monad-control)
2204 ("ghc-chunked-data" ,ghc-chunked-data)
2205 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2206 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2207 ("ghc-silently" ,ghc-silently)
2208 ("ghc-safe" ,ghc-safe)
2209 ("ghc-quickcheck" ,ghc-quickcheck)))
2210 (home-page "https://github.com/snoyberg/mono-traversable")
2211 (synopsis "Commonly used conduit functions, for both chunked and
2212unchunked data")
2213 (description "This Haskell package provides a replacement for Data.Conduit.List,
2214as well as a convenient Conduit module.")
2215 (license license:expat)))
2216
2217(define-public ghc-conduit-extra
2218 (package
2219 (name "ghc-conduit-extra")
151774d9 2220 (version "1.3.4")
dddbc90c
RV
2221 (source
2222 (origin
2223 (method url-fetch)
2224 (uri (string-append "https://hackage.haskell.org/package/"
2225 "conduit-extra/conduit-extra-"
2226 version ".tar.gz"))
2227 (sha256
2228 (base32
151774d9 2229 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2230 (build-system haskell-build-system)
2231 (inputs
2232 `(("ghc-conduit" ,ghc-conduit)
2233 ("ghc-exceptions" ,ghc-exceptions)
2234 ("ghc-monad-control" ,ghc-monad-control)
2235 ("ghc-transformers-base" ,ghc-transformers-base)
2236 ("ghc-typed-process" ,ghc-typed-process)
2237 ("ghc-async" ,ghc-async)
2238 ("ghc-attoparsec" ,ghc-attoparsec)
2239 ("ghc-blaze-builder" ,ghc-blaze-builder)
2240 ("ghc-network" ,ghc-network)
2241 ("ghc-primitive" ,ghc-primitive)
2242 ("ghc-resourcet" ,ghc-resourcet)
2243 ("ghc-streaming-commons" ,ghc-streaming-commons)
2244 ("ghc-hspec" ,ghc-hspec)
2245 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2246 ("ghc-quickcheck" ,ghc-quickcheck)))
2247 (native-inputs
2248 `(("hspec-discover" ,hspec-discover)))
2249 (home-page "https://github.com/snoyberg/conduit")
2250 (synopsis "Conduit adapters for common libraries")
2251 (description
2252 "The @code{conduit} package itself maintains relative small dependencies.
2253The purpose of this package is to collect commonly used utility functions
2254wrapping other library dependencies, without depending on heavier-weight
2255dependencies. The basic idea is that this package should only depend on
2256@code{haskell-platform} packages and @code{conduit}.")
2257 (license license:expat)))
2258
b59c3518
TS
2259(define-public ghc-conduit-zstd
2260 (package
2261 (name "ghc-conduit-zstd")
2262 (version "0.0.1.1")
2263 (source
2264 (origin
2265 (method url-fetch)
2266 (uri (string-append "https://hackage.haskell.org/package/"
2267 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2268 (sha256
2269 (base32
2270 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2271 (build-system haskell-build-system)
2272 (inputs
2273 `(("ghc-conduit" ,ghc-conduit)
2274 ("ghc-zstd" ,ghc-zstd)))
2275 (native-inputs
2276 `(("ghc-hunit" ,ghc-hunit)
2277 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2278 ("ghc-conduit-extra" ,ghc-conduit-extra)
2279 ("ghc-test-framework" ,ghc-test-framework)
2280 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2281 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2282 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2283 (synopsis "Conduit-based ZStd Compression")
2284 (description "Zstandard compression packaged as a conduit. This is
2285a very thin wrapper around the
2286@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2287interface}.")
2288 (license license:expat)))
2289
dddbc90c
RV
2290(define-public ghc-configurator
2291 (package
2292 (name "ghc-configurator")
2293 (version "0.3.0.0")
2294 (source
2295 (origin
2296 (method url-fetch)
2297 (uri (string-append "https://hackage.haskell.org/package/"
2298 "configurator/configurator-"
2299 version ".tar.gz"))
2300 (sha256
2301 (base32
2302 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2303 (build-system haskell-build-system)
2304 (inputs
2305 `(("ghc-attoparsec" ,ghc-attoparsec)
2306 ("ghc-hashable" ,ghc-hashable)
2307 ("ghc-unix-compat" ,ghc-unix-compat)
2308 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2309 (native-inputs
2310 `(("ghc-hunit" ,ghc-hunit)
2311 ("ghc-test-framework" ,ghc-test-framework)
2312 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2313 (home-page "http://github.com/bos/configurator")
2314 (synopsis "Configuration management")
2315 (description
2316 "This package provides a configuration management library for programs
2317and daemons. The features include:
2318
2319@enumerate
2320@item Automatic, dynamic reloading in response to modifications to
2321 configuration files.
2322@item A simple, but flexible, configuration language, supporting several of
2323 the most commonly needed types of data, along with interpolation of strings
2324 from the configuration or the system environment (e.g. @code{$(HOME)}).
2325@item Subscription-based notification of changes to configuration properties.
2326@item An @code{import} directive allows the configuration of a complex
2327 application to be split across several smaller files, or common configuration
2328 data to be shared across several applications.
2329@end enumerate\n")
2330 (license license:bsd-3)))
2331
2332(define-public ghc-connection
2333 (package
2334 (name "ghc-connection")
6ee0d258 2335 (version "0.3.1")
dddbc90c
RV
2336 (source (origin
2337 (method url-fetch)
2338 (uri (string-append "https://hackage.haskell.org/package/"
2339 "connection/connection-"
2340 version ".tar.gz"))
2341 (sha256
2342 (base32
6ee0d258 2343 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2344 (build-system haskell-build-system)
2345 (inputs
2346 `(("ghc-byteable" ,ghc-byteable)
2347 ("ghc-data-default-class" ,ghc-data-default-class)
2348 ("ghc-network" ,ghc-network)
2349 ("ghc-tls" ,ghc-tls)
2350 ("ghc-socks" ,ghc-socks)
2351 ("ghc-x509" ,ghc-x509)
2352 ("ghc-x509-store" ,ghc-x509-store)
2353 ("ghc-x509-system" ,ghc-x509-system)
2354 ("ghc-x509-validation" ,ghc-x509-validation)))
2355 (home-page "https://github.com/vincenthz/hs-connection")
2356 (synopsis "Simple and easy network connections API")
2357 (description
2358 "This package provides a simple network library for all your connection
2359needs. It provides a very simple API to create sockets to a destination with
2360the choice of SSL/TLS, and SOCKS.")
2361 (license license:bsd-3)))
2362
2363(define-public ghc-constraints
2364 (package
2365 (name "ghc-constraints")
2366 (version "0.10.1")
2367 (source
2368 (origin
2369 (method url-fetch)
2370 (uri (string-append
2371 "https://hackage.haskell.org/package/constraints/constraints-"
2372 version ".tar.gz"))
2373 (sha256
2374 (base32
2375 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2376 (build-system haskell-build-system)
2377 (inputs
2378 `(("ghc-hashable" ,ghc-hashable)
2379 ("ghc-semigroups" ,ghc-semigroups)
2380 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2381 (native-inputs
2382 `(("ghc-hspec" ,ghc-hspec)
2383 ("hspec-discover" ,hspec-discover)))
2384 (home-page "https://github.com/ekmett/constraints/")
2385 (synopsis "Constraint manipulation")
2386 (description
2387 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2388They stopped crashing the compiler in GHC 7.6. This package provides
2389a vocabulary for working with them.")
2390 (license license:bsd-3)))
2391
2392(define-public ghc-contravariant
2393 (package
2394 (name "ghc-contravariant")
e7b35ff0 2395 (version "1.5.2")
dddbc90c
RV
2396 (source
2397 (origin
2398 (method url-fetch)
2399 (uri (string-append
2400 "https://hackage.haskell.org/package/contravariant/contravariant-"
2401 version
2402 ".tar.gz"))
2403 (sha256
2404 (base32
e7b35ff0 2405 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2406 (build-system haskell-build-system)
2407 (inputs
2408 `(("ghc-void" ,ghc-void)
2409 ("ghc-transformers-compat" ,ghc-transformers-compat)
2410 ("ghc-statevar" ,ghc-statevar)
2411 ("ghc-semigroups" ,ghc-semigroups)))
2412 (home-page
2413 "https://github.com/ekmett/contravariant/")
2414 (synopsis "Contravariant functors")
2415 (description "Contravariant functors for Haskell.")
2416 (license license:bsd-3)))
2417
2418(define-public ghc-contravariant-extras
2419 (package
2420 (name "ghc-contravariant-extras")
2421 (version "0.3.4")
2422 (source
2423 (origin
2424 (method url-fetch)
2425 (uri (string-append "https://hackage.haskell.org/package/"
2426 "contravariant-extras-" version "/"
2427 "contravariant-extras-" version ".tar.gz"))
2428 (sha256
2429 (base32
2430 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2431 (build-system haskell-build-system)
f3aca086
TS
2432 (arguments
2433 `(#:cabal-revision
2434 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2435 (inputs
2436 `(("ghc-tuple-th" ,ghc-tuple-th)
2437 ("ghc-contravariant" ,ghc-contravariant)
2438 ("ghc-base-prelude" ,ghc-base-prelude)
2439 ("ghc-semigroups" ,ghc-semigroups)))
2440 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2441 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2442 (description "This Haskell package provides extras for the
2443@code{ghc-contravariant} package.")
2444 (license license:expat)))
2445
2446(define-public ghc-convertible
2447 (package
2448 (name "ghc-convertible")
2449 (version "1.1.1.0")
2450 (source
2451 (origin
2452 (method url-fetch)
2453 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2454 "convertible-" version ".tar.gz"))
2455 (sha256
2456 (base32
2457 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2458 (build-system haskell-build-system)
2459 (inputs
2460 `(("ghc-old-time" ,ghc-old-time)
2461 ("ghc-old-locale" ,ghc-old-locale)))
2462 (home-page "https://hackage.haskell.org/package/convertible")
2463 (synopsis "Typeclasses and instances for converting between types")
2464 (description
2465 "This package provides a typeclass with a single function that is
2466designed to help convert between different types: numeric values, dates and
2467times, and the like. The conversions perform bounds checking and return a
2468pure @code{Either} value. This means that you need not remember which specific
2469function performs the conversion you desire.")
2470 (license license:bsd-3)))
2471
2472(define-public ghc-data-accessor
2473 (package
2474 (name "ghc-data-accessor")
6dcca515 2475 (version "0.2.2.8")
dddbc90c
RV
2476 (source
2477 (origin
2478 (method url-fetch)
2479 (uri (string-append
2480 "mirror://hackage/package/data-accessor/data-accessor-"
2481 version ".tar.gz"))
2482 (sha256
6dcca515 2483 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2484 (build-system haskell-build-system)
2485 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2486 (synopsis
2487 "Haskell utilities for accessing and manipulating fields of records")
2488 (description "This package provides Haskell modules for accessing and
2489manipulating fields of records.")
2490 (license license:bsd-3)))
2491
2492(define-public ghc-data-accessor-transformers
2493 (package
2494 (name "ghc-data-accessor-transformers")
2495 (version "0.2.1.7")
2496 (source
2497 (origin
2498 (method url-fetch)
2499 (uri (string-append
2500 "mirror://hackage/package/data-accessor-transformers/"
2501 "data-accessor-transformers-" version ".tar.gz"))
2502 (sha256
2503 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2504 (build-system haskell-build-system)
2505 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2506 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2507 (synopsis "Use Accessor to access state in transformers State monad")
2508 (description "This package provides Haskell modules to allow use of
2509Accessor to access state in transformers State monad.")
2510 (license license:bsd-3)))
2511
2512(define-public ghc-data-default
2513 (package
2514 (name "ghc-data-default")
2515 (version "0.7.1.1")
2516 (source
2517 (origin
2518 (method url-fetch)
2519 (uri (string-append
2520 "https://hackage.haskell.org/package/data-default/data-default-"
2521 version
2522 ".tar.gz"))
2523 (sha256
2524 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2525 (build-system haskell-build-system)
2526 (inputs
2527 `(("ghc-data-default-class"
2528 ,ghc-data-default-class)
2529 ("ghc-data-default-instances-base"
2530 ,ghc-data-default-instances-base)
2531 ("ghc-data-default-instances-containers"
2532 ,ghc-data-default-instances-containers)
2533 ("ghc-data-default-instances-dlist"
2534 ,ghc-data-default-instances-dlist)
2535 ("ghc-data-default-instances-old-locale"
2536 ,ghc-data-default-instances-old-locale)))
2537 (home-page "https://hackage.haskell.org/package/data-default")
2538 (synopsis "Types with default values")
2539 (description
2540 "This package defines a class for types with a default value, and
2541provides instances for types from the base, containers, dlist and old-locale
2542packages.")
2543 (license license:bsd-3)))
2544
2545(define-public ghc-data-default-class
2546 (package
2547 (name "ghc-data-default-class")
2548 (version "0.1.2.0")
2549 (source
2550 (origin
2551 (method url-fetch)
2552 (uri (string-append
2553 "https://hackage.haskell.org/package/data-default-class/"
2554 "data-default-class-" version ".tar.gz"))
2555 (sha256
2556 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2557 (build-system haskell-build-system)
2558 (home-page "https://hackage.haskell.org/package/data-default-class")
2559 (synopsis "Types with default values")
2560 (description
2561 "This package defines a class for types with default values.")
2562 (license license:bsd-3)))
2563
2564(define-public ghc-data-default-instances-base
2565 (package
2566 (name "ghc-data-default-instances-base")
2567 (version "0.1.0.1")
2568 (source
2569 (origin
2570 (method url-fetch)
2571 (uri (string-append
2572 "https://hackage.haskell.org/package/"
2573 "data-default-instances-base/"
2574 "data-default-instances-base-" version ".tar.gz"))
2575 (sha256
2576 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2577 (build-system haskell-build-system)
2578 (inputs
2579 `(("ghc-data-default-class" ,ghc-data-default-class)))
2580 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2581 (synopsis "Default instances for types in base")
2582 (description
2583 "This package provides default instances for types from the base
2584package.")
2585 (license license:bsd-3)))
2586
2587(define-public ghc-data-default-instances-containers
2588 (package
2589 (name "ghc-data-default-instances-containers")
2590 (version "0.0.1")
2591 (source
2592 (origin
2593 (method url-fetch)
2594 (uri (string-append
2595 "https://hackage.haskell.org/package/"
2596 "data-default-instances-containers/"
2597 "data-default-instances-containers-" version ".tar.gz"))
2598 (sha256
2599 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2600 (build-system haskell-build-system)
2601 (inputs
2602 `(("ghc-data-default-class" ,ghc-data-default-class)))
2603 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2604 (synopsis "Default instances for types in containers")
2605 (description "Provides default instances for types from the containers
2606package.")
2607 (license license:bsd-3)))
2608
2609(define-public ghc-data-default-instances-dlist
2610 (package
2611 (name "ghc-data-default-instances-dlist")
2612 (version "0.0.1")
2613 (source
2614 (origin
2615 (method url-fetch)
2616 (uri (string-append
2617 "https://hackage.haskell.org/package/"
2618 "data-default-instances-dlist/"
2619 "data-default-instances-dlist-" version ".tar.gz"))
2620 (sha256
2621 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2622 (build-system haskell-build-system)
2623 (inputs
2624 `(("ghc-data-default-class" ,ghc-data-default-class)
2625 ("ghc-dlist" ,ghc-dlist)))
2626 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2627 (synopsis "Default instances for types in dlist")
2628 (description "Provides default instances for types from the dlist
2629package.")
2630 (license license:bsd-3)))
2631
2632(define-public ghc-data-default-instances-old-locale
2633 (package
2634 (name "ghc-data-default-instances-old-locale")
2635 (version "0.0.1")
2636 (source
2637 (origin
2638 (method url-fetch)
2639 (uri (string-append
2640 "https://hackage.haskell.org/package/"
2641 "data-default-instances-old-locale/"
2642 "data-default-instances-old-locale-" version ".tar.gz"))
2643 (sha256
2644 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2645 (build-system haskell-build-system)
2646 (inputs
2647 `(("ghc-data-default-class" ,ghc-data-default-class)
2648 ("ghc-old-locale" ,ghc-old-locale)))
2649 (home-page
2650 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2651 (synopsis "Default instances for types in old-locale")
2652 (description "Provides Default instances for types from the old-locale
2653 package.")
2654 (license license:bsd-3)))
2655
2656(define-public ghc-data-hash
2657 (package
2658 (name "ghc-data-hash")
2659 (version "0.2.0.1")
2660 (source
2661 (origin
2662 (method url-fetch)
2663 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2664 "/data-hash-" version ".tar.gz"))
2665 (sha256
2666 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2667 (build-system haskell-build-system)
2668 (inputs
2669 `(("ghc-quickcheck" ,ghc-quickcheck)
2670 ("ghc-test-framework" ,ghc-test-framework)
2671 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2672 (home-page "https://hackage.haskell.org/package/data-hash")
2673 (synopsis "Combinators for building fast hashing functions")
2674 (description
2675 "This package provides combinators for building fast hashing functions.
2676It includes hashing functions for all basic Haskell98 types.")
2677 (license license:bsd-3)))
2678
2679(define-public ghc-data-ordlist
2680 (package
2681 (name "ghc-data-ordlist")
2682 (version "0.4.7.0")
2683 (source
2684 (origin
2685 (method url-fetch)
2686 (uri (string-append
2687 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2688 version ".tar.gz"))
2689 (sha256
2690 (base32
2691 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2692 (build-system haskell-build-system)
2693 (home-page "https://hackage.haskell.org/package/data-ordlist")
2694 (synopsis "Set and bag operations on ordered lists")
2695 (description
2696 "This module provides set and multiset operations on ordered lists.")
2697 (license license:bsd-3)))
2698
d05f32d6
JS
2699(define-public ghc-dbus
2700 (package
2701 (name "ghc-dbus")
2702 (version "1.2.7")
2703 (source
2704 (origin
2705 (method url-fetch)
2706 (uri
2707 (string-append
2708 "mirror://hackage/package/dbus/dbus-"
2709 version ".tar.gz"))
2710 (sha256
2711 (base32
2712 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2713 (build-system haskell-build-system)
2714 (inputs
2715 `(("ghc-cereal" ,ghc-cereal)
2716 ("ghc-conduit" ,ghc-conduit)
2717 ("ghc-exceptions" ,ghc-exceptions)
2718 ("ghc-lens" ,ghc-lens)
2719 ("ghc-network" ,ghc-network)
2720 ("ghc-random" ,ghc-random)
2721 ("ghc-split" ,ghc-split)
2722 ("ghc-th-lift" ,ghc-th-lift)
2723 ("ghc-vector" ,ghc-vector)
2724 ("ghc-xml-conduit" ,ghc-xml-conduit)
2725 ("ghc-xml-types" ,ghc-xml-types)))
2726 (native-inputs
2727 `(("ghc-extra" ,ghc-extra)
2728 ("ghc-quickcheck" ,ghc-quickcheck)
2729 ("ghc-resourcet" ,ghc-resourcet)
2730 ("ghc-tasty" ,ghc-tasty)
2731 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2732 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2733 ;; FIXME - Some tests try to talk to network.
2734 (arguments `(#:tests? #f))
2735 (home-page "https://github.com/rblaze/haskell-dbus")
2736 (synopsis "Client library for the D-Bus IPC system")
2737 (description
2738 "D-Bus is a simple, message-based protocol for inter-process
2739communication, which allows applications to interact with other parts
2740of the machine and the user's session using remote procedure
2741calls. D-Bus is a essential part of the modern Linux desktop, where
2742it replaces earlier protocols such as CORBA and DCOP. This library
2743is an implementation of the D-Bus protocol in Haskell. It can be used
2744to add D-Bus support to Haskell applications, without the awkward
2745interfaces common to foreign bindings.")
2746 (license license:asl2.0)))
2747
dddbc90c
RV
2748(define-public ghc-deepseq-generics
2749 (package
2750 (name "ghc-deepseq-generics")
2751 (version "0.2.0.0")
2752 (source (origin
2753 (method url-fetch)
2754 (uri (string-append "https://hackage.haskell.org/package/"
2755 "deepseq-generics/deepseq-generics-"
2756 version ".tar.gz"))
2757 (sha256
2758 (base32
2759 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2760 (build-system haskell-build-system)
2761 (arguments
2762 `(#:cabal-revision
490ceae4 2763 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2764 (native-inputs
2765 `(("ghc-hunit" ,ghc-hunit)
2766 ("ghc-test-framework" ,ghc-test-framework)
2767 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2768 (home-page "https://github.com/hvr/deepseq-generics")
2769 (synopsis "Generic RNF implementation")
2770 (description
2771 "This package provides a @code{GHC.Generics}-based
2772@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2773providing an @code{rnf} implementation.")
2774 (license license:bsd-3)))
2775
e924e17e
TS
2776(define-public ghc-dense-linear-algebra
2777 (package
2778 (name "ghc-dense-linear-algebra")
2779 (version "0.1.0.0")
2780 (source
2781 (origin
2782 (method url-fetch)
2783 (uri (string-append "https://hackage.haskell.org/package/"
2784 "dense-linear-algebra/dense-linear-algebra-"
2785 version ".tar.gz"))
2786 (sha256
2787 (base32
2788 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2789 (build-system haskell-build-system)
2790 (inputs
2791 `(("ghc-math-functions" ,ghc-math-functions)
2792 ("ghc-primitive" ,ghc-primitive)
2793 ("ghc-vector" ,ghc-vector)
2794 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2795 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2796 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2797 (native-inputs
2798 `(("ghc-hspec" ,ghc-hspec)
2799 ("ghc-quickcheck" ,ghc-quickcheck)))
50153437 2800 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
e924e17e
TS
2801 (synopsis "Simple and incomplete implementation of linear algebra")
2802 (description "This library is simply a collection of linear-algebra
2803related modules split from the statistics library.")
2804 (license license:bsd-2)))
2805
dddbc90c
RV
2806(define-public ghc-descriptive
2807 (package
2808 (name "ghc-descriptive")
2809 (version "0.9.5")
2810 (source
2811 (origin
2812 (method url-fetch)
2813 (uri (string-append
2814 "https://hackage.haskell.org/package/descriptive/descriptive-"
2815 version
2816 ".tar.gz"))
2817 (sha256
2818 (base32
2819 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2820 (build-system haskell-build-system)
2821 (inputs
2822 `(("ghc-aeson" ,ghc-aeson)
2823 ("ghc-bifunctors" ,ghc-bifunctors)
2824 ("ghc-scientific" ,ghc-scientific)
2825 ("ghc-vector" ,ghc-vector)))
2826 (native-inputs
2827 `(("ghc-hunit" ,ghc-hunit)
2828 ("ghc-hspec" ,ghc-hspec)))
2829 (home-page
2830 "https://github.com/chrisdone/descriptive")
2831 (synopsis
2832 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2833 (description
2834 "This package provides datatypes and functions for creating consumers
2835and parsers with useful semantics.")
2836 (license license:bsd-3)))
2837
1859c94a
TS
2838(define-public ghc-diagrams-core
2839 (package
2840 (name "ghc-diagrams-core")
2841 (version "1.4.2")
2842 (source
2843 (origin
2844 (method url-fetch)
2845 (uri (string-append "https://hackage.haskell.org/package/"
2846 "diagrams-core/diagrams-core-" version ".tar.gz"))
2847 (sha256
2848 (base32
2849 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
2850 (build-system haskell-build-system)
2851 (inputs
2852 `(("ghc-unordered-containers" ,ghc-unordered-containers)
2853 ("ghc-semigroups" ,ghc-semigroups)
2854 ("ghc-monoid-extras" ,ghc-monoid-extras)
2855 ("ghc-dual-tree" ,ghc-dual-tree)
2856 ("ghc-lens" ,ghc-lens)
2857 ("ghc-linear" ,ghc-linear)
2858 ("ghc-adjunctions" ,ghc-adjunctions)
2859 ("ghc-distributive" ,ghc-distributive)
2860 ("ghc-profunctors" ,ghc-profunctors)))
2861 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2862 (synopsis "Core libraries for diagrams embedded domain-specific language")
2863 (description "This package provides the core modules underlying
2864diagrams, an embedded domain-specific language for compositional,
2865declarative drawing.")
2866 (license license:bsd-3)))
2867
f9f1a630
TS
2868(define-public ghc-diagrams-lib
2869 (package
2870 (name "ghc-diagrams-lib")
2871 (version "1.4.2.3")
2872 (source
2873 (origin
2874 (method url-fetch)
2875 (uri (string-append "https://hackage.haskell.org/package/"
2876 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
2877 (sha256
2878 (base32
2879 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
2880 (build-system haskell-build-system)
2881 (inputs
2882 `(("ghc-semigroups" ,ghc-semigroups)
2883 ("ghc-monoid-extras" ,ghc-monoid-extras)
2884 ("ghc-dual-tree" ,ghc-dual-tree)
2885 ("ghc-diagrams-core" ,ghc-diagrams-core)
2886 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
2887 ("ghc-active" ,ghc-active)
2888 ("ghc-colour" ,ghc-colour)
2889 ("ghc-data-default-class" ,ghc-data-default-class)
2890 ("ghc-fingertree" ,ghc-fingertree)
2891 ("ghc-intervals" ,ghc-intervals)
2892 ("ghc-lens" ,ghc-lens)
2893 ("ghc-tagged" ,ghc-tagged)
2894 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
2895 ("ghc-juicypixels" ,ghc-juicypixels)
2896 ("ghc-hashable" ,ghc-hashable)
2897 ("ghc-linear" ,ghc-linear)
2898 ("ghc-adjunctions" ,ghc-adjunctions)
2899 ("ghc-distributive" ,ghc-distributive)
2900 ("ghc-fsnotify" ,ghc-fsnotify)
2901 ("ghc-unordered-containers" ,ghc-unordered-containers)
2902 ("ghc-profunctors" ,ghc-profunctors)
2903 ("ghc-exceptions" ,ghc-exceptions)
2904 ("ghc-cereal" ,ghc-cereal)))
2905 (native-inputs
2906 `(("ghc-tasty" ,ghc-tasty)
2907 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2908 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
2909 ("ghc-numeric-extras" ,ghc-numeric-extras)))
2910 (arguments
2911 `(#:cabal-revision
2912 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
2913 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2914 (synopsis "Embedded domain-specific language for declarative graphics")
2915 (description "Diagrams is a flexible, extensible embedded
2916domain-specific language (EDSL) for creating graphics of many types.
2917Graphics can be created in arbitrary vector spaces and rendered with
2918multiple backends. This package provides a standard library of
2919primitives and operations for creating diagrams.")
2920 (license license:bsd-3)))
2921
fd33ffa0
TS
2922(define-public ghc-diagrams-solve
2923 (package
2924 (name "ghc-diagrams-solve")
2925 (version "0.1.1")
2926 (source
2927 (origin
2928 (method url-fetch)
2929 (uri (string-append "https://hackage.haskell.org/package/"
2930 "diagrams-solve/diagrams-solve-"
2931 version ".tar.gz"))
2932 (sha256
2933 (base32
2934 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
2935 (build-system haskell-build-system)
2936 (native-inputs
2937 `(("ghc-tasty" ,ghc-tasty)
2938 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2939 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2940 (arguments
2941 `(#:cabal-revision
2942 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
2943 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2944 (synopsis "Pure Haskell solver routines used by diagrams")
2945 (description "This library provides Pure Haskell solver routines for
2946use by the
2947@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
2948diagrams framework}. It currently includes routines for finding real
2949roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
2950and cyclic tridiagonal linear systems.")
2951 (license license:bsd-3)))
2952
74be1cb7
TS
2953(define-public ghc-diagrams-svg
2954 (package
2955 (name "ghc-diagrams-svg")
2956 (version "1.4.2")
2957 (source
2958 (origin
2959 (method url-fetch)
2960 (uri (string-append "https://hackage.haskell.org/package/"
2961 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
2962 (sha256
2963 (base32
2964 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
2965 (build-system haskell-build-system)
2966 (inputs
2967 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
2968 ("ghc-colour" ,ghc-colour)
2969 ("ghc-diagrams-core" ,ghc-diagrams-core)
2970 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
2971 ("ghc-monoid-extras" ,ghc-monoid-extras)
2972 ("ghc-svg-builder" ,ghc-svg-builder)
2973 ("ghc-juicypixels" ,ghc-juicypixels)
2974 ("ghc-split" ,ghc-split)
2975 ("ghc-lens" ,ghc-lens)
2976 ("ghc-hashable" ,ghc-hashable)
2977 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
2978 ("ghc-semigroups" ,ghc-semigroups)))
2979 (arguments
2980 `(#:cabal-revision
2981 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
2982 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2983 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
2984 (description "This package provides a modular backend for rendering
2985diagrams created with the diagrams embedded domain-specific
2986language (EDSL) to Scalable Vector Graphics (SVG) files.")
2987 (license license:bsd-3)))
2988
4eb9a167
TS
2989(define-public ghc-dictionary-sharing
2990 (package
2991 (name "ghc-dictionary-sharing")
2992 (version "0.1.0.0")
2993 (source
2994 (origin
2995 (method url-fetch)
2996 (uri (string-append "https://hackage.haskell.org/package/"
2997 "dictionary-sharing/dictionary-sharing-"
2998 version ".tar.gz"))
2999 (sha256
3000 (base32
3001 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3002 (build-system haskell-build-system)
3003 (arguments
3004 `(#:cabal-revision
3005 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3006 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3007 (synopsis "Sharing/memoization of class members")
3008 (description "This library provides tools for ensuring that class
3009members are shared.")
3010 (license license:bsd-3)))
3011
dddbc90c
RV
3012(define-public ghc-diff
3013 (package
3014 (name "ghc-diff")
3015 (version "0.3.4")
3016 (source (origin
3017 (method url-fetch)
3018 (uri (string-append "https://hackage.haskell.org/package/"
3019 "Diff/Diff-" version ".tar.gz"))
a531ff94 3020 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
3021 (sha256
3022 (base32
3023 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3024 (build-system haskell-build-system)
3025 (native-inputs
3026 `(("ghc-quickcheck" ,ghc-quickcheck)
3027 ("ghc-test-framework" ,ghc-test-framework)
3028 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3029 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3030 (synopsis "O(ND) diff algorithm in Haskell")
3031 (description
3032 "This package provides an implementation of the standard diff algorithm,
3033and utilities for pretty printing.")
3034 (license license:bsd-3)))
3035
3036(define-public ghc-disk-free-space
3037 (package
3038 (name "ghc-disk-free-space")
3039 (version "0.1.0.1")
3040 (source
3041 (origin
3042 (method url-fetch)
3043 (uri (string-append "https://hackage.haskell.org/package/"
3044 "disk-free-space/disk-free-space-"
3045 version ".tar.gz"))
3046 (sha256
3047 (base32
3048 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3049 (build-system haskell-build-system)
3050 (home-page "https://github.com/redneb/disk-free-space")
3051 (synopsis "Retrieve information about disk space usage")
3052 (description "A cross-platform library for retrieving information about
3053disk space usage.")
3054 (license license:bsd-3)))
3055
3056(define-public ghc-distributive
3057 (package
3058 (name "ghc-distributive")
e4c92f28 3059 (version "0.6.1")
dddbc90c
RV
3060 (source
3061 (origin
3062 (method url-fetch)
3063 (uri (string-append
3064 "https://hackage.haskell.org/package/distributive/distributive-"
3065 version
3066 ".tar.gz"))
3067 (sha256
3068 (base32
e4c92f28 3069 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 3070 (build-system haskell-build-system)
dddbc90c
RV
3071 (inputs
3072 `(("ghc-tagged" ,ghc-tagged)
3073 ("ghc-base-orphans" ,ghc-base-orphans)
3074 ("ghc-transformers-compat" ,ghc-transformers-compat)
3075 ("ghc-semigroups" ,ghc-semigroups)
3076 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3077 (native-inputs
3078 `(("cabal-doctest" ,cabal-doctest)
3079 ("ghc-doctest" ,ghc-doctest)
3080 ("ghc-hspec" ,ghc-hspec)
3081 ("hspec-discover" ,hspec-discover)))
3082 (home-page "https://github.com/ekmett/distributive/")
3083 (synopsis "Distributive functors for Haskell")
3084 (description "This package provides distributive functors for Haskell.
3085Dual to @code{Traversable}.")
3086 (license license:bsd-3)))
3087
3088(define-public ghc-dlist
3089 (package
3090 (name "ghc-dlist")
197ddf33 3091 (version "0.8.0.7")
dddbc90c
RV
3092 (source
3093 (origin
3094 (method url-fetch)
3095 (uri (string-append
3096 "https://hackage.haskell.org/package/dlist/dlist-"
3097 version
3098 ".tar.gz"))
3099 (sha256
197ddf33 3100 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
3101 (build-system haskell-build-system)
3102 (inputs
3103 `(("ghc-quickcheck" ,ghc-quickcheck)))
3104 (home-page "https://github.com/spl/dlist")
3105 (synopsis "Difference lists")
3106 (description
3107 "Difference lists are a list-like type supporting O(1) append. This is
3108particularly useful for efficient logging and pretty printing (e.g. with the
3109Writer monad), where list append quickly becomes too expensive.")
3110 (license license:bsd-3)))
3111
3112(define-public ghc-doctemplates
3113 (package
3114 (name "ghc-doctemplates")
3115 (version "0.2.2.1")
3116 (source
3117 (origin
3118 (method url-fetch)
3119 (uri (string-append "https://hackage.haskell.org/package/"
3120 "doctemplates/doctemplates-"
3121 version ".tar.gz"))
3122 (sha256
3123 (base32
3124 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3125 (build-system haskell-build-system)
3126 (inputs
3127 `(("ghc-aeson" ,ghc-aeson)
3128 ("ghc-blaze-markup" ,ghc-blaze-markup)
3129 ("ghc-blaze-html" ,ghc-blaze-html)
3130 ("ghc-vector" ,ghc-vector)
3131 ("ghc-unordered-containers" ,ghc-unordered-containers)
3132 ("ghc-scientific" ,ghc-scientific)))
3133 (native-inputs
3134 `(("ghc-hspec" ,ghc-hspec)))
3135 (home-page "https://github.com/jgm/doctemplates#readme")
3136 (synopsis "Pandoc-style document templates")
3137 (description
3138 "This package provides a simple text templating system used by pandoc.")
3139 (license license:bsd-3)))
3140
3141(define-public ghc-doctest
3142 (package
3143 (name "ghc-doctest")
19c14a0f 3144 (version "0.16.2")
dddbc90c
RV
3145 (source
3146 (origin
3147 (method url-fetch)
3148 (uri (string-append
3149 "https://hackage.haskell.org/package/doctest/doctest-"
3150 version
3151 ".tar.gz"))
3152 (sha256
3153 (base32
19c14a0f 3154 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
3155 (build-system haskell-build-system)
3156 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3157 (inputs
3158 `(("ghc-syb" ,ghc-syb)
3159 ("ghc-paths" ,ghc-paths)
3160 ("ghc-base-compat" ,ghc-base-compat)
3161 ("ghc-code-page" ,ghc-code-page)
3162 ("ghc-hunit" ,ghc-hunit)
3163 ("ghc-hspec" ,ghc-hspec)
3164 ("ghc-quickcheck" ,ghc-quickcheck)
3165 ("ghc-stringbuilder" ,ghc-stringbuilder)
3166 ("ghc-silently" ,ghc-silently)
3167 ("ghc-setenv" ,ghc-setenv)))
3168 (home-page
3169 "https://github.com/sol/doctest#readme")
3170 (synopsis "Test interactive Haskell examples")
3171 (description "The doctest program checks examples in source code comments.
3172It is modeled after doctest for Python, see
3173@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3174 (license license:expat)))
3175
3176(define-public ghc-double-conversion
3177 (package
3178 (name "ghc-double-conversion")
3179 (version "2.0.2.0")
3180 (source
3181 (origin
3182 (method url-fetch)
3183 (uri (string-append "https://hackage.haskell.org/package/"
3184 "double-conversion/double-conversion-"
3185 version ".tar.gz"))
3186 (sha256
3187 (base32
3188 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3189 (build-system haskell-build-system)
3190 (native-inputs
3191 `(("ghc-hunit" ,ghc-hunit)
3192 ("ghc-test-framework" ,ghc-test-framework)
3193 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3194 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3195 (home-page "https://github.com/bos/double-conversion")
3196 (synopsis "Fast conversion between double precision floating point and text")
3197 (description
3198 "This package provides a library that performs fast, accurate conversion
3199between double precision floating point and text.")
3200 (license license:bsd-3)))
3201
577a78b7
TS
3202(define-public ghc-dual-tree
3203 (package
3204 (name "ghc-dual-tree")
3205 (version "0.2.2.1")
3206 (source
3207 (origin
3208 (method url-fetch)
3209 (uri (string-append "https://hackage.haskell.org/package/"
3210 "dual-tree/dual-tree-" version ".tar.gz"))
3211 (sha256
3212 (base32
3213 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3214 (build-system haskell-build-system)
3215 (inputs
3216 `(("ghc-semigroups" ,ghc-semigroups)
3217 ("ghc-newtype-generics" ,ghc-newtype-generics)
3218 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3219 (native-inputs
3220 `(("ghc-quickcheck" ,ghc-quickcheck)
3221 ("ghc-testing-feat" ,ghc-testing-feat)))
3222 (home-page "https://hackage.haskell.org/package/dual-tree")
3223 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3224 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3225cached) and downwards-traveling (i.e. accumulating) monoidal
3226annotations. This is used as the core data structure underlying the
3227@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3228diagrams framework}, but potentially has other applications as well.")
3229 (license license:bsd-3)))
3230
dddbc90c
RV
3231(define-public ghc-easy-file
3232 (package
3233 (name "ghc-easy-file")
3234 (version "0.2.2")
3235 (source
3236 (origin
3237 (method url-fetch)
3238 (uri (string-append
3239 "https://hackage.haskell.org/package/easy-file/easy-file-"
3240 version
3241 ".tar.gz"))
3242 (sha256
3243 (base32
3244 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3245 (build-system haskell-build-system)
3246 (home-page
3247 "https://github.com/kazu-yamamoto/easy-file")
3248 (synopsis "File handling library for Haskell")
3249 (description "This library provides file handling utilities for Haskell.")
3250 (license license:bsd-3)))
3251
3252(define-public ghc-easyplot
3253 (package
3254 (name "ghc-easyplot")
3255 (version "1.0")
3256 (source
3257 (origin
3258 (method url-fetch)
3259 (uri (string-append
3260 "https://hackage.haskell.org/package/easyplot/easyplot-"
3261 version ".tar.gz"))
3262 (sha256
3263 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3264 (build-system haskell-build-system)
3265 (propagated-inputs `(("gnuplot" ,gnuplot)))
3266 (arguments
3267 `(#:phases (modify-phases %standard-phases
3268 (add-after 'unpack 'fix-setup-suffix
3269 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3270 (home-page "https://hub.darcs.net/scravy/easyplot")
3271 (synopsis "Haskell plotting library based on gnuplot")
3272 (description "This package provides a plotting library for
3273Haskell, using gnuplot for rendering.")
3274 (license license:expat)))
3275
3276(define-public ghc-echo
3277 (package
3278 (name "ghc-echo")
3279 (version "0.1.3")
3280 (source
3281 (origin
3282 (method url-fetch)
3283 (uri (string-append
3284 "https://hackage.haskell.org/package/echo/echo-"
3285 version ".tar.gz"))
3286 (sha256
3287 (base32
3288 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3289 (build-system haskell-build-system)
3290 (arguments
3291 `(#:cabal-revision
3292 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3293 (home-page "https://github.com/RyanGlScott/echo")
3294 (synopsis "Echo terminal input portably")
3295 (description "The @code{base} library exposes the @code{hGetEcho} and
3296@code{hSetEcho} functions for querying and setting echo status, but
3297unfortunately, neither function works with MinTTY consoles on Windows.
3298This library provides an alternative interface which works with both
3299MinTTY and other consoles.")
3300 (license license:bsd-3)))
3301
3302(define-public ghc-edisonapi
3303 (package
3304 (name "ghc-edisonapi")
3305 (version "1.3.1")
3306 (source
3307 (origin
3308 (method url-fetch)
3309 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3310 "/EdisonAPI-" version ".tar.gz"))
3311 (sha256
3312 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3313 (build-system haskell-build-system)
3314 (home-page "http://rwd.rdockins.name/edison/home/")
3315 (synopsis "Library of efficient, purely-functional data structures (API)")
3316 (description
3317 "Edison is a library of purely functional data structures written by
3318Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3319value EDiSon (Efficient Data Structures). Edison provides several families of
3320abstractions, each with multiple implementations. The main abstractions
3321provided by Edison are: Sequences such as stacks, queues, and dequeues;
3322Collections such as sets, bags and heaps; and Associative Collections such as
3323finite maps and priority queues where the priority and element are distinct.")
3324 (license license:expat)))
3325
3326(define-public ghc-edisoncore
3327 (package
3328 (name "ghc-edisoncore")
3329 (version "1.3.2.1")
3330 (source
3331 (origin
3332 (method url-fetch)
3333 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3334 "/EdisonCore-" version ".tar.gz"))
3335 (sha256
3336 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3337 (build-system haskell-build-system)
3338 (inputs
3339 `(("ghc-quickcheck" ,ghc-quickcheck)
3340 ("ghc-edisonapi" ,ghc-edisonapi)))
3341 (home-page "http://rwd.rdockins.name/edison/home/")
3342 (synopsis "Library of efficient, purely-functional data structures")
3343 (description
3344 "This package provides the core Edison data structure implementations,
3345including multiple sequence, set, bag, and finite map concrete implementations
3346with various performance characteristics.")
3347 (license license:expat)))
3348
3349(define-public ghc-edit-distance
3350 (package
3351 (name "ghc-edit-distance")
3352 (version "0.2.2.1")
3353 (source
3354 (origin
3355 (method url-fetch)
3356 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3357 "/edit-distance-" version ".tar.gz"))
3358 (sha256
3359 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3360 (build-system haskell-build-system)
3361 (arguments
3362 `(#:phases
3363 (modify-phases %standard-phases
3364 (add-before 'configure 'update-constraints
3365 (lambda _
3366 (substitute* "edit-distance.cabal"
3367 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3368 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3369 (inputs
3370 `(("ghc-random" ,ghc-random)
3371 ("ghc-test-framework" ,ghc-test-framework)
3372 ("ghc-quickcheck" ,ghc-quickcheck)
3373 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3374 (home-page "https://github.com/phadej/edit-distance")
3375 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3376 (description
3377 "This package provides optimized functions to determine the edit
3378distances for fuzzy matching, including Levenshtein and restricted
3379Damerau-Levenshtein algorithms.")
3380 (license license:bsd-3)))
3381
3ebae41f
TS
3382(define-public ghc-edit-distance-vector
3383 (package
3384 (name "ghc-edit-distance-vector")
3385 (version "1.0.0.4")
3386 (source
3387 (origin
3388 (method url-fetch)
3389 (uri (string-append "https://hackage.haskell.org/package/"
3390 "edit-distance-vector/edit-distance-vector-"
3391 version ".tar.gz"))
3392 (sha256
3393 (base32
3394 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3395 (build-system haskell-build-system)
3396 (inputs
3397 `(("ghc-vector" ,ghc-vector)))
3398 (native-inputs
3399 `(("ghc-quickcheck" ,ghc-quickcheck)
3400 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3401 (home-page "https://github.com/thsutton/edit-distance-vector")
3402 (synopsis "Calculate edit distances and edit scripts between vectors")
3403 (description "This package provides implementation of the
3404Wagner-Fischer dynamic programming algorithm to find the optimal edit
3405script and cost between two sequences. The implementation in this
3406package is specialised to sequences represented with @code{Data.Vector}
3407but is otherwise agnostic to:
3408@itemize
3409@item The type of values in the vectors;
3410@item The type representing edit operations; and
3411@item The type representing the cost of operations.
3412@end itemize")
3413 (license license:bsd-3)) )
3414
dddbc90c
RV
3415(define-public ghc-either
3416 (package
3417 (name "ghc-either")
a3fd4dc7 3418 (version "5.0.1.1")
dddbc90c
RV
3419 (source
3420 (origin
3421 (method url-fetch)
3422 (uri (string-append "https://hackage.haskell.org/package/"
3423 "either-" version "/"
3424 "either-" version ".tar.gz"))
3425 (sha256
3426 (base32
a3fd4dc7 3427 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3428 (build-system haskell-build-system)
3429 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3430 ("ghc-exceptions" ,ghc-exceptions)
3431 ("ghc-free" ,ghc-free)
3432 ("ghc-monad-control" ,ghc-monad-control)
3433 ("ghc-manodrandom" ,ghc-monadrandom)
3434 ("ghc-mmorph" ,ghc-mmorph)
3435 ("ghc-profunctors" ,ghc-profunctors)
3436 ("ghc-semigroups" ,ghc-semigroups)
3437 ("ghc-semigroupoids" ,ghc-semigroupoids)
3438 ("ghc-transformers-base" ,ghc-transformers-base)))
3439 (native-inputs
3440 `(("ghc-quickcheck" ,ghc-quickcheck)
3441 ("ghc-test-framework" ,ghc-test-framework)
3442 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3443 (home-page "https://github.com/ekmett/either")
3444 (synopsis "Provides an either monad transformer for Haskell")
3445 (description "This Haskell package provides an either monad transformer.")
3446 (license license:bsd-3)))
3447
3448(define-public ghc-email-validate
3449 (package
3450 (name "ghc-email-validate")
a4fe1c64 3451 (version "2.3.2.12")
dddbc90c
RV
3452 (source
3453 (origin
3454 (method url-fetch)
3455 (uri (string-append
3456 "https://hackage.haskell.org/package/"
3457 "email-validate/email-validate-"
3458 version
3459 ".tar.gz"))
3460 (sha256
3461 (base32
a4fe1c64 3462 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3463 (build-system haskell-build-system)
3464 (inputs
3465 `(("ghc-attoparsec" ,ghc-attoparsec)
3466 ("ghc-hspec" ,ghc-hspec)
3467 ("ghc-quickcheck" ,ghc-quickcheck)
3468 ("ghc-doctest" ,ghc-doctest)))
3469 (home-page
3470 "https://github.com/Porges/email-validate-hs")
3471 (synopsis "Email address validator for Haskell")
3472 (description
3473 "This Haskell package provides a validator that can validate an email
3474address string against RFC 5322.")
3475 (license license:bsd-3)))
3476
3477(define-public ghc-enclosed-exceptions
3478 (package
3479 (name "ghc-enclosed-exceptions")
3480 (version "1.0.3")
3481 (source (origin
3482 (method url-fetch)
3483 (uri (string-append "https://hackage.haskell.org/package/"
3484 "enclosed-exceptions/enclosed-exceptions-"
3485 version ".tar.gz"))
3486 (sha256
3487 (base32
3488 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3489 (build-system haskell-build-system)
3490 ;; FIXME: one of the tests blocks forever:
3491 ;; "thread blocked indefinitely in an MVar operation"
3492 (arguments '(#:tests? #f))
3493 (inputs
3494 `(("ghc-lifted-base" ,ghc-lifted-base)
3495 ("ghc-monad-control" ,ghc-monad-control)
3496 ("ghc-async" ,ghc-async)
3497 ("ghc-transformers-base" ,ghc-transformers-base)))
3498 (native-inputs
3499 `(("ghc-hspec" ,ghc-hspec)
3500 ("ghc-quickcheck" ,ghc-quickcheck)))
3501 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3502 (synopsis "Catch all exceptions from within an enclosed computation")
3503 (description
3504 "This library implements a technique to catch all exceptions raised
3505within an enclosed computation, while remaining responsive to (external)
3506asynchronous exceptions.")
3507 (license license:expat)))
3508
3509(define-public ghc-equivalence
3510 (package
3511 (name "ghc-equivalence")
801cf5b1 3512 (version "0.3.5")
dddbc90c
RV
3513 (source
3514 (origin
3515 (method url-fetch)
3516 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3517 "/equivalence-" version ".tar.gz"))
3518 (sha256
801cf5b1 3519 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
dddbc90c
RV
3520 (build-system haskell-build-system)
3521 (inputs
3522 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3523 ("ghc-transformers-compat" ,ghc-transformers-compat)
801cf5b1
TS
3524 ("ghc-fail" ,ghc-fail)
3525 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
3526 (home-page "https://github.com/pa-ba/equivalence")
3527 (synopsis "Maintaining an equivalence relation implemented as union-find")
3528 (description
3529 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3530Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
353122(2), 1975) in order to maintain an equivalence relation. This
3532implementation is a port of the @code{union-find} package using the @code{ST}
3533monad transformer (instead of the IO monad).")
3534 (license license:bsd-3)))
3535
3536(define-public ghc-erf
3537 (package
3538 (name "ghc-erf")
3539 (version "2.0.0.0")
3540 (source
3541 (origin
3542 (method url-fetch)
3543 (uri (string-append "https://hackage.haskell.org/package/"
3544 "erf-" version "/"
3545 "erf-" version ".tar.gz"))
3546 (sha256
3547 (base32
3548 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3549 (build-system haskell-build-system)
3550 (home-page "https://hackage.haskell.org/package/erf")
3551 (synopsis "The error function, erf, and related functions for Haskell")
3552 (description "This Haskell library provides a type class for the
3553error function, erf, and related functions. Instances for Float and
3554Double.")
3555 (license license:bsd-3)))
3556
3557(define-public ghc-errorcall-eq-instance
3558 (package
3559 (name "ghc-errorcall-eq-instance")
3560 (version "0.3.0")
3561 (source
3562 (origin
3563 (method url-fetch)
3564 (uri (string-append "https://hackage.haskell.org/package/"
3565 "errorcall-eq-instance/errorcall-eq-instance-"
3566 version ".tar.gz"))
3567 (sha256
3568 (base32
3569 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3570 (build-system haskell-build-system)
3571 (inputs
3572 `(("ghc-base-orphans" ,ghc-base-orphans)))
3573 (native-inputs
3574 `(("ghc-quickcheck" ,ghc-quickcheck)
3575 ("ghc-hspec" ,ghc-hspec)
3576 ("hspec-discover" ,hspec-discover)))
3577 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3578 (synopsis "Orphan Eq instance for ErrorCall")
3579 (description
3580 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3581This package provides an orphan instance.")
3582 (license license:expat)))
3583
3584(define-public ghc-errors
3585 (package
3586 (name "ghc-errors")
3587 (version "2.3.0")
3588 (source
3589 (origin
3590 (method url-fetch)
3591 (uri (string-append "https://hackage.haskell.org/package/"
3592 "errors-" version "/"
3593 "errors-" version ".tar.gz"))
3594 (sha256
3595 (base32
3596 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3597 (build-system haskell-build-system)
3598 (inputs
3599 `(("ghc-exceptions" ,ghc-exceptions)
3600 ("ghc-transformers-compat" ,ghc-transformers-compat)
3601 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3602 ("ghc-safe" ,ghc-safe)))
3603 (home-page "https://github.com/gabriel439/haskell-errors-library")
3604 (synopsis "Error handling library for Haskell")
3605 (description "This library encourages an error-handling style that
3606directly uses the type system, rather than out-of-band exceptions.")
3607 (license license:bsd-3)))
3608
3609(define-public ghc-esqueleto
2648b604
TS
3610 (package
3611 (name "ghc-esqueleto")
3612 (version "3.0.0")
3613 (source
3614 (origin
3615 (method url-fetch)
3616 (uri (string-append "https://hackage.haskell.org/package/"
3617 "esqueleto/esqueleto-" version ".tar.gz"))
3618 (sha256
3619 (base32
3620 "187c098h2xyf2nhifkdy2bqfl6iap7a93mzwd2kirl5yyicpc9zy"))))
3621 (build-system haskell-build-system)
3622 (arguments
3623 `(#:haddock? #f ; Haddock reports an internal error.
3624 #:phases
3625 (modify-phases %standard-phases
3626 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3627 ;; SQLite backends. Since we only have Haskell packages for
3628 ;; SQLite, we remove the other two test suites. FIXME: Add the
3629 ;; other backends and run all three test suites.
3630 (add-before 'configure 'remove-non-sqlite-test-suites
3631 (lambda _
3632 (use-modules (ice-9 rdelim))
3633 (with-atomic-file-replacement "esqueleto.cabal"
3634 (lambda (in out)
3635 (let loop ((line (read-line in 'concat)) (deleting? #f))
3636 (cond
3637 ((eof-object? line) #t)
3638 ((string-every char-set:whitespace line)
3639 (unless deleting? (display line out))
3640 (loop (read-line in 'concat) #f))
3641 ((member line '("test-suite mysql\n"
3642 "test-suite postgresql\n"))
3643 (loop (read-line in 'concat) #t))
3644 (else
3645 (unless deleting? (display line out))
3646 (loop (read-line in 'concat) deleting?)))))))))))
3647 (inputs
3648 `(("ghc-blaze-html" ,ghc-blaze-html)
3649 ("ghc-conduit" ,ghc-conduit)
3650 ("ghc-monad-logger" ,ghc-monad-logger)
3651 ("ghc-persistent" ,ghc-persistent)
3652 ("ghc-resourcet" ,ghc-resourcet)
3653 ("ghc-tagged" ,ghc-tagged)
3654 ("ghc-unliftio" ,ghc-unliftio)
3655 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3656 (native-inputs
3657 `(("ghc-hspec" ,ghc-hspec)
3658 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3659 ("ghc-persistent-template" ,ghc-persistent-template)))
3660 (home-page "https://github.com/bitemyapp/esqueleto")
3661 (synopsis "Type-safe embedded domain specific language for SQL queries")
3662 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3663language (EDSL) for SQL queries that works with SQL backends as provided by
3664@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3665to learn new concepts, just new syntax, and it's fairly easy to predict the
3666generated SQL and optimize it for your backend.")
2648b604 3667 (license license:bsd-3)))
dddbc90c
RV
3668
3669(define-public ghc-exactprint
3670 (package
3671 (name "ghc-exactprint")
50614014 3672 (version "0.6.1")
dddbc90c
RV
3673 (source
3674 (origin
3675 (method url-fetch)
3676 (uri (string-append
3677 "https://hackage.haskell.org/package/"
3678 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3679 (sha256
3680 (base32
50614014 3681 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3682 (build-system haskell-build-system)
3683 (inputs
3684 `(("ghc-paths" ,ghc-paths)
3685 ("ghc-syb" ,ghc-syb)
3686 ("ghc-free" ,ghc-free)))
3687 (native-inputs
3688 `(("ghc-hunit" ,ghc-hunit)
3689 ("ghc-diff" ,ghc-diff)
3690 ("ghc-silently" ,ghc-silently)
3691 ("ghc-filemanip" ,ghc-filemanip)))
3692 (home-page
3693 "http://hackage.haskell.org/package/ghc-exactprint")
3694 (synopsis "ExactPrint for GHC")
3695 (description
3696 "Using the API Annotations available from GHC 7.10.2, this library
3697provides a means to round-trip any code that can be compiled by GHC, currently
3698excluding @file{.lhs} files.")
3699 (license license:bsd-3)))
3700
3701(define-public ghc-exceptions
3702 (package
3703 (name "ghc-exceptions")
46d3e65b 3704 (version "0.10.3")
dddbc90c
RV
3705 (source
3706 (origin
3707 (method url-fetch)
3708 (uri (string-append
3709 "https://hackage.haskell.org/package/exceptions/exceptions-"
3710 version
3711 ".tar.gz"))
3712 (sha256
3713 (base32
46d3e65b 3714 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3715 (build-system haskell-build-system)
3716 (native-inputs
3717 `(("ghc-quickcheck" ,ghc-quickcheck)
3718 ("ghc-test-framework" ,ghc-test-framework)
3719 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3720 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3721 (inputs
3722 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3723 (home-page "https://github.com/ekmett/exceptions/")
3724 (synopsis "Extensible optionally-pure exceptions")
3725 (description "This library provides extensible optionally-pure exceptions
3726for Haskell.")
3727 (license license:bsd-3)))
3728
3729(define-public ghc-executable-path
3730 (package
3731 (name "ghc-executable-path")
3732 (version "0.0.3.1")
3733 (source (origin
3734 (method url-fetch)
3735 (uri (string-append "https://hackage.haskell.org/package/"
3736 "executable-path/executable-path-"
3737 version ".tar.gz"))
3738 (sha256
3739 (base32
3740 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3741 (build-system haskell-build-system)
3742 (home-page "https://hackage.haskell.org/package/executable-path")
3743 (synopsis "Find out the full path of the executable")
3744 (description
3745 "The documentation of @code{System.Environment.getProgName} says that
3746\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3747instead, for maximum portability, we just return the leafname of the program
3748as invoked.\" This library tries to provide the missing path.")
3749 (license license:public-domain)))
3750
3751(define-public ghc-extensible-exceptions
3752 (package
3753 (name "ghc-extensible-exceptions")
3754 (version "0.1.1.4")
3755 (source
3756 (origin
3757 (method url-fetch)
3758 (uri (string-append "https://hackage.haskell.org/package/"
3759 "extensible-exceptions/extensible-exceptions-"
3760 version ".tar.gz"))
3761 (sha256
3762 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3763 (build-system haskell-build-system)
3764 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3765 (synopsis "Extensible exceptions for Haskell")
3766 (description
3767 "This package provides extensible exceptions for both new and old
3768versions of GHC (i.e., < 6.10).")
3769 (license license:bsd-3)))
3770
3771(define-public ghc-extra
3772 (package
3773 (name "ghc-extra")
10650c44 3774 (version "1.6.18")
dddbc90c
RV
3775 (source
3776 (origin
3777 (method url-fetch)
3778 (uri (string-append
3779 "https://hackage.haskell.org/package/extra/extra-"
3780 version
3781 ".tar.gz"))
3782 (sha256
3783 (base32
10650c44 3784 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3785 (build-system haskell-build-system)
3786 (inputs
3787 `(("ghc-clock" ,ghc-clock)
10650c44 3788 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3789 ("ghc-quickcheck" ,ghc-quickcheck)))
3790 (home-page "https://github.com/ndmitchell/extra")
3791 (synopsis "Extra Haskell functions")
3792 (description "This library provides extra functions for the standard
3793Haskell libraries. Most functions are simple additions, filling out missing
3794functionality. A few functions are available in later versions of GHC, but
3795this package makes them available back to GHC 7.2.")
3796 (license license:bsd-3)))
3797
3798(define-public ghc-fail
3799 (package
3800 (name "ghc-fail")
3801 (version "4.9.0.0")
3802 (source
3803 (origin
3804 (method url-fetch)
3805 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3806 version ".tar.gz"))
3807 (sha256
3808 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3809 (build-system haskell-build-system)
3810 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3811 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3812 (synopsis "Forward-compatible MonadFail class")
3813 (description
3814 "This package contains the @code{Control.Monad.Fail} module providing the
3815@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3816class that became available in
3817@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3818older @code{base} package versions. This package turns into an empty package
3819when used with GHC versions which already provide the
3820@code{Control.Monad.Fail} module.")
3821 (license license:bsd-3)))
3822
3823(define-public ghc-fast-logger
3824 (package
3825 (name "ghc-fast-logger")
d443a52a 3826 (version "2.4.17")
dddbc90c
RV
3827 (source
3828 (origin
3829 (method url-fetch)
3830 (uri (string-append
3831 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3832 version
3833 ".tar.gz"))
3834 (sha256
3835 (base32
d443a52a 3836 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3837 (build-system haskell-build-system)
3838 (inputs
3839 `(("ghc-auto-update" ,ghc-auto-update)
3840 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3841 ("ghc-unix-time" ,ghc-unix-time)
3842 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3843 (native-inputs
3844 `(("hspec-discover" ,hspec-discover)
3845 ("ghc-hspec" ,ghc-hspec)))
3846 (home-page "https://hackage.haskell.org/package/fast-logger")
3847 (synopsis "Fast logging system")
3848 (description "This library provides a fast logging system for Haskell.")
3849 (license license:bsd-3)))
3850
3851(define-public ghc-feed
3852 (package
3853 (name "ghc-feed")
a41c16dc 3854 (version "1.2.0.1")
dddbc90c
RV
3855 (source
3856 (origin
3857 (method url-fetch)
3858 (uri (string-append "https://hackage.haskell.org/package/"
3859 "feed/feed-" version ".tar.gz"))
3860 (sha256
3861 (base32
a41c16dc 3862 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 3863 (build-system haskell-build-system)
dddbc90c
RV
3864 (inputs
3865 `(("ghc-base-compat" ,ghc-base-compat)
3866 ("ghc-old-locale" ,ghc-old-locale)
3867 ("ghc-old-time" ,ghc-old-time)
3868 ("ghc-safe" ,ghc-safe)
3869 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3870 ("ghc-utf8-string" ,ghc-utf8-string)
3871 ("ghc-xml-conduit" ,ghc-xml-conduit)
3872 ("ghc-xml-types" ,ghc-xml-types)))
3873 (native-inputs
3874 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 3875 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
3876 ("ghc-test-framework" ,ghc-test-framework)
3877 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3878 (home-page "https://github.com/bergmark/feed")
3879 (synopsis "Haskell package for handling various syndication formats")
3880 (description "This Haskell package includes tools for generating and
3881consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3882 (license license:bsd-3)))
3883
3884(define-public ghc-fgl
3885 (package
3886 (name "ghc-fgl")
17482b26 3887 (version "5.7.0.1")
dddbc90c
RV
3888 (outputs '("out" "doc"))
3889 (source
3890 (origin
3891 (method url-fetch)
3892 (uri (string-append
3893 "https://hackage.haskell.org/package/fgl/fgl-"
3894 version
3895 ".tar.gz"))
3896 (sha256
3897 (base32
17482b26 3898 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3899 (build-system haskell-build-system)
3900 (arguments
3901 `(#:phases
3902 (modify-phases %standard-phases
3903 (add-before 'configure 'update-constraints
3904 (lambda _
3905 (substitute* "fgl.cabal"
17482b26
TS
3906 (("QuickCheck >= 2\\.8 && < 2\\.13")
3907 "QuickCheck >= 2.8 && < 2.14")
3908 (("hspec >= 2\\.1 && < 2\\.7")
3909 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3910 (inputs
3911 `(("ghc-hspec" ,ghc-hspec)
3912 ("ghc-quickcheck" ,ghc-quickcheck)))
3913 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3914 (synopsis
3915 "Martin Erwig's Functional Graph Library")
3916 (description "The functional graph library, FGL, is a collection of type
3917and function definitions to address graph problems. The basis of the library
3918is an inductive definition of graphs in the style of algebraic data types that
3919encourages inductive, recursive definitions of graph algorithms.")
3920 (license license:bsd-3)))
3921
3922(define-public ghc-fgl-arbitrary
3923 (package
3924 (name "ghc-fgl-arbitrary")
3925 (version "0.2.0.3")
3926 (source
3927 (origin
3928 (method url-fetch)
3929 (uri (string-append
3930 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3931 version ".tar.gz"))
3932 (sha256
3933 (base32
3934 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3935 (build-system haskell-build-system)
3936 (arguments
3937 `(#:phases
3938 (modify-phases %standard-phases
3939 (add-before 'configure 'update-constraints
3940 (lambda _
3941 (substitute* "fgl-arbitrary.cabal"
3942 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3943 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3944 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3945 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3946 (inputs
3947 `(("ghc-fgl" ,ghc-fgl)
3948 ("ghc-quickcheck" ,ghc-quickcheck)
3949 ("ghc-hspec" ,ghc-hspec)))
3950 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3951 (synopsis "QuickCheck support for fgl")
3952 (description
3953 "Provides Arbitrary instances for fgl graphs to avoid adding a
3954QuickCheck dependency for fgl whilst still making the instances
3955available to others. Also available are non-fgl-specific functions
3956for generating graph-like data structures.")
3957 (license license:bsd-3)))
3958
3959(define-public ghc-file-embed
3960 (package
3961 (name "ghc-file-embed")
b5920d50 3962 (version "0.0.11")
dddbc90c
RV
3963 (source
3964 (origin
3965 (method url-fetch)
3966 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3967 "file-embed-" version ".tar.gz"))
3968 (sha256
3969 (base32
b5920d50 3970 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3971 (build-system haskell-build-system)
3972 (home-page "https://github.com/snoyberg/file-embed")
3973 (synopsis "Use Template Haskell to embed file contents directly")
3974 (description
3975 "This package allows you to use Template Haskell to read a file or all
3976the files in a directory, and turn them into @code{(path, bytestring)} pairs
3977embedded in your Haskell code.")
3978 (license license:bsd-3)))
3979
3980(define-public ghc-filemanip
3981 (package
3982 (name "ghc-filemanip")
3983 (version "0.3.6.3")
3984 (source (origin
3985 (method url-fetch)
3986 (uri (string-append "https://hackage.haskell.org/package/"
3987 "filemanip/filemanip-" version ".tar.gz"))
3988 (sha256
3989 (base32
3990 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3991 (build-system haskell-build-system)
3992 (inputs
3993 `(("ghc-unix-compat" ,ghc-unix-compat)))
3994 (home-page "https://github.com/bos/filemanip")
3995 (synopsis "File and directory manipulation for Haskell")
3996 (description
3997 "This package provides a Haskell library for working with files and
3998directories. It includes code for pattern matching, finding files, modifying
3999file contents, and more.")
4000 (license license:bsd-3)))
4001
bb62932a
KM
4002(define-public ghc-filepath-bytestring
4003 (package
4004 (name "ghc-filepath-bytestring")
4005 (version "1.4.2.1.1")
4006 (source
4007 (origin
4008 (method url-fetch)
4009 (uri (string-append
4010 "https://hackage.haskell.org/package/filepath-bytestring/"
4011 "filepath-bytestring-" version ".tar.gz"))
4012 (sha256
4013 (base32
4014 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4015 (build-system haskell-build-system)
4016 (native-inputs
4017 `(("ghc-quickcheck" ,ghc-quickcheck)))
4018 (home-page "http://hackage.haskell.org/package/filepath-bytestring")
4019 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4020 (description "This package provides a drop-in replacement for the standard
4021@code{filepath} library, operating on @code{RawFilePath} values rather than
4022@code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4023 (license license:bsd-3)))
4024
dddbc90c
RV
4025(define-public ghc-findbin
4026 (package
4027 (name "ghc-findbin")
4028 (version "0.0.5")
4029 (source
4030 (origin
4031 (method url-fetch)
4032 (uri (string-append
4033 "https://hackage.haskell.org/package/FindBin/FindBin-"
4034 version ".tar.gz"))
4035 (sha256
4036 (base32
4037 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4038 (build-system haskell-build-system)
4039 (home-page "https://github.com/audreyt/findbin")
4040 (synopsis "Get the absolute path of the running program")
4041 (description
4042 "This module locates the full directory of the running program, to allow
4043the use of paths relative to it. FindBin supports invocation of Haskell
4044programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4045an executable.")
4046 (license license:bsd-3)))
4047
4048(define-public ghc-fingertree
4049 (package
4050 (name "ghc-fingertree")
aac14fdc 4051 (version "0.1.4.2")
dddbc90c
RV
4052 (source
4053 (origin
4054 (method url-fetch)
4055 (uri (string-append
4056 "https://hackage.haskell.org/package/fingertree/fingertree-"
4057 version ".tar.gz"))
4058 (sha256
4059 (base32
aac14fdc 4060 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
4061 (build-system haskell-build-system)
4062 (native-inputs
4063 `(("ghc-hunit" ,ghc-hunit)
4064 ("ghc-quickcheck" ,ghc-quickcheck)
4065 ("ghc-test-framework" ,ghc-test-framework)
4066 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4067 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4068 (home-page "https://hackage.haskell.org/package/fingertree")
4069 (synopsis "Generic finger-tree structure")
4070 (description "This library provides finger trees, a general sequence
4071representation with arbitrary annotations, for use as a base for
4072implementations of various collection types. It includes examples, as
4073described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4074simple general-purpose data structure\".")
4075 (license license:bsd-3)))
4076
4077(define-public ghc-fixed
4078 (package
4079 (name "ghc-fixed")
099dda5b 4080 (version "0.3")
dddbc90c
RV
4081 (source
4082 (origin
4083 (method url-fetch)
4084 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4085 version ".tar.gz"))
4086 (sha256
4087 (base32
099dda5b 4088 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
4089 (build-system haskell-build-system)
4090 (home-page "https://github.com/ekmett/fixed")
4091 (synopsis "Signed 15.16 precision fixed point arithmetic")
4092 (description
4093 "This package provides functions for signed 15.16 precision fixed point
4094arithmetic.")
4095 (license license:bsd-3)))
4096
f169f713
JS
4097(define-public ghc-fmlist
4098 (package
4099 (name "ghc-fmlist")
fe9b83a6 4100 (version "0.9.3")
f169f713
JS
4101 (source
4102 (origin
4103 (method url-fetch)
4104 (uri
4105 (string-append
4106 "https://hackage.haskell.org/package/fmlist/fmlist-"
4107 version ".tar.gz"))
4108 (sha256
4109 (base32
fe9b83a6 4110 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
4111 (build-system haskell-build-system)
4112 (home-page "https://github.com/sjoerdvisscher/fmlist")
4113 (synopsis "FoldMap lists")
4114 (description "FoldMap lists are lists represented by their
4115@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4116append, just like DLists, but other operations might have favorable
4117performance characteristics as well. These wild claims are still
4118completely unverified though.")
4119 (license license:bsd-3)))
4120
dddbc90c
RV
4121(define-public ghc-foldl
4122 (package
4123 (name "ghc-foldl")
26c4104f 4124 (version "1.4.5")
dddbc90c
RV
4125 (source
4126 (origin
4127 (method url-fetch)
4128 (uri (string-append "https://hackage.haskell.org/package/"
4129 "foldl-" version "/"
4130 "foldl-" version ".tar.gz"))
4131 (sha256
4132 (base32
26c4104f 4133 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
4134 (build-system haskell-build-system)
4135 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4136 ("ghc-primitive" ,ghc-primitive)
4137 ("ghc-vector" ,ghc-vector)
4138 ("ghc-unordered-containers" ,ghc-unordered-containers)
4139 ("ghc-hashable" ,ghc-hashable)
4140 ("ghc-contravariant" ,ghc-contravariant)
4141 ("ghc-semigroups" ,ghc-semigroups)
4142 ("ghc-profunctors" ,ghc-profunctors)
4143 ("ghc-semigroupoids" ,ghc-semigroupoids)
4144 ("ghc-comonad" ,ghc-comonad)
4145 ("ghc-vector-builder" ,ghc-vector-builder)))
4146 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4147 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4148 (description "This Haskell library provides strict left folds that stream
4149in constant memory, and you can combine folds using @code{Applicative} style
4150to derive new folds. Derived folds still traverse the container just once
4151and are often as efficient as hand-written folds.")
4152 (license license:bsd-3)))
4153
4154(define-public ghc-foundation
4155 (package
4156 (name "ghc-foundation")
0a702df9 4157 (version "0.0.25")
dddbc90c
RV
4158 (source
4159 (origin
4160 (method url-fetch)
4161 (uri (string-append "https://hackage.haskell.org/package/"
4162 "foundation/foundation-" version ".tar.gz"))
4163 (sha256
4164 (base32
0a702df9 4165 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c 4166 (build-system haskell-build-system)
59cd7518
TS
4167 (arguments
4168 `(#:phases
4169 (modify-phases %standard-phases
4170 ;; This test is broken. For details, see
4171 ;; https://github.com/haskell-foundation/foundation/issues/530
4172 (add-after 'unpack 'patch-tests
4173 (lambda _
4174 (substitute* "tests/Test/Foundation/Number.hs"
4175 ((", testDividible proxy") ""))
4176 #t)))))
dddbc90c
RV
4177 (inputs `(("ghc-basement" ,ghc-basement)))
4178 (home-page "https://github.com/haskell-foundation/foundation")
4179 (synopsis "Alternative prelude with batteries and no dependencies")
4180 (description
4181 "This package provides a custom prelude with no dependencies apart from
4182the base package.
4183
4184Foundation has the following goals:
4185
4186@enumerate
4187@item provide a base like sets of modules that provide a consistent set of
4188 features and bugfixes across multiple versions of GHC (unlike base).
4189@item provide a better and more efficient prelude than base's prelude.
4190@item be self-sufficient: no external dependencies apart from base;
4191@item provide better data-types: packed unicode string by default, arrays;
4192@item Numerical classes that better represent mathematical things (no more
4193 all-in-one @code{Num});
4194@item I/O system with less lazy IO.
4195@end enumerate\n")
4196 (license license:bsd-3)))
4197
4198(define-public ghc-free
4199 (package
4200 (name "ghc-free")
4081565d 4201 (version "5.1.2")
dddbc90c
RV
4202 (source
4203 (origin
4204 (method url-fetch)
4205 (uri (string-append
4206 "https://hackage.haskell.org/package/free/free-"
4207 version
4208 ".tar.gz"))
4209 (sha256
4210 (base32
4081565d 4211 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
4212 (build-system haskell-build-system)
4213 (inputs
4214 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4215 ("ghc-profunctors" ,ghc-profunctors)
4216 ("ghc-exceptions" ,ghc-exceptions)
4217 ("ghc-bifunctors" ,ghc-bifunctors)
4218 ("ghc-comonad" ,ghc-comonad)
4219 ("ghc-distributive" ,ghc-distributive)
4220 ("ghc-semigroupoids" ,ghc-semigroupoids)
4221 ("ghc-semigroups" ,ghc-semigroups)
4222 ("ghc-transformers-base" ,ghc-transformers-base)
4223 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4224 (home-page "https://github.com/ekmett/free/")
4225 (synopsis "Unrestricted monads for Haskell")
4226 (description "This library provides free monads, which are useful for many
4227tree-like structures and domain specific languages. If @code{f} is a
4228@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4229whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4230is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4231f} makes no constraining assumptions beyond those given by @code{f} and the
4232definition of @code{Monad}.")
4233 (license license:bsd-3)))
4234
4235(define-public ghc-fsnotify
4236 (package
4237 (name "ghc-fsnotify")
4238 (version "0.3.0.1")
4239 (source (origin
4240 (method url-fetch)
4241 (uri (string-append
4242 "https://hackage.haskell.org/package/fsnotify/"
4243 "fsnotify-" version ".tar.gz"))
4244 (sha256
4245 (base32
4246 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4247 (build-system haskell-build-system)
4248 (inputs
4249 `(("ghc-async" ,ghc-async)
4250 ("ghc-unix-compat" ,ghc-unix-compat)
4251 ("ghc-hinotify" ,ghc-hinotify)
4252 ("ghc-tasty" ,ghc-tasty)
4253 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4254 ("ghc-random" ,ghc-random)
4255 ("ghc-shelly" ,ghc-shelly)
4256 ("ghc-temporary" ,ghc-temporary)))
4257 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4258 (synopsis "Cross platform library for file change notification.")
4259 (description "Cross platform library for file creation, modification, and
4260deletion notification. This library builds upon existing libraries for platform
4261specific Windows, Mac, and Linux file system event notification.")
4262 (license license:bsd-3)))
4263
4264(define-public ghc-generic-deriving
4265 (package
4266 (name "ghc-generic-deriving")
55c1e6be 4267 (version "1.12.4")
dddbc90c
RV
4268 (source
4269 (origin
4270 (method url-fetch)
4271 (uri (string-append
4272 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4273 version
4274 ".tar.gz"))
4275 (sha256
4276 (base32
55c1e6be 4277 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
4278 (build-system haskell-build-system)
4279 (inputs
4280 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4281 (native-inputs
4282 `(("ghc-hspec" ,ghc-hspec)
4283 ("hspec-discover" ,hspec-discover)))
4284 (home-page "https://hackage.haskell.org/package/generic-deriving")
4285 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4286 (description "This package provides functionality for generalising the
4287deriving mechanism in Haskell to arbitrary classes.")
4288 (license license:bsd-3)))
4289
4290(define-public ghc-generics-sop
4291 (package
4292 (name "ghc-generics-sop")
3ed40e10 4293 (version "0.4.0.1")
dddbc90c
RV
4294 (source
4295 (origin
4296 (method url-fetch)
4297 (uri (string-append "https://hackage.haskell.org/package/"
4298 "generics-sop-" version "/"
4299 "generics-sop-" version ".tar.gz"))
4300 (sha256
4301 (base32
3ed40e10 4302 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 4303 (build-system haskell-build-system)
3ed40e10
TS
4304 (inputs
4305 `(("ghc-sop-core" ,ghc-sop-core)
4306 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4307 (home-page "https://github.com/well-typed/generics-sop")
4308 (synopsis "Generic Programming using True Sums of Products for Haskell")
4309 (description "This Haskell package supports the definition of generic
4310functions. Datatypes are viewed in a uniform, structured way: the choice
4311between constructors is represented using an n-ary sum, and the arguments of
4312each constructor are represented using an n-ary product.")
4313 (license license:bsd-3)))
4314
4315(define-public ghc-geniplate-mirror
4316 (package
4317 (name "ghc-geniplate-mirror")
4318 (version "0.7.6")
4319 (source
4320 (origin
4321 (method url-fetch)
4322 (uri (string-append "https://hackage.haskell.org/package"
4323 "/geniplate-mirror"
4324 "/geniplate-mirror-" version ".tar.gz"))
4325 (sha256
4326 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4327 (build-system haskell-build-system)
74a7dd7f
TS
4328 (arguments
4329 `(#:cabal-revision
4330 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4331 (home-page "https://github.com/danr/geniplate")
4332 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4333 (description
4334 "Use Template Haskell to generate Uniplate-like functions. This is a
4335maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4336geniplate} package, written by Lennart Augustsson.")
4337 (license license:bsd-3)))
4338
4339(define-public ghc-genvalidity
4340 (package
4341 (name "ghc-genvalidity")
920f44a1 4342 (version "0.8.0.0")
dddbc90c
RV
4343 (source
4344 (origin
4345 (method url-fetch)
4346 (uri (string-append
4347 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4348 version
4349 ".tar.gz"))
4350 (sha256
4351 (base32
920f44a1 4352 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4353 (build-system haskell-build-system)
4354 (inputs
4355 `(("ghc-quickcheck" ,ghc-quickcheck)
4356 ("ghc-validity" ,ghc-validity)))
4357 (native-inputs
4358 `(("ghc-hspec" ,ghc-hspec)
4359 ("hspec-discover" ,hspec-discover)
4360 ("ghc-hspec-core" ,ghc-hspec-core)))
4361 (home-page
4362 "https://github.com/NorfairKing/validity")
4363 (synopsis
4364 "Testing utilities for the @code{validity} library")
4365 (description
4366 "This package provides testing utilities that are useful in conjunction
4367with the @code{Validity} typeclass.")
4368 (license license:expat)))
4369
4370(define-public ghc-genvalidity-property
4371 (package
4372 (name "ghc-genvalidity-property")
e4ede35b 4373 (version "0.4.0.0")
dddbc90c
RV
4374 (source
4375 (origin
4376 (method url-fetch)
4377 (uri (string-append
4378 "https://hackage.haskell.org/package/"
4379 "genvalidity-property/genvalidity-property-"
4380 version
4381 ".tar.gz"))
4382 (sha256
4383 (base32
e4ede35b 4384 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4385 (build-system haskell-build-system)
4386 (inputs
4387 `(("ghc-quickcheck" ,ghc-quickcheck)
4388 ("ghc-genvalidity" ,ghc-genvalidity)
4389 ("ghc-hspec" ,ghc-hspec)
4390 ("hspec-discover" ,hspec-discover)
4391 ("ghc-validity" ,ghc-validity)))
4392 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4393 (home-page
4394 "https://github.com/NorfairKing/validity")
4395 (synopsis
4396 "Standard properties for functions on @code{Validity} types")
4397 (description
4398 "This package supplements the @code{Validity} typeclass with standard
4399properties for functions operating on them.")
4400 (license license:expat)))
4401
e71fb573
TS
4402(define-public ghc-getopt-generics
4403 (package
4404 (name "ghc-getopt-generics")
4405 (version "0.13.0.4")
4406 (source
4407 (origin
4408 (method url-fetch)
4409 (uri (string-append "https://hackage.haskell.org/package/"
4410 "getopt-generics/getopt-generics-"
4411 version ".tar.gz"))
4412 (sha256
4413 (base32
4414 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4415 (build-system haskell-build-system)
4416 (inputs
4417 `(("ghc-base-compat" ,ghc-base-compat)
4418 ("ghc-base-orphans" ,ghc-base-orphans)
4419 ("ghc-generics-sop" ,ghc-generics-sop)
4420 ("ghc-tagged" ,ghc-tagged)))
4421 (native-inputs
4422 `(("ghc-quickcheck" ,ghc-quickcheck)
4423 ("ghc-hspec" ,ghc-hspec)
4424 ("ghc-safe" ,ghc-safe)
4425 ("ghc-silently" ,ghc-silently)
4426 ("hspec-discover" ,hspec-discover)))
4427 (home-page "https://github.com/soenkehahn/getopt-generics")
4428 (synopsis "Create command line interfaces with ease")
4429 (description "This library provides tools to create command line
4430interfaces with ease.")
4431 (license license:bsd-3)))
4432
dddbc90c
RV
4433(define-public ghc-gitrev
4434 (package
4435 (name "ghc-gitrev")
4436 (version "1.3.1")
4437 (source
4438 (origin
4439 (method url-fetch)
4440 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4441 version ".tar.gz"))
4442 (sha256
4443 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4444 (build-system haskell-build-system)
4445 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4446 (home-page "https://github.com/acfoltzer/gitrev")
4447 (synopsis "Compile git revision info into Haskell projects")
4448 (description
4449 "This package provides some handy Template Haskell splices for including
4450the current git hash and branch in the code of your project. This is useful
4451for including in panic messages, @command{--version} output, or diagnostic
4452info for more informative bug reports.")
4453 (license license:bsd-3)))
4454
4455(define-public ghc-glob
4456 (package
4457 (name "ghc-glob")
b900f486 4458 (version "0.10.0")
dddbc90c
RV
4459 (source
4460 (origin
4461 (method url-fetch)
4462 (uri (string-append "https://hackage.haskell.org/package/"
4463 "Glob-" version "/"
4464 "Glob-" version ".tar.gz"))
4465 (sha256
4466 (base32
b900f486 4467 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4468 (build-system haskell-build-system)
4469 (inputs
4470 `(("ghc-dlist" ,ghc-dlist)
4471 ("ghc-semigroups" ,ghc-semigroups)
4472 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4473 (native-inputs
4474 `(("ghc-hunit" ,ghc-hunit)
4475 ("ghc-quickcheck" ,ghc-quickcheck)
4476 ("ghc-test-framework" ,ghc-test-framework)
4477 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4478 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4479 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4480 (synopsis "Haskell library matching glob patterns against file paths")
4481 (description "This package provides a Haskell library for @dfn{globbing}:
4482matching patterns against file paths.")
4483 (license license:bsd-3)))
4484
4485(define-public ghc-gluraw
4486 (package
4487 (name "ghc-gluraw")
4488 (version "2.0.0.4")
4489 (source
4490 (origin
4491 (method url-fetch)
4492 (uri (string-append
4493 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4494 version
4495 ".tar.gz"))
4496 (sha256
4497 (base32
4498 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4499 (build-system haskell-build-system)
4500 (inputs
4501 `(("ghc-openglraw" ,ghc-openglraw)))
4502 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4503 (synopsis "Raw Haskell bindings GLU")
4504 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4505utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4506basis for a nicer interface.")
4507 (license license:bsd-3)))
4508
4509(define-public ghc-glut
4510 (package
4511 (name "ghc-glut")
8284bd09 4512 (version "2.7.0.15")
dddbc90c
RV
4513 (source
4514 (origin
4515 (method url-fetch)
4516 (uri (string-append
4517 "https://hackage.haskell.org/package/GLUT/GLUT-"
4518 version
4519 ".tar.gz"))
4520 (sha256
4521 (base32
8284bd09 4522 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4523 (build-system haskell-build-system)
4524 (inputs
4525 `(("ghc-statevar" ,ghc-statevar)
4526 ("ghc-opengl" ,ghc-opengl)
4527 ("ghc-openglraw" ,ghc-openglraw)
4528 ("freeglut" ,freeglut)))
4529 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4530 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4531 (description "This library provides Haskell bindings for the OpenGL
4532Utility Toolkit, a window system-independent toolkit for writing OpenGL
4533programs.")
4534 (license license:bsd-3)))
4535
4536(define-public ghc-gnuplot
4537 (package
4538 (name "ghc-gnuplot")
d34860c7 4539 (version "0.5.6")
dddbc90c
RV
4540 (source
4541 (origin
4542 (method url-fetch)
4543 (uri (string-append
4544 "mirror://hackage/package/gnuplot/gnuplot-"
4545 version ".tar.gz"))
4546 (sha256
d34860c7 4547 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4548 (build-system haskell-build-system)
4549 (inputs
4550 `(("ghc-temporary" ,ghc-temporary)
4551 ("ghc-utility-ht" ,ghc-utility-ht)
4552 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4553 ("ghc-data-accessor" ,ghc-data-accessor)
4554 ("ghc-semigroups" ,ghc-semigroups)
4555 ("gnuplot" ,gnuplot)))
4556 (arguments
4557 `(#:phases
4558 (modify-phases %standard-phases
4559 (add-before 'configure 'fix-path-to-gnuplot
4560 (lambda* (#:key inputs #:allow-other-keys)
4561 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4562 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4563 (("(gnuplotName = ).*$" all cmd)
4564 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4565 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4566 (synopsis "2D and 3D plots using gnuplot")
4567 (description "This package provides a Haskell module for creating 2D and
45683D plots using gnuplot.")
4569 (license license:bsd-3)))
4570
4571(define-public ghc-graphviz
4572 (package
4573 (name "ghc-graphviz")
c264bd42 4574 (version "2999.20.0.3")
dddbc90c
RV
4575 (source (origin
4576 (method url-fetch)
4577 (uri (string-append "https://hackage.haskell.org/package/"
4578 "graphviz/graphviz-" version ".tar.gz"))
4579 (sha256
4580 (base32
c264bd42 4581 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4582 (build-system haskell-build-system)
c264bd42
TS
4583 (arguments
4584 `(#:phases
4585 (modify-phases %standard-phases
4586 (add-before 'configure 'update-constraints
4587 (lambda _
4588 (substitute* "graphviz.cabal"
4589 (("QuickCheck >= 2\\.3 && < 2\\.13")
4590 "QuickCheck >= 2.3 && < 2.14")
4591 (("hspec >= 2\\.1 && < 2\\.7")
4592 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4593 (inputs
4594 `(("ghc-quickcheck" ,ghc-quickcheck)
4595 ("ghc-colour" ,ghc-colour)
4596 ("ghc-dlist" ,ghc-dlist)
4597 ("ghc-fgl" ,ghc-fgl)
4598 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4599 ("ghc-polyparse" ,ghc-polyparse)
4600 ("ghc-temporary" ,ghc-temporary)
4601 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4602 (native-inputs
4603 `(("ghc-hspec" ,ghc-hspec)
4604 ("graphviz" ,graphviz)
4605 ("hspec-discover" ,hspec-discover)))
4606 (home-page "https://hackage.haskell.org/package/graphviz")
4607 (synopsis "Bindings to Graphviz for graph visualisation")
4608 (description
4609 "This library provides bindings for the Dot language used by
4610the @uref{https://graphviz.org/, Graphviz} suite of programs for
4611visualising graphs, as well as functions to call those programs.
4612Main features of the graphviz library include:
4613
4614@enumerate
4615@item Almost complete coverage of all Graphviz attributes and syntax
4616@item Support for specifying clusters
4617@item The ability to use a custom node type
4618@item Functions for running a Graphviz layout tool with all specified output types
4619@item Generate and parse Dot code with two options: strict and liberal
4620@item Functions to convert FGL graphs and other graph-like data structures
4621@item Round-trip support for passing an FGL graph through Graphviz to augment node
4622and edge labels with positional information, etc.
4623@end enumerate\n")
4624 (license license:bsd-3)))
4625
f3e18645
TS
4626(define-public ghc-groups
4627 (package
4628 (name "ghc-groups")
4629 (version "0.4.1.0")
4630 (source
4631 (origin
4632 (method url-fetch)
4633 (uri (string-append "https://hackage.haskell.org/package/"
4634 "groups/groups-" version ".tar.gz"))
4635 (sha256
4636 (base32
4637 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4638 (build-system haskell-build-system)
4639 (home-page "https://hackage.haskell.org/package/groups")
4640 (synopsis "Haskell 98 groups")
4641 (description "This package provides Haskell 98 groups. A group is a
4642monoid with invertibility.")
4643 (license license:bsd-3)))
4644
dddbc90c
RV
4645(define-public ghc-gtk2hs-buildtools
4646 (package
4647 (name "ghc-gtk2hs-buildtools")
b79b43d4 4648 (version "0.13.5.4")
dddbc90c
RV
4649 (source
4650 (origin
4651 (method url-fetch)
4652 (uri (string-append "https://hackage.haskell.org/package/"
4653 "gtk2hs-buildtools/gtk2hs-buildtools-"
4654 version ".tar.gz"))
4655 (sha256
4656 (base32
b79b43d4 4657 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4658 (build-system haskell-build-system)
4659 (inputs
4660 `(("ghc-random" ,ghc-random)
4661 ("ghc-hashtables" ,ghc-hashtables)))
4662 (native-inputs
4663 `(("ghc-alex" ,ghc-alex)
4664 ("ghc-happy" ,ghc-happy)))
4665 (home-page "http://projects.haskell.org/gtk2hs/")
4666 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4667 (description
4668 "This package provides a set of helper programs necessary to build the
4669Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4670that is used to generate FFI declarations, a tool to build a type hierarchy
4671that mirrors the C type hierarchy of GObjects found in glib, and a generator
4672for signal declarations that are used to call back from C to Haskell. These
4673tools are not needed to actually run Gtk2Hs programs.")
4674 (license license:gpl2)))
4675
4676(define-public ghc-hackage-security
4677 (package
4678 (name "ghc-hackage-security")
4679 (version "0.5.3.0")
4680 (source
4681 (origin
4682 (method url-fetch)
4683 (uri (string-append "https://hackage.haskell.org/package/"
4684 "hackage-security/hackage-security-"
4685 version ".tar.gz"))
4686 (sha256
4687 (base32
4688 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4689 (build-system haskell-build-system)
4690 (arguments
034380f3
TS
4691 `(#:cabal-revision
4692 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4693 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4694 (inputs
4695 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4696 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4697 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4698 ("ghc-ed25519" ,ghc-ed25519)
4699 ("ghc-network" ,ghc-network)
4700 ("ghc-network-uri" ,ghc-network-uri)
4701 ("ghc-tar" ,ghc-tar)
4702 ("ghc-zlib" ,ghc-zlib)))
4703 (native-inputs
4704 `(("ghc-network-uri" ,ghc-network-uri)
4705 ("ghc-quickcheck" ,ghc-quickcheck)
4706 ("ghc-tar" ,ghc-tar)
4707 ("ghc-tasty" ,ghc-tasty)
4708 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4709 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4710 ("ghc-temporary" ,ghc-temporary)
4711 ("ghc-zlib" ,ghc-zlib)))
4712 (home-page "https://github.com/haskell/hackage-security")
4713 (synopsis "Hackage security library")
4714 (description "This Hackage security library provides both server and
4715client utilities for securing @uref{http://hackage.haskell.org/, the
4716Hackage package server}. It is based on
4717@uref{http://theupdateframework.com/, The Update Framework}, a set of
4718recommendations developed by security researchers at various universities
4719in the US as well as developers on the @uref{https://www.torproject.org/,
4720Tor project}.")
4721 (license license:bsd-3)))
4722
4723(define-public ghc-haddock
4724 (package
4725 (name "ghc-haddock")
b0d34d23 4726 (version "2.22.0")
dddbc90c
RV
4727 (source
4728 (origin
4729 (method url-fetch)
4730 (uri (string-append
4731 "https://hackage.haskell.org/package/haddock/haddock-"
4732 version
4733 ".tar.gz"))
4734 (sha256
4735 (base32
b0d34d23 4736 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
dddbc90c
RV
4737 (build-system haskell-build-system)
4738 (arguments
4739 `(#:phases
4740 (modify-phases %standard-phases
b0d34d23
TS
4741 ;; The release tarball for 2.22.0 is missing the test data for
4742 ;; the Hoogle test, causing it to fail. This is fixed in the
4743 ;; next release, but for now we disable it.
4744 (add-before 'configure 'remove-hoogle-test
dddbc90c
RV
4745 (lambda _
4746 (use-modules (ice-9 rdelim))
4747 (with-atomic-file-replacement "haddock.cabal"
4748 (lambda (in out)
4749 (let loop ((line (read-line in 'concat)) (deleting? #f))
4750 (cond
4751 ((eof-object? line) #t)
4752 ((string-every char-set:whitespace line)
4753 (unless deleting? (display line out))
4754 (loop (read-line in 'concat) #f))
b0d34d23 4755 ((string=? line "test-suite hoogle-test\n")
dddbc90c
RV
4756 (loop (read-line in 'concat) #t))
4757 (else
4758 (unless deleting? (display line out))
b0d34d23
TS
4759 (loop (read-line in 'concat) deleting?))))))))
4760 (add-before 'check 'add-haddock-to-path
4761 (lambda _
4762 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
4763 ":" (getenv "PATH")))
4764 #t)))))
dddbc90c
RV
4765 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4766 (native-inputs
b0d34d23
TS
4767 `(("ghc-haddock-test" ,ghc-haddock-test)
4768 ("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
4769 (home-page "https://www.haskell.org/haddock/")
4770 (synopsis
4771 "Documentation-generation tool for Haskell libraries")
4772 (description
4773 "Haddock is a documentation-generation tool for Haskell libraries.")
4774 (license license:bsd-3)))
4775
4776(define-public ghc-haddock-api
4777 (package
4778 (name "ghc-haddock-api")
1b84d8ef 4779 (version "2.22.0")
dddbc90c
RV
4780 (source
4781 (origin
4782 (method url-fetch)
4783 (uri (string-append
4784 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4785 version
4786 ".tar.gz"))
1b84d8ef 4787 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
dddbc90c
RV
4788 (sha256
4789 (base32
1b84d8ef 4790 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
dddbc90c
RV
4791 (build-system haskell-build-system)
4792 (arguments
4793 `(#:phases
4794 (modify-phases %standard-phases
4795 (add-before 'configure 'update-constraints
4796 (lambda _
4797 (substitute* "haddock-api.cabal"
1b84d8ef
TS
4798 (("QuickCheck \\^>= 2\\.11")
4799 "QuickCheck ^>= 2.13")
4800 (("hspec >= 2\\.4\\.4 && < 2\\.6")
4801 "hspec >= 2.4.4 && < 2.8")))))))
dddbc90c
RV
4802 (inputs
4803 `(("ghc-paths" ,ghc-paths)
4804 ("ghc-haddock-library" ,ghc-haddock-library)))
4805 (native-inputs
4806 `(("ghc-quickcheck" ,ghc-quickcheck)
4807 ("ghc-hspec" ,ghc-hspec)
4808 ("hspec-discover" ,hspec-discover)))
4809 (home-page "https://www.haskell.org/haddock/")
4810 (synopsis "API for documentation-generation tool Haddock")
4811 (description "This package provides an API to Haddock, the
4812documentation-generation tool for Haskell libraries.")
4813 (license license:bsd-3)))
4814
4815(define-public ghc-haddock-library
4816 (package
4817 (name "ghc-haddock-library")
10707d57 4818 (version "1.7.0")
dddbc90c
RV
4819 (source
4820 (origin
4821 (method url-fetch)
4822 (uri (string-append
4823 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4824 version
4825 ".tar.gz"))
4826 (sha256
4827 (base32
10707d57 4828 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
4829 (build-system haskell-build-system)
4830 (arguments
4831 `(#:phases
4832 (modify-phases %standard-phases
10707d57
TS
4833 ;; Since there is no revised Cabal file upstream, we have to
4834 ;; patch it manually.
dddbc90c
RV
4835 (add-before 'configure 'relax-test-suite-dependencies
4836 (lambda _
4837 (substitute* "haddock-library.cabal"
10707d57
TS
4838 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
4839 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
4840 #t)))))
4841 (native-inputs
4842 `(("ghc-base-compat" ,ghc-base-compat)
4843 ("ghc-hspec" ,ghc-hspec)
4844 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4845 ("ghc-quickcheck" ,ghc-quickcheck)
4846 ("ghc-tree-diff" ,ghc-tree-diff)
4847 ("hspec-discover" ,hspec-discover)))
4848 (home-page "https://www.haskell.org/haddock/")
4849 (synopsis "Library exposing some functionality of Haddock")
4850 (description
4851 "Haddock is a documentation-generation tool for Haskell libraries. These
4852modules expose some functionality of it without pulling in the GHC dependency.
4853Please note that the API is likely to change so specify upper bounds in your
4854project if you can't release often. For interacting with Haddock itself, see
4855the ‘haddock’ package.")
4856 (license license:bsd-3)))
4857
b0d34d23
TS
4858;; This package is needed for testing 'ghc-haddock'. It is no longer
4859;; published to Hackage, but it is maintained in the Haddock Git
4860;; repository.
4861(define ghc-haddock-test
4862 (package
4863 (name "ghc-haddock-test")
4864 (version "2.22.0")
4865 (source
4866 (origin
4867 (method git-fetch)
4868 (uri (git-reference
4869 (url "https://github.com/haskell/haddock.git")
4870 (commit (string-append "haddock-" version "-release"))))
4871 (file-name (git-file-name name version))
4872 (sha256
4873 (base32
4874 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
4875 (build-system haskell-build-system)
4876 (arguments
4877 `(#:phases
4878 (modify-phases %standard-phases
4879 (add-after 'unpack 'change-directory
4880 (lambda _
4881 (chdir "haddock-test"))))))
4882 (inputs
4883 `(("ghc-syb" ,ghc-syb)
4884 ("ghc-xml" ,ghc-xml)))
4885 (home-page "http://www.haskell.org/haddock/")
4886 (synopsis "Test utilities for Haddock")
4887 (description "This package provides test utilities for Haddock.")
4888 (license license:bsd-3)
4889 (properties '((hidden? #t)))))
4890
dddbc90c
RV
4891(define-public ghc-half
4892 (package
4893 (name "ghc-half")
4894 (version "0.3")
4895 (source
4896 (origin
4897 (method url-fetch)
4898 (uri (string-append
4899 "https://hackage.haskell.org/package/half/half-"
4900 version ".tar.gz"))
4901 (sha256
4902 (base32
4903 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4904 (build-system haskell-build-system)
4905 (native-inputs
4906 `(("ghc-hspec" ,ghc-hspec)
4907 ("ghc-quickcheck" ,ghc-quickcheck)))
4908 (home-page "https://github.com/ekmett/half")
4909 (synopsis "Half-precision floating-point computations")
4910 (description "This library provides a half-precision floating-point
4911computation library for Haskell.")
4912 (license license:bsd-3)))
4913
4914(define-public ghc-happy
4915 (package
4916 (name "ghc-happy")
90e7b0e4 4917 (version "1.19.12")
dddbc90c
RV
4918 (source
4919 (origin
4920 (method url-fetch)
4921 (uri (string-append
4922 "https://hackage.haskell.org/package/happy/happy-"
4923 version
4924 ".tar.gz"))
4925 (sha256
4926 (base32
90e7b0e4 4927 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4928 (build-system haskell-build-system)
4929 (arguments
4930 `(#:phases
4931 (modify-phases %standard-phases
4932 (add-after 'unpack 'skip-test-issue93
4933 (lambda _
4934 ;; Tests run out of memory on a system with 2GB of available RAM,
4935 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4936 (substitute* "tests/Makefile"
4937 ((" issue93.y ") " "))
4938 #t)))))
4939 (home-page "https://hackage.haskell.org/package/happy")
4940 (synopsis "Parser generator for Haskell")
4941 (description "Happy is a parser generator for Haskell. Given a grammar
4942specification in BNF, Happy generates Haskell code to parse the grammar.
4943Happy works in a similar way to the yacc tool for C.")
4944 (license license:bsd-3)))
4945
4946(define-public ghc-hashable
4947 (package
4948 (name "ghc-hashable")
4949 (version "1.2.7.0")
4950 (outputs '("out" "doc"))
4951 (source
4952 (origin
4953 (method url-fetch)
4954 (uri (string-append
4955 "https://hackage.haskell.org/package/hashable/hashable-"
4956 version
4957 ".tar.gz"))
4958 (sha256
4959 (base32
4960 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4961 (build-system haskell-build-system)
65a16a45
TS
4962 (arguments
4963 `(#:cabal-revision
4964 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4965 (inputs
4966 `(("ghc-random" ,ghc-random)))
4967 (native-inputs
4968 `(("ghc-test-framework" ,ghc-test-framework)
4969 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4970 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4971 ("ghc-hunit" ,ghc-hunit)
4972 ("ghc-quickcheck" ,ghc-quickcheck)))
4973 (home-page "https://github.com/tibbe/hashable")
4974 (synopsis "Class for types that can be converted to a hash value")
4975 (description
4976 "This package defines a class, @code{Hashable}, for types that can be
4977converted to a hash value. This class exists for the benefit of hashing-based
4978data structures. The package provides instances for basic types and a way to
4979combine hash values.")
4980 (license license:bsd-3)))
4981
4982(define-public ghc-hashable-bootstrap
4983 (package
4984 (inherit ghc-hashable)
4985 (name "ghc-hashable-bootstrap")
65a16a45
TS
4986 (arguments
4987 `(#:tests? #f
4988 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4989 (native-inputs '())
4990 (properties '((hidden? #t)))))
4991
4992(define-public ghc-hashable-time
4993 (package
4994 (name "ghc-hashable-time")
f5051e31 4995 (version "0.2.0.2")
dddbc90c
RV
4996 (source
4997 (origin
4998 (method url-fetch)
4999 (uri (string-append
5000 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5001 version
5002 ".tar.gz"))
5003 (sha256
5004 (base32
f5051e31 5005 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
5006 (build-system haskell-build-system)
5007 (arguments
5008 `(#:cabal-revision
f5051e31 5009 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c 5010 (inputs `(("ghc-hashable" ,ghc-hashable)))
3b02036e 5011 (home-page "https://hackage.haskell.org/package/hashable-time")
dddbc90c
RV
5012 (synopsis "Hashable instances for Data.Time")
5013 (description
5014 "This package provides @code{Hashable} instances for types in
5015@code{Data.Time}.")
5016 (license license:bsd-3)))
5017
5018(define-public ghc-hashtables
5019 (package
5020 (name "ghc-hashtables")
19edf0d0 5021 (version "1.2.3.4")
dddbc90c
RV
5022 (source
5023 (origin
5024 (method url-fetch)
5025 (uri (string-append
5026 "https://hackage.haskell.org/package/hashtables/hashtables-"
5027 version ".tar.gz"))
5028 (sha256
19edf0d0 5029 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
5030 (build-system haskell-build-system)
5031 (inputs
5032 `(("ghc-hashable" ,ghc-hashable)
5033 ("ghc-primitive" ,ghc-primitive)
5034 ("ghc-vector" ,ghc-vector)))
5035 (home-page "https://github.com/gregorycollins/hashtables")
5036 (synopsis "Haskell Mutable hash tables in the ST monad")
5037 (description "This package provides a Haskell library including a
5038couple of different implementations of mutable hash tables in the ST
5039monad, as well as a typeclass abstracting their common operations, and
5040a set of wrappers to use the hash tables in the IO monad.")
5041 (license license:bsd-3)))
5042
5043(define-public ghc-haskell-lexer
5044 (package
5045 (name "ghc-haskell-lexer")
5046 (version "1.0.2")
5047 (source
5048 (origin
5049 (method url-fetch)
5050 (uri (string-append
5051 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5052 version ".tar.gz"))
5053 (sha256
5054 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5055 (build-system haskell-build-system)
5056 (home-page "http://hackage.haskell.org/package/haskell-lexer")
5057 (synopsis "Fully compliant Haskell 98 lexer")
5058 (description
5059 "This package provides a fully compliant Haskell 98 lexer.")
5060 (license license:bsd-3)))
5061
5062(define-public ghc-haskell-src
5063 (package
5064 (name "ghc-haskell-src")
5065 (version "1.0.3.0")
5066 (source
5067 (origin
5068 (method url-fetch)
5069 (uri (string-append
5070 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5071 version
5072 ".tar.gz"))
5073 (sha256
5074 (base32
5075 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5076 (build-system haskell-build-system)
5077 (inputs
5078 `(("ghc-happy" ,ghc-happy)
5079 ("ghc-syb" ,ghc-syb)))
5080 (home-page
5081 "https://hackage.haskell.org/package/haskell-src")
5082 (synopsis
5083 "Support for manipulating Haskell source code")
5084 (description
5085 "The @code{haskell-src} package provides support for manipulating Haskell
5086source code. The package provides a lexer, parser and pretty-printer, and a
5087definition of a Haskell abstract syntax tree (AST). Common uses of this
5088package are to parse or generate Haskell 98 code.")
5089 (license license:bsd-3)))
5090
5091(define-public ghc-haskell-src-exts
5092 (package
5093 (name "ghc-haskell-src-exts")
37a05591 5094 (version "1.21.1")
dddbc90c
RV
5095 (source
5096 (origin
5097 (method url-fetch)
5098 (uri (string-append
5099 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5100 version
5101 ".tar.gz"))
5102 (sha256
5103 (base32
37a05591 5104 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
5105 (build-system haskell-build-system)
5106 (inputs
5107 `(("cpphs" ,cpphs)
5108 ("ghc-happy" ,ghc-happy)
5109 ("ghc-pretty-show" ,ghc-pretty-show)))
5110 (native-inputs
5111 `(("ghc-smallcheck" ,ghc-smallcheck)
5112 ("ghc-tasty" ,ghc-tasty)
5113 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5114 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5115 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5116 (synopsis "Library for manipulating Haskell source")
5117 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5118extension of the standard @code{haskell-src} package, and handles most
5119registered syntactic extensions to Haskell. All extensions implemented in GHC
5120are supported. Apart from these standard extensions, it also handles regular
5121patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5122 (license license:bsd-3)))
5123
5124(define-public ghc-haskell-src-exts-util
5125 (package
5126 (name "ghc-haskell-src-exts-util")
77355bdf 5127 (version "0.2.5")
dddbc90c
RV
5128 (source
5129 (origin
5130 (method url-fetch)
5131 (uri (string-append "https://hackage.haskell.org/package/"
5132 "haskell-src-exts-util/haskell-src-exts-util-"
5133 version ".tar.gz"))
5134 (sha256
5135 (base32
77355bdf 5136 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
5137 (build-system haskell-build-system)
5138 (inputs
5139 `(("ghc-data-default" ,ghc-data-default)
5140 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5141 ("ghc-semigroups" ,ghc-semigroups)
5142 ("ghc-uniplate" ,ghc-uniplate)))
5143 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5144 (synopsis "Helper functions for working with haskell-src-exts trees")
5145 (description
5146 "This package provides helper functions for working with
5147@code{haskell-src-exts} trees.")
5148 (license license:bsd-3)))
5149
5150(define-public ghc-haskell-src-meta
5151 (package
5152 (name "ghc-haskell-src-meta")
e94b3c72 5153 (version "0.8.3")
dddbc90c
RV
5154 (source (origin
5155 (method url-fetch)
5156 (uri (string-append "https://hackage.haskell.org/package/"
5157 "haskell-src-meta/haskell-src-meta-"
5158 version ".tar.gz"))
5159 (sha256
5160 (base32
e94b3c72 5161 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
5162 (build-system haskell-build-system)
5163 (inputs
5164 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5165 ("ghc-syb" ,ghc-syb)
5166 ("ghc-th-orphans" ,ghc-th-orphans)))
5167 (native-inputs
5168 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
5169 ("ghc-tasty" ,ghc-tasty)
5170 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5171 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5172 (synopsis "Parse source to template-haskell abstract syntax")
5173 (description
5174 "This package provides tools to parse Haskell sources to the
5175template-haskell abstract syntax.")
5176 (license license:bsd-3)))
5177
5178(define-public ghc-hasktags
5179 (package
5180 (name "ghc-hasktags")
5181 (version "0.71.2")
5182 (source
5183 (origin
5184 (method url-fetch)
5185 (uri (string-append
5186 "https://hackage.haskell.org/package/hasktags/hasktags-"
5187 version
5188 ".tar.gz"))
5189 (sha256
5190 (base32
5191 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5192 (build-system haskell-build-system)
5193 (inputs
5194 `(("ghc-system-filepath" ,ghc-system-filepath)
5195 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5196 (native-inputs
5197 `(("ghc-json" ,ghc-json)
5198 ("ghc-utf8-string" ,ghc-utf8-string)
5199 ("ghc-microlens-platform" ,ghc-microlens-platform)
5200 ("ghc-hunit" ,ghc-hunit)))
5201 (home-page "http://github.com/MarcWeber/hasktags")
5202 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5203 (description
5204 "This package provides a means of generating tag files for Emacs and
5205Vim.")
5206 (license license:bsd-3)))
5207
5208(define-public ghc-hex
5209 (package
5210 (name "ghc-hex")
5211 (version "0.1.2")
5212 (source
5213 (origin
5214 (method url-fetch)
5215 (uri (string-append "https://hackage.haskell.org/package/"
5216 "hex-" version "/"
5217 "hex-" version ".tar.gz"))
5218 (sha256
5219 (base32
5220 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5221 (build-system haskell-build-system)
5222 (home-page "https://hackage.haskell.org/package/hex")
5223 (synopsis "Convert strings into hexadecimal and back")
5224 (description "This package provides conversion functions between
5225bytestrings and their hexademical representation.")
5226 (license license:bsd-3)))
5227
5228(define-public ghc-highlighting-kate
5229 (package
5230 (name "ghc-highlighting-kate")
5231 (version "0.6.4")
5232 (source (origin
5233 (method url-fetch)
5234 (uri (string-append "https://hackage.haskell.org/package/"
5235 "highlighting-kate/highlighting-kate-"
5236 version ".tar.gz"))
5237 (sha256
5238 (base32
5239 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5240 (build-system haskell-build-system)
5241 (inputs
5242 `(("ghc-diff" ,ghc-diff)
5243 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5244 (native-inputs
5245 `(("ghc-blaze-html" ,ghc-blaze-html)
5246 ("ghc-utf8-string" ,ghc-utf8-string)))
5247 (home-page "https://github.com/jgm/highlighting-kate")
5248 (synopsis "Syntax highlighting library")
5249 (description
5250 "Highlighting-kate is a syntax highlighting library with support for
5251nearly one hundred languages. The syntax parsers are automatically generated
5252from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5253supported by Kate can be added. An (optional) command-line program is
5254provided, along with a utility for generating new parsers from Kate XML syntax
5255descriptions.")
5256 (license license:gpl2+)))
5257
5258(define-public ghc-hindent
5259 (package
5260 (name "ghc-hindent")
f545f894 5261 (version "5.3.1")
dddbc90c
RV
5262 (source
5263 (origin
5264 (method url-fetch)
5265 (uri (string-append
5266 "https://hackage.haskell.org/package/hindent/hindent-"
5267 version
5268 ".tar.gz"))
5269 (sha256
5270 (base32
f545f894 5271 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5272 (build-system haskell-build-system)
5273 (arguments
5274 `(#:modules ((guix build haskell-build-system)
5275 (guix build utils)
5276 (guix build emacs-utils))
5277 #:imported-modules (,@%haskell-build-system-modules
5278 (guix build emacs-utils))
5279 #:phases
5280 (modify-phases %standard-phases
5281 (add-after 'install 'emacs-install
5282 (lambda* (#:key inputs outputs #:allow-other-keys)
5283 (let* ((out (assoc-ref outputs "out"))
5284 (elisp-file "elisp/hindent.el")
5285 (dest (string-append out "/share/emacs/site-lisp"
5286 "/guix.d/hindent-" ,version))
5287 (emacs (string-append (assoc-ref inputs "emacs")
5288 "/bin/emacs")))
5289 (make-file-writable elisp-file)
5290 (emacs-substitute-variables elisp-file
5291 ("hindent-process-path"
5292 (string-append out "/bin/hindent")))
5293 (install-file elisp-file dest)
5294 (emacs-generate-autoloads "hindent" dest)))))))
5295 (inputs
5296 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5297 ("ghc-monad-loops" ,ghc-monad-loops)
5298 ("ghc-utf8-string" ,ghc-utf8-string)
5299 ("ghc-exceptions" ,ghc-exceptions)
5300 ("ghc-yaml" ,ghc-yaml)
5301 ("ghc-unix-compat" ,ghc-unix-compat)
5302 ("ghc-path" ,ghc-path)
5303 ("ghc-path-io" ,ghc-path-io)
5304 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5305 (native-inputs
5306 `(("ghc-hspec" ,ghc-hspec)
5307 ("ghc-diff" ,ghc-diff)
5308 ("emacs" ,emacs-minimal)))
5309 (home-page
5310 "https://github.com/commercialhaskell/hindent")
5311 (synopsis "Extensible Haskell pretty printer")
5312 (description
5313 "This package provides automatic formatting for Haskell files. Both a
5314library and an executable.")
5315 (license license:bsd-3)))
5316
5317(define-public ghc-hinotify
5318 (package
5319 (name "ghc-hinotify")
c2342abb 5320 (version "0.4")
dddbc90c
RV
5321 (source (origin
5322 (method url-fetch)
5323 (uri (string-append
5324 "https://hackage.haskell.org/package/hinotify/"
5325 "hinotify-" version ".tar.gz"))
5326 (sha256
5327 (base32
c2342abb 5328 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5329 (build-system haskell-build-system)
5330 (inputs
5331 `(("ghc-async" ,ghc-async)))
5332 (home-page "https://github.com/kolmodin/hinotify.git")
5333 (synopsis "Haskell binding to inotify")
5334 (description "This library provides a wrapper to the Linux kernel's inotify
5335feature, allowing applications to subscribe to notifications when a file is
5336accessed or modified.")
5337 (license license:bsd-3)))
5338
5339(define-public ghc-hmatrix
5340 (package
5341 (name "ghc-hmatrix")
65e29ed1 5342 (version "0.20.0.0")
dddbc90c
RV
5343 (source
5344 (origin
5345 (method url-fetch)
5346 (uri (string-append
5347 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5348 version ".tar.gz"))
5349 (sha256
65e29ed1 5350 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
5351 (build-system haskell-build-system)
5352 (inputs
5353 `(("ghc-random" ,ghc-random)
5354 ("ghc-split" ,ghc-split)
5355 ("ghc-storable-complex" ,ghc-storable-complex)
5356 ("ghc-semigroups" ,ghc-semigroups)
5357 ("ghc-vector" ,ghc-vector)
5358 ;;("openblas" ,openblas)
5359 ("lapack" ,lapack)))
5360 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5361 ;; disables inclusion of the LAPACK functions.
5362 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5363 (home-page "https://github.com/albertoruiz/hmatrix")
5364 (synopsis "Haskell numeric linear algebra library")
5365 (description "The HMatrix package provices a Haskell library for
5366dealing with linear systems, matrix decompositions, and other
5367numerical computations based on BLAS and LAPACK.")
5368 (license license:bsd-3)))
5369
5370(define-public ghc-hmatrix-gsl
5371 (package
5372 (name "ghc-hmatrix-gsl")
5373 (version "0.19.0.1")
5374 (source
5375 (origin
5376 (method url-fetch)
5377 (uri (string-append
5378 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5379 version ".tar.gz"))
5380 (sha256
5381 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5382 (build-system haskell-build-system)
5383 (inputs
5384 `(("ghc-hmatrix" ,ghc-hmatrix)
5385 ("ghc-vector" ,ghc-vector)
5386 ("ghc-random" ,ghc-random)
5387 ("gsl" ,gsl)))
5388 (native-inputs `(("pkg-config" ,pkg-config)))
5389 (home-page "https://github.com/albertoruiz/hmatrix")
5390 (synopsis "Haskell GSL binding")
5391 (description "This Haskell library provides a purely functional
5392interface to selected numerical computations, internally implemented
5393using GSL.")
5394 (license license:gpl3+)))
5395
5396(define-public ghc-hmatrix-gsl-stats
5397 (package
5398 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5399 (version "0.4.1.8")
dddbc90c
RV
5400 (source
5401 (origin
5402 (method url-fetch)
5403 (uri
5404 (string-append
5405 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5406 version ".tar.gz"))
5407 (sha256
e9b359f5 5408 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5409 (build-system haskell-build-system)
5410 (inputs
5411 `(("ghc-vector" ,ghc-vector)
5412 ("ghc-storable-complex" ,ghc-storable-complex)
5413 ("ghc-hmatrix" ,ghc-hmatrix)
5414 ("gsl" ,gsl)))
5415 (native-inputs `(("pkg-config" ,pkg-config)))
5416 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5417 (synopsis "GSL Statistics interface for Haskell")
5418 (description "This Haskell library provides a purely functional
5419interface for statistics based on hmatrix and GSL.")
5420 (license license:bsd-3)))
5421
5422(define-public ghc-hmatrix-special
5423 (package
5424 (name "ghc-hmatrix-special")
5425 (version "0.19.0.0")
5426 (source
5427 (origin
5428 (method url-fetch)
5429 (uri
5430 (string-append
5431 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5432 version ".tar.gz"))
5433 (sha256
5434 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5435 (build-system haskell-build-system)
5436 (inputs
5437 `(("ghc-hmatrix" ,ghc-hmatrix)
5438 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5439 (home-page "https://github.com/albertoruiz/hmatrix")
5440 (synopsis "Haskell interface to GSL special functions")
5441 (description "This library provides an interface to GSL special
5442functions for Haskell.")
5443 (license license:gpl3+)))
5444
5445(define-public ghc-hostname
5446 (package
5447 (name "ghc-hostname")
5448 (version "1.0")
5449 (source
5450 (origin
5451 (method url-fetch)
5452 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5453 "hostname-" version ".tar.gz"))
5454 (sha256
5455 (base32
5456 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5457 (build-system haskell-build-system)
5458 (home-page "https://hackage.haskell.org/package/hostname")
5459 (synopsis "Hostname in Haskell")
5460 (description "Network.HostName is a simple package providing a means to
5461determine the hostname.")
5462 (license license:bsd-3)))
5463
5464(define-public ghc-hourglass
5465 (package
5466 (name "ghc-hourglass")
5467 (version "0.2.12")
5468 (source (origin
5469 (method url-fetch)
5470 (uri (string-append "https://hackage.haskell.org/package/"
5471 "hourglass/hourglass-" version ".tar.gz"))
5472 (sha256
5473 (base32
5474 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5475 (build-system haskell-build-system)
5476 (inputs
5477 `(("ghc-old-locale" ,ghc-old-locale)))
5478 (native-inputs
5479 `(("ghc-tasty" ,ghc-tasty)
5480 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5481 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5482 (home-page "https://github.com/vincenthz/hs-hourglass")
5483 (synopsis "Simple time-related library for Haskell")
5484 (description
5485 "This is a simple time library providing a simple but powerful and
5486performant API. The backbone of the library are the @code{Timeable} and
5487@code{Time} type classes. Each @code{Timeable} instances can be converted to
5488a type that has a @code{Time} instances, and thus are different
5489representations of current time.")
5490 (license license:bsd-3)))
5491
5492(define-public ghc-hpack
5493 (package
5494 (name "ghc-hpack")
06344a3a 5495 (version "0.31.2")
dddbc90c
RV
5496 (source
5497 (origin
5498 (method url-fetch)
5499 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5500 "hpack-" version ".tar.gz"))
06344a3a 5501 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5502 (sha256
5503 (base32
06344a3a 5504 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5505 (build-system haskell-build-system)
5506 (inputs
5507 `(("ghc-aeson" ,ghc-aeson)
5508 ("ghc-bifunctors" ,ghc-bifunctors)
5509 ("ghc-cryptonite" ,ghc-cryptonite)
5510 ("ghc-glob" ,ghc-glob)
5511 ("ghc-http-client" ,ghc-http-client)
5512 ("ghc-http-client-tls" ,ghc-http-client-tls)
5513 ("ghc-http-types" ,ghc-http-types)
06344a3a 5514 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5515 ("ghc-scientific" ,ghc-scientific)
5516 ("ghc-unordered-containers" ,ghc-unordered-containers)
5517 ("ghc-vector" ,ghc-vector)
5518 ("ghc-yaml" ,ghc-yaml)))
5519 (native-inputs
5520 `(("ghc-hspec" ,ghc-hspec)
5521 ("ghc-hunit" ,ghc-hunit)
5522 ("ghc-interpolate" ,ghc-interpolate)
5523 ("ghc-mockery" ,ghc-mockery)
5524 ("ghc-quickcheck" ,ghc-quickcheck)
5525 ("ghc-temporary" ,ghc-temporary)
5526 ("hspec-discover" ,hspec-discover)))
5527 (home-page "https://github.com/sol/hpack")
5528 (synopsis "Tools for an alternative Haskell package format")
5529 (description
5530 "Hpack is a format for Haskell packages. It is an alternative to the
5531Cabal package format and follows different design principles. Hpack packages
5532are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5533@code{stack} support @code{package.yaml} natively. For other build tools the
5534@code{hpack} executable can be used to generate a @code{.cabal} file from
5535@code{package.yaml}.")
5536 (license license:expat)))
5537
5538(define-public ghc-hs-bibutils
5539 (package
5540 (name "ghc-hs-bibutils")
ebcb4f23 5541 (version "6.7.0.0")
dddbc90c
RV
5542 (source
5543 (origin
5544 (method url-fetch)
5545 (uri (string-append
5546 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5547 version ".tar.gz"))
5548 (sha256
5549 (base32
ebcb4f23 5550 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5551 (build-system haskell-build-system)
5552 (inputs `(("ghc-syb" ,ghc-syb)))
5553 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5554 (synopsis "Haskell bindings to bibutils")
5555 (description
5556 "This package provides Haskell bindings to @code{bibutils}, a library
5557that interconverts between various bibliography formats using a common
5558MODS-format XML intermediate.")
5559 (license license:gpl2+)))
5560
5561(define-public ghc-hslogger
5562 (package
5563 (name "ghc-hslogger")
e5ccc5f7 5564 (version "1.2.12")
dddbc90c
RV
5565 (source
5566 (origin
5567 (method url-fetch)
5568 (uri (string-append "https://hackage.haskell.org/package/"
5569 "hslogger-" version "/" "hslogger-"
5570 version ".tar.gz"))
5571 (sha256 (base32
e5ccc5f7 5572 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5573 (build-system haskell-build-system)
5574 (inputs
5575 `(("ghc-network" ,ghc-network)
5576 ("ghc-old-locale" ,ghc-old-locale)))
5577 (native-inputs
5578 `(("ghc-hunit" ,ghc-hunit)))
5579 (home-page "https://software.complete.org/hslogger")
5580 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5581 (description "Hslogger lets each log message have a priority and source be
5582associated with it. The programmer can then define global handlers that route
5583or filter messages based on the priority and source. It also has a syslog
5584handler built in.")
5585 (license license:bsd-3)))
5586
5587(define-public ghc-hslua
5588 (package
5589 (name "ghc-hslua")
cc784d7b 5590 (version "1.0.3.2")
dddbc90c
RV
5591 (source (origin
5592 (method url-fetch)
5593 (uri (string-append "https://hackage.haskell.org/package/"
5594 "hslua/hslua-" version ".tar.gz"))
5595 (sha256
5596 (base32
cc784d7b 5597 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5598 (build-system haskell-build-system)
5599 (arguments
5600 `(#:configure-flags '("-fsystem-lua")))
5601 (inputs
5602 `(("lua" ,lua)
5603 ("ghc-exceptions" ,ghc-exceptions)
5604 ("ghc-fail" ,ghc-fail)))
5605 (native-inputs
5606 `(("ghc-tasty" ,ghc-tasty)
5607 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5608 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5609 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5610 ("ghc-quickcheck" ,ghc-quickcheck)
5611 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5612 (home-page "https://hackage.haskell.org/package/hslua")
5613 (synopsis "Lua language interpreter embedding in Haskell")
5614 (description
5615 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5616described in @url{https://www.lua.org/}.")
5617 (license license:expat)))
5618
ff303e4e
TS
5619(define-public ghc-hslua-module-system
5620 (package
5621 (name "ghc-hslua-module-system")
5622 (version "0.2.1")
5623 (source
5624 (origin
5625 (method url-fetch)
5626 (uri (string-append "https://hackage.haskell.org/package/"
5627 "hslua-module-system/hslua-module-system-"
5628 version ".tar.gz"))
5629 (sha256
5630 (base32
5631 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5632 (build-system haskell-build-system)
5633 (inputs
5634 `(("ghc-exceptions" ,ghc-exceptions)
5635 ("ghc-hslua" ,ghc-hslua)
5636 ("ghc-temporary" ,ghc-temporary)))
5637 (native-inputs
5638 `(("ghc-tasty" ,ghc-tasty)
5639 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5640 (home-page "https://github.com/hslua/hslua-module-system")
5641 (synopsis "Lua module wrapper around Haskell's System module")
5642 (description "This library provides access to system information and
5643functionality to Lua scripts via Haskell's @code{System} module. Intended
5644usage for this package is to preload it by adding the loader function to
5645@code{package.preload}. Note that the Lua @code{package} library must have
5646already been loaded before the loader can be added.")
5647 (license license:expat)))
5648
dddbc90c
RV
5649(define-public ghc-hslua-module-text
5650 (package
5651 (name "ghc-hslua-module-text")
ecaf0b0c 5652 (version "0.2.1")
dddbc90c
RV
5653 (source
5654 (origin
5655 (method url-fetch)
5656 (uri (string-append "https://hackage.haskell.org/package/"
5657 "hslua-module-text/hslua-module-text-"
5658 version ".tar.gz"))
5659 (sha256
5660 (base32
ecaf0b0c 5661 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5662 (build-system haskell-build-system)
dddbc90c
RV
5663 (inputs
5664 `(("ghc-hslua" ,ghc-hslua)))
5665 (native-inputs
5666 `(("ghc-tasty" ,ghc-tasty)
5667 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5668 (home-page "https://github.com/hslua/hslua-module-text")
5669 (synopsis "Lua module for text")
5670 (description
5671 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5672for Haskell. The functions provided by this module are @code{upper},
5673@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5674 (license license:expat)))
5675
fac520bf
TS
5676(define-public ghc-hsyaml
5677 (package
5678 (name "ghc-hsyaml")
5679 (version "0.1.2.0")
5680 (source
5681 (origin
5682 (method url-fetch)
5683 (uri (string-append "https://hackage.haskell.org/package/"
5684 "HsYAML/HsYAML-" version ".tar.gz"))
5685 (sha256
5686 (base32
5687 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5688 (build-system haskell-build-system)
5689 (arguments
5690 `(#:cabal-revision
5691 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5692 (home-page "https://github.com/haskell-hvr/HsYAML")
5693 (synopsis "Pure Haskell YAML 1.2 parser")
5694 (description "This library provides a
5695@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5696for Haskell. Its features include:
5697
5698@itemize
5699@item Pure Haskell implementation with small dependency footprint and
5700emphasis on strict compliance with the YAML 1.2 specification.
5701
5702@item Direct decoding to native Haskell types via (aeson-inspired)
5703typeclass-based API (see @code{Data.YAML}).
5704
5705@item Support for constructing custom YAML node graph
5706representation (including support for cyclic YAML data structures).
5707
5708@item Support for the standard (untyped) @emph{Failsafe}, (strict)
5709@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5710typing rules as defined in the YAML 1.2 specification (including support
5711for user-defined custom schemas).
5712
5713@item Event-based API resembling LibYAML's Event-based API (see
5714@code{Data.YAML.Event}).
5715
5716@item Low-level API access to lexical token-based scanner (see
5717@code{Data.YAML.Token}).
5718@end itemize")
5719 (license license:gpl2+)))
5720
dddbc90c
RV
5721(define-public ghc-http-api-data
5722 (package
5723 (name "ghc-http-api-data")
a57236eb 5724 (version "0.4.1")
dddbc90c
RV
5725 (source
5726 (origin
5727 (method url-fetch)
5728 (uri (string-append "https://hackage.haskell.org/package/"
5729 "http-api-data-" version "/"
5730 "http-api-data-" version ".tar.gz"))
5731 (sha256
5732 (base32
a57236eb 5733 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5734 (build-system haskell-build-system)
dddbc90c
RV
5735 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5736 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 5737 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
5738 ("ghc-hashable" ,ghc-hashable)
5739 ("ghc-http-types" ,ghc-http-types)
a57236eb 5740 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 5741 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 5742 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
5743 (native-inputs
5744 `(("cabal-doctest" ,cabal-doctest)
5745 ("ghc-nats" ,ghc-nats)
5746 ("ghc-hunit" ,ghc-hunit)
5747 ("ghc-hspec" ,ghc-hspec)
5748 ("ghc-quickcheck" ,ghc-quickcheck)
5749 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5750 ("ghc-doctest" ,ghc-doctest)
5751 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
5752 (home-page "https://github.com/fizruk/http-api-data")
5753 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5754query parameters")
5755 (description "This Haskell package defines typeclasses used for converting
5756Haskell data types to and from HTTP API data.")
5757 (license license:bsd-3)))
5758
5759(define-public ghc-ieee754
5760 (package
5761 (name "ghc-ieee754")
5762 (version "0.8.0")
5763 (source (origin
5764 (method url-fetch)
5765 (uri (string-append
5766 "https://hackage.haskell.org/package/ieee754/"
5767 "ieee754-" version ".tar.gz"))
5768 (sha256
5769 (base32
5770 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5771 (build-system haskell-build-system)
5772 (home-page "https://github.com/patperry/hs-ieee754")
5773 (synopsis "Utilities for dealing with IEEE floating point numbers")
5774 (description "Utilities for dealing with IEEE floating point numbers,
5775ported from the Tango math library; approximate and exact equality comparisons
5776for general types.")
5777 (license license:bsd-3)))
5778
5779(define-public ghc-ifelse
5780 (package
5781 (name "ghc-ifelse")
5782 (version "0.85")
5783 (source
5784 (origin
5785 (method url-fetch)
5786 (uri (string-append "https://hackage.haskell.org/package/"
5787 "IfElse/IfElse-" version ".tar.gz"))
5788 (sha256
5789 (base32
5790 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5791 (build-system haskell-build-system)
5792 (home-page "http://hackage.haskell.org/package/IfElse")
5793 (synopsis "Monadic control flow with anaphoric variants")
5794 (description "This library provides functions for control flow inside of
5795monads with anaphoric variants on @code{if} and @code{when} and a C-like
5796@code{switch} function.")
5797 (license license:bsd-3)))
5798
5799(define-public ghc-indents
5800 (package
5801 (name "ghc-indents")
d66473fb 5802 (version "0.5.0.1")
dddbc90c
RV
5803 (source (origin
5804 (method url-fetch)
5805 (uri (string-append
5806 "https://hackage.haskell.org/package/indents/indents-"
5807 version ".tar.gz"))
5808 (sha256
5809 (base32
d66473fb 5810 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5811 (build-system haskell-build-system)
5812 ;; This package needs an older version of tasty.
5813 (arguments '(#:tests? #f))
5814 (inputs
5815 `(("ghc-concatenative" ,ghc-concatenative)))
5816 (native-inputs
5817 `(("ghc-tasty" ,ghc-tasty)
5818 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5819 (home-page "http://patch-tag.com/r/salazar/indents")
5820 (synopsis "Indentation sensitive parser-combinators for parsec")
5821 (description
5822 "This library provides functions for use in parsing indentation sensitive
5823contexts. It parses blocks of lines all indented to the same level as well as
5824lines continued at an indented level below.")
5825 (license license:bsd-3)))
5826
1f656b17
TS
5827(define-public ghc-infer-license
5828 (package
5829 (name "ghc-infer-license")
5830 (version "0.2.0")
5831 (source
5832 (origin
5833 (method url-fetch)
5834 (uri (string-append "https://hackage.haskell.org/package/"
5835 "infer-license/infer-license-" version ".tar.gz"))
5836 (sha256
5837 (base32
5838 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5839 (build-system haskell-build-system)
5840 (inputs
5841 `(("ghc-text-metrics" ,ghc-text-metrics)))
5842 (native-inputs
5843 `(("ghc-hspec" ,ghc-hspec)
5844 ("hspec-discover" ,hspec-discover)))
5845 (home-page "http://hackage.haskell.org/package/infer-license")
5846 (synopsis "Infer software license from a given license file")
5847 (description "This library provides tools to infer a software
5848license from a given license file.")
5849 (license license:expat)))
5850
dddbc90c
RV
5851(define-public ghc-inline-c
5852 (package
5853 (name "ghc-inline-c")
55ec98f2 5854 (version "0.7.0.1")
dddbc90c
RV
5855 (source
5856 (origin
5857 (method url-fetch)
5858 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5859 "inline-c-" version ".tar.gz"))
5860 (sha256
5861 (base32
55ec98f2 5862 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
5863 (build-system haskell-build-system)
5864 (inputs
5865 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5866 ("ghc-cryptohash" ,ghc-cryptohash)
5867 ("ghc-hashable" ,ghc-hashable)
5868 ("ghc-parsers" ,ghc-parsers)
5869 ("ghc-unordered-containers" ,ghc-unordered-containers)
5870 ("ghc-vector" ,ghc-vector)))
5871 (native-inputs
5872 `(("ghc-quickcheck" ,ghc-quickcheck)
5873 ("ghc-hspec" ,ghc-hspec)
5874 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5875 ("ghc-regex-posix" ,ghc-regex-posix)))
5876 (home-page "http://hackage.haskell.org/package/inline-c")
5877 (synopsis "Write Haskell source files including C code inline")
5878 (description
5879 "inline-c lets you seamlessly call C libraries and embed high-performance
5880inline C code in Haskell modules. Haskell and C can be freely intermixed in
5881the same source file, and data passed to and from code in either language with
5882minimal overhead. No FFI required.")
5883 (license license:expat)))
5884
5885(define-public ghc-inline-c-cpp
5886 (package
5887 (name "ghc-inline-c-cpp")
cae58e56 5888 (version "0.3.0.3")
dddbc90c
RV
5889 (source
5890 (origin
5891 (method url-fetch)
5892 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5893 "inline-c-cpp-" version ".tar.gz"))
5894 (sha256
5895 (base32
cae58e56 5896 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
5897 (build-system haskell-build-system)
5898 (inputs
5899 `(("ghc-inline-c" ,ghc-inline-c)
5900 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5901 (native-inputs
5902 `(("ghc-hspec" ,ghc-hspec)))
5903 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5904 (synopsis "Lets you embed C++ code into Haskell")
5905 (description
5906 "This package provides utilities to inline C++ code into Haskell using
5907@code{inline-c}.")
5908 (license license:expat)))
5909
5910(define-public ghc-integer-logarithms
5911 (package
5912 (name "ghc-integer-logarithms")
86a704db 5913 (version "1.0.3")
dddbc90c
RV
5914 (source
5915 (origin
5916 (method url-fetch)
5917 (uri (string-append "https://hackage.haskell.org/package/"
5918 "integer-logarithms/integer-logarithms-"
5919 version ".tar.gz"))
5920 (sha256
5921 (base32
86a704db 5922 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5923 (build-system haskell-build-system)
5924 (arguments
5925 `(#:phases
5926 (modify-phases %standard-phases
5927 (add-before 'configure 'update-constraints
5928 (lambda _
5929 (substitute* "integer-logarithms.cabal"
5930 (("tasty >= 0\\.10 && < 1\\.1")
5931 "tasty >= 0.10 && < 1.2")))))))
5932 (native-inputs
5933 `(("ghc-quickcheck" ,ghc-quickcheck)
5934 ("ghc-smallcheck" ,ghc-smallcheck)
5935 ("ghc-tasty" ,ghc-tasty)
5936 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5937 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5938 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5939 (home-page "https://github.com/Bodigrim/integer-logarithms")
5940 (synopsis "Integer logarithms")
5941 (description
5942 "This package provides the following modules:
5943@code{Math.NumberTheory.Logarithms} and
5944@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5945@code{GHC.Integer.Logarithms.Compat} and
5946@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5947in migrated modules.")
5948 (license license:expat)))
5949
5950(define-public ghc-integer-logarithms-bootstrap
5951 (package
5952 (inherit ghc-integer-logarithms)
5953 (name "ghc-integer-logarithms-bootstrap")
5954 (arguments `(#:tests? #f))
5955 (native-inputs '())
799d8d3c 5956 (properties '((hidden? #t)))))
dddbc90c
RV
5957
5958(define-public ghc-interpolate
5959 (package
5960 (name "ghc-interpolate")
5961 (version "0.2.0")
5962 (source
5963 (origin
5964 (method url-fetch)
5965 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5966 "interpolate-" version ".tar.gz"))
5967 (sha256
5968 (base32
5969 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5970 (build-system haskell-build-system)
5971 (inputs
5972 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5973 (native-inputs
5974 `(("ghc-base-compat" ,ghc-base-compat)
5975 ("ghc-hspec" ,ghc-hspec)
5976 ("ghc-quickcheck" ,ghc-quickcheck)
5977 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5978 ("hspec-discover" ,hspec-discover)))
5979 (home-page "https://github.com/sol/interpolate")
5980 (synopsis "String interpolation library")
5981 (description "This package provides a string interpolation library for
5982Haskell.")
5983 (license license:expat)))
5984
5985(define-public ghc-intervalmap
5986 (package
5987 (name "ghc-intervalmap")
e4946e32 5988 (version "0.6.1.1")
dddbc90c
RV
5989 (source
5990 (origin
5991 (method url-fetch)
5992 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5993 "IntervalMap-" version ".tar.gz"))
5994 (sha256
5995 (base32
e4946e32 5996 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5997 (build-system haskell-build-system)
5998 (native-inputs
5999 `(("ghc-quickcheck" ,ghc-quickcheck)))
6000 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6001 (synopsis "Containers for intervals, with efficient search")
6002 (description
6003 "This package provides ordered containers of intervals, with efficient
6004search for all keys containing a point or overlapping an interval. See the
6005example code on the home page for a quick introduction.")
6006 (license license:bsd-3)))
6007
f7ca1fa8
TS
6008(define-public ghc-intervals
6009 (package
6010 (name "ghc-intervals")
6011 (version "0.8.1")
6012 (source
6013 (origin
6014 (method url-fetch)
6015 (uri (string-append "https://hackage.haskell.org/package/"
6016 "intervals/intervals-" version ".tar.gz"))
6017 (sha256
6018 (base32
6019 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6020 (build-system haskell-build-system)
6021 (inputs
6022 `(("ghc-distributive" ,ghc-distributive)))
6023 (native-inputs
6024 `(("cabal-doctest" ,cabal-doctest)
6025 ("ghc-doctest" ,ghc-doctest)
6026 ("ghc-quickcheck" ,ghc-quickcheck)))
6027 (arguments
6028 `(#:cabal-revision
6029 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6030 (home-page "https://github.com/ekmett/intervals")
6031 (synopsis "Interval arithmetic")
6032 (description "This library provides
6033@code{Numeric.Interval.Interval}, which represets a closed, convex set
6034of floating point values.")
6035 (license license:bsd-3)))
6036
dddbc90c
RV
6037(define-public ghc-invariant
6038 (package
6039 (name "ghc-invariant")
d3a0e0b4 6040 (version "0.5.3")
dddbc90c
RV
6041 (source
6042 (origin
6043 (method url-fetch)
6044 (uri (string-append
6045 "https://hackage.haskell.org/package/invariant/invariant-"
6046 version ".tar.gz"))
6047 (sha256
6048 (base32
d3a0e0b4 6049 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
6050 (build-system haskell-build-system)
6051 (inputs
6052 `(("ghc-bifunctors" ,ghc-bifunctors)
6053 ("ghc-comonad" ,ghc-comonad)
6054 ("ghc-contravariant" ,ghc-contravariant)
6055 ("ghc-profunctors" ,ghc-profunctors)
6056 ("ghc-semigroups" ,ghc-semigroups)
6057 ("ghc-statevar" ,ghc-statevar)
6058 ("ghc-tagged" ,ghc-tagged)
6059 ("ghc-th-abstraction" ,ghc-th-abstraction)
6060 ("ghc-transformers-compat" ,ghc-transformers-compat)
6061 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6062 (native-inputs
6063 `(("ghc-hspec" ,ghc-hspec)
6064 ("ghc-quickcheck" ,ghc-quickcheck)
6065 ("hspec-discover" ,hspec-discover)))
6066 (home-page "https://github.com/nfrisby/invariant-functors")
6067 (synopsis "Haskell98 invariant functors")
6068 (description "Haskell98 invariant functors (also known as exponential
6069functors). For more information, see Edward Kmett's article
6070@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6071 (license license:bsd-2)))
6072
6073(define-public ghc-io-streams
6074 (package
6075 (name "ghc-io-streams")
59e98d75 6076 (version "1.5.1.0")
dddbc90c
RV
6077 (source
6078 (origin
6079 (method url-fetch)
6080 (uri (string-append "https://hackage.haskell.org/package/"
6081 "io-streams/io-streams-" version ".tar.gz"))
6082 (sha256
6083 (base32
59e98d75 6084 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
6085 (build-system haskell-build-system)
6086 (inputs
6087 `(("ghc-attoparsec" ,ghc-attoparsec)
6088 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6089 ("ghc-network" ,ghc-network)
6090 ("ghc-primitive" ,ghc-primitive)
6091 ("ghc-vector" ,ghc-vector)
6092 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6093 (native-inputs
6094 `(("ghc-hunit" ,ghc-hunit)
6095 ("ghc-quickcheck" ,ghc-quickcheck)
6096 ("ghc-test-framework" ,ghc-test-framework)
6097 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6098 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6099 ("ghc-zlib" ,ghc-zlib)))
dddbc90c
RV
6100 (home-page "http://hackage.haskell.org/package/io-streams")
6101 (synopsis "Simple and composable stream I/O")
6102 (description "This library contains simple and easy-to-use
6103primitives for I/O using streams.")
6104 (license license:bsd-3)))
6105
6106(define-public ghc-io-streams-haproxy
6107 (package
6108 (name "ghc-io-streams-haproxy")
1a4fbc36 6109 (version "1.0.1.0")
dddbc90c
RV
6110 (source
6111 (origin
6112 (method url-fetch)
6113 (uri (string-append "https://hackage.haskell.org/package/"
6114 "io-streams-haproxy/io-streams-haproxy-"
6115 version ".tar.gz"))
6116 (sha256
6117 (base32
1a4fbc36 6118 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
6119 (build-system haskell-build-system)
6120 (inputs
6121 `(("ghc-attoparsec" ,ghc-attoparsec)
6122 ("ghc-io-streams" ,ghc-io-streams)
6123 ("ghc-network" ,ghc-network)))
6124 (native-inputs
6125 `(("ghc-hunit" ,ghc-hunit)
6126 ("ghc-test-framework" ,ghc-test-framework)
6127 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
6128 (home-page "http://snapframework.com/")
6129 (synopsis "HAProxy protocol 1.5 support for io-streams")
6130 (description "HAProxy protocol version 1.5 support
6131(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6132for applications using io-streams. The proxy protocol allows information
6133about a networked peer (like remote address and port) to be propagated
6134through a forwarding proxy that is configured to speak this protocol.")
6135 (license license:bsd-3)))
6136
6137(define-public ghc-iproute
6138 (package
6139 (name "ghc-iproute")
ec25d536 6140 (version "1.7.7")
dddbc90c
RV
6141 (source
6142 (origin
6143 (method url-fetch)
6144 (uri (string-append
6145 "https://hackage.haskell.org/package/iproute/iproute-"
6146 version
6147 ".tar.gz"))
6148 (sha256
6149 (base32
ec25d536 6150 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
6151 (build-system haskell-build-system)
6152 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6153 ; exported by ghc-byteorder. Doctest issue.
6154 (inputs
6155 `(("ghc-appar" ,ghc-appar)
6156 ("ghc-byteorder" ,ghc-byteorder)
6157 ("ghc-network" ,ghc-network)
6158 ("ghc-safe" ,ghc-safe)))
6159 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6160 (synopsis "IP routing table")
6161 (description "IP Routing Table is a tree of IP ranges to search one of
6162them on the longest match base. It is a kind of TRIE with one way branching
6163removed. Both IPv4 and IPv6 are supported.")
6164 (license license:bsd-3)))
6165
4828e54e
TS
6166(define-public ghc-ipynb
6167 (package
6168 (name "ghc-ipynb")
6169 (version "0.1")
6170 (source
6171 (origin
6172 (method url-fetch)
6173 (uri (string-append "https://hackage.haskell.org/package/"
6174 "ipynb/ipynb-" version ".tar.gz"))
6175 (sha256
6176 (base32
6177 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6178 (build-system haskell-build-system)
6179 (inputs
6180 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6181 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6182 ("ghc-aeson" ,ghc-aeson)
6183 ("ghc-semigroups" ,ghc-semigroups)))
6184 (native-inputs
6185 `(("ghc-tasty" ,ghc-tasty)
6186 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6187 ("ghc-aeson-diff" ,ghc-aeson-diff)
6188 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6189 ("ghc-microlens" ,ghc-microlens)
6190 ("ghc-vector" ,ghc-vector)))
6191 (home-page "https://hackage.haskell.org/package/ipynb")
6192 (synopsis "Data structure for working with Jupyter notebooks")
6193 (description "This library defines a data structure for representing
6194Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6195instances for conversion to and from JSON .ipynb files.")
6196 (license license:bsd-3)))
6197
dddbc90c
RV
6198(define-public ghc-iwlib
6199 (package
6200 (name "ghc-iwlib")
6201 (version "0.1.0")
6202 (source
6203 (origin
6204 (method url-fetch)
6205 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6206 version ".tar.gz"))
6207 (sha256
6208 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6209 (build-system haskell-build-system)
6210 (inputs
6211 `(("wireless-tools" ,wireless-tools)))
6212 (home-page "https://github.com/jaor/iwlib")
6213 (synopsis "Haskell binding to the iw wireless networking library")
6214 (description
6215 "IWlib is a thin Haskell binding to the iw C library. It provides
6216information about the current wireless network connections, and adapters on
6217supported systems.")
6218 (license license:bsd-3)))
6219
6220(define-public ghc-json
6221 (package
6222 (name "ghc-json")
0ad3d574 6223 (version "0.9.3")
dddbc90c
RV
6224 (source
6225 (origin
6226 (method url-fetch)
6227 (uri (string-append "https://hackage.haskell.org/package/json/"
6228 "json-" version ".tar.gz"))
6229 (sha256
6230 (base32
0ad3d574 6231 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6232 (build-system haskell-build-system)
6233 (inputs
6234 `(("ghc-syb" ,ghc-syb)))
6235 (home-page "https://hackage.haskell.org/package/json")
6236 (synopsis "Serializes Haskell data to and from JSON")
6237 (description "This package provides a parser and pretty printer for
6238converting between Haskell values and JSON.
6239JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6240 (license license:bsd-3)))
6241
6242(define-public ghc-juicypixels
6243 (package
6244 (name "ghc-juicypixels")
b50b6004 6245 (version "3.3.4")
dddbc90c
RV
6246 (source (origin
6247 (method url-fetch)
6248 (uri (string-append "https://hackage.haskell.org/package/"
6249 "JuicyPixels/JuicyPixels-"
6250 version ".tar.gz"))
6251 (sha256
6252 (base32
b50b6004 6253 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
6254 (build-system haskell-build-system)
6255 (inputs
6256 `(("ghc-zlib" ,ghc-zlib)
6257 ("ghc-vector" ,ghc-vector)
6258 ("ghc-primitive" ,ghc-primitive)
6259 ("ghc-mmap" ,ghc-mmap)))
6260 (home-page "https://github.com/Twinside/Juicy.Pixels")
6261 (synopsis "Picture loading and serialization library")
6262 (description
6263 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6264TIFF and GIF formats.")
6265 (license license:bsd-3)))
6266
6267(define-public ghc-kan-extensions
6268 (package
6269 (name "ghc-kan-extensions")
6270 (version "5.2")
6271 (source
6272 (origin
6273 (method url-fetch)
6274 (uri (string-append
6275 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6276 version
6277 ".tar.gz"))
6278 (sha256
6279 (base32
6280 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6281 (build-system haskell-build-system)
6282 (inputs
6283 `(("ghc-adjunctions" ,ghc-adjunctions)
6284 ("ghc-comonad" ,ghc-comonad)
6285 ("ghc-contravariant" ,ghc-contravariant)
6286 ("ghc-distributive" ,ghc-distributive)
6287 ("ghc-free" ,ghc-free)
6288 ("ghc-invariant" ,ghc-invariant)
6289 ("ghc-semigroupoids" ,ghc-semigroupoids)
6290 ("ghc-tagged" ,ghc-tagged)
6291 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6292 (home-page "https://github.com/ekmett/kan-extensions/")
6293 (synopsis "Kan extensions library")
6294 (description "This library provides Kan extensions, Kan lifts, various
6295forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6296 (license license:bsd-3)))
6297
6298(define-public ghc-language-c
6299 (package
6300 (name "ghc-language-c")
4e1cf651 6301 (version "0.8.3")
dddbc90c
RV
6302 (source
6303 (origin
6304 (method url-fetch)
6305 (uri (string-append "https://hackage.haskell.org/package/"
6306 "language-c/language-c-" version ".tar.gz"))
6307 (sha256
6308 (base32
4e1cf651 6309 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6310 (build-system haskell-build-system)
6311 (inputs `(("ghc-syb" ,ghc-syb)))
6312 (native-inputs
6313 `(("ghc-happy" ,ghc-happy)
6314 ("ghc-alex" ,ghc-alex)))
6315 (home-page "https://visq.github.io/language-c/")
6316 (synopsis "Analysis and generation of C code")
6317 (description
6318 "Language C is a Haskell library for the analysis and generation of C code.
6319It features a complete, well-tested parser and pretty printer for all of C99
6320and a large set of GNU extensions.")
6321 (license license:bsd-3)))
6322
6323(define-public ghc-language-glsl
6324 (package
6325 (name "ghc-language-glsl")
6326 (version "0.3.0")
6327 (source
6328 (origin
6329 (method url-fetch)
6330 (uri (string-append "https://hackage.haskell.org/package/"
6331 "language-glsl/language-glsl-" version ".tar.gz"))
6332 (sha256
6333 (base32
6334 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6335 (build-system haskell-build-system)
6336 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6337 (arguments
6338 `(#:tests? #f
6339 #:cabal-revision
6340 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
6341 (home-page "http://hackage.haskell.org/package/language-glsl")
6342 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6343 (description "This package is a Haskell library for the
6344representation, parsing, and pretty-printing of GLSL 1.50 code.")
6345 (license license:bsd-3)))
6346
6347(define-public ghc-language-haskell-extract
6348 (package
6349 (name "ghc-language-haskell-extract")
6350 (version "0.2.4")
6351 (source
6352 (origin
6353 (method url-fetch)
6354 (uri (string-append "https://hackage.haskell.org/package/"
6355 "language-haskell-extract-" version "/"
6356 "language-haskell-extract-" version ".tar.gz"))
6357 (sha256
6358 (base32
6359 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6360 (build-system haskell-build-system)
6361 (inputs
6362 `(("ghc-regex-posix" ,ghc-regex-posix)))
6363 (home-page "https://github.com/finnsson/template-helper")
6364 (synopsis "Haskell module to automatically extract functions from
6365the local code")
6366 (description "This package contains helper functions on top of
6367Template Haskell.
6368
6369For example, @code{functionExtractor} extracts all functions after a
6370regexp-pattern, which can be useful if you wish to extract all functions
6371beginning with @code{test} (for a test framework) or all functions beginning
6372with @code{wc} (for a web service).")
6373 (license license:bsd-3)))
6374
6375(define-public ghc-lens
6376 (package
6377 (name "ghc-lens")
262e6323 6378 (version "4.17.1")
dddbc90c
RV
6379 (source
6380 (origin
6381 (method url-fetch)
6382 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6383 version ".tar.gz"))
6384 (sha256
6385 (base32
262e6323 6386 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6387 (build-system haskell-build-system)
dddbc90c
RV
6388 (inputs
6389 `(("ghc-base-orphans" ,ghc-base-orphans)
6390 ("ghc-bifunctors" ,ghc-bifunctors)
6391 ("ghc-distributive" ,ghc-distributive)
6392 ("ghc-exceptions" ,ghc-exceptions)
6393 ("ghc-free" ,ghc-free)
6394 ("ghc-kan-extensions" ,ghc-kan-extensions)
6395 ("ghc-parallel" ,ghc-parallel)
6396 ("ghc-reflection" ,ghc-reflection)
6397 ("ghc-semigroupoids" ,ghc-semigroupoids)
6398 ("ghc-vector" ,ghc-vector)
6399 ("ghc-call-stack" ,ghc-call-stack)
6400 ("ghc-comonad" ,ghc-comonad)
6401 ("ghc-contravariant" ,ghc-contravariant)
6402 ("ghc-hashable" ,ghc-hashable)
6403 ("ghc-profunctors" ,ghc-profunctors)
6404 ("ghc-semigroups" ,ghc-semigroups)
6405 ("ghc-tagged" ,ghc-tagged)
6406 ("ghc-transformers-compat" ,ghc-transformers-compat)
6407 ("ghc-unordered-containers" ,ghc-unordered-containers)
6408 ("ghc-void" ,ghc-void)
6409 ("ghc-generic-deriving" ,ghc-generic-deriving)
6410 ("ghc-nats" ,ghc-nats)
6411 ("ghc-simple-reflect" ,ghc-simple-reflect)
6412 ("hlint" ,hlint)))
6413 (native-inputs
6414 `(("cabal-doctest" ,cabal-doctest)
6415 ("ghc-doctest" ,ghc-doctest)
6416 ("ghc-hunit" ,ghc-hunit)
6417 ("ghc-test-framework" ,ghc-test-framework)
6418 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6419 ("ghc-test-framework-th" ,ghc-test-framework-th)
6420 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6421 ("ghc-quickcheck" ,ghc-quickcheck)))
6422 (home-page "https://github.com/ekmett/lens/")
6423 (synopsis "Lenses, Folds and Traversals")
6424 (description "This library provides @code{Control.Lens}. The combinators
6425in @code{Control.Lens} provide a highly generic toolbox for composing families
6426of getters, folds, isomorphisms, traversals, setters and lenses and their
6427indexed variants.")
6428 (license license:bsd-3)))
6429
6430(define-public ghc-libffi
6431 (package
6432 (name "ghc-libffi")
6433 (version "0.1")
6434 (source
6435 (origin
6436 (method url-fetch)
6437 (uri (string-append "https://hackage.haskell.org/package/"
6438 "libffi/libffi-" version ".tar.gz"))
6439 (sha256
6440 (base32
6441 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6442 (build-system haskell-build-system)
6443 (native-inputs `(("pkg-config" ,pkg-config)))
6444 (inputs `(("libffi" ,libffi)))
6445 (home-page "http://hackage.haskell.org/package/libffi")
6446 (synopsis "Haskell binding to libffi")
6447 (description
6448 "A binding to libffi, allowing C functions of types only known at runtime
6449to be called from Haskell.")
6450 (license license:bsd-3)))
6451
6452(define-public ghc-libmpd
6453 (package
6454 (name "ghc-libmpd")
bbf9845f 6455 (version "0.9.0.10")
dddbc90c
RV
6456 (source
6457 (origin
6458 (method url-fetch)
6459 (uri (string-append
6460 "mirror://hackage/package/libmpd/libmpd-"
6461 version
6462 ".tar.gz"))
6463 (sha256
6464 (base32
bbf9845f 6465 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6466 (build-system haskell-build-system)
6467 ;; Tests fail on i686.
6468 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6469 (arguments `(#:tests? #f))
6470 (inputs
6471 `(("ghc-attoparsec" ,ghc-attoparsec)
6472 ("ghc-old-locale" ,ghc-old-locale)
6473 ("ghc-data-default-class" ,ghc-data-default-class)
6474 ("ghc-network" ,ghc-network)
bbf9845f 6475 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6476 ("ghc-utf8-string" ,ghc-utf8-string)))
6477 (native-inputs
6478 `(("ghc-quickcheck" ,ghc-quickcheck)
6479 ("ghc-hspec" ,ghc-hspec)
6480 ("hspec-discover" ,hspec-discover)))
6481 (home-page "https://github.com/vimus/libmpd-haskell")
6482 (synopsis "Haskell client library for the Music Player Daemon")
6483 (description "This package provides a pure Haskell client library for the
6484Music Player Daemon.")
6485 (license license:expat)))
6486
e34df1c3
TS
6487(define-public ghc-lib-parser
6488 (package
6489 (name "ghc-lib-parser")
6490 (version "8.8.0.20190424")
6491 (source
6492 (origin
6493 (method url-fetch)
6494 (uri (string-append "https://hackage.haskell.org/package/"
6495 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6496 (sha256
6497 (base32
6498 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6499 (build-system haskell-build-system)
6500 (native-inputs
6501 `(("ghc-alex" ,ghc-alex)
6502 ("ghc-happy" ,ghc-happy)))
6503 (home-page "https://github.com/digital-asset/ghc-lib")
6504 (synopsis "The GHC API, decoupled from GHC versions")
6505 (description "This library implements the GHC API. It is like the
6506compiler-provided @code{ghc} package, but it can be loaded on many
6507compiler versions.")
6508 (license license:bsd-3)))
6509
dddbc90c
RV
6510(define-public ghc-libxml
6511 (package
6512 (name "ghc-libxml")
6513 (version "0.1.1")
6514 (source
6515 (origin
6516 (method url-fetch)
6517 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6518 "libxml-" version ".tar.gz"))
6519 (sha256
6520 (base32
6521 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6522 (build-system haskell-build-system)
6523 (inputs
6524 `(("libxml2" ,libxml2)))
6525 (arguments
6526 `(#:configure-flags
6527 `(,(string-append "--extra-include-dirs="
6528 (assoc-ref %build-inputs "libxml2")
6529 "/include/libxml2"))))
6530 (home-page "https://hackage.haskell.org/package/libxml")
6531 (synopsis "Haskell bindings to libxml2")
6532 (description
6533 "This library provides minimal Haskell binding to libxml2.")
6534 (license license:bsd-3)))
6535
0c2d6fc2
TS
6536(define-public ghc-libyaml
6537 (package
6538 (name "ghc-libyaml")
6539 (version "0.1.1.0")
6540 (source
6541 (origin
6542 (method url-fetch)
6543 (uri (string-append "https://hackage.haskell.org/package/"
6544 "libyaml/libyaml-" version ".tar.gz"))
6545 (sha256
6546 (base32
6547 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6548 (modules '((guix build utils)))
6549 (snippet
6550 ;; Delete bundled LibYAML.
6551 '(begin
6552 (delete-file-recursively "libyaml_src")
6553 #t))))
6554 (build-system haskell-build-system)
6555 (arguments
6556 `(#:configure-flags `("--flags=system-libyaml")))
6557 (inputs
6558 `(("ghc-conduit" ,ghc-conduit)
6559 ("ghc-resourcet" ,ghc-resourcet)
6560 ("libyaml" ,libyaml-2.1)))
6561 (home-page "https://github.com/snoyberg/yaml#readme")
6562 (synopsis "Low-level, streaming YAML interface.")
6563 (description "This package provides a Haskell wrapper over the
6564LibYAML C library.")
6565 (license license:bsd-3)))
6566
dddbc90c
RV
6567(define-public ghc-lifted-async
6568 (package
6569 (name "ghc-lifted-async")
b5b6d7ea 6570 (version "0.10.0.4")
dddbc90c
RV
6571 (source
6572 (origin
6573 (method url-fetch)
6574 (uri (string-append
6575 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6576 version ".tar.gz"))
6577 (sha256
6578 (base32
b5b6d7ea 6579 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6580 (build-system haskell-build-system)
6581 (inputs
6582 `(("ghc-async" ,ghc-async)
6583 ("ghc-lifted-base" ,ghc-lifted-base)
6584 ("ghc-transformers-base" ,ghc-transformers-base)
6585 ("ghc-monad-control" ,ghc-monad-control)
6586 ("ghc-constraints" ,ghc-constraints)
6587 ("ghc-hunit" ,ghc-hunit)
6588 ("ghc-tasty" ,ghc-tasty)
6589 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6590 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6591 ("ghc-tasty-th" ,ghc-tasty-th)))
6592 (home-page "https://github.com/maoe/lifted-async")
6593 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6594 (description
6595 "This package provides IO operations from @code{async} package lifted to any
6596instance of @code{MonadBase} or @code{MonadBaseControl}.")
6597 (license license:bsd-3)))
6598
6599(define-public ghc-lifted-base
6600 (package
6601 (name "ghc-lifted-base")
6602 (version "0.2.3.12")
6603 (source
6604 (origin
6605 (method url-fetch)
6606 (uri (string-append
6607 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6608 version
6609 ".tar.gz"))
6610 (sha256
6611 (base32
6612 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6613 (build-system haskell-build-system)
6614 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6615 (inputs
6616 `(("ghc-transformers-base" ,ghc-transformers-base)
6617 ("ghc-monad-control" ,ghc-monad-control)
6618 ("ghc-transformers-compat" ,ghc-transformers-compat)
6619 ("ghc-hunit" ,ghc-hunit)))
6620 (home-page "https://github.com/basvandijk/lifted-base")
6621 (synopsis "Lifted IO operations from the base library")
6622 (description "Lifted-base exports IO operations from the @code{base}
6623library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6624Note that not all modules from @code{base} are converted yet. The package
6625includes a copy of the @code{monad-peel} test suite written by Anders
6626Kaseorg.")
6627 (license license:bsd-3)))
6628
6629(define-public ghc-linear
6630 (package
6631 (name "ghc-linear")
86526f37 6632 (version "1.20.9")
dddbc90c
RV
6633 (source
6634 (origin
6635 (method url-fetch)
6636 (uri (string-append "https://hackage.haskell.org/package/linear/"
6637 "linear-" version ".tar.gz"))
6638 (sha256
6639 (base32
86526f37 6640 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6641 (build-system haskell-build-system)
6642 (inputs
6643 `(("ghc-adjunctions" ,ghc-adjunctions)
6644 ("ghc-base-orphans" ,ghc-base-orphans)
6645 ("ghc-bytes" ,ghc-bytes)
6646 ("ghc-cereal" ,ghc-cereal)
6647 ("ghc-distributive" ,ghc-distributive)
6648 ("ghc-hashable" ,ghc-hashable)
6649 ("ghc-lens" ,ghc-lens)
6650 ("ghc-reflection" ,ghc-reflection)
6651 ("ghc-semigroups" ,ghc-semigroups)
6652 ("ghc-semigroupoids" ,ghc-semigroupoids)
6653 ("ghc-tagged" ,ghc-tagged)
6654 ("ghc-transformers-compat" ,ghc-transformers-compat)
6655 ("ghc-unordered-containers" ,ghc-unordered-containers)
6656 ("ghc-vector" ,ghc-vector)
6657 ("ghc-void" ,ghc-void)))
6658 (native-inputs
6659 `(("cabal-doctest" ,cabal-doctest)
6660 ("ghc-doctest" ,ghc-doctest)
6661 ("ghc-simple-reflect" ,ghc-simple-reflect)
6662 ("ghc-test-framework" ,ghc-test-framework)
6663 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6664 ("ghc-hunit" ,ghc-hunit)))
6665 (home-page "http://github.com/ekmett/linear/")
6666 (synopsis "Linear algebra library for Haskell")
6667 (description
6668 "This package provides types and combinators for linear algebra on free
6669vector spaces.")
6670 (license license:bsd-3)))
1307e4c7
JS
6671
6672(define-public ghc-listlike
6673 (package
6674 (name "ghc-listlike")
6675 (version "4.6.2")
6676 (source
6677 (origin
6678 (method url-fetch)
6679 (uri
6680 (string-append
6681 "https://hackage.haskell.org/package/ListLike/ListLike-"
6682 version ".tar.gz"))
6683 (sha256
6684 (base32
6685 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6686 (build-system haskell-build-system)
6687 (inputs
6688 `(("ghc-vector" ,ghc-vector)
6689 ("ghc-dlist" ,ghc-dlist)
6690 ("ghc-fmlist" ,ghc-fmlist)
6691 ("ghc-hunit" ,ghc-hunit)
6692 ("ghc-quickcheck" ,ghc-quickcheck)
6693 ("ghc-random" ,ghc-random)
6694 ("ghc-utf8-string" ,ghc-utf8-string)))
6695 (home-page "https://github.com/JohnLato/listlike")
6696 (synopsis "Generic support for list-like structures")
6697 (description "The ListLike module provides a common interface to the
6698various Haskell types that are list-like. Predefined interfaces include
6699standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6700Custom types can easily be made ListLike instances as well.
6701
6702ListLike also provides for String-like types, such as String and
6703ByteString, for types that support input and output, and for types that
6704can handle infinite lists.")
6705 (license license:bsd-3)))
dddbc90c
RV
6706
6707(define-public ghc-logging-facade
6708 (package
6709 (name "ghc-logging-facade")
6710 (version "0.3.0")
6711 (source (origin
6712 (method url-fetch)
6713 (uri (string-append "https://hackage.haskell.org/package/"
6714 "logging-facade/logging-facade-"
6715 version ".tar.gz"))
6716 (sha256
6717 (base32
6718 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6719 (build-system haskell-build-system)
6720 (native-inputs
6721 `(("ghc-hspec" ,ghc-hspec)
6722 ("hspec-discover" ,hspec-discover)))
6723 (home-page "https://hackage.haskell.org/package/logging-facade")
6724 (synopsis "Simple logging abstraction that allows multiple back-ends")
6725 (description
6726 "This package provides a simple logging abstraction that allows multiple
6727back-ends.")
6728 (license license:expat)))
6729
6730(define-public ghc-logict
6731 (package
6732 (name "ghc-logict")
79d9326f 6733 (version "0.7.0.2")
dddbc90c
RV
6734 (source
6735 (origin
6736 (method url-fetch)
6737 (uri (string-append
6738 "https://hackage.haskell.org/package/logict/logict-"
6739 version
6740 ".tar.gz"))
6741 (sha256
6742 (base32
79d9326f 6743 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 6744 (build-system haskell-build-system)
79d9326f
TS
6745 (native-inputs
6746 `(("ghc-tasty" ,ghc-tasty)
6747 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
6748 (home-page "http://code.haskell.org/~dolio/")
6749 (synopsis "Backtracking logic-programming monad")
6750 (description "This library provides a continuation-based, backtracking,
6751logic programming monad. An adaptation of the two-continuation implementation
6752found in the paper \"Backtracking, Interleaving, and Terminating Monad
6753Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6754online}.")
6755 (license license:bsd-3)))
6756
6757(define-public ghc-lzma
6758 (package
6759 (name "ghc-lzma")
6760 (version "0.0.0.3")
6761 (source
6762 (origin
6763 (method url-fetch)
6764 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6765 "lzma-" version ".tar.gz"))
6766 (sha256
6767 (base32
6768 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6769 (build-system haskell-build-system)
6770 (arguments
6771 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6772 #:cabal-revision
6773 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6774 (native-inputs
6775 `(("ghc-hunit" ,ghc-hunit)
6776 ("ghc-quickcheck" ,ghc-quickcheck)
6777 ("ghc-tasty" ,ghc-tasty)
6778 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6779 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6780 (home-page "https://github.com/hvr/lzma")
6781 (synopsis "LZMA/XZ compression and decompression")
6782 (description
6783 "This package provides a pure interface for compressing and
6784decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6785monadic incremental interface is provided as well.")
6786 (license license:bsd-3)))
6787
6788(define-public ghc-lzma-conduit
6789 (package
6790 (name "ghc-lzma-conduit")
6791 (version "1.2.1")
6792 (source
6793 (origin
6794 (method url-fetch)
6795 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6796 "lzma-conduit-" version ".tar.gz"))
6797 (sha256
6798 (base32
6799 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6800 (build-system haskell-build-system)
6801 (inputs
6802 `(("ghc-conduit" ,ghc-conduit)
6803 ("ghc-lzma" ,ghc-lzma)
6804 ("ghc-resourcet" ,ghc-resourcet)))
6805 (native-inputs
6806 `(("ghc-base-compat" ,ghc-base-compat)
6807 ("ghc-test-framework" ,ghc-test-framework)
6808 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6809 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6810 ("ghc-hunit" ,ghc-hunit)
6811 ("ghc-quickcheck" ,ghc-quickcheck)))
6812 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6813 (synopsis "Conduit interface for lzma/xz compression")
6814 (description
6815 "This package provides a @code{Conduit} interface for the LZMA
6816compression algorithm used in the @code{.xz} file format.")
6817 (license license:bsd-3)))
6818
e405912c
KM
6819(define-public ghc-magic
6820 (package
6821 (name "ghc-magic")
6822 (version "1.1")
6823 (source
6824 (origin
6825 (method url-fetch)
6826 (uri (string-append
6827 "https://hackage.haskell.org/package/magic/magic-"
6828 version ".tar.gz"))
6829 (sha256
6830 (base32
6831 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6832 (build-system haskell-build-system)
6833 (home-page "http://hackage.haskell.org/package/magic")
6834 (synopsis "Interface to C file/magic library")
6835 (description
6836 "This package provides a full-featured binding to the C libmagic library.
6837With it, you can determine the type of a file by examining its contents rather
6838than its name.")
6839 (license license:bsd-3)))
6840
dddbc90c
RV
6841(define-public ghc-markdown-unlit
6842 (package
6843 (name "ghc-markdown-unlit")
6844 (version "0.5.0")
6845 (source (origin
6846 (method url-fetch)
6847 (uri (string-append
6848 "mirror://hackage/package/markdown-unlit/"
6849 "markdown-unlit-" version ".tar.gz"))
6850 (sha256
6851 (base32
6852 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6853 (build-system haskell-build-system)
6854 (inputs
6855 `(("ghc-base-compat" ,ghc-base-compat)
6856 ("ghc-hspec" ,ghc-hspec)
6857 ("ghc-quickcheck" ,ghc-quickcheck)
6858 ("ghc-silently" ,ghc-silently)
6859 ("ghc-stringbuilder" ,ghc-stringbuilder)
6860 ("ghc-temporary" ,ghc-temporary)
6861 ("hspec-discover" ,hspec-discover)))
6862 (home-page "https://github.com/sol/markdown-unlit#readme")
6863 (synopsis "Literate Haskell support for Markdown")
6864 (description "This package allows you to have a README.md that at the
6865same time is a literate Haskell program.")
6866 (license license:expat)))
6867
6868(define-public ghc-math-functions
6869 (package
6870 (name "ghc-math-functions")
b45de2bf 6871 (version "0.3.3.0")
dddbc90c
RV
6872 (source
6873 (origin
6874 (method url-fetch)
6875 (uri (string-append "https://hackage.haskell.org/package/"
6876 "math-functions-" version "/"
6877 "math-functions-" version ".tar.gz"))
6878 (sha256
6879 (base32
b45de2bf 6880 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6881 (build-system haskell-build-system)
6882 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6883 (inputs
b45de2bf
TS
6884 `(("ghc-data-default-class" ,ghc-data-default-class)
6885 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6886 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6887 (native-inputs
6888 `(("ghc-hunit" ,ghc-hunit)
6889 ("ghc-quickcheck" ,ghc-quickcheck)
6890 ("ghc-erf" ,ghc-erf)
6891 ("ghc-test-framework" ,ghc-test-framework)
6892 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6893 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6894 (home-page "https://github.com/bos/math-functions")
6895 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6896 (description "This Haskell library provides implementations of
6897special mathematical functions and Chebyshev polynomials. These
6898functions are often useful in statistical and numerical computing.")
6899 (license license:bsd-3)))
6900
6901(define-public ghc-megaparsec
6902 (package
6903 (name "ghc-megaparsec")
03b0c92e 6904 (version "7.0.5")
dddbc90c
RV
6905 (source
6906 (origin
6907 (method url-fetch)
6908 (uri (string-append "https://hackage.haskell.org/package/"
6909 "megaparsec/megaparsec-"
6910 version ".tar.gz"))
6911 (sha256
6912 (base32
03b0c92e 6913 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 6914 (build-system haskell-build-system)
dddbc90c
RV
6915 (inputs
6916 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6917 ("ghc-parser-combinators" ,ghc-parser-combinators)
6918 ("ghc-scientific" ,ghc-scientific)))
6919 (native-inputs
6920 `(("ghc-quickcheck" ,ghc-quickcheck)
6921 ("ghc-hspec" ,ghc-hspec)
6922 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6923 ("hspec-discover" ,hspec-discover)))
6924 (home-page "https://github.com/mrkkrp/megaparsec")
6925 (synopsis "Monadic parser combinators")
6926 (description
6927 "This is an industrial-strength monadic parser combinator library.
6928Megaparsec is a feature-rich package that strikes a nice balance between
6929speed, flexibility, and quality of parse errors.")
6930 (license license:bsd-2)))
6931
6932(define-public ghc-memory
6933 (package
6934 (name "ghc-memory")
d2c7d336 6935 (version "0.14.18")
dddbc90c
RV
6936 (source (origin
6937 (method url-fetch)
6938 (uri (string-append "https://hackage.haskell.org/package/"
6939 "memory/memory-" version ".tar.gz"))
6940 (sha256
6941 (base32
d2c7d336 6942 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6943 (build-system haskell-build-system)
6944 (inputs
6945 `(("ghc-basement" ,ghc-basement)
6946 ("ghc-foundation" ,ghc-foundation)))
6947 (native-inputs
6948 `(("ghc-tasty" ,ghc-tasty)
6949 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6950 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6951 (home-page "https://github.com/vincenthz/hs-memory")
6952 (synopsis "Memory abstractions for Haskell")
6953 (description
6954 "This package provides memory abstractions, such as chunk of memory,
6955polymorphic byte array management and manipulation functions. It contains a
6956polymorphic byte array abstraction and functions similar to strict ByteString,
6957different type of byte array abstraction, raw memory IO operations (memory
6958set, memory copy, ..) and more")
6959 (license license:bsd-3)))
6960
6961(define-public ghc-memotrie
6962 (package
6963 (name "ghc-memotrie")
6964 (version "0.6.9")
6965 (source
6966 (origin
6967 (method url-fetch)
6968 (uri (string-append
6969 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6970 version
6971 ".tar.gz"))
6972 (sha256
6973 (base32
6974 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6975 (build-system haskell-build-system)
6976 (inputs
6977 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6978 (home-page "https://github.com/conal/MemoTrie")
6979 (synopsis "Trie-based memo functions")
6980 (description "This package provides a functional library for creating
6981efficient memo functions using tries.")
6982 (license license:bsd-3)))
6983
6984(define-public ghc-microlens
6985 (package
6986 (name "ghc-microlens")
82478c58 6987 (version "0.4.10")
dddbc90c
RV
6988 (source
6989 (origin
6990 (method url-fetch)
6991 (uri (string-append "https://hackage.haskell.org/package/"
6992 "microlens-" version "/"
6993 "microlens-" version ".tar.gz"))
6994 (sha256
6995 (base32
82478c58 6996 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6997 (build-system haskell-build-system)
6998 (home-page
6999 "https://github.com/aelve/microlens")
7000 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7001 (description "This Haskell package provides a lens library, just like
7002@code{ghc-lens}, but smaller. It provides essential lenses and
7003traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7004nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7005combinators (like @code{failing} and @code{singular}), but everything else is
7006stripped. As the result, this package has no dependencies.")
7007 (license license:bsd-3)))
7008
1cd3333e
TS
7009(define-public ghc-microlens-aeson
7010 (package
7011 (name "ghc-microlens-aeson")
7012 (version "2.3.0.4")
7013 (source
7014 (origin
7015 (method url-fetch)
7016 (uri (string-append "https://hackage.haskell.org/package/"
7017 "microlens-aeson/microlens-aeson-"
7018 version ".tar.gz"))
b4a00fec 7019 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
7020 (sha256
7021 (base32
7022 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7023 (build-system haskell-build-system)
7024 (inputs
7025 `(("ghc-aeson" ,ghc-aeson)
7026 ("ghc-attoparsec" ,ghc-attoparsec)
7027 ("ghc-hashable" ,ghc-hashable)
7028 ("ghc-microlens" ,ghc-microlens)
7029 ("ghc-scientific" ,ghc-scientific)
7030 ("ghc-unordered-containers" ,ghc-unordered-containers)
7031 ("ghc-vector" ,ghc-vector)))
7032 (native-inputs
7033 `(("ghc-tasty" ,ghc-tasty)
7034 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7035 (home-page "https://github.com/fosskers/microlens-aeson")
7036 (synopsis "Law-abiding lenses for Aeson, using microlens")
7037 (description "This library provides law-abiding lenses for Aeson, using
7038microlens.")
7039 (license license:expat)))
7040
dddbc90c
RV
7041(define-public ghc-microlens-ghc
7042 (package
7043 (name "ghc-microlens-ghc")
027beb55 7044 (version "0.4.10")
dddbc90c
RV
7045 (source
7046 (origin
7047 (method url-fetch)
7048 (uri (string-append
7049 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7050 version
7051 ".tar.gz"))
7052 (sha256
7053 (base32
027beb55 7054 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
7055 (build-system haskell-build-system)
7056 (inputs `(("ghc-microlens" ,ghc-microlens)))
7057 (home-page "https://github.com/monadfix/microlens")
7058 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7059 (description "This library provides everything that @code{microlens}
7060provides plus instances to make @code{each}, @code{at}, and @code{ix}
7061usable with arrays, @code{ByteString}, and containers. This package is
7062a part of the @uref{http://hackage.haskell.org/package/microlens,
7063microlens} family; see the readme
7064@uref{https://github.com/aelve/microlens#readme, on Github}.")
7065 (license license:bsd-3)))
7066
7067(define-public ghc-microlens-mtl
7068 (package
7069 (name "ghc-microlens-mtl")
7070 (version "0.1.11.1")
7071 (source
7072 (origin
7073 (method url-fetch)
7074 (uri (string-append
7075 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7076 version
7077 ".tar.gz"))
7078 (sha256
7079 (base32
7080 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7081 (build-system haskell-build-system)
7082 (inputs
7083 `(("ghc-microlens" ,ghc-microlens)
7084 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7085 (home-page "https://github.com/monadfix/microlens")
7086 (synopsis
7087 "@code{microlens} support for Reader/Writer/State from mtl")
7088 (description
7089 "This package contains functions (like @code{view} or @code{+=}) which
7090work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7091mtl package. This package is a part of the
7092@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7093readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7094 (license license:bsd-3)))
7095
7096(define-public ghc-microlens-platform
7097 (package
7098 (name "ghc-microlens-platform")
85decc1f 7099 (version "0.3.11")
dddbc90c
RV
7100 (source
7101 (origin
7102 (method url-fetch)
7103 (uri (string-append
7104 "https://hackage.haskell.org/package/"
7105 "microlens-platform/microlens-platform-" version ".tar.gz"))
7106 (sha256
7107 (base32
85decc1f 7108 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
7109 (build-system haskell-build-system)
7110 (inputs
7111 `(("ghc-hashable" ,ghc-hashable)
7112 ("ghc-microlens" ,ghc-microlens)
7113 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7114 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7115 ("ghc-microlens-th" ,ghc-microlens-th)
7116 ("ghc-unordered-containers" ,ghc-unordered-containers)
7117 ("ghc-vector" ,ghc-vector)))
7118 (home-page "https://github.com/monadfix/microlens")
7119 (synopsis "Feature-complete microlens")
7120 (description
7121 "This package exports a module which is the recommended starting point
7122for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7123you aren't trying to keep your dependencies minimal. By importing
7124@code{Lens.Micro.Platform} you get all functions and instances from
7125@uref{http://hackage.haskell.org/package/microlens, microlens},
7126@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7127@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7128@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7129well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7130minor and major versions of @code{microlens-platform} are incremented whenever
7131the minor and major versions of any other @code{microlens} package are
7132incremented, so you can depend on the exact version of
7133@code{microlens-platform} without specifying the version of @code{microlens}
7134you need. This package is a part of the
7135@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7136readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7137 (license license:bsd-3)))
7138
7139(define-public ghc-microlens-th
7140 (package
7141 (name "ghc-microlens-th")
7ae52867 7142 (version "0.4.2.3")
dddbc90c
RV
7143 (source
7144 (origin
7145 (method url-fetch)
7146 (uri (string-append "https://hackage.haskell.org/package/"
7147 "microlens-th-" version "/"
7148 "microlens-th-" version ".tar.gz"))
7149 (sha256
7150 (base32
7ae52867 7151 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 7152 (build-system haskell-build-system)
7ae52867
TS
7153 (arguments
7154 `(#:cabal-revision
7155 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
7156 (inputs `(("ghc-microlens" ,ghc-microlens)
7157 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7158 (home-page
7159 "https://github.com/aelve/microlens")
7160 (synopsis "Automatic generation of record lenses for
7161@code{ghc-microlens}")
7162 (description "This Haskell package lets you automatically generate lenses
7163for data types; code was extracted from the lens package, and therefore
7164generated lenses are fully compatible with ones generated by lens (and can be
7165used both from lens and microlens).")
7166 (license license:bsd-3)))
7167
7168(define-public ghc-missingh
7169 (package
7170 (name "ghc-missingh")
641207cb 7171 (version "1.4.1.0")
dddbc90c
RV
7172 (source
7173 (origin
7174 (method url-fetch)
7175 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7176 "MissingH-" version ".tar.gz"))
7177 (sha256
7178 (base32
641207cb 7179 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
7180 (build-system haskell-build-system)
7181 ;; Tests require the unmaintained testpack package, which depends on the
7182 ;; outdated QuickCheck version 2.7, which can no longer be built with
7183 ;; recent versions of GHC and Haskell libraries.
7184 (arguments '(#:tests? #f))
7185 (inputs
7186 `(("ghc-network" ,ghc-network)
7187 ("ghc-hunit" ,ghc-hunit)
7188 ("ghc-regex-compat" ,ghc-regex-compat)
7189 ("ghc-hslogger" ,ghc-hslogger)
7190 ("ghc-random" ,ghc-random)
7191 ("ghc-old-time" ,ghc-old-time)
7192 ("ghc-old-locale" ,ghc-old-locale)))
7193 (native-inputs
7194 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7195 ("ghc-quickcheck" ,ghc-quickcheck)
7196 ("ghc-hunit" ,ghc-hunit)))
7cde5203 7197 (home-page "https://software.complete.org/missingh")
dddbc90c
RV
7198 (synopsis "Large utility library")
7199 (description
7200 "MissingH is a library of all sorts of utility functions for Haskell
7201programmers. It is written in pure Haskell and thus should be extremely
7202portable and easy to use.")
7203 (license license:bsd-3)))
7204
7205(define-public ghc-mmap
7206 (package
7207 (name "ghc-mmap")
7208 (version "0.5.9")
7209 (source (origin
7210 (method url-fetch)
7211 (uri (string-append "https://hackage.haskell.org/package/"
7212 "mmap/mmap-" version ".tar.gz"))
7213 (sha256
7214 (base32
7215 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7216 (build-system haskell-build-system)
7217 (home-page "https://hackage.haskell.org/package/mmap")
7218 (synopsis "Memory mapped files for Haskell")
7219 (description
7220 "This library provides a wrapper to @code{mmap}, allowing files or
7221devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7222@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7223do on-demand loading.")
7224 (license license:bsd-3)))
7225
7226(define-public ghc-mmorph
7227 (package
7228 (name "ghc-mmorph")
e0389704 7229 (version "1.1.3")
dddbc90c
RV
7230 (source
7231 (origin
7232 (method url-fetch)
7233 (uri (string-append
7234 "https://hackage.haskell.org/package/mmorph/mmorph-"
7235 version
7236 ".tar.gz"))
7237 (sha256
7238 (base32
e0389704 7239 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7240 (build-system haskell-build-system)
7241 (inputs
7242 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7243 (home-page "https://hackage.haskell.org/package/mmorph")
7244 (synopsis "Monad morphisms")
7245 (description
7246 "This library provides monad morphism utilities, most commonly used for
7247manipulating monad transformer stacks.")
7248 (license license:bsd-3)))
7249
7250(define-public ghc-mockery
7251 (package
7252 (name "ghc-mockery")
7253 (version "0.3.5")
7254 (source (origin
7255 (method url-fetch)
7256 (uri (string-append "https://hackage.haskell.org/package/"
7257 "mockery/mockery-" version ".tar.gz"))
7258 (sha256
7259 (base32
7260 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7261 (build-system haskell-build-system)
7262 (inputs
7263 `(("ghc-temporary" ,ghc-temporary)
7264 ("ghc-logging-facade" ,ghc-logging-facade)
7265 ("ghc-base-compat" ,ghc-base-compat)))
7266 (native-inputs
7267 `(("ghc-hspec" ,ghc-hspec)
7268 ("hspec-discover" ,hspec-discover)))
7269 (home-page "https://hackage.haskell.org/package/mockery")
7270 (synopsis "Support functions for automated testing")
7271 (description
7272 "The mockery package provides support functions for automated testing.")
7273 (license license:expat)))
7274
7275(define-public ghc-monad-control
7276 (package
7277 (name "ghc-monad-control")
7278 (version "1.0.2.3")
7279 (source
7280 (origin
7281 (method url-fetch)
7282 (uri (string-append
7283 "https://hackage.haskell.org/package/monad-control"
7284 "/monad-control-" version ".tar.gz"))
7285 (sha256
7286 (base32
7287 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7288 (build-system haskell-build-system)
7289 (inputs
7290 `(("ghc-transformers-base" ,ghc-transformers-base)
7291 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7292 (home-page "https://github.com/basvandijk/monad-control")
7293 (synopsis "Monad transformers to lift control operations like exception
7294catching")
7295 (description "This package defines the type class @code{MonadBaseControl},
7296a subset of @code{MonadBase} into which generic control operations such as
7297@code{catch} can be lifted from @code{IO} or any other base monad.")
7298 (license license:bsd-3)))
7299
7300(define-public ghc-monad-logger
7301 (package
7302 (name "ghc-monad-logger")
26980aae 7303 (version "0.3.30")
dddbc90c
RV
7304 (source
7305 (origin
7306 (method url-fetch)
7307 (uri (string-append "https://hackage.haskell.org/package/"
7308 "monad-logger-" version "/"
7309 "monad-logger-" version ".tar.gz"))
7310 (sha256
7311 (base32
26980aae 7312 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7313 (build-system haskell-build-system)
7314 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7315 ("ghc-stm-chans" ,ghc-stm-chans)
7316 ("ghc-lifted-base" ,ghc-lifted-base)
7317 ("ghc-resourcet" ,ghc-resourcet)
7318 ("ghc-conduit" ,ghc-conduit)
7319 ("ghc-conduit-extra" ,ghc-conduit-extra)
7320 ("ghc-fast-logger" ,ghc-fast-logger)
7321 ("ghc-transformers-base" ,ghc-transformers-base)
7322 ("ghc-monad-control" ,ghc-monad-control)
7323 ("ghc-monad-loops" ,ghc-monad-loops)
7324 ("ghc-blaze-builder" ,ghc-blaze-builder)
7325 ("ghc-exceptions" ,ghc-exceptions)))
7326 (home-page "https://github.com/kazu-yamamoto/logger")
7327 (synopsis "Provides a class of monads which can log messages for Haskell")
7328 (description "This Haskell package uses a monad transformer approach
7329for logging.
7330
7331This package provides Template Haskell functions for determining source
7332code locations of messages.")
7333 (license license:expat)))
7334
7335(define-public ghc-monad-loops
7336 (package
7337 (name "ghc-monad-loops")
7338 (version "0.4.3")
7339 (source
7340 (origin
7341 (method url-fetch)
7342 (uri (string-append "https://hackage.haskell.org/package/"
7343 "monad-loops-" version "/"
7344 "monad-loops-" version ".tar.gz"))
7345 (sha256
7346 (base32
7347 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7348 (build-system haskell-build-system)
7349 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7350 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7351 (home-page "https://github.com/mokus0/monad-loops")
7352 (synopsis "Monadic loops for Haskell")
7353 (description "This Haskell package provides some useful control
7354operators for looping.")
7355 (license license:public-domain)))
7356
7357(define-public ghc-monad-par
7358 (package
7359 (name "ghc-monad-par")
7360 (version "0.3.4.8")
7361 (source
7362 (origin
7363 (method url-fetch)
7364 (uri (string-append "https://hackage.haskell.org/package/"
7365 "monad-par-" version "/"
7366 "monad-par-" version ".tar.gz"))
faac56f3 7367 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7368 (sha256
7369 (base32
7370 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7371 (build-system haskell-build-system)
7372 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7373 ("ghc-abstract-deque" ,ghc-abstract-deque)
7374 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7375 ("ghc-mwc-random" ,ghc-mwc-random)
7376 ("ghc-parallel" ,ghc-parallel)))
7377 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7378 ("ghc-hunit" ,ghc-hunit)
7379 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7380 ("ghc-test-framework-quickcheck2"
7381 ,ghc-test-framework-quickcheck2)
7382 ("ghc-test-framework" ,ghc-test-framework)
7383 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7384 (home-page "https://github.com/simonmar/monad-par")
7385 (synopsis "Haskell library for parallel programming based on a monad")
7386 (description "The @code{Par} monad offers an API for parallel
7387programming. The library works for parallelising both pure and @code{IO}
7388computations, although only the pure version is deterministic. The default
7389implementation provides a work-stealing scheduler and supports forking tasks
7390that are much lighter weight than IO-threads.")
7391 (license license:bsd-3)))
7392
7393(define-public ghc-monad-par-extras
7394 (package
7395 (name "ghc-monad-par-extras")
7396 (version "0.3.3")
7397 (source
7398 (origin
7399 (method url-fetch)
7400 (uri (string-append "https://hackage.haskell.org/package/"
7401 "monad-par-extras-" version "/"
7402 "monad-par-extras-" version ".tar.gz"))
7403 (sha256
7404 (base32
7405 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7406 (build-system haskell-build-system)
7407 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7408 ("ghc-cereal" ,ghc-cereal)
7409 ("ghc-random" ,ghc-random)))
7410 (home-page "https://github.com/simonmar/monad-par")
7411 (synopsis "Combinators and extra features for Par monads for Haskell")
7412 (description "This Haskell package provides additional data structures,
7413and other added capabilities layered on top of the @code{Par} monad.")
7414 (license license:bsd-3)))
7415
dddbc90c
RV
7416(define-public ghc-monadrandom
7417 (package
7418 (name "ghc-monadrandom")
7419 (version "0.5.1.1")
7420 (source
7421 (origin
7422 (method url-fetch)
7423 (uri (string-append "https://hackage.haskell.org/package/"
7424 "MonadRandom-" version "/"
7425 "MonadRandom-" version ".tar.gz"))
7426 (sha256
7427 (base32
7428 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7429 (build-system haskell-build-system)
7430 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7431 ("ghc-primitive" ,ghc-primitive)
7432 ("ghc-fail" ,ghc-fail)
7433 ("ghc-random" ,ghc-random)))
7434 (home-page "https://github.com/byorgey/MonadRandom")
7435 (synopsis "Random-number generation monad for Haskell")
7436 (description "This Haskell package provides support for computations
7437which consume random values.")
7438 (license license:bsd-3)))
7439
7440(define-public ghc-monads-tf
7441 (package
7442 (name "ghc-monads-tf")
7443 (version "0.1.0.3")
7444 (source
7445 (origin
7446 (method url-fetch)
7447 (uri (string-append
7448 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7449 version ".tar.gz"))
7450 (sha256
7451 (base32
7452 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7453 (build-system haskell-build-system)
7454 (home-page "https://hackage.haskell.org/package/monads-tf")
7455 (synopsis "Monad classes, using type families")
7456 (description
7457 "Monad classes using type families, with instances for various monad transformers,
7458inspired by the paper 'Functional Programming with Overloading and Higher-Order
7459Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7460the @code{mtl-tf} package.")
7461 (license license:bsd-3)))
7462
7463(define-public ghc-mono-traversable
7464 (package
7465 (name "ghc-mono-traversable")
23bb445b 7466 (version "1.0.13.0")
dddbc90c
RV
7467 (source
7468 (origin
7469 (method url-fetch)
7470 (uri (string-append "https://hackage.haskell.org/package/"
7471 "mono-traversable-" version "/"
7472 "mono-traversable-" version ".tar.gz"))
7473 (sha256
7474 (base32
23bb445b 7475 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7476 (build-system haskell-build-system)
7477 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7478 ("ghc-hashable" ,ghc-hashable)
7479 ("ghc-vector" ,ghc-vector)
7480 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7481 ("ghc-split" ,ghc-split)))
7482 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7483 ("ghc-hunit" ,ghc-hunit)
7484 ("ghc-quickcheck" ,ghc-quickcheck)
7485 ("ghc-semigroups" ,ghc-semigroups)
7486 ("ghc-foldl" ,ghc-foldl)))
7487 (home-page "https://github.com/snoyberg/mono-traversable")
7488 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7489containers")
7490 (description "This Haskell package provides Monomorphic variants of the
7491Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7492basic typeclasses, you understand mono-traversable. In addition to what
7493you are used to, it adds on an IsSequence typeclass and has code for marking
7494data structures as non-empty.")
7495 (license license:expat)))
7496
471e77cf
TS
7497(define-public ghc-monoid-extras
7498 (package
7499 (name "ghc-monoid-extras")
7500 (version "0.5.1")
7501 (source
7502 (origin
7503 (method url-fetch)
7504 (uri (string-append "https://hackage.haskell.org/package/"
7505 "monoid-extras/monoid-extras-" version ".tar.gz"))
7506 (sha256
7507 (base32
7508 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7509 (build-system haskell-build-system)
7510 (inputs
7511 `(("ghc-groups" ,ghc-groups)
7512 ("ghc-semigroups" ,ghc-semigroups)
7513 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7514 (arguments
7515 `(#:cabal-revision
7516 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7517 (home-page "https://hackage.haskell.org/package/monoid-extras")
7518 (synopsis "Various extra monoid-related definitions and utilities")
7519 (description "This package provides various extra monoid-related
7520definitions and utilities, such as monoid actions, monoid coproducts,
7521semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7522\"cut\" monoids.")
7523 (license license:bsd-3)))
7524
dddbc90c
RV
7525(define-public ghc-murmur-hash
7526 (package
7527 (name "ghc-murmur-hash")
7528 (version "0.1.0.9")
7529 (source
7530 (origin
7531 (method url-fetch)
7532 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7533 "/murmur-hash-" version ".tar.gz"))
7534 (sha256
7535 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7536 (build-system haskell-build-system)
7537 (home-page "https://github.com/nominolo/murmur-hash")
7538 (synopsis "MurmurHash2 implementation for Haskell")
7539 (description
7540 "This package provides an implementation of MurmurHash2, a good, fast,
7541general-purpose, non-cryptographic hashing function. See
7542@url{https://sites.google.com/site/murmurhash/} for details. This
7543implementation is pure Haskell, so it might be a bit slower than a C FFI
7544binding.")
7545 (license license:bsd-3)))
7546
7547(define-public ghc-mwc-random
7548 (package
7549 (name "ghc-mwc-random")
33268e2c 7550 (version "0.14.0.0")
dddbc90c
RV
7551 (source
7552 (origin
7553 (method url-fetch)
7554 (uri (string-append "https://hackage.haskell.org/package/"
7555 "mwc-random-" version "/"
7556 "mwc-random-" version ".tar.gz"))
7557 (sha256
7558 (base32
33268e2c 7559 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
7560 (build-system haskell-build-system)
7561 (inputs
7562 `(("ghc-primitive" ,ghc-primitive)
7563 ("ghc-vector" ,ghc-vector)
7564 ("ghc-math-functions" ,ghc-math-functions)))
7565 (arguments
7566 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7567 (native-inputs
7568 `(("ghc-hunit" ,ghc-hunit)
7569 ("ghc-quickcheck" ,ghc-quickcheck)
7570 ("ghc-test-framework" ,ghc-test-framework)
7571 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7572 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7573 (home-page "https://github.com/bos/mwc-random")
7574 (synopsis "Random number generation library for Haskell")
7575 (description "This Haskell package contains code for generating
7576high quality random numbers that follow either a uniform or normal
7577distribution. The generated numbers are suitable for use in
7578statistical applications.
7579
7580The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7581multiply-with-carry generator, which has a period of 2^{8222} and
7582fares well in tests of randomness. It is also extremely fast,
7583between 2 and 3 times faster than the Mersenne Twister.")
7584 (license license:bsd-3)))
7585
7586(define-public ghc-nats
7587 (package
7588 (name "ghc-nats")
7589 (version "1.1.2")
7590 (source
7591 (origin
7592 (method url-fetch)
7593 (uri (string-append
7594 "https://hackage.haskell.org/package/nats/nats-"
7595 version
7596 ".tar.gz"))
7597 (sha256
7598 (base32
7599 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7600 (build-system haskell-build-system)
7601 (arguments `(#:haddock? #f))
7602 (inputs
7603 `(("ghc-hashable" ,ghc-hashable)))
7604 (home-page "https://hackage.haskell.org/package/nats")
7605 (synopsis "Natural numbers")
7606 (description "This library provides the natural numbers for Haskell.")
7607 (license license:bsd-3)))
7608
7609(define-public ghc-nats-bootstrap
7610 (package
7611 (inherit ghc-nats)
7612 (name "ghc-nats-bootstrap")
7613 (inputs
7614 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7615 (properties '((hidden? #t)))))
7616
52915062
EF
7617(define-public ghc-ncurses
7618 (package
7619 (name "ghc-ncurses")
7620 (version "0.2.16")
7621 (source
7622 (origin
7623 (method url-fetch)
7624 (uri (string-append
7625 "https://hackage.haskell.org/package/ncurses/ncurses-"
7626 version ".tar.gz"))
7627 (sha256
7628 (base32
7629 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7630 (build-system haskell-build-system)
7631 (arguments
7632 '(#:phases
7633 (modify-phases %standard-phases
7634 (add-before 'build 'fix-includes
7635 (lambda _
7636 (substitute* '("cbits/hsncurses-shim.h"
7637 "lib/UI/NCurses.chs"
7638 "lib/UI/NCurses/Enums.chs"
7639 "lib/UI/NCurses/Panel.chs")
7640 (("<ncursesw/") "<"))
7641 #t)))
7642 #:cabal-revision
7643 ("1"
7644 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7645 (inputs `(("ncurses" ,ncurses)))
7646 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
7647 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7648 (synopsis "Modernised bindings to GNU ncurses")
7649 (description "GNU ncurses is a library for creating command-line application
7650with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7651ncurses.")
7652 (license license:gpl3)))
7653
dddbc90c
RV
7654(define-public ghc-network
7655 (package
7656 (name "ghc-network")
d4473202 7657 (version "2.8.0.1")
dddbc90c
RV
7658 (outputs '("out" "doc"))
7659 (source
7660 (origin
7661 (method url-fetch)
7662 (uri (string-append
7663 "https://hackage.haskell.org/package/network/network-"
7664 version
7665 ".tar.gz"))
7666 (sha256
7667 (base32
d4473202 7668 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
7669 (build-system haskell-build-system)
7670 ;; The regression tests depend on an unpublished module.
7671 (arguments `(#:tests? #f))
7672 (native-inputs
7673 `(("ghc-hunit" ,ghc-hunit)
7674 ("ghc-doctest" ,ghc-doctest)
7675 ("ghc-test-framework" ,ghc-test-framework)
7676 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
7677 (home-page "https://github.com/haskell/network")
7678 (synopsis "Low-level networking interface")
7679 (description
7680 "This package provides a low-level networking interface.")
7681 (license license:bsd-3)))
4780db2c 7682
30eebbe6
TS
7683(define-public ghc-network-bsd
7684 (package
7685 (name "ghc-network-bsd")
7686 (version "2.8.0.0")
7687 (source
7688 (origin
7689 (method url-fetch)
7690 (uri (string-append "https://hackage.haskell.org/package/"
7691 "network-bsd/network-bsd-" version ".tar.gz"))
7692 (sha256
7693 (base32
7694 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
7695 (build-system haskell-build-system)
7696 (inputs
7697 `(("ghc-network" ,ghc-network)))
7698 (home-page "https://github.com/haskell/network-bsd")
7699 (synopsis "POSIX network database (<netdb.h>) API")
7700 (description "This package provides Haskell bindings to the the POSIX
7701network database (<netdb.h>) API.")
7702 (license license:bsd-3)))
7703
096781a1
TS
7704(define-public ghc-network-byte-order
7705 (package
7706 (name "ghc-network-byte-order")
7707 (version "0.1.1.1")
7708 (source
7709 (origin
7710 (method url-fetch)
7711 (uri (string-append "https://hackage.haskell.org/package/"
7712 "network-byte-order/network-byte-order-"
7713 version ".tar.gz"))
7714 (sha256
7715 (base32
7716 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7717 (build-system haskell-build-system)
7718 (native-inputs
7719 `(("ghc-doctest" ,ghc-doctest)))
7720 (home-page "http://hackage.haskell.org/package/network-byte-order")
7721 (synopsis "Network byte order utilities")
7722 (description "This library provides peek and poke functions for network
7723byte order.")
7724 (license license:bsd-3)))
7725
dddbc90c
RV
7726(define-public ghc-network-info
7727 (package
7728 (name "ghc-network-info")
7729 (version "0.2.0.10")
7730 (source
7731 (origin
7732 (method url-fetch)
7733 (uri (string-append "https://hackage.haskell.org/package/"
7734 "network-info-" version "/"
7735 "network-info-" version ".tar.gz"))
7736 (sha256
7737 (base32
7738 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7739 (build-system haskell-build-system)
7740 (home-page "https://github.com/jystic/network-info")
7741 (synopsis "Access the local computer's basic network configuration")
7742 (description "This Haskell library provides simple read-only access to the
7743local computer's networking configuration. It is currently capable of
7744getting a list of all the network interfaces and their respective
7745IPv4, IPv6 and MAC addresses.")
7746 (license license:bsd-3)))
7747
7748(define-public ghc-network-uri
7749 (package
7750 (name "ghc-network-uri")
7751 (version "2.6.1.0")
7752 (outputs '("out" "doc"))
7753 (source
7754 (origin
7755 (method url-fetch)
7756 (uri (string-append
7757 "https://hackage.haskell.org/package/network-uri/network-uri-"
7758 version
7759 ".tar.gz"))
7760 (sha256
7761 (base32
7762 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7763 (build-system haskell-build-system)
7764 (arguments
7765 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7766 (inputs
7767 `(("ghc-network" ,ghc-network)))
7768 (native-inputs
7769 `(("ghc-hunit" ,ghc-hunit)))
7770 (home-page
7771 "https://github.com/haskell/network-uri")
7772 (synopsis "Library for URI manipulation")
7773 (description "This package provides an URI manipulation interface. In
7774@code{network-2.6} the @code{Network.URI} module was split off from the
7775@code{network} package into this package.")
7776 (license license:bsd-3)))
7777
7778(define-public ghc-newtype-generics
7779 (package
7780 (name "ghc-newtype-generics")
c07e16dd 7781 (version "0.5.4")
dddbc90c
RV
7782 (source
7783 (origin
7784 (method url-fetch)
7785 (uri (string-append "https://hackage.haskell.org/package/"
7786 "newtype-generics/newtype-generics-"
7787 version ".tar.gz"))
7788 (sha256
7789 (base32
c07e16dd 7790 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
7791 (build-system haskell-build-system)
7792 (native-inputs
7793 `(("ghc-hspec" ,ghc-hspec)
7794 ("hspec-discover" ,hspec-discover)))
7795 (home-page "http://github.com/sjakobi/newtype-generics")
7796 (synopsis "Typeclass and set of functions for working with newtypes")
7797 (description "The @code{Newtype} typeclass represents the packing and
7798unpacking of a newtype, and allows you to operate under that newtype with
7799functions such as @code{ala}. Generics support was added in version 0.4,
7800making this package a full replacement for the original newtype package,
7801and an alternative to newtype-th.")
7802 (license license:bsd-3)))
7803
6b652f5a
JS
7804(define-public ghc-non-negative
7805 (package
7806 (name "ghc-non-negative")
7807 (version "0.1.2")
7808 (source
7809 (origin
7810 (method url-fetch)
7811 (uri
7812 (string-append
7813 "https://hackage.haskell.org/package/non-negative/non-negative-"
7814 version ".tar.gz"))
7815 (sha256
7816 (base32
7817 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7818 (build-system haskell-build-system)
7819 (inputs
7820 `(("ghc-semigroups" ,ghc-semigroups)
7821 ("ghc-utility-ht" ,ghc-utility-ht)
7822 ("ghc-quickcheck" ,ghc-quickcheck)))
7823 (home-page "https://hackage.haskell.org/package/non-negative")
7824 (synopsis "Non-negative numbers class")
7825 (description "This library provides a class for non-negative numbers,
7826a wrapper which can turn any ordered numeric type into a member of that
7827class, and a lazy number type for non-negative numbers (a generalization
7828of Peano numbers).")
7829 (license license:gpl3+)))
7830
194a82e6
TS
7831(define-public ghc-numeric-extras
7832 (package
7833 (name "ghc-numeric-extras")
7834 (version "0.1")
7835 (source
7836 (origin
7837 (method url-fetch)
7838 (uri (string-append "https://hackage.haskell.org/package/"
7839 "numeric-extras/numeric-extras-"
7840 version ".tar.gz"))
7841 (sha256
7842 (base32
7843 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
7844 (build-system haskell-build-system)
7845 (home-page "https://github.com/ekmett/numeric-extras")
7846 (synopsis "Useful tools from the C standard library")
7847 (description "This library provides some useful tools from the C
7848standard library.")
7849 (license license:bsd-3)))
7850
dddbc90c
RV
7851(define-public ghc-objectname
7852 (package
7853 (name "ghc-objectname")
7854 (version "1.1.0.1")
7855 (source
7856 (origin
7857 (method url-fetch)
7858 (uri (string-append
7859 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7860 version
7861 ".tar.gz"))
7862 (sha256
7863 (base32
7864 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7865 (build-system haskell-build-system)
7866 (home-page "https://hackage.haskell.org/package/ObjectName")
7867 (synopsis "Helper library for Haskell OpenGL")
7868 (description "This tiny package contains the class ObjectName, which
7869corresponds to the general notion of explicitly handled identifiers for API
7870objects, e.g. a texture object name in OpenGL or a buffer object name in
7871OpenAL.")
7872 (license license:bsd-3)))
7873
7874(define-public ghc-old-locale
7875 (package
7876 (name "ghc-old-locale")
7877 (version "1.0.0.7")
7878 (source
7879 (origin
7880 (method url-fetch)
7881 (uri (string-append
7882 "https://hackage.haskell.org/package/old-locale/old-locale-"
7883 version
7884 ".tar.gz"))
7885 (sha256
7886 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7887 (build-system haskell-build-system)
7888 (arguments
7889 `(#:cabal-revision
7890 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7891 (home-page "https://hackage.haskell.org/package/old-locale")
7892 (synopsis "Adapt to locale conventions")
7893 (description
7894 "This package provides the ability to adapt to locale conventions such as
7895date and time formats.")
7896 (license license:bsd-3)))
7897
7898(define-public ghc-old-time
7899 (package
7900 (name "ghc-old-time")
7901 (version "1.1.0.3")
7902 (source
7903 (origin
7904 (method url-fetch)
7905 (uri (string-append
7906 "https://hackage.haskell.org/package/old-time/old-time-"
7907 version
7908 ".tar.gz"))
7909 (sha256
7910 (base32
7911 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7912 (build-system haskell-build-system)
7913 (arguments
7914 `(#:cabal-revision
7915 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7916 (inputs
7917 `(("ghc-old-locale" ,ghc-old-locale)))
7918 (home-page "https://hackage.haskell.org/package/old-time")
7919 (synopsis "Time compatibility library for Haskell")
7920 (description "Old-time is a package for backwards compatibility with the
7921old @code{time} library. For new projects, the newer
7922@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7923 (license license:bsd-3)))
7924
7925(define-public ghc-opengl
7926 (package
7927 (name "ghc-opengl")
79a06910 7928 (version "3.0.3.0")
dddbc90c
RV
7929 (source
7930 (origin
7931 (method url-fetch)
7932 (uri (string-append
7933 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7934 version
7935 ".tar.gz"))
7936 (sha256
7937 (base32
79a06910 7938 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 7939 (build-system haskell-build-system)
79a06910
TS
7940 (arguments
7941 `(#:cabal-revision
7942 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
7943 (inputs
7944 `(("ghc-objectname" ,ghc-objectname)
7945 ("ghc-gluraw" ,ghc-gluraw)
7946 ("ghc-statevar" ,ghc-statevar)
7947 ("ghc-openglraw" ,ghc-openglraw)))
7948 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7949 (synopsis "Haskell bindings for the OpenGL graphics system")
7950 (description "This package provides Haskell bindings for the OpenGL
7951graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7952version 1.3).")
7953 (license license:bsd-3)))
7954
7955(define-public ghc-openglraw
7956 (package
7957 (name "ghc-openglraw")
15ebc815 7958 (version "3.3.3.0")
dddbc90c
RV
7959 (source
7960 (origin
7961 (method url-fetch)
7962 (uri (string-append
7963 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7964 version
7965 ".tar.gz"))
7966 (sha256
7967 (base32
15ebc815 7968 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7969 (build-system haskell-build-system)
7970 (inputs
7971 `(("ghc-half" ,ghc-half)
7972 ("ghc-fixed" ,ghc-fixed)
7973 ("glu" ,glu)))
7974 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7975 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7976 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7977graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7978of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7979offers access to all necessary functions, tokens and types plus a general
7980facility for loading extension entries. The module hierarchy closely mirrors
7981the naming structure of the OpenGL extensions, making it easy to find the
7982right module to import. All API entries are loaded dynamically, so no special
7983C header files are needed for building this package. If an API entry is not
7984found at runtime, a userError is thrown.")
7985 (license license:bsd-3)))
7986
7987(define-public ghc-operational
7988 (package
7989 (name "ghc-operational")
7990 (version "0.2.3.5")
7991 (source
7992 (origin
7993 (method url-fetch)
7994 (uri (string-append "https://hackage.haskell.org/package/operational/"
7995 "operational-" version ".tar.gz"))
7996 (sha256
7997 (base32
7998 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7999 (build-system haskell-build-system)
8000 (inputs
8001 `(("ghc-random" ,ghc-random)))
8002 (home-page "http://wiki.haskell.org/Operational")
8003 (synopsis "Implementation of difficult monads made easy with operational semantics")
8004 (description
8005 "This library makes it easy to implement monads with tricky control
8006flow. This is useful for: writing web applications in a sequential style,
8007programming games with a uniform interface for human and AI players and easy
8008replay capababilities, implementing fast parser monads, designing monadic
8009DSLs, etc.")
8010 (license license:bsd-3)))
8011
8012(define-public ghc-options
8013 (package
8014 (name "ghc-options")
8015 (version "1.2.1.1")
8016 (source
8017 (origin
8018 (method url-fetch)
8019 (uri (string-append
8020 "https://hackage.haskell.org/package/options/options-"
8021 version ".tar.gz"))
8022 (sha256
8023 (base32
8024 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8025 (build-system haskell-build-system)
24cf2a8b
TS
8026 (arguments
8027 `(#:phases
8028 (modify-phases %standard-phases
8029 (add-before 'configure 'update-constraints
8030 (lambda _
8031 (substitute* "options.cabal"
8032 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8033 #t)))))
dddbc90c
RV
8034 (inputs
8035 `(("ghc-monads-tf" ,ghc-monads-tf)
8036 ("ghc-chell" ,ghc-chell)
8037 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8038 (home-page "https://john-millikin.com/software/haskell-options/")
8039 (synopsis "Powerful and easy-to-use command-line option parser")
8040 (description
8041 "The @code{options} package lets library and application developers
8042easily work with command-line options.")
8043 (license license:expat)))
8044
8045;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8046(define ghc-options-bootstrap
8047 (package
8048 (name "ghc-options-bootstrap")
8049 (version "1.2.1.1")
8050 (source
8051 (origin
8052 (method url-fetch)
8053 (uri (string-append
8054 "https://hackage.haskell.org/package/options/options-"
8055 version ".tar.gz"))
8056 (sha256
8057 (base32
8058 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8059 (build-system haskell-build-system)
8060 (arguments
8061 `(#:tests? #f))
8062 (inputs
8063 `(("ghc-monads-tf" ,ghc-monads-tf)))
8064 (home-page "https://john-millikin.com/software/haskell-options/")
8065 (synopsis "Powerful and easy-to-use command-line option parser")
8066 (description
8067 "The @code{options} package lets library and application developers
8068easily work with command-line options.")
8069 (license license:expat)))
8070
8071
8072(define-public ghc-optparse-applicative
8073 (package
8074 (name "ghc-optparse-applicative")
74bf6965 8075 (version "0.14.3.0")
dddbc90c
RV
8076 (source
8077 (origin
8078 (method url-fetch)
8079 (uri (string-append
8080 "https://hackage.haskell.org/package/optparse-applicative"
8081 "/optparse-applicative-" version ".tar.gz"))
8082 (sha256
8083 (base32
74bf6965 8084 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8085 (build-system haskell-build-system)
74bf6965
TS
8086 (arguments
8087 `(#:cabal-revision
8088 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8089 (inputs
8090 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8091 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8092 (native-inputs
8093 `(("ghc-quickcheck" ,ghc-quickcheck)))
8094 (home-page "https://github.com/pcapriotti/optparse-applicative")
8095 (synopsis "Utilities and combinators for parsing command line options")
8096 (description "This package provides utilities and combinators for parsing
8097command line options in Haskell.")
8098 (license license:bsd-3)))
8099
8100(define-public ghc-pandoc
8101 (package
8102 (name "ghc-pandoc")
d9b1567a 8103 (version "2.7.3")
dddbc90c
RV
8104 (source
8105 (origin
8106 (method url-fetch)
8107 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8108 version ".tar.gz"))
d9b1567a
TS
8109 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8110 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8111 (sha256
8112 (base32
d9b1567a 8113 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8114 (build-system haskell-build-system)
dddbc90c
RV
8115 (inputs
8116 `(("ghc-aeson" ,ghc-aeson)
8117 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8118 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8119 ("ghc-blaze-html" ,ghc-blaze-html)
8120 ("ghc-blaze-markup" ,ghc-blaze-markup)
8121 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8122 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8123 ("ghc-diff" ,ghc-diff)
8124 ("ghc-doctemplates" ,ghc-doctemplates)
8125 ("ghc-executable-path" ,ghc-executable-path)
8126 ("ghc-glob" ,ghc-glob)
8127 ("ghc-haddock-library" ,ghc-haddock-library)
8128 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8129 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8130 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8131 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8132 ("ghc-http" ,ghc-http)
8133 ("ghc-http-client" ,ghc-http-client)
8134 ("ghc-http-client-tls" ,ghc-http-client-tls)
8135 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8136 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8137 ("ghc-juicypixels" ,ghc-juicypixels)
8138 ("ghc-network" ,ghc-network)
8139 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8140 ("ghc-pandoc-types" ,ghc-pandoc-types)
8141 ("ghc-random" ,ghc-random)
8142 ("ghc-scientific" ,ghc-scientific)
8143 ("ghc-sha" ,ghc-sha)
8144 ("ghc-skylighting" ,ghc-skylighting)
8145 ("ghc-split" ,ghc-split)
8146 ("ghc-syb" ,ghc-syb)
8147 ("ghc-tagsoup" ,ghc-tagsoup)
8148 ("ghc-temporary" ,ghc-temporary)
8149 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8150 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8151 ("ghc-unordered-containers" ,ghc-unordered-containers)
8152 ("ghc-vector" ,ghc-vector)
8153 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8154 ("ghc-zip-archive" ,ghc-zip-archive)
8155 ("ghc-zlib" ,ghc-zlib)))
8156 (native-inputs
8157 `(("ghc-tasty" ,ghc-tasty)
8158 ("ghc-tasty-golden" ,ghc-tasty-golden)
8159 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8160 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8161 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8162 ("ghc-quickcheck" ,ghc-quickcheck)
8163 ("ghc-hunit" ,ghc-hunit)))
8164 (home-page "https://pandoc.org")
8165 (synopsis "Conversion between markup formats")
8166 (description
8167 "Pandoc is a Haskell library for converting from one markup format to
8168another, and a command-line tool that uses this library. It can read and
8169write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8170LaTeX, DocBook, and many more.
8171
8172Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8173definition lists, tables, and other features. A compatibility mode is
8174provided for those who need a drop-in replacement for Markdown.pl.")
8175 (license license:gpl2+)))
8176
8177(define-public ghc-pandoc-citeproc
8178 (package
8179 (name "ghc-pandoc-citeproc")
2da02d09 8180 (version "0.16.2")
dddbc90c
RV
8181 (source
8182 (origin
8183 (method url-fetch)
8184 (uri (string-append "https://hackage.haskell.org/package/"
8185 "pandoc-citeproc/pandoc-citeproc-"
8186 version ".tar.gz"))
8187 (sha256
8188 (base32
2da02d09 8189 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8190 (build-system haskell-build-system)
8191 (arguments
8192 `(#:phases
8193 (modify-phases %standard-phases
8194 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8195 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8196 (add-before 'configure 'patch-tests
8197 (lambda _
8198 (substitute* "tests/test-pandoc-citeproc.hs"
8199 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8200 "let allTests = citeprocTests"))))
8201 ;; Tests need to be run after installation.
8202 (delete 'check)
8203 (add-after 'install 'post-install-check
8204 (assoc-ref %standard-phases 'check)))))
8205 (inputs
8206 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8207 ("ghc-pandoc" ,ghc-pandoc)
8208 ("ghc-tagsoup" ,ghc-tagsoup)
8209 ("ghc-aeson" ,ghc-aeson)
8210 ("ghc-vector" ,ghc-vector)
8211 ("ghc-xml-conduit" ,ghc-xml-conduit)
8212 ("ghc-unordered-containers" ,ghc-unordered-containers)
8213 ("ghc-data-default" ,ghc-data-default)
8214 ("ghc-setenv" ,ghc-setenv)
8215 ("ghc-split" ,ghc-split)
8216 ("ghc-yaml" ,ghc-yaml)
8217 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8218 ("ghc-rfc5051" ,ghc-rfc5051)
8219 ("ghc-syb" ,ghc-syb)
8220 ("ghc-old-locale" ,ghc-old-locale)
8221 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8222 ("ghc-attoparsec" ,ghc-attoparsec)
8223 ("ghc-temporary" ,ghc-temporary)))
8224 (home-page "https://github.com/jgm/pandoc-citeproc")
8225 (synopsis "Library for using pandoc with citeproc")
8226 (description
8227 "The @code{pandoc-citeproc} library exports functions for using the
8228citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8229rendering bibliographic reference citations into a variety of styles using a
8230macro language called @dfn{Citation Style Language} (CSL). This package also
8231contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8232and also has a mode for converting bibliographic databases a YAML format
8233suitable for inclusion in pandoc YAML metadata.")
8234 (license license:bsd-3)))
8235
8236(define-public ghc-pandoc-types
8237 (package
8238 (name "ghc-pandoc-types")
0eaa88c8 8239 (version "1.17.6.1")
dddbc90c
RV
8240 (source (origin
8241 (method url-fetch)
8242 (uri (string-append "https://hackage.haskell.org/package/"
8243 "pandoc-types/pandoc-types-"
8244 version ".tar.gz"))
8245 (sha256
8246 (base32
0eaa88c8 8247 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8248 (build-system haskell-build-system)
8249 (inputs
8250 `(("ghc-syb" ,ghc-syb)
8251 ("ghc-aeson" ,ghc-aeson)
8252 ("ghc-string-qq" ,ghc-string-qq)))
8253 (native-inputs
8254 `(("ghc-quickcheck" ,ghc-quickcheck)
8255 ("ghc-test-framework" ,ghc-test-framework)
8256 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8257 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8258 ("ghc-hunit" ,ghc-hunit)))
8259 (home-page "http://johnmacfarlane.net/pandoc")
8260 (synopsis "Types for representing a structured document")
8261 (description
8262 "This module defines the @code{Pandoc} data structure, which is used by
8263pandoc to represent structured documents. It also provides functions for
8264building up, manipulating and serialising @code{Pandoc} structures.")
8265 (license license:bsd-3)))
8266
8267(define-public ghc-parallel
8268 (package
8269 (name "ghc-parallel")
8270 (version "3.2.2.0")
8271 (outputs '("out" "doc"))
8272 (source
8273 (origin
8274 (method url-fetch)
8275 (uri (string-append
8276 "https://hackage.haskell.org/package/parallel/parallel-"
8277 version
8278 ".tar.gz"))
8279 (sha256
8280 (base32
8281 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8282 (build-system haskell-build-system)
8283 (home-page "https://hackage.haskell.org/package/parallel")
8284 (synopsis "Parallel programming library")
8285 (description
8286 "This package provides a library for parallel programming.")
8287 (license license:bsd-3)))
8288
8289(define-public ghc-parsec-numbers
8290 (package
8291 (name "ghc-parsec-numbers")
8292 (version "0.1.0")
8293 (source
8294 (origin
8295 (method url-fetch)
8296 (uri (string-append "https://hackage.haskell.org/package/"
8297 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8298 (sha256
8299 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8300 (build-system haskell-build-system)
8301 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8302 (synopsis "Utilities for parsing numbers from strings")
8303 (description
8304 "This package provides the number parsers without the need to use a large
8305(and unportable) token parser.")
8306 (license license:bsd-3)))
8307
8308(define-public ghc-parser-combinators
8309 (package
8310 (name "ghc-parser-combinators")
2f173160 8311 (version "1.1.0")
dddbc90c
RV
8312 (source
8313 (origin
8314 (method url-fetch)
8315 (uri (string-append "https://hackage.haskell.org/package/"
8316 "parser-combinators/parser-combinators-"
8317 version ".tar.gz"))
8318 (sha256
8319 (base32
2f173160 8320 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8321 (build-system haskell-build-system)
8322 (home-page "https://github.com/mrkkrp/parser-combinators")
8323 (synopsis "Commonly useful parser combinators")
8324 (description
8325 "This is a lightweight package providing commonly useful parser
8326combinators.")
8327 (license license:bsd-3)))
8328
8329(define-public ghc-parsers
8330 (package
8331 (name "ghc-parsers")
6818f970 8332 (version "0.12.10")
dddbc90c
RV
8333 (source
8334 (origin
8335 (method url-fetch)
8336 (uri (string-append
8337 "https://hackage.haskell.org/package/parsers/parsers-"
8338 version
8339 ".tar.gz"))
8340 (sha256
8341 (base32
6818f970 8342 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8343 (build-system haskell-build-system)
8344 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8345 ; -package attoparsec-0.13.0.1"
8346 (inputs
8347 `(("ghc-base-orphans" ,ghc-base-orphans)
8348 ("ghc-attoparsec" ,ghc-attoparsec)
8349 ("ghc-scientific" ,ghc-scientific)
8350 ("ghc-charset" ,ghc-charset)
8351 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8352 (home-page "https://github.com/ekmett/parsers/")
8353 (synopsis "Parsing combinators")
8354 (description "This library provides convenient combinators for working
8355with and building parsing combinator libraries. Given a few simple instances,
8356you get access to a large number of canned definitions. Instances exist for
8357the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8358@code{Text.Read}.")
8359 (license license:bsd-3)))
8360
8361(define-public ghc-path
8362 (package
8363 (name "ghc-path")
8364 (version "0.6.1")
8365 (source
8366 (origin
8367 (method url-fetch)
8368 (uri (string-append
8369 "https://hackage.haskell.org/package/path/path-"
8370 version
8371 ".tar.gz"))
8372 (sha256
8373 (base32
8374 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8375 (build-system haskell-build-system)
8376 (arguments
8377 ;; TODO: There are some Windows-related tests and modules that need to be
8378 ;; danced around.
8379 `(#:tests? #f
8380 #:cabal-revision
8381 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
8382 (inputs
8383 `(("ghc-aeson" ,ghc-aeson)
8384 ("ghc-exceptions" ,ghc-exceptions)
8385 ("ghc-hashable" ,ghc-hashable)))
8386 (native-inputs
8387 `(("ghc-hspec" ,ghc-hspec)
8388 ("ghc-quickcheck" ,ghc-quickcheck)
8389 ("ghc-genvalidity" ,ghc-genvalidity)
8390 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
8391 ("ghc-hspec" ,ghc-hspec)
8392 ("ghc-validity" ,ghc-validity)))
8393 (home-page
8394 "http://hackage.haskell.org/package/path")
8395 (synopsis "Support for well-typed paths")
8396 (description "This package introduces a type for paths upholding useful
8397invariants.")
8398 (license license:bsd-3)))
8399
8400(define-public ghc-path-io
8401 (package
8402 (name "ghc-path-io")
a06613ea 8403 (version "1.4.2")
dddbc90c
RV
8404 (source
8405 (origin
8406 (method url-fetch)
8407 (uri (string-append
8408 "https://hackage.haskell.org/package/path-io/path-io-"
8409 version
8410 ".tar.gz"))
8411 (sha256
8412 (base32
a06613ea 8413 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
8414 (build-system haskell-build-system)
8415 (inputs
8416 `(("ghc-dlist" ,ghc-dlist)
8417 ("ghc-exceptions" ,ghc-exceptions)
8418 ("ghc-path" ,ghc-path)
8419 ("ghc-transformers-base" ,ghc-transformers-base)
8420 ("ghc-unix-compat" ,ghc-unix-compat)
8421 ("ghc-temporary" ,ghc-temporary)))
8422 (native-inputs
8423 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
8424 (home-page
8425 "https://github.com/mrkkrp/path-io")
8426 (synopsis "Functions for manipulating well-typed paths")
8427 (description "This package provides an interface to the @code{directory}
8428package for users of @code{path}. It also implements some missing stuff like
8429recursive scanning and copying of directories, working with temporary
8430files/directories, and more.")
8431 (license license:bsd-3)))
8432
8433(define-public ghc-paths
8434 (package
8435 (name "ghc-paths")
9a8adeb1 8436 (version "0.1.0.12")
dddbc90c
RV
8437 (outputs '("out" "doc"))
8438 (source
8439 (origin
8440 (method url-fetch)
8441 (uri (string-append
8442 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
8443 version
8444 ".tar.gz"))
8445 (sha256
8446 (base32
9a8adeb1 8447 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
8448 (build-system haskell-build-system)
8449 (home-page "https://github.com/simonmar/ghc-paths")
8450 (synopsis
8451 "Knowledge of GHC's installation directories")
8452 (description
8453 "Knowledge of GHC's installation directories.")
8454 (license license:bsd-3)))
8455
8456(define-public ghc-patience
8457 (package
8458 (name "ghc-patience")
484476f3 8459 (version "0.3")
dddbc90c
RV
8460 (source
8461 (origin
8462 (method url-fetch)
8463 (uri (string-append
8464 "https://hackage.haskell.org/package/patience/patience-"
8465 version ".tar.gz"))
8466 (sha256
8467 (base32
484476f3 8468 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
8469 (build-system haskell-build-system)
8470 (home-page "https://hackage.haskell.org/package/patience")
8471 (synopsis "Patience diff and longest increasing subsequence")
8472 (description
8473 "This library implements the 'patience diff' algorithm, as well as the
8474patience algorithm for the longest increasing subsequence problem.
8475Patience diff computes the difference between two lists, for example the lines
8476of two versions of a source file. It provides a good balance between
8477performance, nice output for humans, and simplicity of implementation.")
8478 (license license:bsd-3)))
8479
8480(define-public ghc-pcre-light
8481 (package
8482 (name "ghc-pcre-light")
8483 (version "0.4.0.4")
8484 (source
8485 (origin
8486 (method url-fetch)
8487 (uri (string-append
8488 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
8489 version
8490 ".tar.gz"))
8491 (sha256
8492 (base32
8493 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
8494 (build-system haskell-build-system)
8495 (inputs
8496 `(("pcre" ,pcre)))
8497 (native-inputs
8498 `(("pkg-config" ,pkg-config)))
8499 (home-page "https://github.com/Daniel-Diaz/pcre-light")
8500 (synopsis "Haskell library for Perl 5 compatible regular expressions")
8501 (description "This package provides a small, efficient, and portable regex
8502library for Perl 5 compatible regular expressions. The PCRE library is a set
8503of functions that implement regular expression pattern matching using the same
8504syntax and semantics as Perl 5.")
8505 (license license:bsd-3)))
8506
8507(define-public ghc-persistent
8508 (package
8509 (name "ghc-persistent")
18a38da5 8510 (version "2.9.2")
dddbc90c
RV
8511 (source
8512 (origin
8513 (method url-fetch)
8514 (uri (string-append "https://hackage.haskell.org/package/"
8515 "persistent-" version "/"
8516 "persistent-" version ".tar.gz"))
8517 (sha256
8518 (base32
18a38da5 8519 "1wsa3kn427v88a6r0vwr6mz23snik2krbsgc8zqp18xajqn5szj9"))))
dddbc90c
RV
8520 (build-system haskell-build-system)
8521 (inputs `(("ghc-old-locale" ,ghc-old-locale)
8522 ("ghc-conduit" ,ghc-conduit)
8523 ("ghc-resourcet" ,ghc-resourcet)
8524 ("ghc-exceptions" ,ghc-exceptions)
8525 ("ghc-monad-control" ,ghc-monad-control)
8526 ("ghc-lifted-base" ,ghc-lifted-base)
8527 ("ghc-resource-pool" ,ghc-resource-pool)
8528 ("ghc-path-pieces" ,ghc-path-pieces)
8529 ("ghc-http-api-data" ,ghc-http-api-data)
8530 ("ghc-aeson" ,ghc-aeson)
8531 ("ghc-monad-logger" ,ghc-monad-logger)
8532 ("ghc-transformers-base" ,ghc-transformers-base)
8533 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8534 ("ghc-unordered-containers" ,ghc-unordered-containers)
8535 ("ghc-vector" ,ghc-vector)
8536 ("ghc-attoparsec" ,ghc-attoparsec)
8537 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
8538 ("ghc-blaze-html" ,ghc-blaze-html)
8539 ("ghc-blaze-markup" ,ghc-blaze-markup)
8540 ("ghc-silently" ,ghc-silently)
8541 ("ghc-fast-logger" ,ghc-fast-logger)
8542 ("ghc-scientific" ,ghc-scientific)
8543 ("ghc-tagged" ,ghc-tagged)
8544 ("ghc-void" ,ghc-void)))
8545 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
8546 (home-page "https://www.yesodweb.com/book/persistent")
8547 (synopsis "Type-safe, multi-backend data serialization for Haskell")
8548 (description "This Haskell package allows Haskell programs to access data
8549storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
8550way.")
8551 (license license:expat)))
8552
8553(define-public ghc-persistent-sqlite
8554 (package
8555 (name "ghc-persistent-sqlite")
801fbd7e 8556 (version "2.9.3")
dddbc90c
RV
8557 (source
8558 (origin
8559 (method url-fetch)
8560 (uri (string-append "https://hackage.haskell.org/package/"
8561 "persistent-sqlite-" version "/"
8562 "persistent-sqlite-" version ".tar.gz"))
8563 (sha256
8564 (base32
801fbd7e 8565 "13wbn88ixv4d4dfjl1gabm1q60fbcnygbmixz57pi3z84drrynwq"))))
dddbc90c
RV
8566 (build-system haskell-build-system)
8567 (inputs `(("ghc-persistent" ,ghc-persistent)
8568 ("ghc-unliftio-core" ,ghc-unliftio-core)
8569 ("ghc-aeson" ,ghc-aeson)
8570 ("ghc-conduit" ,ghc-conduit)
8571 ("ghc-monad-logger" ,ghc-monad-logger)
8572 ("ghc-microlens-th" ,ghc-microlens-th)
8573 ("ghc-resourcet" ,ghc-resourcet)
8574 ("ghc-old-locale" ,ghc-old-locale)
8575 ("ghc-resource-pool" ,ghc-resource-pool)
8576 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8577 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8578 ("ghc-persistent-template" ,ghc-persistent-template)
8579 ("ghc-temporary" ,ghc-temporary)))
8580 (home-page
8581 "https://www.yesodweb.com/book/persistent")
8582 (synopsis "Backend for the persistent library using sqlite3")
8583 (description "This Haskell package includes a thin sqlite3 wrapper based
8584on the direct-sqlite package, as well as the entire C library, so there are no
8585system dependencies.")
8586 (license license:expat)))
8587
8588(define-public ghc-persistent-template
8589 (package
8590 (name "ghc-persistent-template")
bc78e0d9 8591 (version "2.6.0")
dddbc90c
RV
8592 (source
8593 (origin
8594 (method url-fetch)
8595 (uri (string-append "https://hackage.haskell.org/package/"
8596 "persistent-template-" version "/"
8597 "persistent-template-" version ".tar.gz"))
8598 (sha256
8599 (base32
bc78e0d9 8600 "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv"))))
dddbc90c 8601 (build-system haskell-build-system)
dddbc90c
RV
8602 (inputs `(("ghc-persistent" ,ghc-persistent)
8603 ("ghc-monad-control" ,ghc-monad-control)
8604 ("ghc-aeson" ,ghc-aeson)
8605 ("ghc-aeson-compat" ,ghc-aeson-compat)
8606 ("ghc-monad-logger" ,ghc-monad-logger)
8607 ("ghc-unordered-containers" ,ghc-unordered-containers)
8608 ("ghc-tagged" ,ghc-tagged)
8609 ("ghc-path-pieces" ,ghc-path-pieces)
8610 ("ghc-http-api-data" ,ghc-http-api-data)))
8611 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8612 ("ghc-quickcheck" ,ghc-quickcheck)))
8613 (home-page "https://www.yesodweb.com/book/persistent")
8614 (synopsis "Type-safe, non-relational, multi-backend persistence")
8615 (description "This Haskell package provides interfaces and helper
8616functions for the ghc-persistent package.")
8617 (license license:expat)))
8618
4639fa32
ASM
8619(define-public ghc-pipes
8620 (package
8621 (name "ghc-pipes")
8622 (version "4.3.13")
8623 (source
8624 (origin
8625 (method url-fetch)
8626 (uri (string-append
8627 "https://hackage.haskell.org/package/pipes/"
8628 "pipes-" version ".tar.gz"))
8629 (sha256
8630 (base32
8631 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
8632 (build-system haskell-build-system)
8633 (inputs
8634 `(("ghc-exceptions" ,ghc-exceptions)
8635 ("ghc-mmorph" ,ghc-mmorph)
8636 ("ghc-void" ,ghc-void)
8637 ("ghc-semigroups" ,ghc-semigroups)))
8638 (native-inputs
8639 `(("ghc-quickcheck" ,ghc-quickcheck)
8640 ("ghc-test-framework" ,ghc-test-framework)
8641 ("ghc-test-framework-quickcheck2"
8642 ,ghc-test-framework-quickcheck2)))
8643 (home-page
8644 "https://hackage.haskell.org/package/pipes")
8645 (synopsis "Compositional pipelines")
8646 (description
8647 "A clean and powerful stream processing library that lets you build
8648and connect reusable streaming components. Advantages over traditional streaming
8649libraries:
8650@itemize
8651@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
8652and @code{yield}
8653@item Blazing fast: Implementation tuned for speed, including shortcut fusion
8654@item Lightweight Dependency: pipes is small and compiles very rapidly, including
8655dependencies
8656@item Elegant semantics: Use practical category theory
8657@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
8658@item Bidirectionality: Implement duplex channels
8659@end itemize")
8660 (license license:bsd-3)))
8661
451775a5
ASM
8662(define-public ghc-pointedlist
8663 (package
8664 (name "ghc-pointedlist")
8665 (version "0.6.1")
8666 (source
8667 (origin
8668 (method url-fetch)
8669 (uri (string-append
8670 "https://hackage.haskell.org/package/pointedlist/"
8671 "pointedlist-" version ".tar.gz"))
8672 (sha256
8673 (base32
8674 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
8675 (build-system haskell-build-system)
8676 (home-page
8677 "http://hackage.haskell.org/package/pointedlist")
8678 (synopsis
8679 "Zipper-like comonad which works as a list, tracking a position")
8680 (description
8681 "A PointedList tracks the position in a non-empty list which works
8682similarly to a zipper. A current item is always required, and therefore
8683the list may never be empty. A circular PointedList wraps around to the
8684other end when progressing past the actual edge.")
8685 (license license:bsd-3)))
8686
dddbc90c
RV
8687(define-public ghc-polyparse
8688 (package
8689 (name "ghc-polyparse")
9822b9ca 8690 (version "1.12.1")
dddbc90c
RV
8691 (source
8692 (origin
8693 (method url-fetch)
8694 (uri (string-append
8695 "https://hackage.haskell.org/package/polyparse/polyparse-"
8696 version
8697 ".tar.gz"))
8698 (sha256
8699 (base32
9822b9ca 8700 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
8701 (build-system haskell-build-system)
8702 (home-page
8703 "http://code.haskell.org/~malcolm/polyparse/")
8704 (synopsis
8705 "Alternative parser combinator libraries")
8706 (description
8707 "This package provides a variety of alternative parser combinator
8708libraries, including the original HuttonMeijer set. The Poly sets have
8709features like good error reporting, arbitrary token type, running state, lazy
8710parsing, and so on. Finally, Text.Parse is a proposed replacement for the
8711standard Read class, for better deserialisation of Haskell values from
8712Strings.")
8713 (license license:lgpl2.1)))
8714
8715(define-public ghc-pqueue
8716 (package
8717 (name "ghc-pqueue")
142415b0 8718 (version "1.4.1.2")
dddbc90c
RV
8719 (source
8720 (origin
8721 (method url-fetch)
8722 (uri (string-append "https://hackage.haskell.org/package/"
8723 "pqueue/pqueue-" version ".tar.gz"))
8724 (sha256
8725 (base32
142415b0 8726 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
8727 (build-system haskell-build-system)
8728 (native-inputs
8729 `(("ghc-quickcheck" ,ghc-quickcheck)))
8730 (home-page "https://hackage.haskell.org/package/pqueue")
8731 (synopsis "Reliable, persistent, fast priority queues")
8732 (description
8733 "This package provides a fast, reliable priority queue implementation
8734based on a binomial heap.")
8735 (license license:bsd-3)))
8736
8737(define-public ghc-prelude-extras
8738 (package
8739 (name "ghc-prelude-extras")
8740 (version "0.4.0.3")
8741 (source
8742 (origin
8743 (method url-fetch)
8744 (uri (string-append
8745 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
8746 version
8747 ".tar.gz"))
8748 (sha256
8749 (base32
8750 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
8751 (build-system haskell-build-system)
8752 (home-page "https://github.com/ekmett/prelude-extras")
8753 (synopsis "Higher order versions of Prelude classes")
8754 (description "This library provides higher order versions of
8755@code{Prelude} classes to ease programming with polymorphic recursion and
8756reduce @code{UndecidableInstances}.")
8757 (license license:bsd-3)))
8758
8759(define-public ghc-prettyclass
8760 (package
8761 (name "ghc-prettyclass")
8762 (version "1.0.0.0")
8763 (source
8764 (origin
8765 (method url-fetch)
8766 (uri (string-append "https://hackage.haskell.org/package/"
8767 "prettyclass/prettyclass-" version ".tar.gz"))
8768 (sha256
8769 (base32
8770 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
8771 (build-system haskell-build-system)
8772 (home-page "http://hackage.haskell.org/package/prettyclass")
8773 (synopsis "Pretty printing class similar to Show")
8774 (description "This package provides a pretty printing class similar
8775to @code{Show}, based on the HughesPJ pretty printing library. It
8776provides the pretty printing class and instances for the Prelude
8777types.")
8778 (license license:bsd-3)))
8779
8780(define-public ghc-pretty-hex
8781 (package
8782 (name "ghc-pretty-hex")
8783 (version "1.0")
8784 (source
8785 (origin
8786 (method url-fetch)
8787 (uri (string-append "https://hackage.haskell.org/package/"
8788 "pretty-hex-" version "/"
8789 "pretty-hex-" version ".tar.gz"))
8790 (sha256
8791 (base32
8792 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
8793 (build-system haskell-build-system)
8794 (home-page "https://github.com/GaloisInc/hexdump")
8795 (synopsis "Haskell library for hex dumps of ByteStrings")
8796 (description "This Haskell library generates pretty hex dumps of
8797ByteStrings in the style of other common *nix hex dump tools.")
8798 (license license:bsd-3)))
8799
8800(define-public ghc-pretty-show
8801 (package
8802 (name "ghc-pretty-show")
7683a084 8803 (version "1.9.5")
dddbc90c
RV
8804 (source
8805 (origin
8806 (method url-fetch)
8807 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
8808 "pretty-show-" version ".tar.gz"))
8809 (sha256
8810 (base32
7683a084 8811 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
8812 (build-system haskell-build-system)
8813 (inputs
8814 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
8815 ("ghc-happy" ,ghc-happy)))
8816 (home-page "http://wiki.github.com/yav/pretty-show")
8817 (synopsis "Tools for working with derived `Show` instances")
8818 (description
8819 "This package provides a library and an executable for working with
8820derived @code{Show} instances. By using the library, derived @code{Show}
8821instances can be parsed into a generic data structure. The @code{ppsh} tool
8822uses the library to produce human-readable versions of @code{Show} instances,
8823which can be quite handy for debugging Haskell programs. We can also render
8824complex generic values into an interactive Html page, for easier
8825examination.")
8826 (license license:expat)))
8827
8828(define-public ghc-primitive
8829 (package
8830 (name "ghc-primitive")
8831 (version "0.6.4.0")
8832 (outputs '("out" "doc"))
8833 (source
8834 (origin
8835 (method url-fetch)
8836 (uri (string-append
8837 "https://hackage.haskell.org/package/primitive/primitive-"
8838 version
8839 ".tar.gz"))
8840 (sha256
8841 (base32
8842 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
8843 (build-system haskell-build-system)
6cf0daa4
TS
8844 (arguments
8845 `(#:cabal-revision
8846 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
8847 (home-page
8848 "https://github.com/haskell/primitive")
8849 (synopsis "Primitive memory-related operations")
8850 (description
8851 "This package provides various primitive memory-related operations.")
8852 (license license:bsd-3)))
8853
21f5b9a9
JS
8854(define-public ghc-process-extras
8855 (package
8856 (name "ghc-process-extras")
8857 (version "0.7.4")
8858 (source
8859 (origin
8860 (method url-fetch)
8861 (uri
8862 (string-append
8863 "https://hackage.haskell.org/package/process-extras/"
8864 "process-extras-" version ".tar.gz"))
8865 (sha256
8866 (base32
8867 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
8868 (build-system haskell-build-system)
8869 (inputs
8870 `(("ghc-data-default" ,ghc-data-default)
8871 ("ghc-generic-deriving" ,ghc-generic-deriving)
8872 ("ghc-hunit" ,ghc-hunit)
8873 ("ghc-listlike" ,ghc-listlike)))
8874 (home-page "https://github.com/seereason/process-extras")
8875 (synopsis "Extra tools for managing processes")
f74b6983 8876 (description "This package extends
21f5b9a9
JS
8877@url{http://hackage.haskell.org/package/process}. It allows you to read
8878process input and output as ByteStrings or Text, or write your own
8879ProcessOutput instance. It also provides lazy process input and output,
8880and a ProcessMaker class for more flexibility in the process creation
8881API.")
8882 (license license:expat)))
8883
dddbc90c
RV
8884(define-public ghc-profunctors
8885 (package
8886 (name "ghc-profunctors")
899b5297 8887 (version "5.3")
dddbc90c
RV
8888 (source
8889 (origin
8890 (method url-fetch)
8891 (uri (string-append
8892 "https://hackage.haskell.org/package/profunctors/profunctors-"
8893 version
8894 ".tar.gz"))
8895 (sha256
8896 (base32
899b5297 8897 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 8898 (build-system haskell-build-system)
dddbc90c
RV
8899 (inputs
8900 `(("ghc-base-orphans" ,ghc-base-orphans)
8901 ("ghc-bifunctors" ,ghc-bifunctors)
8902 ("ghc-comonad" ,ghc-comonad)
8903 ("ghc-contravariant" ,ghc-contravariant)
8904 ("ghc-distributive" ,ghc-distributive)
8905 ("ghc-semigroups" ,ghc-semigroups)
8906 ("ghc-tagged" ,ghc-tagged)))
8907 (home-page "https://github.com/ekmett/profunctors/")
8908 (synopsis "Profunctors for Haskell")
8909 (description "This library provides profunctors for Haskell.")
8910 (license license:bsd-3)))
8911
8912(define-public ghc-psqueues
8913 (package
8914 (name "ghc-psqueues")
5d133942 8915 (version "0.2.7.2")
dddbc90c
RV
8916 (source
8917 (origin
8918 (method url-fetch)
8919 (uri (string-append "https://hackage.haskell.org/package/"
8920 "psqueues-" version "/"
8921 "psqueues-" version ".tar.gz"))
8922 (sha256
8923 (base32
5d133942 8924 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
8925 (build-system haskell-build-system)
8926 (inputs
8927 `(("ghc-hashable" ,ghc-hashable)))
8928 (native-inputs
8929 `(("ghc-hunit" ,ghc-hunit)
8930 ("ghc-quickcheck" ,ghc-quickcheck)
8931 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
8932 ("ghc-tasty" ,ghc-tasty)
8933 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8934 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
8935 (home-page "https://github.com/jaspervdj/psqueues")
8936 (synopsis "Pure priority search queues")
8937 (description "The psqueues package provides
8938@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8939three different flavors:
8940
8941@itemize
8942@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8943fast insertion, deletion and lookup. This implementation is based on Ralf
8944Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8945Implementation Technique for Priority Search Queues}.
8946
8947Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8948PSQueue} library, although it is considerably faster and provides a slightly
8949different API.
8950
8951@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8952key type to @code{Int} and uses a
8953@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8954with an additional min-heap property.
8955
8956@item @code{HashPSQ k p v} is a fairly straightforward extension
8957of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8958@code{IntPSQ}. If there are any hash collisions, it uses an
8959@code{OrdPSQ} to resolve those. The performance of this implementation
8960is comparable to that of @code{IntPSQ}, but it is more widely
8961applicable since the keys are not restricted to @code{Int},
8962but rather to any @code{Hashable} datatype.
8963@end itemize
8964
8965Each of the three implementations provides the same API, so they can
8966be used interchangeably.
8967
8968Typical applications of Priority Search Queues include:
8969
8970@itemize
8971@item Caches, and more specifically LRU Caches;
8972@item Schedulers;
8973@item Pathfinding algorithms, such as Dijkstra's and A*.
8974@end itemize")
8975 (license license:bsd-3)))
8976
8977(define-public ghc-random
8978 (package
8979 (name "ghc-random")
8980 (version "1.1")
8981 (outputs '("out" "doc"))
8982 (source
8983 (origin
8984 (method url-fetch)
8985 (uri (string-append
8986 "https://hackage.haskell.org/package/random/random-"
8987 version
8988 ".tar.gz"))
8989 (sha256
8990 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8991 (build-system haskell-build-system)
8992 (home-page "https://hackage.haskell.org/package/random")
8993 (synopsis "Random number library")
8994 (description "This package provides a basic random number generation
8995library, including the ability to split random number generators.")
8996 (license license:bsd-3)))
8997
8998(define-public ghc-raw-strings-qq
8999 (package
9000 (name "ghc-raw-strings-qq")
9001 (version "1.1")
9002 (source
9003 (origin
9004 (method url-fetch)
9005 (uri (string-append "https://hackage.haskell.org/package/"
9006 "raw-strings-qq/raw-strings-qq-"
9007 version ".tar.gz"))
9008 (sha256
9009 (base32
9010 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9011 (build-system haskell-build-system)
9012 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9013 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9014 (synopsis "Raw string literals for Haskell")
9015 (description
9016 "This package provides a quasiquoter for raw string literals, i.e. string
9017literals that don't recognise the standard escape sequences. Basically, they
9018make your code more readable by freeing you from the responsibility to escape
9019backslashes. They are useful when working with regular expressions,
9020DOS/Windows paths and markup languages (such as XML).")
9021 (license license:bsd-3)))
9022
9023(define-public ghc-readable
9024 (package
9025 (name "ghc-readable")
9026 (version "0.3.1")
9027 (source
9028 (origin
9029 (method url-fetch)
9030 (uri (string-append "https://hackage.haskell.org/package/"
9031 "readable/readable-" version ".tar.gz"))
9032 (sha256
9033 (base32
9034 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9035 (build-system haskell-build-system)
9036 (home-page "https://github.com/mightybyte/readable")
9037 (synopsis "Type class for reading from Text and ByteString")
9038 (description "This package provides a @code{Readable} type class for
9039reading data types from @code{ByteString} and @code{Text}. It also
9040includes efficient implementations for common data types.")
9041 (license license:bsd-3)))
9042
9043(define-public ghc-rebase
9044 (package
9045 (name "ghc-rebase")
8d2ae3fe 9046 (version "1.3.1.1")
dddbc90c
RV
9047 (source
9048 (origin
9049 (method url-fetch)
9050 (uri (string-append "https://hackage.haskell.org/package/"
9051 "rebase-" version "/"
9052 "rebase-" version ".tar.gz"))
9053 (sha256
9054 (base32
8d2ae3fe 9055 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
9056 (build-system haskell-build-system)
9057 (inputs `(("ghc-hashable" ,ghc-hashable)
9058 ("ghc-vector" ,ghc-vector)
9059 ("ghc-unordered-containers" ,ghc-unordered-containers)
9060 ("ghc-scientific" ,ghc-scientific)
9061 ("ghc-uuid" ,ghc-uuid)
9062 ("ghc-dlist" ,ghc-dlist)
9063 ("ghc-void" ,ghc-void)
9064 ("ghc-bifunctors" ,ghc-bifunctors)
9065 ("ghc-profunctors" ,ghc-profunctors)
9066 ("ghc-contravariant" ,ghc-contravariant)
9067 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
9068 ("ghc-semigroups" ,ghc-semigroups)
9069 ("ghc-either" ,ghc-either)
9070 ("ghc-fail" ,ghc-fail)
9071 ("ghc-base-prelude" ,ghc-base-prelude)))
9072 (home-page "https://github.com/nikita-volkov/rebase")
9073 (synopsis "Progressive alternative to the base package
9074for Haskell")
9075 (description "This Haskell package is intended for those who are
9076tired of keeping long lists of dependencies to the same essential libraries
9077in each package as well as the endless imports of the same APIs all over again.
9078
9079It also supports the modern tendencies in the language.
9080
9081To solve those problems this package does the following:
9082
9083@itemize
9084@item Reexport the original APIs under the @code{Rebase} namespace.
9085
9086@item Export all the possible non-conflicting symbols from the
9087@code{Rebase.Prelude} module.
9088
9089@item Give priority to the modern practices in the conflicting cases.
9090@end itemize
9091
9092The policy behind the package is only to reexport the non-ambiguous and
9093non-controversial APIs, which the community has obviously settled on.
9094The package is intended to rapidly evolve with the contribution from
9095the community, with the missing features being added with pull-requests.")
9096 (license license:expat)))
9097
9098(define-public ghc-reducers
9099 (package
9100 (name "ghc-reducers")
9101 (version "3.12.3")
9102 (source
9103 (origin
9104 (method url-fetch)
9105 (uri (string-append
9106 "https://hackage.haskell.org/package/reducers/reducers-"
9107 version
9108 ".tar.gz"))
9109 (sha256
9110 (base32
9111 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
9112 (build-system haskell-build-system)
9113 (inputs
9114 `(("ghc-fingertree" ,ghc-fingertree)
9115 ("ghc-hashable" ,ghc-hashable)
9116 ("ghc-unordered-containers" ,ghc-unordered-containers)
9117 ("ghc-semigroupoids" ,ghc-semigroupoids)
9118 ("ghc-semigroups" ,ghc-semigroups)))
9119 (home-page "https://github.com/ekmett/reducers/")
9120 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
9121 (description "This library provides various semigroups, specialized
9122containers and a general map/reduce framework for Haskell.")
9123 (license license:bsd-3)))
9124
9125(define-public ghc-refact
9126 (package
9127 (name "ghc-refact")
9128 (version "0.3.0.2")
9129 (source
9130 (origin
9131 (method url-fetch)
9132 (uri (string-append "https://hackage.haskell.org/package/"
9133 "refact/refact-"
9134 version ".tar.gz"))
9135 (sha256
9136 (base32
9137 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
9138 (build-system haskell-build-system)
9139 (home-page "http://hackage.haskell.org/package/refact")
9140 (synopsis "Specify refactorings to perform with apply-refact")
9141 (description
9142 "This library provides a datatype which can be interpreted by
9143@code{apply-refact}. It exists as a separate library so that applications can
9144specify refactorings without depending on GHC.")
9145 (license license:bsd-3)))
9146
9147(define-public ghc-reflection
9148 (package
9149 (name "ghc-reflection")
d215f1cc 9150 (version "2.1.5")
dddbc90c
RV
9151 (source
9152 (origin
9153 (method url-fetch)
9154 (uri (string-append
9155 "https://hackage.haskell.org/package/reflection/reflection-"
9156 version
9157 ".tar.gz"))
9158 (sha256
9159 (base32
d215f1cc 9160 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
9161 (build-system haskell-build-system)
9162 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
9163 (native-inputs
9164 `(("ghc-hspec" ,ghc-hspec)
9165 ("ghc-quickcheck" ,ghc-quickcheck)
9166 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
9167 (home-page "https://github.com/ekmett/reflection")
9168 (synopsis "Reify arbitrary terms into types that can be reflected back
9169into terms")
9170 (description "This package addresses the 'configuration problem' which is
9171propagating configurations that are available at run-time, allowing multiple
9172configurations to coexist without resorting to mutable global variables or
9173@code{System.IO.Unsafe.unsafePerformIO}.")
9174 (license license:bsd-3)))
9175
9176(define-public ghc-regex
9177 (package
9178 (name "ghc-regex")
b9a5e634 9179 (version "1.0.2.0")
dddbc90c
RV
9180 (source
9181 (origin
9182 (method url-fetch)
9183 (uri (string-append "https://hackage.haskell.org/package/regex/"
9184 "regex-" version ".tar.gz"))
9185 (sha256
9186 (base32
b9a5e634 9187 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
9188 (build-system haskell-build-system)
9189 (arguments
9190 `(#:phases
9191 (modify-phases %standard-phases
9192 (add-after 'unpack 'relax-dependencies
9193 (lambda _
9194 (substitute* "regex.cabal"
9195 (("base-compat.*>=.*0.6.*")
9196 "base-compat >= 0.6\n")
9197 (("template-haskell.*>=.*2.7.*")
9198 "template-haskell >= 2.7\n"))
9199 #t)))))
9200 (inputs
9201 `(("ghc-base-compat" ,ghc-base-compat)
9202 ("ghc-hashable" ,ghc-hashable)
9203 ("ghc-regex-base" ,ghc-regex-base)
9204 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9205 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
9206 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
9207 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9208 ("ghc-unordered-containers" ,ghc-unordered-containers)
9209 ("ghc-utf8-string" ,ghc-utf8-string)))
9210 (home-page "http://regex.uk")
9211 (synopsis "Toolkit for regex-base")
9212 (description
9213 "This package provides a regular expression toolkit for @code{regex-base}
9214with compile-time checking of regular expression syntax, data types for
9215matches and captures, a text replacement toolkit, portable options, high-level
9216AWK-like tools for building text processing apps, regular expression macros
9217with parsers and test bench, comprehensive documentation, tutorials and
9218copious examples.")
9219 (license license:bsd-3)))
9220
9221(define-public ghc-regex-applicative
9222 (package
9223 (name "ghc-regex-applicative")
30f60e42 9224 (version "0.3.3.1")
dddbc90c
RV
9225 (source
9226 (origin
9227 (method url-fetch)
9228 (uri (string-append
9229 "https://hackage.haskell.org/package/regex-applicative/"
9230 "regex-applicative-" version ".tar.gz"))
9231 (sha256
9232 (base32
30f60e42 9233 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
9234 (build-system haskell-build-system)
9235 (inputs
9236 `(("ghc-smallcheck" ,ghc-smallcheck)
9237 ("ghc-tasty" ,ghc-tasty)
9238 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9239 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9240 (home-page "https://github.com/feuerbach/regex-applicative")
9241 (synopsis "Regex-based parsing with applicative interface")
9242 (description
9243 "@code{regex-applicative} is a Haskell library for parsing using
9244regular expressions. Parsers can be built using Applicative interface.")
9245 (license license:expat)))
9246
9247(define-public ghc-regex-base
9248 (package
9249 (name "ghc-regex-base")
9250 (version "0.93.2")
9251 (source
9252 (origin
9253 (method url-fetch)
9254 (uri (string-append
9255 "https://hackage.haskell.org/package/regex-base/regex-base-"
9256 version
9257 ".tar.gz"))
9258 (sha256
9259 (base32
9260 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
9261 (build-system haskell-build-system)
9262 (home-page
9263 "https://sourceforge.net/projects/lazy-regex")
9264 (synopsis "Replaces/Enhances Text.Regex")
9265 (description "@code{Text.Regex.Base} provides the interface API for
9266regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
9267 (license license:bsd-3)))
9268
9269(define-public ghc-regex-compat
9270 (package
9271 (name "ghc-regex-compat")
9272 (version "0.95.1")
9273 (source
9274 (origin
9275 (method url-fetch)
9276 (uri (string-append
9277 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
9278 version
9279 ".tar.gz"))
9280 (sha256
9281 (base32
9282 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
9283 (build-system haskell-build-system)
9284 (inputs
9285 `(("ghc-regex-base" ,ghc-regex-base)
9286 ("ghc-regex-posix" ,ghc-regex-posix)))
9287 (home-page "https://sourceforge.net/projects/lazy-regex")
9288 (synopsis "Replaces/Enhances Text.Regex")
9289 (description "This library provides one module layer over
9290@code{regex-posix} to replace @code{Text.Regex}.")
9291 (license license:bsd-3)))
9292
9293(define-public ghc-regex-compat-tdfa
9294 (package
9295 (name "ghc-regex-compat-tdfa")
9296 (version "0.95.1.4")
9297 (source
9298 (origin
9299 (method url-fetch)
9300 (uri (string-append
9301 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
9302 version ".tar.gz"))
9303 (sha256
9304 (base32
9305 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
9306 (build-system haskell-build-system)
9307 (inputs
9308 `(("ghc-regex-base" ,ghc-regex-base)
9309 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9310 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
9311 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
9312 (description
9313 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
9314@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
9315This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
9316this problem.")
9317 (license license:bsd-3)))
9318
9319(define-public ghc-regex-pcre-builtin
9320 (package
9321 (name "ghc-regex-pcre-builtin")
ee946143 9322 (version "0.94.5.8.8.35")
dddbc90c
RV
9323 (source (origin
9324 (method url-fetch)
9325 (uri (string-append "https://hackage.haskell.org/package/"
9326 "regex-pcre-builtin/regex-pcre-builtin-"
9327 version ".tar.gz"))
9328 (sha256
9329 (base32
ee946143 9330 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
9331 (build-system haskell-build-system)
9332 (inputs
9333 `(("ghc-regex-base" ,ghc-regex-base)))
9334 (home-page "https://hackage.haskell.org/package/regex-pcre")
9335 (synopsis "Enhancement of the builtin Text.Regex library")
9336 (description
9337 "This package is an enhancement of the @code{Text.Regex} library,
9338providing the PCRE backend to accompany regex-base, with bundled code from
9339@url{https://www.pcre.org}.")
9340 (license license:bsd-3)))
9341
9342(define-public ghc-regex-posix
9343 (package
9344 (name "ghc-regex-posix")
9345 (version "0.95.2")
9346 (source
9347 (origin
9348 (method url-fetch)
9349 (uri (string-append
9350 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
9351 version
9352 ".tar.gz"))
9353 (sha256
9354 (base32
9355 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
9356 (build-system haskell-build-system)
9357 (inputs
9358 `(("ghc-regex-base" ,ghc-regex-base)))
9359 (home-page "https://sourceforge.net/projects/lazy-regex")
9360 (synopsis "POSIX regular expressions for Haskell")
9361 (description "This library provides the POSIX regex backend used by the
9362Haskell library @code{regex-base}.")
9363 (license license:bsd-3)))
9364
9365(define-public ghc-regex-tdfa
9366 (package
9367 (name "ghc-regex-tdfa")
ce684db0 9368 (version "1.2.3.2")
dddbc90c
RV
9369 (source
9370 (origin
9371 (method url-fetch)
9372 (uri (string-append
9373 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
9374 version ".tar.gz"))
9375 (sha256
9376 (base32
ce684db0 9377 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
9378 (build-system haskell-build-system)
9379 (inputs
9380 `(("ghc-regex-base" ,ghc-regex-base)))
9381 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
9382 (synopsis "POSIX extended regular expressions in Haskell.")
9383 (description
9384 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
9385extended regular expressions. It is a \"tagged\" DFA regex engine. It is
9386inspired by libtre.")
9387 (license license:bsd-3)))
9388
9389(define-public ghc-regex-tdfa-text
9390 (package
9391 (name "ghc-regex-tdfa-text")
9392 (version "1.0.0.3")
9393 (source
9394 (origin
9395 (method url-fetch)
9396 (uri (string-append
9397 "https://hackage.haskell.org/package/regex-tdfa-text/"
9398 "regex-tdfa-text-" version ".tar.gz"))
9399 (sha256
9400 (base32
9401 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
9402 (build-system haskell-build-system)
9403 (inputs
9404 `(("ghc-regex-base" ,ghc-regex-base)
9405 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9406 (home-page
9407 "http://hackage.haskell.org/package/regex-tdfa-text")
9408 (synopsis "Text interface for regex-tdfa")
9409 (description
9410 "This provides an extra text interface for regex-tdfa.")
9411 (license license:bsd-3)))
9412
9413(define-public ghc-rerebase
9414 (package
9415 (name "ghc-rerebase")
cdec7b8c 9416 (version "1.3.1.1")
dddbc90c
RV
9417 (source
9418 (origin
9419 (method url-fetch)
9420 (uri (string-append
9421 "https://hackage.haskell.org/package/rerebase/rerebase-"
9422 version ".tar.gz"))
9423 (sha256
9424 (base32
cdec7b8c 9425 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
9426 (build-system haskell-build-system)
9427 (inputs
9428 `(("ghc-rebase" ,ghc-rebase)))
9429 (home-page "https://github.com/nikita-volkov/rerebase")
9430 (synopsis "Reexports from ``base'' with many other standard libraries")
9431 (description "A rich drop-in replacement for @code{base}. For details and
9432documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
9433the project's home page}.")
9434 (license license:expat)))
9435
9436(define-public ghc-resolv
9437 (package
9438 (name "ghc-resolv")
87309478 9439 (version "0.1.1.2")
dddbc90c
RV
9440 (source
9441 (origin
9442 (method url-fetch)
9443 (uri (string-append
9444 "https://hackage.haskell.org/package/resolv/resolv-"
9445 version ".tar.gz"))
9446 (sha256
9447 (base32
87309478 9448 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
9449 (build-system haskell-build-system)
9450 (arguments
87309478
TS
9451 `(#:phases
9452 (modify-phases %standard-phases
9453 (add-before 'configure 'update-constraints
9454 (lambda _
9455 (substitute* "resolv.cabal"
9456 (("tasty >= 1\\.1 && < 1\\.2")
9457 "tasty >= 1.1 && < 1.3"))
9458 #t)))))
dddbc90c
RV
9459 (inputs
9460 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
9461 (native-inputs
9462 `(("ghc-tasty" ,ghc-tasty)
9463 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
9464 (home-page "https://github.com/haskell/hackage-security")
9465 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
9466 (description "This package implements an API for accessing the
9467@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
9468resolver service via the standard @code{libresolv} system library (whose
9469API is often available directly via the standard @code{libc} C library) on
9470Unix systems.")
9471 (license license:gpl3)))
9472
9473(define-public ghc-resource-pool
9474 (package
9475 (name "ghc-resource-pool")
9476 (version "0.2.3.2")
9477 (source
9478 (origin
9479 (method url-fetch)
9480 (uri (string-append "https://hackage.haskell.org/package/"
9481 "resource-pool-" version "/"
9482 "resource-pool-" version ".tar.gz"))
9483 (sha256
9484 (base32
9485 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9486 (build-system haskell-build-system)
9487 (inputs `(("ghc-hashable" ,ghc-hashable)
9488 ("ghc-monad-control" ,ghc-monad-control)
9489 ("ghc-transformers-base" ,ghc-transformers-base)
9490 ("ghc-vector" ,ghc-vector)))
9491 (home-page "https://github.com/bos/pool")
9492 (synopsis "Striped resource pooling implementation in Haskell")
9493 (description "This Haskell package provides striped pooling abstraction
9494for managing flexibly-sized collections of resources such as database
9495connections.")
9496 (license license:bsd-3)))
9497
9498(define-public ghc-resourcet
9499 (package
9500 (name "ghc-resourcet")
9ac341ac 9501 (version "1.2.2")
dddbc90c
RV
9502 (source
9503 (origin
9504 (method url-fetch)
9505 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
9506 "resourcet-" version ".tar.gz"))
9507 (sha256
9508 (base32
9ac341ac 9509 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
9510 (build-system haskell-build-system)
9511 (inputs
9512 `(("ghc-transformers-base" ,ghc-transformers-base)
9513 ("ghc-monad-control" ,ghc-monad-control)
9514 ("ghc-transformers-compat" ,ghc-transformers-compat)
9515 ("ghc-mmorph" ,ghc-mmorph)
9516 ("ghc-exceptions" ,ghc-exceptions)
9517 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9518 (native-inputs
9519 `(("ghc-lifted-base" ,ghc-lifted-base)
9520 ("ghc-hspec" ,ghc-hspec)))
9521 (home-page "https://github.com/snoyberg/conduit")
9522 (synopsis "Deterministic allocation and freeing of scarce resources")
9523 (description "ResourceT is a monad transformer which creates a region of
9524code where you can safely allocate resources.")
9525 (license license:bsd-3)))
9526
b9debc37
TS
9527(define-public ghc-retry
9528 (package
9529 (name "ghc-retry")
9530 (version "0.8.1.0")
9531 (source
9532 (origin
9533 (method url-fetch)
9534 (uri (string-append "https://hackage.haskell.org/package/"
9535 "retry/retry-" version ".tar.gz"))
9536 (sha256
9537 (base32
9538 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
9539 (build-system haskell-build-system)
9540 (inputs
9541 `(("ghc-exceptions" ,ghc-exceptions)
9542 ("ghc-random" ,ghc-random)))
9543 (native-inputs
9544 `(("ghc-hunit" ,ghc-hunit)
9545 ("ghc-tasty" ,ghc-tasty)
9546 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9547 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
9548 ("ghc-hedgehog" ,ghc-hedgehog)))
9549 (home-page "http://github.com/Soostone/retry")
9550 (synopsis "Retry combinators for monadic actions that may fail")
9551 (description "This package exposes combinators that can wrap
9552arbitrary monadic actions. They run the action and potentially retry
9553running it with some configurable delay for a configurable number of
9554times. The purpose is to make it easier to work with IO and especially
9555network IO actions that often experience temporary failure and warrant
9556retrying of the original action. For example, a database query may time
9557out for a while, in which case we should hang back for a bit and retry
9558the query instead of simply raising an exception.")
9559 (license license:bsd-3)))
9560
dddbc90c
RV
9561(define-public ghc-rfc5051
9562 (package
9563 (name "ghc-rfc5051")
ec42ab7c 9564 (version "0.1.0.4")
dddbc90c
RV
9565 (source
9566 (origin
9567 (method url-fetch)
9568 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
9569 "rfc5051-" version ".tar.gz"))
9570 (sha256
9571 (base32
ec42ab7c 9572 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
9573 (build-system haskell-build-system)
9574 (home-page "https://hackage.haskell.org/package/rfc5051")
9575 (synopsis "Simple unicode collation as per RFC5051")
9576 (description
9577 "This library implements @code{unicode-casemap}, the simple, non
9578locale-sensitive unicode collation algorithm described in RFC 5051. Proper
9579unicode collation can be done using @code{text-icu}, but that is a big
9580dependency that depends on a large C library, and @code{rfc5051} might be
9581better for some purposes.")
9582 (license license:bsd-3)))
9583
9584(define-public ghc-rio
9585 (package
9586 (name "ghc-rio")
8bda2fa7 9587 (version "0.1.12.0")
dddbc90c
RV
9588 (source
9589 (origin
9590 (method url-fetch)
9591 (uri (string-append
9592 "https://hackage.haskell.org/package/rio/rio-"
9593 version ".tar.gz"))
9594 (sha256
9595 (base32
8bda2fa7 9596 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
9597 (build-system haskell-build-system)
9598 (inputs
9599 `(("ghc-exceptions" ,ghc-exceptions)
9600 ("ghc-hashable" ,ghc-hashable)
9601 ("ghc-microlens" ,ghc-microlens)
9602 ("ghc-primitive" ,ghc-primitive)
9603 ("ghc-typed-process" ,ghc-typed-process)
9604 ("ghc-unliftio" ,ghc-unliftio)
9605 ("ghc-unordered-containers" ,ghc-unordered-containers)
9606 ("ghc-vector" ,ghc-vector)))
9607 (native-inputs
9608 `(("ghc-hspec" ,ghc-hspec)
9609 ("hspec-discover" ,hspec-discover)))
9610 (home-page "https://github.com/commercialhaskell/rio#readme")
9611 (synopsis "A standard library for Haskell")
9612 (description "This package works as a prelude replacement for Haskell,
9613providing more functionality and types out of the box than the standard
9614prelude (such as common data types like @code{ByteString} and
9615@code{Text}), as well as removing common ``gotchas'', like partial
9616functions and lazy I/O. The guiding principle here is:
9617@itemize
9618@item If something is safe to use in general and has no expected naming
9619conflicts, expose it.
9620@item If something should not always be used, or has naming conflicts,
9621expose it from another module in the hierarchy.
9622@end itemize")
9623 (license license:expat)))
9624
9625(define-public ghc-safe
9626 (package
9627 (name "ghc-safe")
9628 (version "0.3.17")
9629 (source
9630 (origin
9631 (method url-fetch)
9632 (uri (string-append
9633 "https://hackage.haskell.org/package/safe/safe-"
9634 version
9635 ".tar.gz"))
9636 (sha256
9637 (base32
9638 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
9639 (build-system haskell-build-system)
9640 (native-inputs
9641 `(("ghc-quickcheck" ,ghc-quickcheck)))
9642 (home-page "https://github.com/ndmitchell/safe#readme")
9643 (synopsis "Library of safe (exception free) functions")
9644 (description "This library provides wrappers around @code{Prelude} and
9645@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
9646exceptions.")
9647 (license license:bsd-3)))
9648
9649(define-public ghc-safe-exceptions
9650 (package
9651 (name "ghc-safe-exceptions")
9652 (version "0.1.7.0")
9653 (source
9654 (origin
9655 (method url-fetch)
9656 (uri (string-append "https://hackage.haskell.org/package/"
9657 "safe-exceptions/safe-exceptions-"
9658 version ".tar.gz"))
9659 (sha256
9660 (base32
9661 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
9662 (build-system haskell-build-system)
9663 (arguments
9664 '(#:cabal-revision
9665 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
9666 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
9667 (native-inputs
9668 `(("ghc-hspec" ,ghc-hspec)
9669 ("ghc-void" ,ghc-void)
9670 ("hspec-discover" ,hspec-discover)))
9671 (home-page "https://github.com/fpco/safe-exceptions")
9672 (synopsis "Safe, consistent, and easy exception handling")
9673 (description "Runtime exceptions - as exposed in @code{base} by the
9674@code{Control.Exception} module - have long been an intimidating part of the
9675Haskell ecosystem. This package is intended to overcome this. It provides a
9676safe and simple API on top of the existing exception handling machinery. The
9677API is equivalent to the underlying implementation in terms of power but
9678encourages best practices to minimize the chances of getting the exception
9679handling wrong.")
9680 (license license:expat)))
9681
9682(define-public ghc-safeio
9683 (package
9684 (name "ghc-safeio")
9685 (version "0.0.5.0")
9686 (source
9687 (origin
9688 (method url-fetch)
9689 (uri (string-append "https://hackage.haskell.org/package/safeio/"
9690 "safeio-" version ".tar.gz"))
9691 (sha256
9692 (base32
9693 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
9694 (build-system haskell-build-system)
9695 (inputs
9696 `(("ghc-conduit" ,ghc-conduit)
9697 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
9698 ("ghc-exceptions" ,ghc-exceptions)
9699 ("ghc-resourcet" ,ghc-resourcet)))
9700 (native-inputs
9701 `(("ghc-hunit" ,ghc-hunit)
9702 ("ghc-test-framework" ,ghc-test-framework)
9703 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9704 ("ghc-test-framework-th" ,ghc-test-framework-th)))
9705 (home-page "https://github.com/luispedro/safeio")
9706 (synopsis "Write output to disk atomically")
9707 (description
9708 "This package implements utilities to perform atomic output so as to
9709avoid the problem of partial intermediate files.")
9710 (license license:expat)))
9711
9712(define-public ghc-safesemaphore
9713 (package
9714 (name "ghc-safesemaphore")
9715 (version "0.10.1")
9716 (source
9717 (origin
9718 (method url-fetch)
9719 (uri (string-append "https://hackage.haskell.org/package/"
9720 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
9721 (sha256
9722 (base32
9723 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
9724 (build-system haskell-build-system)
9725 (native-inputs
9726 `(("ghc-hunit" ,ghc-hunit)))
9727 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
9728 (synopsis "Exception safe semaphores")
9729 (description "This library provides exception safe semaphores that can be
9730used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
9731are not exception safe and can be broken by @code{killThread}.")
9732 (license license:bsd-3)))
9733
9734(define-public ghc-sandi
9735 (package
9736 (name "ghc-sandi")
b867c2b0 9737 (version "0.5")
dddbc90c
RV
9738 (source
9739 (origin
9740 (method url-fetch)
9741 (uri (string-append
9742 "https://hackage.haskell.org/package/sandi/sandi-"
9743 version ".tar.gz"))
9744 (sha256
9745 (base32
b867c2b0 9746 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
9747 (build-system haskell-build-system)
9748 (inputs
9749 `(("ghc-stringsearch" ,ghc-stringsearch)
9750 ("ghc-conduit" ,ghc-conduit)
9751 ("ghc-exceptions" ,ghc-exceptions)
9752 ("ghc-hunit" ,ghc-hunit)
9753 ("ghc-tasty" ,ghc-tasty)
9754 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9755 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9756 ("ghc-tasty-th" ,ghc-tasty-th)))
9757 (home-page "https://hackage.haskell.org/package/sandi")
9758 (synopsis "Data encoding library")
9759 (description "Reasonably fast data encoding library.")
9760 (license license:bsd-3)))
9761
4da75228
ASM
9762(define-public ghc-say
9763 (package
9764 (name "ghc-say")
9765 (version "0.1.0.1")
9766 (source
9767 (origin
9768 (method url-fetch)
9769 (uri (string-append
9770 "https://hackage.haskell.org/package/say/say-"
9771 version
9772 ".tar.gz"))
9773 (sha256
9774 (base32
9775 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
9776 (build-system haskell-build-system)
9777 (native-inputs
9778 `(("ghc-hspec" ,ghc-hspec)
9779 ("hspec-discover" ,hspec-discover)
9780 ("ghc-unliftio" ,ghc-unliftio)))
9781 (home-page "https://github.com/fpco/say")
9782 (synopsis
9783 "Send textual messages to a Handle in a thread-friendly way")
9784 (description
9785 "A thread safe API to write a line of textual data to a Handle, such
9786as sending some messages to the terminal - that has the following properties:
9787@itemize
9788@item Properly handle character encoding settings on the Handle
9789@item For reasonably sized messages, ensure that the entire message is written
9790 in one chunk to avoid interleaving data with other threads
9791@item Avoid unnecessary memory allocations and copies
9792@item Minimize locking.
9793@end itemize")
9794 (license license:expat)))
9795
dddbc90c
RV
9796(define-public ghc-scientific
9797 (package
9798 (name "ghc-scientific")
9799 (version "0.3.6.2")
9800 (source
9801 (origin
9802 (method url-fetch)
9803 (uri (string-append
9804 "https://hackage.haskell.org/package/scientific/scientific-"
9805 version
9806 ".tar.gz"))
9807 (sha256
9808 (base32
9809 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
9810 (build-system haskell-build-system)
9811 (inputs
9812 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
9813 ("ghc-hashable" ,ghc-hashable)
9814 ("ghc-primitive" ,ghc-primitive)))
9815 (native-inputs
9816 `(("ghc-tasty" ,ghc-tasty)
9817 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
9818 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9819 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9820 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9821 ("ghc-smallcheck" ,ghc-smallcheck)
9822 ("ghc-quickcheck" ,ghc-quickcheck)))
9823 (home-page "https://github.com/basvandijk/scientific")
9824 (synopsis "Numbers represented using scientific notation")
9825 (description "This package provides @code{Data.Scientific}, which provides
9826the number type @code{Scientific}. Scientific numbers are arbitrary precision
9827and space efficient. They are represented using
9828@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
9829notation}.")
9830 (license license:bsd-3)))
9831
9832(define-public ghc-scientific-bootstrap
9833 (package
9834 (inherit ghc-scientific)
9835 (name "ghc-scientific-bootstrap")
9836 (arguments `(#:tests? #f))
9837 (inputs
9838 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
9839 ("ghc-hashable" ,ghc-hashable)
9840 ("ghc-primitive" ,ghc-primitive)))
9841 (native-inputs '())
799d8d3c 9842 (properties '((hidden? #t)))))
dddbc90c
RV
9843
9844(define-public ghc-sdl
9845 (package
9846 (name "ghc-sdl")
9847 (version "0.6.7.0")
9848 (source
9849 (origin
9850 (method url-fetch)
9851 (uri (string-append
9852 "https://hackage.haskell.org/package/SDL/SDL-"
9853 version
9854 ".tar.gz"))
9855 (sha256
9856 (base32
9857 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
9858 (build-system haskell-build-system)
9859 (inputs
9860 `(("sdl" ,sdl)))
9861 (home-page "https://hackage.haskell.org/package/SDL")
9862 (synopsis "LibSDL for Haskell")
9863 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
9864multimedia library designed to provide low level access to audio, keyboard,
9865mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
9866by MPEG playback software, emulators, and many popular games, including the
9867award winning Linux port of \"Civilization: Call To Power.\"")
9868 (license license:bsd-3)))
9869
1874cdc1
RV
9870(define-public ghc-sdl2
9871 (package
9872 (name "ghc-sdl2")
145148ca 9873 (version "2.5.0.0")
1874cdc1
RV
9874 (source
9875 (origin
9876 (method url-fetch)
9877 (uri (string-append "https://hackage.haskell.org/package/"
9878 "sdl2/sdl2-" version ".tar.gz"))
9879 (sha256
9880 (base32
145148ca 9881 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
9882 (build-system haskell-build-system)
9883 (arguments '(#:tests? #f)) ; tests require graphical environment
9884 (inputs
9885 `(("ghc-exceptions" ,ghc-exceptions)
9886 ("ghc-linear" ,ghc-linear)
9887 ("ghc-statevar" ,ghc-statevar)
9888 ("ghc-vector" ,ghc-vector)
9889 ("sdl2" ,sdl2)))
9890 (native-inputs
9891 `(("ghc-weigh" ,ghc-weigh)
9892 ("pkg-config" ,pkg-config)))
35437dbf 9893 (home-page "https://hackage.haskell.org/package/sdl2")
1874cdc1
RV
9894 (synopsis "High- and low-level bindings to the SDL library")
9895 (description
9896 "This package contains bindings to the SDL 2 library, in both high- and
9897low-level forms. The @code{SDL} namespace contains high-level bindings, where
9898enumerations are split into sum types, and we perform automatic
9899error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
9900translation of the C API into Haskell FFI calls. As such, this does not
9901contain sum types nor error checking. Thus this namespace is suitable for
9902building your own abstraction over SDL, but is not recommended for day-to-day
9903programming.")
9904 (license license:bsd-3)))
9905
9906(define-public ghc-sdl2-image
9907 (package
9908 (name "ghc-sdl2-image")
9909 (version "2.0.0")
9910 (source
9911 (origin
9912 (method url-fetch)
9913 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
9914 "sdl2-image-" version ".tar.gz"))
9915 (sha256
9916 (base32
9917 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
9918 (build-system haskell-build-system)
9919 (inputs
9920 `(("ghc-sdl2" ,ghc-sdl2)
9921 ("sdl2-image" ,sdl2-image)))
9922 (native-inputs
9923 `(("pkg-config" ,pkg-config)))
9924 (home-page "http://hackage.haskell.org/package/sdl2-image")
9925 (synopsis "Bindings to SDL2_image")
9926 (description "This package provides Haskell bindings to
9927@code{SDL2_image}.")
9928 (license license:expat)))
9929
9930(define-public ghc-sdl2-mixer
9931 (package
9932 (name "ghc-sdl2-mixer")
9933 (version "1.1.0")
9934 (source
9935 (origin
9936 (method url-fetch)
9937 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
9938 "sdl2-mixer-" version ".tar.gz"))
9939 (sha256
9940 (base32
9941 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
9942 (build-system haskell-build-system)
9943 (inputs
9944 `(("ghc-data-default-class" ,ghc-data-default-class)
9945 ("ghc-lifted-base" ,ghc-lifted-base)
9946 ("ghc-monad-control" ,ghc-monad-control)
9947 ("ghc-sdl2" ,ghc-sdl2)
9948 ("ghc-vector" ,ghc-vector)
9949 ("sdl2-mixer" ,sdl2-mixer)))
9950 (native-inputs
9951 `(("pkg-config" ,pkg-config)))
9952 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
9953 (synopsis "Bindings to SDL2 mixer")
9954 (description "This package provides Haskell bindings to
9955@code{SDL2_mixer}.")
9956 (license license:bsd-3)))
9957
dddbc90c
RV
9958(define-public ghc-sdl-image
9959 (package
9960 (name "ghc-sdl-image")
9961 (version "0.6.2.0")
9962 (source
9963 (origin
9964 (method url-fetch)
9965 (uri (string-append
9966 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
9967 version
9968 ".tar.gz"))
9969 (sha256
9970 (base32
9971 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
9972 (build-system haskell-build-system)
9973 (arguments
9974 `(#:configure-flags
9975 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
9976 (sdl-image-include (string-append sdl-image "/include/SDL")))
9977 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
9978 (inputs
9979 `(("ghc-sdl" ,ghc-sdl)
9980 ("sdl-image" ,sdl-image)))
9981 (home-page "https://hackage.haskell.org/package/SDL-image")
9982 (synopsis "Haskell bindings to libSDL_image")
9983 (description "SDL_image is an image file loading library. It loads images
9984as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
9985PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
9986 (license license:bsd-3)))
9987
9988(define-public ghc-sdl-mixer
9989 (package
9990 (name "ghc-sdl-mixer")
9991 (version "0.6.3.0")
9992 (source
9993 (origin
9994 (method url-fetch)
9995 (uri (string-append
9996 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
9997 version
9998 ".tar.gz"))
9999 (sha256
10000 (base32
10001 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
10002 (build-system haskell-build-system)
10003 (arguments
10004 `(#:configure-flags
10005 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
10006 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
10007 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
10008 (inputs
10009 `(("ghc-sdl" ,ghc-sdl)
10010 ("sdl-mixer" ,sdl-mixer)))
10011 (home-page "https://hackage.haskell.org/package/SDL-mixer")
10012 (synopsis "Haskell bindings to libSDL_mixer")
10013 (description "SDL_mixer is a sample multi-channel audio mixer library. It
10014supports any number of simultaneously playing channels of 16 bit stereo audio,
10015plus a single channel of music, mixed by the popular MikMod MOD, Timidity
10016MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
10017 (license license:bsd-3)))
10018
10019(define-public ghc-securemem
10020 (package
10021 (name "ghc-securemem")
10022 (version "0.1.10")
10023 (source
10024 (origin
10025 (method url-fetch)
10026 (uri (string-append "https://hackage.haskell.org/package/"
10027 "securemem-" version "/"
10028 "securemem-" version ".tar.gz"))
10029 (sha256
10030 (base32
10031 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
10032 (build-system haskell-build-system)
10033 (inputs `(("ghc-byteable" ,ghc-byteable)
10034 ("ghc-memory" ,ghc-memory)))
10035 (home-page "https://github.com/vincenthz/hs-securemem")
10036 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
10037Haskell")
10038 (description "SecureMem is similar to ByteString, except that it provides
10039a memory chunk that will be auto-scrubbed after it run out of scope.")
10040 (license license:bsd-3)))
10041
10042(define-public ghc-semigroupoids
10043 (package
10044 (name "ghc-semigroupoids")
a8aaadf2 10045 (version "5.3.3")
dddbc90c
RV
10046 (source
10047 (origin
10048 (method url-fetch)
10049 (uri (string-append
10050 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
10051 version
10052 ".tar.gz"))
10053 (sha256
10054 (base32
a8aaadf2 10055 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 10056 (build-system haskell-build-system)
dddbc90c
RV
10057 (inputs
10058 `(("ghc-base-orphans" ,ghc-base-orphans)
10059 ("ghc-transformers-compat" ,ghc-transformers-compat)
10060 ("ghc-bifunctors" ,ghc-bifunctors)
10061 ("ghc-comonad" ,ghc-comonad)
10062 ("ghc-contravariant" ,ghc-contravariant)
10063 ("ghc-distributive" ,ghc-distributive)
10064 ("ghc-hashable" ,ghc-hashable)
10065 ("ghc-semigroups" ,ghc-semigroups)
10066 ("ghc-tagged" ,ghc-tagged)
10067 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10068 (native-inputs
10069 `(("cabal-doctest" ,cabal-doctest)
10070 ("ghc-doctest" ,ghc-doctest)))
10071 (home-page "https://github.com/ekmett/semigroupoids")
10072 (synopsis "Semigroupoids operations for Haskell")
10073 (description "This library provides a wide array of (semi)groupoids and
10074operations for working with them. A @code{Semigroupoid} is a @code{Category}
10075without the requirement of identity arrows for every object in the category.
10076A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
10077Finally, to work with these weaker structures it is beneficial to have
10078containers that can provide stronger guarantees about their contents, so
10079versions of @code{Traversable} and @code{Foldable} that can be folded with
10080just a @code{Semigroup} are added.")
10081 (license license:bsd-3)))
10082
10083(define-public ghc-semigroups
10084 (package
10085 (name "ghc-semigroups")
10086 (version "0.18.5")
10087 (source
10088 (origin
10089 (method url-fetch)
10090 (uri (string-append
10091 "https://hackage.haskell.org/package/semigroups/semigroups-"
10092 version
10093 ".tar.gz"))
10094 (sha256
10095 (base32
10096 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
10097 (build-system haskell-build-system)
10098 (inputs
10099 `(("ghc-nats" ,ghc-nats)
10100 ("ghc-tagged" ,ghc-tagged)
10101 ("ghc-unordered-containers" ,ghc-unordered-containers)
10102 ("ghc-hashable" ,ghc-hashable)))
10103 (home-page "https://github.com/ekmett/semigroups/")
10104 (synopsis "Semigroup operations for Haskell")
10105 (description "This package provides semigroups for Haskell. In
10106mathematics, a semigroup is an algebraic structure consisting of a set
10107together with an associative binary operation. A semigroup generalizes a
10108monoid in that there might not exist an identity element. It
10109also (originally) generalized a group (a monoid with all inverses) to a type
10110where every element did not have to have an inverse, thus the name
10111semigroup.")
10112 (license license:bsd-3)))
10113
10114(define-public ghc-semigroups-bootstrap
10115 (package
10116 (inherit ghc-semigroups)
10117 (name "ghc-semigroups-bootstrap")
10118 (inputs
10119 `(("ghc-nats" ,ghc-nats-bootstrap)
10120 ("ghc-tagged" ,ghc-tagged)
10121 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
10122 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 10123 (properties '((hidden? #t)))))
dddbc90c
RV
10124
10125(define-public ghc-setenv
10126 (package
10127 (name "ghc-setenv")
10128 (version "0.1.1.3")
10129 (source
10130 (origin
10131 (method url-fetch)
10132 (uri (string-append
10133 "https://hackage.haskell.org/package/setenv/setenv-"
10134 version
10135 ".tar.gz"))
10136 (sha256
10137 (base32
10138 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
10139 (build-system haskell-build-system)
10140 (home-page "https://hackage.haskell.org/package/setenv")
10141 (synopsis "Library for setting environment variables")
10142 (description "This package provides a Haskell library for setting
10143environment variables.")
10144 (license license:expat)))
10145
10146(define-public ghc-setlocale
10147 (package
10148 (name "ghc-setlocale")
9d7cfc9b 10149 (version "1.0.0.9")
dddbc90c
RV
10150 (source (origin
10151 (method url-fetch)
10152 (uri (string-append
10153 "https://hackage.haskell.org/package/setlocale-"
10154 version "/setlocale-" version ".tar.gz"))
10155 (sha256
10156 (base32
9d7cfc9b 10157 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
10158 (build-system haskell-build-system)
10159 (home-page "https://hackage.haskell.org/package/setlocale")
10160 (synopsis "Haskell bindings to setlocale")
10161 (description "This package provides Haskell bindings to the
10162@code{setlocale} C function.")
10163 (license license:bsd-3)))
10164
10165(define-public ghc-shakespeare
10166 (package
10167 (name "ghc-shakespeare")
f680955f 10168 (version "2.0.22")
dddbc90c
RV
10169 (source
10170 (origin
10171 (method url-fetch)
10172 (uri (string-append "https://hackage.haskell.org/package/"
10173 "shakespeare-" version "/"
10174 "shakespeare-" version ".tar.gz"))
10175 (sha256
10176 (base32
f680955f 10177 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
10178 (build-system haskell-build-system)
10179 (inputs `(("ghc-aeson" ,ghc-aeson)
10180 ("ghc-blaze-markup" ,ghc-blaze-markup)
10181 ("ghc-blaze-html" ,ghc-blaze-html)
10182 ("ghc-exceptions" ,ghc-exceptions)
10183 ("ghc-vector" ,ghc-vector)
10184 ("ghc-unordered-containers" ,ghc-unordered-containers)
10185 ("ghc-scientific" ,ghc-scientific)))
10186 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10187 ("ghc-hunit" ,ghc-hunit)
10188 ("hspec-discover" ,hspec-discover)))
10189 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
10190 (synopsis "Family of type-safe template languages for Haskell")
10191 (description "This Haskell package provides a family of type-safe
10192templates with simple variable interpolation. Shakespeare templates can
10193be used inline with a quasi-quoter or in an external file and it
10194interpolates variables according to the type being inserted.")
10195 (license license:expat)))
10196
10197(define-public ghc-shelly
10198 (package
10199 (name "ghc-shelly")
10200 (version "1.8.1")
10201 (source
10202 (origin
10203 (method url-fetch)
10204 (uri (string-append
10205 "https://hackage.haskell.org/package/shelly/shelly-"
10206 version ".tar.gz"))
10207 (sha256
10208 (base32
10209 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
10210 (build-system haskell-build-system)
10211 (inputs
10212 `(("ghc-unix-compat" ,ghc-unix-compat)
10213 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10214 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
10215 ("ghc-monad-control" ,ghc-monad-control)
10216 ("ghc-lifted-base" ,ghc-lifted-base)
10217 ("ghc-lifted-async" ,ghc-lifted-async)
10218 ("ghc-exceptions" ,ghc-exceptions)
10219 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
10220 ("ghc-async" ,ghc-async)
10221 ("ghc-transformers-base" ,ghc-transformers-base)
10222 ("ghc-hunit" ,ghc-hunit)
10223 ("ghc-hspec" ,ghc-hspec)
10224 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
10225 (home-page "https://github.com/yesodweb/Shelly.hs")
10226 (synopsis "Shell-like (systems) programming in Haskell")
10227 (description
10228 "Shelly provides convenient systems programming in Haskell, similar in
10229spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
10230 (license license:bsd-3)))
10231
10232(define-public ghc-silently
10233 (package
10234 (name "ghc-silently")
544bb369 10235 (version "1.2.5.1")
dddbc90c
RV
10236 (source
10237 (origin
10238 (method url-fetch)
10239 (uri (string-append
10240 "https://hackage.haskell.org/package/silently/silently-"
10241 version
10242 ".tar.gz"))
10243 (sha256
10244 (base32
544bb369 10245 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
10246 (build-system haskell-build-system)
10247 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
10248 ;; (inputs
10249 ;; `(("ghc-temporary" ,ghc-temporary)))
10250 (home-page "https://github.com/hspec/silently")
10251 (synopsis "Prevent writing to stdout")
10252 (description "This package provides functions to prevent or capture
10253writing to stdout and other handles.")
10254 (license license:bsd-3)))
10255
10256(define-public ghc-simple-reflect
10257 (package
10258 (name "ghc-simple-reflect")
10259 (version "0.3.3")
10260 (source
10261 (origin
10262 (method url-fetch)
10263 (uri (string-append
10264 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
10265 version
10266 ".tar.gz"))
10267 (sha256
10268 (base32
10269 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
10270 (build-system haskell-build-system)
10271 (home-page
10272 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
10273 (synopsis
10274 "Simple reflection of expressions containing variables")
10275 (description
10276 "This package allows simple reflection of expressions containing
10277variables. Reflection here means that a Haskell expression is turned into a
10278string. The primary aim of this package is teaching and understanding; there
10279are no options for manipulating the reflected expressions beyond showing
10280them.")
10281 (license license:bsd-3)))
10282
10283(define-public ghc-simple-sendfile
10284 (package
10285 (name "ghc-simple-sendfile")
08f54390 10286 (version "0.2.30")
dddbc90c
RV
10287 (source
10288 (origin
10289 (method url-fetch)
10290 (uri (string-append "https://hackage.haskell.org/package/"
10291 "simple-sendfile-" version "/"
10292 "simple-sendfile-" version ".tar.gz"))
10293 (sha256
10294 (base32
08f54390 10295 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
10296 (build-system haskell-build-system)
10297 (inputs
10298 `(("ghc-conduit" ,ghc-conduit)
10299 ("ghc-conduit-extra" ,ghc-conduit-extra)
10300 ("ghc-network" ,ghc-network)
10301 ("ghc-resourcet" ,ghc-resourcet)))
10302 (native-inputs
10303 `(("ghc-hspec" ,ghc-hspec)
10304 ("hspec-discover" ,hspec-discover)))
10305 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
10306 (synopsis "Cross platform library for the sendfile system call")
10307 (description "This library tries to call minimum system calls which
10308are the bottleneck of web servers.")
10309 (license license:bsd-3)))
10310
06966c05
TS
10311(define-public ghc-size-based
10312 (package
10313 (name "ghc-size-based")
10314 (version "0.1.2.0")
10315 (source
10316 (origin
10317 (method url-fetch)
10318 (uri (string-append "https://hackage.haskell.org/package/"
10319 "size-based/size-based-" version ".tar.gz"))
10320 (sha256
10321 (base32
10322 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
10323 (build-system haskell-build-system)
10324 (inputs
10325 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
10326 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
10327 ("ghc-semigroups" ,ghc-semigroups)))
10328 (arguments
10329 `(#:cabal-revision
10330 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
10331 (home-page "https://hackage.haskell.org/package/size-based")
10332 (synopsis "Sized functors for size-based enumerations")
10333 (description "This library provides a framework for size-based
10334enumerations.")
10335 (license license:bsd-3)))
10336
dddbc90c
RV
10337(define-public ghc-skylighting-core
10338 (package
10339 (name "ghc-skylighting-core")
1826c2a8 10340 (version "0.8.2.1")
dddbc90c
RV
10341 (source (origin
10342 (method url-fetch)
10343 (uri (string-append "https://hackage.haskell.org/package/"
10344 "skylighting-core/skylighting-core-"
10345 version ".tar.gz"))
10346 (sha256
10347 (base32
1826c2a8 10348 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
10349 (build-system haskell-build-system)
10350 (inputs
10351 `(("ghc-aeson" ,ghc-aeson)
10352 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10353 ("ghc-attoparsec" ,ghc-attoparsec)
10354 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
10355 ("ghc-blaze-html" ,ghc-blaze-html)
10356 ("ghc-case-insensitive" ,ghc-case-insensitive)
10357 ("ghc-colour" ,ghc-colour)
10358 ("ghc-hxt" ,ghc-hxt)
10359 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10360 ("ghc-safe" ,ghc-safe)
10361 ("ghc-utf8-string" ,ghc-utf8-string)))
10362 (native-inputs
10363 `(("ghc-diff" ,ghc-diff)
10364 ("ghc-hunit" ,ghc-hunit)
10365 ("ghc-pretty-show" ,ghc-pretty-show)
10366 ("ghc-quickcheck" ,ghc-quickcheck)
10367 ("ghc-tasty" ,ghc-tasty)
10368 ("ghc-tasty-golden" ,ghc-tasty-golden)
10369 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10370 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10371 (home-page "https://github.com/jgm/skylighting")
10372 (synopsis "Syntax highlighting library")
10373 (description "Skylighting is a syntax highlighting library with support
10374for over one hundred languages. It derives its tokenizers from XML syntax
10375definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
10376supported by that framework can be added. An optional command-line program is
10377provided. Skylighting is intended to be the successor to highlighting-kate.")
10378 (license license:gpl2)))
10379
10380(define-public ghc-skylighting
10381 (package
10382 (inherit ghc-skylighting-core)
10383 (name "ghc-skylighting")
36c940cf 10384 (version "0.8.2.1")
dddbc90c
RV
10385 (source (origin
10386 (method url-fetch)
10387 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
10388 version "/skylighting-" version ".tar.gz"))
10389 (sha256
10390 (base32
36c940cf 10391 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
10392 (inputs
10393 `(("ghc-skylighting-core" ,ghc-skylighting-core)
10394 ,@(package-inputs ghc-skylighting-core)))))
10395
10396(define-public ghc-smallcheck
10397 (package
10398 (name "ghc-smallcheck")
10399 (version "1.1.5")
10400 (source
10401 (origin
10402 (method url-fetch)
10403 (uri (string-append
10404 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
10405 version
10406 ".tar.gz"))
10407 (sha256
10408 (base32
10409 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
10410 (build-system haskell-build-system)
10411 (inputs
10412 `(("ghc-logict" ,ghc-logict)))
10413 (home-page
10414 "https://github.com/feuerbach/smallcheck")
10415 (synopsis "Property-based testing library")
10416 (description "SmallCheck is a testing library that allows to verify
10417properties for all test cases up to some depth. The test cases are generated
10418automatically by SmallCheck.")
10419 (license license:bsd-3)))
10420
10421(define-public ghc-socks
10422 (package
10423 (name "ghc-socks")
ab761e9d 10424 (version "0.6.1")
dddbc90c
RV
10425 (source (origin
10426 (method url-fetch)
10427 (uri (string-append "https://hackage.haskell.org/package/"
10428 "socks/socks-" version ".tar.gz"))
10429 (sha256
10430 (base32
ab761e9d 10431 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
10432 (build-system haskell-build-system)
10433 (inputs
10434 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 10435 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
10436 ("ghc-network" ,ghc-network)))
10437 (home-page "https://github.com/vincenthz/hs-socks")
10438 (synopsis "SOCKS proxy (version 5) implementation")
10439 (description
10440 "This library provides a SOCKS proxy (version 5) implementation.")
10441 (license license:bsd-3)))
10442
081d85d6
TS
10443(define-public ghc-sop-core
10444 (package
10445 (name "ghc-sop-core")
10446 (version "0.4.0.0")
10447 (source
10448 (origin
10449 (method url-fetch)
10450 (uri (string-append "https://hackage.haskell.org/package/"
10451 "sop-core/sop-core-" version ".tar.gz"))
10452 (sha256
10453 (base32
10454 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
10455 (build-system haskell-build-system)
10456 (home-page "http://hackage.haskell.org/package/sop-core")
10457 (synopsis "True Sums of Products")
10458 (description "This package provides an implementation of
10459@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
10460is the main module of this library and contains more detailed
10461documentation. The main use case of this package is to serve as the
10462core of @url{https://hackage.haskell.org/package/generics-sop,
10463generics-sop}.")
10464 (license license:bsd-3)))
10465
dddbc90c
RV
10466(define-public ghc-split
10467 (package
10468 (name "ghc-split")
10469 (version "0.2.3.3")
10470 (outputs '("out" "doc"))
10471 (source
10472 (origin
10473 (method url-fetch)
10474 (uri (string-append
10475 "https://hackage.haskell.org/package/split/split-"
10476 version
10477 ".tar.gz"))
10478 (sha256
10479 (base32
10480 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
10481 (build-system haskell-build-system)
9bbc21a7
TS
10482 (arguments
10483 `(#:cabal-revision
10484 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
10485 (native-inputs
10486 `(("ghc-quickcheck" ,ghc-quickcheck)))
10487 (home-page "https://hackage.haskell.org/package/split")
10488 (synopsis "Combinator library for splitting lists")
10489 (description "This package provides a collection of Haskell functions for
10490splitting lists into parts, akin to the @code{split} function found in several
10491mainstream languages.")
10492 (license license:bsd-3)))
10493
7799d17f 10494(define-public ghc-splitmix
49367c92 10495 (package
7799d17f 10496 (name "ghc-splitmix")
49367c92
TS
10497 (version "0.0.3")
10498 (source
10499 (origin
10500 (method url-fetch)
10501 (uri (string-append "https://hackage.haskell.org/package/"
10502 "splitmix/splitmix-" version ".tar.gz"))
10503 (sha256
10504 (base32
10505 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 10506 (build-system haskell-build-system)
49367c92
TS
10507 (inputs
10508 `(("ghc-random" ,ghc-random)))
7799d17f
TS
10509 (native-inputs
10510 `(("ghc-hunit" ,ghc-hunit)
10511 ("ghc-async" ,ghc-async)
10512 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
10513 ("ghc-tf-random" ,ghc-tf-random)
10514 ("ghc-vector" ,ghc-vector)))
49367c92
TS
10515 (home-page "http://hackage.haskell.org/package/splitmix")
10516 (synopsis "Fast and splittable pseudorandom number generator")
10517 (description "This package provides a Pure Haskell implementation of the
10518SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
10519pseudorandom number generator that is quite fast: 9 64-bit
10520arithmetic/logical operations per 64 bits generated. SplitMix is tested
10521with two standard statistical test suites (DieHarder and TestU01, this
10522implementation only using the former) and it appears to be adequate for
10523\"everyday\" use, such as Monte Carlo algorithms and randomized data
10524structures where speed is important. In particular, it @strong{should not
10525be used for cryptographic or security applications}, because generated
10526sequences of pseudorandom values are too predictable (the mixing functions
10527are easily inverted, and two successive outputs suffice to reconstruct the
10528internal state).")
10529 (license license:bsd-3)))
10530
7799d17f
TS
10531(define-public ghc-splitmix-bootstrap
10532 (package
10533 (inherit ghc-splitmix)
10534 (name "ghc-splitmix-bootstrap")
10535 (arguments `(#:tests? #f))
10536 (native-inputs '())
10537 (properties '((hidden? #t)))))
10538
dddbc90c
RV
10539(define-public ghc-statevar
10540 (package
10541 (name "ghc-statevar")
19419709 10542 (version "1.2")
dddbc90c
RV
10543 (source
10544 (origin
10545 (method url-fetch)
10546 (uri (string-append
10547 "https://hackage.haskell.org/package/StateVar/StateVar-"
10548 version
10549 ".tar.gz"))
10550 (sha256
10551 (base32
19419709 10552 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
10553 (build-system haskell-build-system)
10554 (home-page "https://hackage.haskell.org/package/StateVar")
10555 (synopsis "State variables for Haskell")
10556 (description "This package provides state variables, which are references
10557in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
10558 (license license:bsd-3)))
10559
10560(define-public ghc-statistics
10561 (package
10562 (name "ghc-statistics")
60e78e68 10563 (version "0.15.1.1")
dddbc90c
RV
10564 (source
10565 (origin
10566 (method url-fetch)
10567 (uri (string-append "https://hackage.haskell.org/package/"
10568 "statistics-" version "/"
10569 "statistics-" version ".tar.gz"))
10570 (sha256
10571 (base32
60e78e68 10572 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
10573 (build-system haskell-build-system)
10574 (arguments
60e78e68 10575 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
10576 #:tests? #f))
10577 (inputs
10578 `(("ghc-aeson" ,ghc-aeson)
60e78e68 10579 ("ghc-async" ,ghc-async)
dddbc90c 10580 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 10581 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
10582 ("ghc-math-functions" ,ghc-math-functions)
10583 ("ghc-monad-par" ,ghc-monad-par)
10584 ("ghc-mwc-random" ,ghc-mwc-random)
10585 ("ghc-primitive" ,ghc-primitive)
10586 ("ghc-vector" ,ghc-vector)
10587 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
10588 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
10589 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
10590 (native-inputs
10591 `(("ghc-hunit" ,ghc-hunit)
10592 ("ghc-quickcheck" ,ghc-quickcheck)
10593 ("ghc-ieee754" ,ghc-ieee754)
10594 ("ghc-test-framework" ,ghc-test-framework)
10595 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10596 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10597 (home-page "https://github.com/bos/mwc-random")
10598 (synopsis "Haskell library of statistical types, data, and functions")
10599 (description "This library provides a number of common functions
10600and types useful in statistics. We focus on high performance, numerical
10601robustness, and use of good algorithms. Where possible, we provide references
10602to the statistical literature.
10603
10604The library's facilities can be divided into four broad categories:
10605
10606@itemize
10607@item Working with widely used discrete and continuous probability
10608distributions. (There are dozens of exotic distributions in use; we focus
10609on the most common.)
10610
10611@item Computing with sample data: quantile estimation, kernel density
10612estimation, histograms, bootstrap methods, significance testing,
10613and regression and autocorrelation analysis.
10614
10615@item Random variate generation under several different distributions.
10616
10617@item Common statistical tests for significant differences between samples.
10618@end itemize")
10619 (license license:bsd-2)))
10620
10621(define-public ghc-stm-chans
10622 (package
10623 (name "ghc-stm-chans")
10624 (version "3.0.0.4")
10625 (source
10626 (origin
10627 (method url-fetch)
10628 (uri (string-append "https://hackage.haskell.org/package/"
10629 "stm-chans-" version "/"
10630 "stm-chans-" version ".tar.gz"))
10631 (sha256
10632 (base32
10633 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
10634 (build-system haskell-build-system)
10635 (home-page "https://hackage.haskell.org/package/stm-chans")
10636 (synopsis "Additional types of channels for ghc-stm")
10637 (description "This Haskell package offers a collection of channel types,
10638similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
10639features.")
10640 (license license:bsd-3)))
10641
10642(define-public ghc-stm-conduit
10643 (package
10644 (name "ghc-stm-conduit")
cd518e95 10645 (version "4.0.1")
dddbc90c
RV
10646 (source
10647 (origin
10648 (method url-fetch)
10649 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
10650 "stm-conduit-" version ".tar.gz"))
10651 (sha256
10652 (base32
cd518e95 10653 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
10654 (build-system haskell-build-system)
10655 (inputs
10656 `(("ghc-stm-chans" ,ghc-stm-chans)
10657 ("ghc-cereal" ,ghc-cereal)
10658 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
10659 ("ghc-conduit" ,ghc-conduit)
10660 ("ghc-conduit-extra" ,ghc-conduit-extra)
10661 ("ghc-exceptions" ,ghc-exceptions)
10662 ("ghc-resourcet" ,ghc-resourcet)
10663 ("ghc-async" ,ghc-async)
10664 ("ghc-monad-loops" ,ghc-monad-loops)
10665 ("ghc-unliftio" ,ghc-unliftio)))
10666 (native-inputs
10667 `(("ghc-doctest" ,ghc-doctest)
10668 ("ghc-quickcheck" ,ghc-quickcheck)
10669 ("ghc-hunit" ,ghc-hunit)
10670 ("ghc-test-framework" ,ghc-test-framework)
10671 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10672 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10673 (home-page "https://github.com/cgaebel/stm-conduit")
10674 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
10675 (description
10676 "This package provides two simple conduit wrappers around STM channels: a
10677source and a sink.")
10678 (license license:bsd-3)))
10679
10680(define-public ghc-stmonadtrans
10681 (package
10682 (name "ghc-stmonadtrans")
10683 (version "0.4.3")
10684 (source
10685 (origin
10686 (method url-fetch)
10687 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
10688 "/STMonadTrans-" version ".tar.gz"))
10689 (sha256
10690 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
10691 (build-system haskell-build-system)
10692 (home-page "https://hackage.haskell.org/package/STMonadTrans")
10693 (synopsis "Monad transformer version of the ST monad")
10694 (description
10695 "This package provides a monad transformer version of the @code{ST} monad
10696for strict state threads.")
10697 (license license:bsd-3)))
10698
10699(define-public ghc-storable-complex
10700 (package
10701 (name "ghc-storable-complex")
4a35e3c3 10702 (version "0.2.3.0")
dddbc90c
RV
10703 (source
10704 (origin
10705 (method url-fetch)
10706 (uri (string-append
10707 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
10708 version ".tar.gz"))
10709 (sha256
4a35e3c3 10710 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 10711 (build-system haskell-build-system)
4a35e3c3
TS
10712 (inputs
10713 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
10714 (home-page "https://github.com/cartazio/storable-complex")
10715 (synopsis "Haskell Storable instance for Complex")
10716 (description "This package provides a Haskell library including a
10717Storable instance for Complex which is binary compatible with C99, C++
10718and Fortran complex data types.")
10719 (license license:bsd-3)))
10720
ad80074a
JS
10721(define-public ghc-storable-record
10722 (package
10723 (name "ghc-storable-record")
10724 (version "0.0.4")
10725 (source
10726 (origin
10727 (method url-fetch)
10728 (uri
10729 (string-append
10730 "https://hackage.haskell.org/package/storable-record/"
10731 "storable-record-" version ".tar.gz"))
10732 (sha256
10733 (base32
10734 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
10735 (build-system haskell-build-system)
10736 (inputs
10737 `(("ghc-semigroups" ,ghc-semigroups)
10738 ("ghc-utility-ht" ,ghc-utility-ht)
10739 ("ghc-storablevector" ,ghc-storablevector)
10740 ("ghc-timeit" ,ghc-timeit)))
10741 (home-page "https://hackage.haskell.org/package/storable-record")
10742 (synopsis "Elegant definition of Storable instances for records")
10743 (description "With this package you can build a Storable instance of
10744a record type from Storable instances of its elements in an elegant way.
10745It does not do any magic, just a bit arithmetic to compute the right
10746offsets, that would be otherwise done manually or by a preprocessor like
10747C2HS. There is no guarantee that the generated memory layout is
10748compatible with that of a corresponding C struct. However, the module
10749generates the smallest layout that is possible with respect to the
10750alignment of the record elements.")
10751 (license license:bsd-3)))
10752
55f4c653
JS
10753(define-public ghc-storable-tuple
10754 (package
10755 (name "ghc-storable-tuple")
10756 (version "0.0.3.3")
10757 (source
10758 (origin
10759 (method url-fetch)
10760 (uri
10761 (string-append
10762 "https://hackage.haskell.org/package/storable-tuple/"
10763 "storable-tuple-" version ".tar.gz"))
10764 (sha256
10765 (base32
10766 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
10767 (build-system haskell-build-system)
10768 (inputs
10769 `(("ghc-storable-record" ,ghc-storable-record)
10770 ("ghc-utility-ht" ,ghc-utility-ht)
10771 ("ghc-base-orphans" ,ghc-base-orphans)))
10772 (home-page "https://hackage.haskell.org/package/storable-tuple")
10773 (synopsis "Storable instance for pairs and triples")
10774 (description "This package provides a Storable instance for pairs
10775and triples which should be binary compatible with C99 and C++. The
10776only purpose of this package is to provide a standard location for this
10777instance so that other packages needing this instance can play nicely
10778together.")
10779 (license license:bsd-3)))
10780
bc06ca45
JS
10781(define-public ghc-storablevector
10782 (package
10783 (name "ghc-storablevector")
10784 (version "0.2.13")
10785 (source
10786 (origin
10787 (method url-fetch)
10788 (uri
10789 (string-append
10790 "https://hackage.haskell.org/package/storablevector/storablevector-"
10791 version ".tar.gz"))
10792 (sha256
10793 (base32
10794 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
10795 (build-system haskell-build-system)
10796 (inputs
10797 `(("ghc-non-negative" ,ghc-non-negative)
10798 ("ghc-utility-ht" ,ghc-utility-ht)
10799 ("ghc-semigroups" ,ghc-semigroups)
10800 ("ghc-unsafe" ,ghc-unsafe)
10801 ("ghc-quickcheck" ,ghc-quickcheck)
10802 ("ghc-syb" ,ghc-syb)))
10803 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
10804 (synopsis "Fast, packed, strict storable arrays with a list interface")
10805 (description "This library provides fast, packed, strict storable
10806arrays with a list interface, a chunky lazy list interface with variable
10807chunk size and an interface for write access via the ST monad. This is
10808much like bytestring and binary but can be used for every
10809@code{Foreign.Storable.Storable} type. See also
10810@url{http://hackage.haskell.org/package/vector}, a library with a
10811similar intention.
10812
10813This library does not do advanced fusion optimization, since especially
10814for lazy vectors this would either be incorrect or not applicable. See
10815@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
10816a library that provides fusion with lazy lists.")
10817 (license license:bsd-3)))
10818
dddbc90c
RV
10819(define-public ghc-streaming-commons
10820 (package
10821 (name "ghc-streaming-commons")
10822 (version "0.2.1.1")
10823 (source
10824 (origin
10825 (method url-fetch)
10826 (uri (string-append "https://hackage.haskell.org/package/"
10827 "streaming-commons/streaming-commons-"
10828 version ".tar.gz"))
10829 (sha256
10830 (base32
10831 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
10832 (build-system haskell-build-system)
10833 (inputs
10834 `(("ghc-async" ,ghc-async)
10835 ("ghc-blaze-builder" ,ghc-blaze-builder)
10836 ("ghc-network" ,ghc-network)
10837 ("ghc-random" ,ghc-random)
10838 ("ghc-zlib" ,ghc-zlib)))
10839 (native-inputs
10840 `(("ghc-quickcheck" ,ghc-quickcheck)
10841 ("ghc-hspec" ,ghc-hspec)
10842 ("hspec-discover" ,hspec-discover)))
10843 (home-page "https://hackage.haskell.org/package/streaming-commons")
10844 (synopsis "Conduit and pipes needed by some streaming data libraries")
10845 (description "This package provides low-dependency functionality commonly
10846needed by various Haskell streaming data libraries, such as @code{conduit} and
10847@code{pipe}s.")
10848 (license license:expat)))
10849
10850(define-public ghc-strict
10851 (package
10852 (name "ghc-strict")
10853 (version "0.3.2")
10854 (source
10855 (origin
10856 (method url-fetch)
10857 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
10858 version ".tar.gz"))
10859 (sha256
10860 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
10861 (build-system haskell-build-system)
10862 (home-page "https://hackage.haskell.org/package/strict")
10863 (synopsis "Strict data types and String IO")
10864 (description
10865 "This package provides strict versions of some standard Haskell data
10866types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
10867IO operations.")
10868 (license license:bsd-3)))
10869
10870(define-public ghc-stringbuilder
10871 (package
10872 (name "ghc-stringbuilder")
10873 (version "0.5.1")
10874 (source
10875 (origin
10876 (method url-fetch)
10877 (uri (string-append
10878 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
10879 version
10880 ".tar.gz"))
10881 (sha256
10882 (base32
10883 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
10884 (build-system haskell-build-system)
10885 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
10886 ; enabled
10887 (home-page "https://hackage.haskell.org/package/stringbuilder")
10888 (synopsis "Writer monad for multi-line string literals")
10889 (description "This package provides a writer monad for multi-line string
10890literals.")
10891 (license license:expat)))
10892
10893(define-public ghc-string-qq
10894 (package
10895 (name "ghc-string-qq")
4d6fddc3 10896 (version "0.0.4")
dddbc90c
RV
10897 (source
10898 (origin
10899 (method url-fetch)
10900 (uri (string-append
10901 "https://hackage.haskell.org/package/string-qq/string-qq-"
10902 version
10903 ".tar.gz"))
10904 (sha256
10905 (base32
4d6fddc3 10906 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 10907 (build-system haskell-build-system)
4d6fddc3
TS
10908 (native-inputs
10909 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
10910 (home-page "http://hackage.haskell.org/package/string-qq")
10911 (synopsis
10912 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
10913 (description
10914 "This package provides a quasiquoter for non-interpolated strings, texts
10915and bytestrings.")
10916 (license license:public-domain)))
10917
10918(define-public ghc-stringsearch
10919 (package
10920 (name "ghc-stringsearch")
10921 (version "0.3.6.6")
10922 (source
10923 (origin
10924 (method url-fetch)
10925 (uri (string-append
10926 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
10927 version
10928 ".tar.gz"))
10929 (sha256
10930 (base32
10931 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
10932 (build-system haskell-build-system)
e2303abb
TS
10933 (arguments
10934 `(#:cabal-revision
10935 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
10936 (home-page "https://bitbucket.org/dafis/stringsearch")
10937 (synopsis "Fast searching, splitting and replacing of ByteStrings")
10938 (description "This package provides several functions to quickly search
10939for substrings in strict or lazy @code{ByteStrings}. It also provides
10940functions for breaking or splitting on substrings and replacing all
10941occurrences of a substring (the first in case of overlaps) with another.")
10942 (license license:bsd-3)))
10943
10944(define-public ghc-stylish-haskell
10945 (package
10946 (name "ghc-stylish-haskell")
10947 (version "0.9.2.1")
10948 (source
10949 (origin
10950 (method url-fetch)
10951 (uri (string-append
10952 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
10953 version
10954 ".tar.gz"))
10955 (sha256
10956 (base32
10957 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
10958 (build-system haskell-build-system)
a54dda09
TS
10959 (arguments
10960 `(#:phases
10961 (modify-phases %standard-phases
10962 (add-before 'configure 'update-constraints
10963 (lambda _
10964 (substitute* "stylish-haskell.cabal"
10965 (("haskell-src-exts >= 1\\.18 && < 1\\.21,")
10966 "haskell-src-exts >= 1.18 && < 1.22,"))
10967 #t)))))
dddbc90c
RV
10968 (inputs
10969 `(("ghc-aeson" ,ghc-aeson)
10970 ("ghc-file-embed" ,ghc-file-embed)
10971 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
10972 ("ghc-semigroups" ,ghc-semigroups)
10973 ("ghc-syb" ,ghc-syb)
10974 ("ghc-yaml" ,ghc-yaml)
10975 ("ghc-strict" ,ghc-strict)
10976 ("ghc-optparse-applicative"
10977 ,ghc-optparse-applicative)))
10978 (native-inputs
10979 `(("ghc-hunit" ,ghc-hunit)
10980 ("ghc-test-framework" ,ghc-test-framework)
10981 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10982 (home-page "https://github.com/jaspervdj/stylish-haskell")
10983 (synopsis "Haskell code prettifier")
10984 (description "Stylish-haskell is a Haskell code prettifier. The goal is
10985not to format all of the code in a file, to avoid \"getting in the way\".
10986However, this tool can e.g. clean up import statements and help doing various
10987tasks that get tedious very quickly. It can
10988@itemize
10989@item
10990Align and sort @code{import} statements
10991@item
10992Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
10993pragmas
10994@item
10995Remove trailing whitespaces
10996@item
10997Align branches in @code{case} and fields in records
10998@item
10999Convert line endings (customisable)
11000@item
11001Replace tabs by four spaces (turned off by default)
11002@item
11003Replace some ASCII sequences by their Unicode equivalent (turned off by
11004default)
11005@end itemize")
11006 (license license:bsd-3)))
11007
dcf3f8f4
TS
11008(define-public ghc-svg-builder
11009 (package
11010 (name "ghc-svg-builder")
11011 (version "0.1.1")
11012 (source
11013 (origin
11014 (method url-fetch)
11015 (uri (string-append "https://hackage.haskell.org/package/"
11016 "svg-builder/svg-builder-" version ".tar.gz"))
11017 (sha256
11018 (base32
11019 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
11020 (build-system haskell-build-system)
11021 (inputs
11022 `(("ghc-blaze-builder" ,ghc-blaze-builder)
11023 ("ghc-hashable" ,ghc-hashable)
11024 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11025 (arguments
11026 `(#:cabal-revision
11027 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
11028 (home-page "https://github.com/diagrams/svg-builder.git")
11029 (synopsis "Domain-specific language for building Scalable Vector Graphics")
11030 (description "Easy-to-write domain-specific language (DSL) for
11031building Scalable Vector Graphics (SVG).")
11032 (license license:bsd-3)))
11033
dddbc90c
RV
11034(define-public ghc-syb
11035 (package
11036 (name "ghc-syb")
07d65eef 11037 (version "0.7.1")
dddbc90c
RV
11038 (outputs '("out" "doc"))
11039 (source
11040 (origin
11041 (method url-fetch)
11042 (uri (string-append
11043 "https://hackage.haskell.org/package/syb/syb-"
11044 version
11045 ".tar.gz"))
11046 (sha256
11047 (base32
07d65eef 11048 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
11049 (build-system haskell-build-system)
11050 (inputs
11051 `(("ghc-hunit" ,ghc-hunit)))
11052 (home-page
11053 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
11054 (synopsis "Scrap Your Boilerplate")
11055 (description "This package contains the generics system described in the
11056/Scrap Your Boilerplate/ papers (see
11057@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
11058defines the @code{Data} class of types permitting folding and unfolding of
11059constructor applications, instances of this class for primitive types, and a
11060variety of traversals.")
11061 (license license:bsd-3)))
11062
11063(define-public ghc-system-fileio
11064 (package
11065 (name "ghc-system-fileio")
dcfb99d4 11066 (version "0.3.16.4")
dddbc90c
RV
11067 (source
11068 (origin
11069 (method url-fetch)
11070 (uri (string-append
11071 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11072 version ".tar.gz"))
11073 (sha256
11074 (base32
dcfb99d4 11075 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 11076 (build-system haskell-build-system)
dcfb99d4
TS
11077 (arguments
11078 `(#:phases
11079 (modify-phases %standard-phases
11080 (add-before 'configure 'update-constraints
11081 (lambda _
11082 (substitute* "system-fileio.cabal"
11083 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
11084 #t)))))
dddbc90c
RV
11085 (inputs
11086 `(("ghc-system-filepath" ,ghc-system-filepath)
11087 ("ghc-chell" ,ghc-chell)
11088 ("ghc-temporary" ,ghc-temporary)))
11089 (home-page "https://github.com/fpco/haskell-filesystem")
11090 (synopsis "Consistent file system interaction across GHC versions")
11091 (description
11092 "This is a small wrapper around the directory, unix, and Win32 packages,
11093for use with system-filepath. It provides a consistent API to the various
11094versions of these packages distributed with different versions of GHC.
11095In particular, this library supports working with POSIX files that have paths
11096which can't be decoded in the current locale encoding.")
11097 (license license:expat)))
11098
11099;; See ghc-system-filepath-bootstrap. In addition this package depends on
11100;; ghc-system-filepath.
11101(define ghc-system-fileio-bootstrap
11102 (package
11103 (name "ghc-system-fileio-bootstrap")
11104 (version "0.3.16.3")
11105 (source
11106 (origin
11107 (method url-fetch)
11108 (uri (string-append
11109 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11110 version ".tar.gz"))
11111 (sha256
11112 (base32
11113 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
11114 (build-system haskell-build-system)
11115 (arguments
11116 `(#:tests? #f))
11117 (inputs
11118 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11119 ("ghc-temporary" ,ghc-temporary)))
11120 (home-page "https://github.com/fpco/haskell-filesystem")
11121 (synopsis "Consistent file system interaction across GHC versions")
11122 (description
11123 "This is a small wrapper around the directory, unix, and Win32 packages,
11124for use with system-filepath. It provides a consistent API to the various
11125versions of these packages distributed with different versions of GHC.
11126In particular, this library supports working with POSIX files that have paths
11127which can't be decoded in the current locale encoding.")
11128 (license license:expat)))
11129
11130
11131(define-public ghc-system-filepath
11132 (package
11133 (name "ghc-system-filepath")
11134 (version "0.4.14")
11135 (source
11136 (origin
11137 (method url-fetch)
11138 (uri (string-append
11139 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11140 version ".tar.gz"))
11141 (sha256
11142 (base32
11143 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11144 (build-system haskell-build-system)
11145 ;; FIXME: One of the tests fails:
11146 ;; [ FAIL ] tests.validity.posix
11147 ;; note: seed=7310214548328823169
11148 ;; *** Failed! Falsifiable (after 24 tests):
11149 ;; 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"
11150 (arguments `(#:tests? #f))
11151 (inputs
11152 `(("ghc-chell" ,ghc-chell)
11153 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
11154 ("ghc-quickcheck" ,ghc-quickcheck)))
11155 (home-page "https://github.com/fpco/haskell-filesystem")
11156 (synopsis "High-level, byte-based file and directory path manipulations")
11157 (description
11158 "Provides a FilePath datatype and utility functions for operating on it.
11159Unlike the filepath package, this package does not simply reuse String,
11160increasing type safety.")
11161 (license license:expat)))
11162
11163;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
11164;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
11165;; which depends on ghc-chell and ghc-chell-quickcheck.
11166;; Therefore we bootstrap it with tests disabled.
11167(define ghc-system-filepath-bootstrap
11168 (package
11169 (name "ghc-system-filepath-bootstrap")
11170 (version "0.4.14")
11171 (source
11172 (origin
11173 (method url-fetch)
11174 (uri (string-append
11175 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11176 version ".tar.gz"))
11177 (sha256
11178 (base32
11179 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11180 (build-system haskell-build-system)
11181 (arguments
11182 `(#:tests? #f))
11183 (inputs
11184 `(("ghc-quickcheck" ,ghc-quickcheck)))
11185 (home-page "https://github.com/fpco/haskell-filesystem")
11186 (synopsis "High-level, byte-based file and directory path manipulations")
11187 (description
11188 "Provides a FilePath datatype and utility functions for operating on it.
11189Unlike the filepath package, this package does not simply reuse String,
11190increasing type safety.")
11191 (license license:expat)))
11192
11193
11194(define-public ghc-tagged
11195 (package
11196 (name "ghc-tagged")
f0f3756a 11197 (version "0.8.6")
dddbc90c
RV
11198 (source
11199 (origin
11200 (method url-fetch)
11201 (uri (string-append
11202 "https://hackage.haskell.org/package/tagged/tagged-"
11203 version
11204 ".tar.gz"))
11205 (sha256
11206 (base32
f0f3756a 11207 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
11208 (build-system haskell-build-system)
11209 (arguments
11210 `(#:cabal-revision
f0f3756a 11211 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
11212 (inputs
11213 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11214 (home-page "https://hackage.haskell.org/package/tagged")
11215 (synopsis "Haskell phantom types to avoid passing dummy arguments")
11216 (description "This library provides phantom types for Haskell 98, to avoid
11217having to unsafely pass dummy arguments.")
11218 (license license:bsd-3)))
11219
11220(define-public ghc-tar
11221 (package
11222 (name "ghc-tar")
ec83929f 11223 (version "0.5.1.1")
dddbc90c
RV
11224 (source
11225 (origin
11226 (method url-fetch)
11227 (uri (string-append
11228 "https://hackage.haskell.org/package/tar/tar-"
11229 version ".tar.gz"))
11230 (sha256
11231 (base32
ec83929f 11232 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
11233 (build-system haskell-build-system)
11234 ;; FIXME: 2/24 tests fail.
11235 (arguments `(#:tests? #f))
11236 (inputs
11237 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
11238 ("ghc-quickcheck" ,ghc-quickcheck)
11239 ("ghc-tasty" ,ghc-tasty)
11240 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11241 (home-page "https://hackage.haskell.org/package/tar")
11242 (synopsis "Reading, writing and manipulating \".tar\" archive files")
11243 (description
11244 "This library is for working with \\\"@.tar@\\\" archive files.
11245It can read and write a range of common variations of the tar archive format
11246including V7, POSIX USTAR and GNU formats. It provides support for packing and
11247unpacking portable archives. This makes it suitable for distribution but not
11248backup because details like file ownership and exact permissions are not
11249preserved. It also provides features for random access to archive content using
11250an index.")
11251 (license license:bsd-3)))
11252
f8d17902
TS
11253(define-public ghc-tar-conduit
11254 (package
11255 (name "ghc-tar-conduit")
11256 (version "0.3.2")
11257 (source
11258 (origin
11259 (method url-fetch)
11260 (uri (string-append "https://hackage.haskell.org/package/"
11261 "tar-conduit/tar-conduit-" version ".tar.gz"))
11262 (sha256
11263 (base32
11264 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
11265 (build-system haskell-build-system)
11266 (inputs
11267 `(("ghc-conduit" ,ghc-conduit)
11268 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
11269 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
11270 (native-inputs
11271 `(("ghc-quickcheck" ,ghc-quickcheck)
11272 ("ghc-conduit-extra" ,ghc-conduit-extra)
11273 ("ghc-hspec" ,ghc-hspec)
11274 ("ghc-hspec" ,ghc-hspec)
11275 ("ghc-weigh" ,ghc-weigh)))
11276 (home-page "https://github.com/snoyberg/tar-conduit#readme")
11277 (synopsis "Extract and create tar files using conduit for streaming")
11278 (description "This library provides a conduit-based, streaming
11279interface for extracting and creating tar files.")
11280 (license license:expat)))
11281
dddbc90c
RV
11282(define-public ghc-temporary
11283 (package
11284 (name "ghc-temporary")
11285 (version "1.3")
11286 (source
11287 (origin
11288 (method url-fetch)
11289 (uri (string-append
11290 "https://hackage.haskell.org/package/temporary/temporary-"
11291 version
11292 ".tar.gz"))
11293 (sha256
11294 (base32
11295 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
11296 (build-system haskell-build-system)
11297 (inputs
11298 `(("ghc-exceptions" ,ghc-exceptions)
11299 ("ghc-random" ,ghc-random)))
11300 (native-inputs
11301 `(("ghc-base-compat" ,ghc-base-compat)
11302 ("ghc-tasty" ,ghc-tasty)
11303 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11304 (home-page "https://www.github.com/batterseapower/temporary")
11305 (synopsis "Temporary file and directory support")
11306 (description "The functions for creating temporary files and directories
11307in the Haskelll base library are quite limited. This library just repackages
11308the Cabal implementations of its own temporary file and folder functions so
11309that you can use them without linking against Cabal or depending on it being
11310installed.")
11311 (license license:bsd-3)))
11312
11313(define-public ghc-temporary-rc
11314 (package
11315 (name "ghc-temporary-rc")
11316 (version "1.2.0.3")
11317 (source
11318 (origin
11319 (method url-fetch)
11320 (uri (string-append
11321 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
11322 version
11323 ".tar.gz"))
11324 (sha256
11325 (base32
11326 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
11327 (build-system haskell-build-system)
11328 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
11329 (home-page
11330 "https://www.github.com/feuerbach/temporary")
11331 (synopsis
11332 "Portable temporary file and directory support")
11333 (description
11334 "The functions for creating temporary files and directories in the base
11335library are quite limited. The unixutils package contains some good ones, but
11336they aren't portable to Windows. This library just repackages the Cabal
11337implementations of its own temporary file and folder functions so that you can
11338use them without linking against Cabal or depending on it being installed.
11339This is a better maintained fork of the \"temporary\" package.")
11340 (license license:bsd-3)))
11341
11342(define-public ghc-terminal-size
11343 (package
11344 (name "ghc-terminal-size")
11345 (version "0.3.2.1")
11346 (source (origin
11347 (method url-fetch)
11348 (uri (string-append
11349 "https://hackage.haskell.org/package/terminal-size/"
11350 "terminal-size-" version ".tar.gz"))
11351 (sha256
11352 (base32
11353 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
11354 (build-system haskell-build-system)
11355 (home-page "https://hackage.haskell.org/package/terminal-size")
11356 (synopsis "Get terminal window height and width")
11357 (description "Get terminal window height and width without ncurses
11358dependency.")
11359 (license license:bsd-3)))
11360
11361(define-public ghc-texmath
11362 (package
11363 (name "ghc-texmath")
7fec7e66 11364 (version "0.11.3")
dddbc90c
RV
11365 (source (origin
11366 (method url-fetch)
11367 (uri (string-append "https://hackage.haskell.org/package/"
11368 "texmath/texmath-" version ".tar.gz"))
11369 (sha256
11370 (base32
7fec7e66 11371 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
11372 (build-system haskell-build-system)
11373 (inputs
11374 `(("ghc-syb" ,ghc-syb)
11375 ("ghc-network-uri" ,ghc-network-uri)
11376 ("ghc-split" ,ghc-split)
11377 ("ghc-temporary" ,ghc-temporary)
11378 ("ghc-utf8-string" ,ghc-utf8-string)
11379 ("ghc-xml" ,ghc-xml)
11380 ("ghc-pandoc-types" ,ghc-pandoc-types)))
11381 (home-page "https://github.com/jgm/texmath")
11382 (synopsis "Conversion between formats used to represent mathematics")
11383 (description
11384 "The texmath library provides functions to read and write TeX math,
11385presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
11386Office). Support is also included for converting math formats to pandoc's
11387native format (allowing conversion, via pandoc, to a variety of different
11388markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
11389it can parse and apply LaTeX macros.")
11390 (license license:gpl2+)))
11391
11392(define-public ghc-text-binary
11393 (package
11394 (name "ghc-text-binary")
11395 (version "0.2.1.1")
11396 (source
11397 (origin
11398 (method url-fetch)
11399 (uri (string-append "https://hackage.haskell.org/package/"
11400 "text-binary/text-binary-"
11401 version ".tar.gz"))
11402 (sha256
11403 (base32
11404 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
11405 (build-system haskell-build-system)
11406 (home-page "https://github.com/kawu/text-binary")
11407 (synopsis "Binary instances for text types")
11408 (description
11409 "This package provides a compatibility layer providing @code{Binary}
11410instances for strict and lazy text types for versions older than 1.2.1 of the
11411text package.")
11412 (license license:bsd-2)))
11413
bdc877c4
TS
11414(define-public ghc-text-metrics
11415 (package
11416 (name "ghc-text-metrics")
11417 (version "0.3.0")
11418 (source
11419 (origin
11420 (method url-fetch)
11421 (uri (string-append "https://hackage.haskell.org/package/"
11422 "text-metrics/text-metrics-" version ".tar.gz"))
11423 (sha256
11424 (base32
11425 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
11426 (build-system haskell-build-system)
11427 (inputs
11428 `(("ghc-vector" ,ghc-vector)))
11429 (native-inputs
11430 `(("ghc-quickcheck" ,ghc-quickcheck)
11431 ("ghc-hspec" ,ghc-hspec)))
11432 (arguments
11433 `(#:cabal-revision
11434 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
11435 (home-page "https://github.com/mrkkrp/text-metrics")
11436 (synopsis "Calculate various string metrics efficiently")
11437 (description "This library provides tools to calculate various
11438string metrics efficiently.")
11439 (license license:bsd-3)))
11440
dddbc90c
RV
11441(define-public ghc-tf-random
11442 (package
11443 (name "ghc-tf-random")
11444 (version "0.5")
11445 (outputs '("out" "doc"))
11446 (source
11447 (origin
11448 (method url-fetch)
11449 (uri (string-append
11450 "https://hackage.haskell.org/package/tf-random/tf-random-"
11451 version
11452 ".tar.gz"))
11453 (sha256
11454 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
11455 (build-system haskell-build-system)
11456 (inputs
11457 `(("ghc-primitive" ,ghc-primitive)
11458 ("ghc-random" ,ghc-random)))
11459 (home-page "https://hackage.haskell.org/package/tf-random")
11460 (synopsis "High-quality splittable pseudorandom number generator")
11461 (description "This package contains an implementation of a high-quality
11462splittable pseudorandom number generator. The generator is based on a
11463cryptographic hash function built on top of the ThreeFish block cipher. See
11464the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
11465Hashing\" by Claessen, Pałka for details and the rationale of the design.")
11466 (license license:bsd-3)))
11467
11468(define-public ghc-th-abstraction
11469 (package
11470 (name "ghc-th-abstraction")
1188eabb 11471 (version "0.3.1.0")
dddbc90c
RV
11472 (source
11473 (origin
11474 (method url-fetch)
11475 (uri (string-append "https://hackage.haskell.org/package/"
11476 "th-abstraction/th-abstraction-"
11477 version ".tar.gz"))
11478 (sha256
11479 (base32
1188eabb 11480 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
11481 (build-system haskell-build-system)
11482 (home-page "https://github.com/glguy/th-abstraction")
11483 (synopsis "Nicer interface for reified information about data types")
11484 (description
11485 "This package normalizes variations in the interface for inspecting
11486datatype information via Template Haskell so that packages and support a
11487single, easier to use informational datatype while supporting many versions of
11488Template Haskell.")
11489 (license license:isc)))
11490
11491(define-public ghc-th-expand-syns
11492 (package
11493 (name "ghc-th-expand-syns")
8c766600 11494 (version "0.4.5.0")
dddbc90c
RV
11495 (source (origin
11496 (method url-fetch)
11497 (uri (string-append "https://hackage.haskell.org/package/"
11498 "th-expand-syns/th-expand-syns-"
11499 version ".tar.gz"))
11500 (sha256
11501 (base32
8c766600 11502 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
11503 (build-system haskell-build-system)
11504 (inputs
11505 `(("ghc-syb" ,ghc-syb)))
11506 (home-page "https://hackage.haskell.org/package/th-expand-syns")
11507 (synopsis "Expands type synonyms in Template Haskell ASTs")
11508 (description
11509 "This package enables users to expand type synonyms in Template Haskell
11510@dfn{abstract syntax trees} (ASTs).")
11511 (license license:bsd-3)))
11512
11513(define-public ghc-th-lift
11514 (package
11515 (name "ghc-th-lift")
bd76b20a 11516 (version "0.8.0.1")
dddbc90c
RV
11517 (source (origin
11518 (method url-fetch)
11519 (uri (string-append "https://hackage.haskell.org/package/"
11520 "th-lift/th-lift-" version ".tar.gz"))
11521 (sha256
11522 (base32
bd76b20a 11523 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
11524 (build-system haskell-build-system)
11525 (inputs
11526 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
11527 (home-page "https://github.com/mboes/th-lift")
11528 (synopsis "Derive Template Haskell's Lift class for datatypes")
11529 (description
11530 "This is a Haskell library to derive Template Haskell's Lift class for
11531datatypes.")
11532 (license license:bsd-3)))
11533
11534(define-public ghc-th-lift-instances
11535 (package
11536 (name "ghc-th-lift-instances")
d3db399e 11537 (version "0.1.14")
dddbc90c
RV
11538 (source
11539 (origin
11540 (method url-fetch)
11541 (uri (string-append "https://hackage.haskell.org/package/"
11542 "th-lift-instances/th-lift-instances-"
11543 version ".tar.gz"))
11544 (sha256
11545 (base32
d3db399e 11546 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
11547 (build-system haskell-build-system)
11548 (inputs
11549 `(("ghc-th-lift" ,ghc-th-lift)
11550 ("ghc-vector" ,ghc-vector)
11551 ("ghc-quickcheck" ,ghc-quickcheck)))
11552 (home-page "https://github.com/bennofs/th-lift-instances/")
11553 (synopsis "Lift instances for template-haskell for common data types.")
11554 (description "Most data types in the Haskell platform do not have Lift
11555instances. This package provides orphan instances for @code{containers},
11556@code{text}, @code{bytestring} and @code{vector}.")
11557 (license license:bsd-3)))
11558
11559(define-public ghc-th-orphans
11560 (package
11561 (name "ghc-th-orphans")
882b23e2 11562 (version "0.13.9")
dddbc90c
RV
11563 (source (origin
11564 (method url-fetch)
11565 (uri (string-append "https://hackage.haskell.org/package/"
11566 "th-orphans/th-orphans-" version ".tar.gz"))
11567 (sha256
11568 (base32
882b23e2 11569 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
11570 (build-system haskell-build-system)
11571 (inputs
11572 `(("ghc-th-lift" ,ghc-th-lift)
11573 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
11574 ("ghc-th-reify-many" ,ghc-th-reify-many)
11575 ("ghc-generic-deriving" ,ghc-generic-deriving)))
11576 (native-inputs
11577 `(("ghc-hspec" ,ghc-hspec)))
11578 (home-page "https://hackage.haskell.org/package/th-orphans")
11579 (synopsis "Orphan instances for TH datatypes")
11580 (description
11581 "This package provides orphan instances for Template Haskell datatypes. In particular,
11582instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
11583and @code{Eq} instances. These instances used to live in the haskell-src-meta
11584package, and that's where the version number started.")
11585 (license license:bsd-3)))
11586
11587(define-public ghc-threads
11588 (package
11589 (name "ghc-threads")
11590 (version "0.5.1.6")
11591 (source
11592 (origin
11593 (method url-fetch)
11594 (uri (string-append "https://hackage.haskell.org/package/"
11595 "threads/threads-" version ".tar.gz"))
11596 (sha256
11597 (base32
11598 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
11599 (build-system haskell-build-system)
11600 (native-inputs
11601 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
11602 ("ghc-hunit" ,ghc-hunit)
11603 ("ghc-test-framework" ,ghc-test-framework)
11604 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11605 (home-page "https://github.com/basvandijk/threads")
11606 (synopsis "Fork threads and wait for their result")
11607 (description "This package provides functions to fork threads and
11608wait for their result, whether it's an exception or a normal value.
11609Besides waiting for the termination of a single thread this package also
11610provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
11611package is similar to the @code{threadmanager}, @code{async} and
11612@code{spawn} packages. The advantages of this package are:
11613
dddbc90c
RV
11614@itemize
11615@item Simpler API.
11616@item More efficient in both space and time.
11617@item No space-leak when forking a large number of threads.
11618@item Correct handling of asynchronous exceptions.
11619@item GHC specific functionality like @code{forkOn} and
11620@code{forkIOWithUnmask}.
11621@end itemize")
11622 (license license:bsd-3)))
11623
11624(define-public ghc-th-reify-many
11625 (package
11626 (name "ghc-th-reify-many")
32d4a6ae 11627 (version "0.1.9")
dddbc90c
RV
11628 (source (origin
11629 (method url-fetch)
11630 (uri (string-append "https://hackage.haskell.org/package/"
11631 "th-reify-many/th-reify-many-"
11632 version ".tar.gz"))
11633 (sha256
11634 (base32
32d4a6ae 11635 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
11636 (build-system haskell-build-system)
11637 (inputs
11638 `(("ghc-safe" ,ghc-safe)
11639 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
11640 (home-page "https://github.com/mgsloan/th-reify-many")
11641 (synopsis "Recurseively reify template haskell datatype info")
11642 (description
11643 "th-reify-many provides functions for recursively reifying top level
11644declarations. The main intended use case is for enumerating the names of
11645datatypes reachable from an initial datatype, and passing these names to some
11646function which generates instances.")
11647 (license license:bsd-3)))
11648
75cfc9a2
TS
11649(define-public ghc-time-compat
11650 (package
11651 (name "ghc-time-compat")
11652 (version "1.9.2.2")
11653 (source
11654 (origin
11655 (method url-fetch)
11656 (uri (string-append "https://hackage.haskell.org/package/"
11657 "time-compat/time-compat-" version ".tar.gz"))
11658 (sha256
11659 (base32
11660 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
11661 (build-system haskell-build-system)
11662 (inputs
11663 `(("ghc-base-orphans" ,ghc-base-orphans)))
11664 (native-inputs
11665 `(("ghc-hunit" ,ghc-hunit)
11666 ("ghc-base-compat" ,ghc-base-compat)
11667 ("ghc-quickcheck" ,ghc-quickcheck)
11668 ("ghc-tagged" ,ghc-tagged)
11669 ("ghc-tasty" ,ghc-tasty)
11670 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11671 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11672 (arguments
11673 `(#:cabal-revision
11674 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
11675 (home-page "https://github.com/phadej/time-compat")
11676 (synopsis "Compatibility package for time")
11677 (description "This packages tries to compat as many @code{time}
11678features as possible.")
11679 (license license:bsd-3)))
11680
dddbc90c
RV
11681(define-public ghc-time-locale-compat
11682 (package
11683 (name "ghc-time-locale-compat")
11684 (version "0.1.1.5")
11685 (source
11686 (origin
11687 (method url-fetch)
11688 (uri (string-append "https://hackage.haskell.org/package/"
11689 "time-locale-compat/time-locale-compat-"
11690 version ".tar.gz"))
11691 (sha256
11692 (base32
11693 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
11694 (build-system haskell-build-system)
11695 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
11696 (home-page "https://github.com/khibino/haskell-time-locale-compat")
11697 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
11698 (description "This package contains a wrapped name module for
11699@code{TimeLocale}.")
11700 (license license:bsd-3)))
11701
c022a4d4
TS
11702(define-public ghc-time-manager
11703 (package
11704 (name "ghc-time-manager")
11705 (version "0.0.0")
11706 (source
11707 (origin
11708 (method url-fetch)
11709 (uri (string-append "https://hackage.haskell.org/package/"
11710 "time-manager/time-manager-" version ".tar.gz"))
11711 (sha256
11712 (base32
11713 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
11714 (build-system haskell-build-system)
11715 (inputs
11716 `(("ghc-auto-update" ,ghc-auto-update)))
11717 (home-page "https://github.com/yesodweb/wai")
11718 (synopsis "Scalable timer")
11719 (description "This library contains scalable timer functions provided by a
11720timer manager.")
11721 (license license:expat)))
11722
7bbfa392
JS
11723(define-public ghc-timeit
11724 (package
11725 (name "ghc-timeit")
11726 (version "2.0")
11727 (source
11728 (origin
11729 (method url-fetch)
11730 (uri
11731 (string-append
11732 "https://hackage.haskell.org/package/timeit/timeit-"
11733 version ".tar.gz"))
11734 (sha256
11735 (base32
11736 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
11737 (build-system haskell-build-system)
11738 (home-page "https://github.com/merijn/timeit")
11739 (synopsis "Time monadic computations with an IO base")
11740 (description "This package provides a simple wrapper to show the
11741used CPU time of monadic computation with an IO base.")
11742 (license license:bsd-3)))
11743
2ed8bd2d
JS
11744(define-public ghc-timezone-series
11745 (package
11746 (name "ghc-timezone-series")
11747 (version "0.1.9")
11748 (source
11749 (origin
11750 (method url-fetch)
11751 (uri
11752 (string-append
11753 "mirror://hackage/package/timezone-series/timezone-series-"
11754 version ".tar.gz"))
11755 (sha256
11756 (base32
11757 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
11758 (build-system haskell-build-system)
11759 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11760 (synopsis "Enhanced timezone handling for Time")
11761 (description
11762 "This package endows @code{Data.Time}, from the time package, with several
11763data types and functions for enhanced processing of timezones. For one way to
11764create timezone series, see the ghc-timezone-olson package.")
11765 (license license:bsd-3)))
11766
ff0f5786
JS
11767(define-public ghc-timezone-olson
11768 (package
11769 (name "ghc-timezone-olson")
11770 (version "0.1.9")
11771 (source
11772 (origin
11773 (method url-fetch)
11774 (uri
11775 (string-append
11776 "mirror://hackage/package/timezone-olson/timezone-olson-"
11777 version ".tar.gz"))
11778 (sha256
11779 (base32
11780 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
11781 (build-system haskell-build-system)
11782 (inputs
11783 `(("ghc-timezone-series" ,ghc-timezone-series)
11784 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
11785 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11786 (synopsis "Parser and renderer for binary Olson timezone files")
11787 (description
11788 "A parser and renderer for binary Olson timezone files whose format
11789is specified by the tzfile(5) man page on Unix-like systems. For more
11790information about this format, see
11791@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
11792are provided for converting the parsed data into @code{TimeZoneSeries}
11793objects from the timezone-series package.")
11794 (license license:bsd-3)))
11795
dddbc90c
RV
11796(define-public ghc-tldr
11797 (package
11798 (name "ghc-tldr")
871ceb31 11799 (version "0.4.0.2")
dddbc90c
RV
11800 (source
11801 (origin
11802 (method url-fetch)
11803 (uri (string-append
11804 "https://hackage.haskell.org/package/tldr/tldr-"
11805 version
11806 ".tar.gz"))
11807 (sha256
11808 (base32
871ceb31 11809 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
11810 (build-system haskell-build-system)
11811 (inputs
11812 `(("ghc-cmark" ,ghc-cmark)
11813 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
11814 ("ghc-typed-process" ,ghc-typed-process)
11815 ("ghc-semigroups" ,ghc-semigroups)))
11816 (native-inputs
11817 `(("ghc-tasty" ,ghc-tasty)
11818 ("ghc-tasty-golden" ,ghc-tasty-golden)))
11819 (home-page "https://github.com/psibi/tldr-hs#readme")
11820 (synopsis "Haskell tldr client")
11821 (description "This package provides the @command{tldr} command and a
11822Haskell client library allowing users to update and view @code{tldr} pages
11823from a shell. The @code{tldr} pages are a community effort to simplify the
11824man pages with practical examples.")
11825 (license license:bsd-3)))
11826
11827(define-public ghc-transformers-base
11828 (package
11829 (name "ghc-transformers-base")
11830 (version "0.4.5.2")
11831 (source
11832 (origin
11833 (method url-fetch)
11834 (uri (string-append
11835 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
11836 version
11837 ".tar.gz"))
11838 (sha256
11839 (base32
11840 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
11841 (build-system haskell-build-system)
11842 (inputs
11843 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11844 (home-page
11845 "https://hackage.haskell.org/package/transformers-compat")
11846 (synopsis
11847 "Backported transformer library")
11848 (description
11849 "Backported versions of types that were added to transformers in
11850transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
11851compatibility to run on old versions of the platform.")
11852 (license license:bsd-3)))
11853
11854(define-public ghc-transformers-compat
11855 (package
11856 (name "ghc-transformers-compat")
1c9c4d58 11857 (version "0.6.5")
dddbc90c
RV
11858 (source
11859 (origin
11860 (method url-fetch)
11861 (uri (string-append
11862 "https://hackage.haskell.org/package/transformers-compat"
11863 "/transformers-compat-" version ".tar.gz"))
11864 (sha256
11865 (base32
1c9c4d58 11866 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
11867 (build-system haskell-build-system)
11868 (home-page "https://github.com/ekmett/transformers-compat/")
11869 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
11870 (description "This package includes backported versions of types that were
11871added to transformers in transformers 0.3 and 0.4 for users who need strict
11872transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
11873but also need those types.")
11874 (license license:bsd-3)))
11875
11876(define-public ghc-tree-diff
11877 (package
11878 (name "ghc-tree-diff")
b4e26067 11879 (version "0.1")
dddbc90c
RV
11880 (source
11881 (origin
11882 (method url-fetch)
11883 (uri (string-append
11884 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
11885 version
11886 ".tar.gz"))
11887 (sha256
11888 (base32
b4e26067 11889 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 11890 (build-system haskell-build-system)
dddbc90c
RV
11891 (inputs
11892 `(("ghc-aeson" ,ghc-aeson)
11893 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11894 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11895 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 11896 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 11897 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
11898 ("ghc-parsers" ,ghc-parsers)
11899 ("ghc-quickcheck" ,ghc-quickcheck)
11900 ("ghc-scientific" ,ghc-scientific)
11901 ("ghc-tagged" ,ghc-tagged)
11902 ("ghc-unordered-containers" ,ghc-unordered-containers)
11903 ("ghc-uuid-types" ,ghc-uuid-types)
11904 ("ghc-vector" ,ghc-vector)))
11905 (native-inputs
11906 `(("ghc-base-compat" ,ghc-base-compat)
11907 ("ghc-quickcheck" ,ghc-quickcheck)
11908 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11909 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11910 ("ghc-trifecta" ,ghc-trifecta)
11911 ("ghc-tasty" ,ghc-tasty)
11912 ("ghc-tasty-golden" ,ghc-tasty-golden)
11913 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11914 (home-page "https://github.com/phadej/tree-diff")
11915 (synopsis "Compute difference between (expression) trees")
11916 (description "This Haskell library provides a function for computing
11917the difference between (expression) trees. It also provides a way to
11918compute the difference between arbitrary abstract datatypes (ADTs) using
11919@code{Generics}-derivable helpers.")
11920 (license license:bsd-3)))
11921
11922(define-public ghc-trifecta
11923 (package
11924 (name "ghc-trifecta")
11925 (version "2")
11926 (source (origin
11927 (method url-fetch)
11928 (uri (string-append
11929 "https://hackage.haskell.org/package/trifecta/"
11930 "trifecta-" version ".tar.gz"))
11931 (sha256
11932 (base32
11933 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
11934 (build-system haskell-build-system)
5ffe8cfd
TS
11935 (arguments
11936 `(#:tests? #f ; doctest suite fails to build on i686
11937 #:cabal-revision
11938 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
11939 (inputs
11940 `(("ghc-reducers" ,ghc-reducers)
11941 ("ghc-semigroups" ,ghc-semigroups)
11942 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11943 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11944 ("ghc-blaze-builder" ,ghc-blaze-builder)
11945 ("ghc-blaze-html" ,ghc-blaze-html)
11946 ("ghc-blaze-markup" ,ghc-blaze-markup)
11947 ("ghc-charset" ,ghc-charset)
11948 ("ghc-comonad" ,ghc-comonad)
11949 ("ghc-fingertree" ,ghc-fingertree)
11950 ("ghc-hashable" ,ghc-hashable)
11951 ("ghc-lens" ,ghc-lens)
11952 ("ghc-parsers" ,ghc-parsers)
11953 ("ghc-profunctors" ,ghc-profunctors)
11954 ("ghc-unordered-containers" ,ghc-unordered-containers)
11955 ("ghc-utf8-string" ,ghc-utf8-string)))
11956 (native-inputs
11957 `(("cabal-doctest" ,cabal-doctest)
11958 ("ghc-doctest" ,ghc-doctest)
11959 ("ghc-quickcheck" ,ghc-quickcheck)))
11960 (home-page "https://github.com/ekmett/trifecta/")
11961 (synopsis "Parser combinator library with convenient diagnostics")
11962 (description "Trifecta is a modern parser combinator library for Haskell,
11963with slicing and Clang-style colored diagnostics.")
11964 (license license:bsd-3)))
11965
11966(define-public ghc-tuple-th
11967 (package
11968 (name "ghc-tuple-th")
11969 (version "0.2.5")
11970 (source
11971 (origin
11972 (method url-fetch)
11973 (uri (string-append "https://hackage.haskell.org/package/"
11974 "tuple-th-" version "/"
11975 "tuple-th-" version ".tar.gz"))
11976 (sha256
11977 (base32
11978 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
11979 (build-system haskell-build-system)
11980 (home-page "https://github.com/DanielSchuessler/tuple-th")
11981 (synopsis "Generate utility functions for tuples of statically known size
11982for Haskell")
11983 (description "This Haskell package contains Template Haskell functions for
11984generating functions similar to those in @code{Data.List} for tuples of
11985statically known size.")
11986 (license license:bsd-3)))
11987
11988(define-public ghc-typed-process
11989 (package
11990 (name "ghc-typed-process")
72fb84a5 11991 (version "0.2.6.0")
dddbc90c
RV
11992 (source
11993 (origin
11994 (method url-fetch)
11995 (uri (string-append "https://hackage.haskell.org/package/"
11996 "typed-process/typed-process-"
11997 version ".tar.gz"))
11998 (sha256
11999 (base32
72fb84a5 12000 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
12001 (build-system haskell-build-system)
12002 (inputs
72fb84a5
TS
12003 `(("ghc-async" ,ghc-async)
12004 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
12005 (native-inputs
12006 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
12007 ("ghc-hspec" ,ghc-hspec)
12008 ("hspec-discover" ,hspec-discover)
12009 ("ghc-temporary" ,ghc-temporary)))
12010 (home-page "https://haskell-lang.org/library/typed-process")
12011 (synopsis "Run external processes with strong typing of streams")
12012 (description
12013 "This library provides the ability to launch and interact with external
12014processes. It wraps around the @code{process} library, and intends to improve
12015upon it.")
12016 (license license:expat)))
12017
d392f803
AG
12018(define-public ghc-unagi-chan
12019 (package
12020 (name "ghc-unagi-chan")
12021 (version "0.4.1.2")
12022 (source
12023 (origin
12024 (method url-fetch)
12025 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
12026 "/unagi-chan-" version ".tar.gz"))
12027 (sha256
12028 (base32
12029 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
12030 (build-system haskell-build-system)
12031 (inputs
12032 `(("ghc-atomic-primops" ,ghc-atomic-primops)
12033 ("ghc-primitive" ,ghc-primitive)))
12034 (arguments
12035 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
12036 #:cabal-revision
12037 ("1"
12038 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
12039 (home-page "http://hackage.haskell.org/package/unagi-chan")
12040 (synopsis "Fast concurrent queues with a Chan-like API, and more")
12041 (description
12042 "This library provides implementations of concurrent FIFO queues (for
12043both general boxed and primitive unboxed values) that are fast, perform well
12044under contention, and offer a Chan-like interface. The library may be of
12045limited usefulness outside of x86 architectures where the fetch-and-add
12046instruction is not available.")
12047 (license license:bsd-3)))
12048
dddbc90c
RV
12049(define-public ghc-unbounded-delays
12050 (package
12051 (name "ghc-unbounded-delays")
12052 (version "0.1.1.0")
12053 (source
12054 (origin
12055 (method url-fetch)
12056 (uri (string-append
12057 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
12058 version
12059 ".tar.gz"))
12060 (sha256
12061 (base32
12062 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
12063 (build-system haskell-build-system)
12064 (home-page "https://github.com/basvandijk/unbounded-delays")
12065 (synopsis "Unbounded thread delays and timeouts")
12066 (description "The @code{threadDelay} and @code{timeout} functions from the
12067Haskell base library use the bounded @code{Int} type for specifying the delay
12068or timeout period. This package provides alternative functions which use the
12069unbounded @code{Integer} type.")
12070 (license license:bsd-3)))
12071
12072(define-public ghc-unexceptionalio
12073 (package
12074 (name "ghc-unexceptionalio")
12075 (version "0.4.0")
12076 (source
12077 (origin
12078 (method url-fetch)
12079 (uri (string-append "https://hackage.haskell.org/package/"
12080 "unexceptionalio-" version "/" "unexceptionalio-"
12081 version ".tar.gz"))
12082 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
12083 (build-system haskell-build-system)
12084 (home-page "https://github.com/singpolyma/unexceptionalio")
12085 (synopsis "IO without any non-error, synchronous exceptions")
12086 (description "When you've caught all the exceptions that can be
12087handled safely, this is what you're left with.")
12088 (license license:isc)))
12089
b69d4aa7
TS
12090(define-public ghc-unicode-transforms
12091 (package
12092 (name "ghc-unicode-transforms")
12093 (version "0.3.6")
12094 (source
12095 (origin
12096 (method url-fetch)
12097 (uri (string-append "https://hackage.haskell.org/package/"
12098 "unicode-transforms/unicode-transforms-"
12099 version ".tar.gz"))
12100 (sha256
12101 (base32
12102 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
12103 (build-system haskell-build-system)
12104 (inputs
12105 `(("ghc-bitarray" ,ghc-bitarray)))
12106 (native-inputs
12107 `(("ghc-quickcheck" ,ghc-quickcheck)
12108 ("ghc-getopt-generics" ,ghc-getopt-generics)
12109 ("ghc-split" ,ghc-split)))
12110 (home-page "https://github.com/composewell/unicode-transforms")
12111 (synopsis "Unicode normalization")
12112 (description "This library provides tools for fast Unicode 12.1.0
12113normalization in Haskell (normalization forms C, KC, D, and KD).")
12114 (license license:bsd-3)))
12115
dddbc90c
RV
12116(define-public ghc-union-find
12117 (package
12118 (name "ghc-union-find")
12119 (version "0.2")
12120 (source (origin
12121 (method url-fetch)
12122 (uri (string-append
12123 "https://hackage.haskell.org/package/union-find/union-find-"
12124 version ".tar.gz"))
12125 (sha256
12126 (base32
12127 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
12128 (build-system haskell-build-system)
12129 (home-page "https://github.com/nominolo/union-find")
12130 (synopsis "Efficient union and equivalence testing of sets")
12131 (description
12132 "The Union/Find algorithm implements these operations in (effectively)
12133constant-time:
12134@enumerate
12135@item Check whether two elements are in the same equivalence class.
12136@item Create a union of two equivalence classes.
12137@item Look up the descriptor of the equivalence class.
12138@end enumerate\n")
12139 (license license:bsd-3)))
12140
12141(define-public ghc-uniplate
12142 (package
12143 (name "ghc-uniplate")
12144 (version "1.6.12")
12145 (source
12146 (origin
12147 (method url-fetch)
12148 (uri (string-append
12149 "https://hackage.haskell.org/package/uniplate/uniplate-"
12150 version
12151 ".tar.gz"))
12152 (sha256
12153 (base32
12154 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
12155 (build-system haskell-build-system)
12156 (inputs
12157 `(("ghc-syb" ,ghc-syb)
12158 ("ghc-hashable" ,ghc-hashable)
12159 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12160 (home-page "http://community.haskell.org/~ndm/uniplate/")
12161 (synopsis "Simple, concise and fast generic operations")
12162 (description "Uniplate is a library for writing simple and concise generic
12163operations. Uniplate has similar goals to the original Scrap Your Boilerplate
12164work, but is substantially simpler and faster.")
12165 (license license:bsd-3)))
12166
12167(define-public ghc-unix-compat
12168 (package
12169 (name "ghc-unix-compat")
bc82e9f5 12170 (version "0.5.2")
dddbc90c
RV
12171 (source
12172 (origin
12173 (method url-fetch)
12174 (uri (string-append
12175 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
12176 version
12177 ".tar.gz"))
12178 (sha256
12179 (base32
bc82e9f5 12180 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
12181 (build-system haskell-build-system)
12182 (home-page
12183 "https://github.com/jystic/unix-compat")
12184 (synopsis "Portable POSIX-compatibility layer")
12185 (description
12186 "This package provides portable implementations of parts of the unix
12187package. This package re-exports the unix package when available. When it
12188isn't available, portable implementations are used.")
12189 (license license:bsd-3)))
12190
12191(define-public ghc-unix-time
12192 (package
12193 (name "ghc-unix-time")
fad9cff2 12194 (version "0.4.7")
dddbc90c
RV
12195 (source
12196 (origin
12197 (method url-fetch)
12198 (uri (string-append
12199 "https://hackage.haskell.org/package/unix-time/unix-time-"
12200 version
12201 ".tar.gz"))
12202 (sha256
12203 (base32
fad9cff2 12204 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
12205 (build-system haskell-build-system)
12206 (arguments
12207 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
12208 ; is weird, that should be provided by GHC 7.10.2.
12209 (inputs
12210 `(("ghc-old-time" ,ghc-old-time)
12211 ("ghc-old-locale" ,ghc-old-locale)))
12212 (home-page "https://hackage.haskell.org/package/unix-time")
12213 (synopsis "Unix time parser/formatter and utilities")
12214 (description "This library provides fast parsing and formatting utilities
12215for Unix time in Haskell.")
12216 (license license:bsd-3)))
12217
12218(define-public ghc-unliftio
12219 (package
12220 (name "ghc-unliftio")
a4084db1 12221 (version "0.2.12")
dddbc90c
RV
12222 (source
12223 (origin
12224 (method url-fetch)
12225 (uri (string-append
12226 "https://hackage.haskell.org/package/unliftio/unliftio-"
12227 version
12228 ".tar.gz"))
12229 (sha256
12230 (base32
a4084db1 12231 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
12232 (build-system haskell-build-system)
12233 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
12234 (inputs
12235 `(("ghc-async" ,ghc-async)
12236 ("ghc-unliftio-core" ,ghc-unliftio-core)))
12237 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
12238 (home-page "https://github.com/fpco/unliftio")
12239 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
12240IO (batteries included)")
12241 (description "This Haskell package provides the core @code{MonadUnliftIO}
12242typeclass, a number of common instances, and a collection of common functions
12243working with it.")
12244 (license license:expat)))
12245
12246(define-public ghc-unliftio-core
12247 (package
12248 (name "ghc-unliftio-core")
2ae42618 12249 (version "0.1.2.0")
dddbc90c
RV
12250 (source
12251 (origin
12252 (method url-fetch)
12253 (uri (string-append "https://hackage.haskell.org/package/"
12254 "unliftio-core-" version "/"
12255 "unliftio-core-" version ".tar.gz"))
12256 (sha256
12257 (base32
2ae42618 12258 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
12259 (build-system haskell-build-system)
12260 (arguments
12261 `(#:cabal-revision
2ae42618 12262 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
12263 (home-page
12264 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
12265 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
12266 (description "This Haskell package provides the core @code{MonadUnliftIO}
12267typeclass, instances for base and transformers, and basic utility
12268functions.")
12269 (license license:expat)))
12270
12271(define-public ghc-unordered-containers
12272 (package
12273 (name "ghc-unordered-containers")
ca01f8d3 12274 (version "0.2.10.0")
dddbc90c
RV
12275 (outputs '("out" "doc"))
12276 (source
12277 (origin
12278 (method url-fetch)
12279 (uri (string-append
12280 "https://hackage.haskell.org/package/unordered-containers"
12281 "/unordered-containers-" version ".tar.gz"))
12282 (sha256
12283 (base32
ca01f8d3 12284 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
12285 (build-system haskell-build-system)
12286 (inputs
12287 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
12288 ("ghc-hunit" ,ghc-hunit)
12289 ("ghc-quickcheck" ,ghc-quickcheck)
12290 ("ghc-test-framework" ,ghc-test-framework)
12291 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12292 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12293 ("ghc-hashable" ,ghc-hashable)))
12294 (home-page
12295 "https://github.com/tibbe/unordered-containers")
12296 (synopsis
12297 "Efficient hashing-based container types")
12298 (description
12299 "Efficient hashing-based container types. The containers have been
12300optimized for performance critical use, both in terms of large data quantities
12301and high speed.")
12302 (license license:bsd-3)))
12303
12304(define-public ghc-unordered-containers-bootstrap
12305 (package
12306 (inherit ghc-unordered-containers)
12307 (name "ghc-unordered-containers-bootstrap")
12308 (arguments `(#:tests? #f))
12309 (inputs
12310 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 12311 (properties '((hidden? #t)))))
dddbc90c 12312
a52f4c57
JS
12313(define-public ghc-unsafe
12314 (package
12315 (name "ghc-unsafe")
12316 (version "0.0")
12317 (source
12318 (origin
12319 (method url-fetch)
12320 (uri
12321 (string-append
12322 "https://hackage.haskell.org/package/unsafe/unsafe-"
12323 version ".tar.gz"))
12324 (sha256
12325 (base32
12326 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
12327 (build-system haskell-build-system)
12328 (home-page "https://hackage.haskell.org/package/unsafe")
12329 (synopsis "Unified interface to unsafe functions")
12330 (description "Safe Haskell introduced the notion of safe and unsafe
12331modules. In order to make as many as possible modules ``safe'', the
12332well-known unsafe functions were moved to distinguished modules. This
12333makes it hard to write packages that work with both old and new versions
12334of GHC. This package provides a single module System.Unsafe that
12335exports the unsafe functions from the base package. It provides them in
12336a style ready for qualification, that is, you should import them by
12337@code{import qualified System.Unsafe as Unsafe}.")
12338 (license license:bsd-3)))
12339
dddbc90c
RV
12340(define-public ghc-uri-bytestring
12341 (package
12342 (name "ghc-uri-bytestring")
d35ffd39 12343 (version "0.3.2.2")
dddbc90c
RV
12344 (source
12345 (origin
12346 (method url-fetch)
12347 (uri (string-append "https://hackage.haskell.org/package/"
12348 "uri-bytestring-" version "/"
12349 "uri-bytestring-" version ".tar.gz"))
12350 (sha256
12351 (base32
d35ffd39 12352 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
12353 (build-system haskell-build-system)
12354 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
12355 ("ghc-blaze-builder" ,ghc-blaze-builder)
12356 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 12357 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
12358 ("ghc-tasty" ,ghc-tasty)
12359 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
12360 ("ghc-hedgehog" ,ghc-hedgehog)
12361 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 12362 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 12363 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 12364 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
12365 (home-page "https://github.com/Soostone/uri-bytestring")
12366 (synopsis "Haskell URI parsing as ByteStrings")
12367 (description "This Haskell package aims to be an RFC3986 compliant URI
12368parser that uses ByteStrings for parsing and representing the URI data.")
12369 (license license:bsd-3)))
12370
12371(define-public ghc-utf8-string
12372 (package
12373 (name "ghc-utf8-string")
12374 (version "1.0.1.1")
12375 (source
12376 (origin
12377 (method url-fetch)
12378 (uri (string-append
12379 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
12380 version
12381 ".tar.gz"))
12382 (sha256
12383 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
12384 (build-system haskell-build-system)
12385 (arguments
12386 `(#:cabal-revision
12387 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
12388 (home-page "https://github.com/glguy/utf8-string/")
12389 (synopsis "Support for reading and writing UTF8 Strings")
12390 (description
12391 "A UTF8 layer for Strings. The utf8-string package provides operations
12392for encoding UTF8 strings to Word8 lists and back, and for reading and writing
12393UTF8 without truncation.")
12394 (license license:bsd-3)))
12395
12396(define-public ghc-utility-ht
12397 (package
12398 (name "ghc-utility-ht")
12399 (version "0.0.14")
12400 (home-page "https://hackage.haskell.org/package/utility-ht")
12401 (source
12402 (origin
12403 (method url-fetch)
12404 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
12405 (sha256
12406 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
12407 (build-system haskell-build-system)
12408 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
12409 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
12410 (description "This package includes Hakell modules providing various
12411helper functions for Lists, Maybes, Tuples, Functions.")
12412 (license license:bsd-3)))
12413
12414(define-public ghc-uuid
12415 (package
12416 (name "ghc-uuid")
12417 (version "1.3.13")
12418 (source
12419 (origin
12420 (method url-fetch)
12421 (uri (string-append "https://hackage.haskell.org/package/"
12422 "uuid-" version "/"
12423 "uuid-" version ".tar.gz"))
12424 (sha256
12425 (base32
12426 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
12427 (build-system haskell-build-system)
12428 (arguments
12429 `(#:cabal-revision
12430 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
12431 #:phases
12432 (modify-phases %standard-phases
12433 (add-before 'configure 'strip-test-framework-constraints
12434 (lambda _
12435 (substitute* "uuid.cabal"
12436 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
12437 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
12438 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12439 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12440 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12441 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
12442 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
12443 ("ghc-entropy" ,ghc-entropy)
12444 ("ghc-network-info" ,ghc-network-info)
12445 ("ghc-random" ,ghc-random)
12446 ("ghc-uuid-types" ,ghc-uuid-types)))
12447 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12448 ("ghc-quickcheck" ,ghc-quickcheck)
12449 ("ghc-tasty" ,ghc-tasty)
12450 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12451 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12452 (home-page "https://github.com/hvr/uuid")
12453 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
12454 (description "This Haskell library provides utilities creating, comparing,
12455parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
12456 (license license:bsd-3)))
12457
12458(define-public ghc-uuid-types
12459 (package
12460 (name "ghc-uuid-types")
12461 (version "1.0.3")
12462 (source
12463 (origin
12464 (method url-fetch)
12465 (uri (string-append "https://hackage.haskell.org/package/"
12466 "uuid-types-" version "/"
12467 "uuid-types-" version ".tar.gz"))
12468 (sha256
12469 (base32
12470 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
12471 (build-system haskell-build-system)
12472 (arguments
12473 `(#:phases
12474 (modify-phases %standard-phases
12475 (add-before 'configure 'strip-test-framework-constraints
12476 (lambda _
12477 (substitute* "uuid-types.cabal"
12478 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
12479 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
12480 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12481 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12482 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12483 (inputs `(("ghc-hashable" ,ghc-hashable)
12484 ("ghc-random" ,ghc-random)))
12485 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12486 ("ghc-quickcheck" ,ghc-quickcheck)
12487 ("ghc-tasty" ,ghc-tasty)
12488 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12489 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12490 (home-page "https://github.com/hvr/uuid")
12491 (synopsis "Haskell type definitions for UUIDs")
12492 (description "This Haskell library contains type definitions for
12493@dfn{Universally Unique Identifiers} or
12494@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
12495functions.")
12496 (license license:bsd-3)))
12497
12498(define-public ghc-validation
12499 (package
12500 (name "ghc-validation")
08397fde 12501 (version "1.1")
dddbc90c
RV
12502 (source
12503 (origin
12504 (method url-fetch)
12505 (uri (string-append
12506 "mirror://hackage/package/validation/validation-"
12507 version
12508 ".tar.gz"))
12509 (sha256
12510 (base32
08397fde 12511 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
12512 (build-system haskell-build-system)
12513 (arguments
12514 `(#:cabal-revision
08397fde 12515 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
12516 (inputs
12517 `(("ghc-semigroups" ,ghc-semigroups)
12518 ("ghc-semigroupoids" ,ghc-semigroupoids)
12519 ("ghc-bifunctors" ,ghc-bifunctors)
12520 ("ghc-lens" ,ghc-lens)))
12521 (native-inputs
12522 `(("ghc-hedgehog" ,ghc-hedgehog)
12523 ("ghc-hunit" ,ghc-hunit)))
12524 (home-page "https://github.com/qfpl/validation")
12525 (synopsis
12526 "Data-type like Either but with an accumulating Applicative")
12527 (description
12528 "A data-type like Either but with differing properties and type-class
12529instances.
12530
12531Library support is provided for this different representation, including
12532@code{lens}-related functions for converting between each and abstracting over
12533their similarities.
12534
12535The @code{Validation} data type is isomorphic to @code{Either}, but has an
12536instance of @code{Applicative} that accumulates on the error side. That is to
12537say, if two (or more) errors are encountered, they are appended using a
12538@{Semigroup} operation.
12539
12540As a consequence of this @code{Applicative} instance, there is no
12541corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
12542example of, \"An applicative functor that is not a monad.\"")
12543 (license license:bsd-3)))
12544
12545(define-public ghc-validity
12546 (package
12547 (name "ghc-validity")
3f1ba75d 12548 (version "0.9.0.2")
dddbc90c
RV
12549 (source
12550 (origin
12551 (method url-fetch)
12552 (uri (string-append
12553 "https://hackage.haskell.org/package/validity/validity-"
12554 version
12555 ".tar.gz"))
12556 (sha256
12557 (base32
3f1ba75d 12558 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
12559 (build-system haskell-build-system)
12560 (native-inputs `(("ghc-hspec" ,ghc-hspec)
12561 ("hspec-discover" ,hspec-discover)))
12562 (home-page
12563 "https://github.com/NorfairKing/validity")
12564 (synopsis "Validity typeclass")
12565 (description
12566 "Values of custom types usually have invariants imposed upon them. This
12567package provides the @code{Validity} type class, which makes these invariants
12568explicit by providing a function to check whether the invariants hold.")
12569 (license license:expat)))
12570
12571(define-public ghc-vault
12572 (package
12573 (name "ghc-vault")
b40a436e 12574 (version "0.3.1.3")
dddbc90c
RV
12575 (source
12576 (origin
12577 (method url-fetch)
12578 (uri (string-append
12579 "https://hackage.haskell.org/package/vault/vault-"
12580 version
12581 ".tar.gz"))
12582 (sha256
12583 (base32
b40a436e 12584 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
12585 (build-system haskell-build-system)
12586 (inputs
12587 `(("ghc-unordered-containers" ,ghc-unordered-containers)
12588 ("ghc-hashable" ,ghc-hashable)
b40a436e 12589 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
12590 (home-page
12591 "https://github.com/HeinrichApfelmus/vault")
12592 (synopsis "Persistent store for arbitrary values")
12593 (description "This package provides vaults for Haskell. A vault is a
12594persistent store for values of arbitrary types. It's like having first-class
12595access to the storage space behind @code{IORefs}. The data structure is
12596analogous to a bank vault, where you can access different bank boxes with
12597different keys; hence the name. Also provided is a @code{locker} type,
12598representing a store for a single element.")
12599 (license license:bsd-3)))
12600
12601(define-public ghc-vector
12602 (package
12603 (name "ghc-vector")
3ad67f6b 12604 (version "0.12.0.3")
dddbc90c
RV
12605 (outputs '("out" "doc"))
12606 (source
12607 (origin
12608 (method url-fetch)
12609 (uri (string-append
12610 "https://hackage.haskell.org/package/vector/vector-"
12611 version
12612 ".tar.gz"))
12613 (sha256
12614 (base32
3ad67f6b 12615 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
12616 (build-system haskell-build-system)
12617 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
12618 ;; disabled for now.
12619 (arguments
3ad67f6b 12620 `(#:tests? #f))
dddbc90c
RV
12621 (inputs
12622 `(("ghc-primitive" ,ghc-primitive)
12623 ("ghc-random" ,ghc-random)
12624 ("ghc-quickcheck" ,ghc-quickcheck)
12625 ;; ("ghc-hunit" ,ghc-hunit)
12626 ;; ("ghc-test-framework" ,ghc-test-framework)
12627 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12628 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12629 ))
12630 (home-page "https://github.com/haskell/vector")
12631 (synopsis "Efficient Arrays")
12632 (description "This library provides an efficient implementation of
12633Int-indexed arrays (both mutable and immutable), with a powerful loop
12634optimisation framework.")
12635 (license license:bsd-3)))
12636
12637(define-public ghc-vector-algorithms
12638 (package
12639 (name "ghc-vector-algorithms")
e71f316f 12640 (version "0.8.0.1")
dddbc90c
RV
12641 (source
12642 (origin
12643 (method url-fetch)
12644 (uri (string-append "https://hackage.haskell.org/package/"
12645 "vector-algorithms-" version "/"
12646 "vector-algorithms-" version ".tar.gz"))
12647 (sha256
12648 (base32
e71f316f 12649 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
12650 (build-system haskell-build-system)
12651 (inputs
12652 `(("ghc-vector" ,ghc-vector)))
12653 (native-inputs
12654 `(("ghc-quickcheck" ,ghc-quickcheck)))
12655 (home-page "https://github.com/bos/math-functions")
12656 (synopsis "Algorithms for vector arrays in Haskell")
12657 (description "This Haskell library algorithms for vector arrays.")
12658 (license license:bsd-3)))
12659
12660(define-public ghc-vector-binary-instances
12661 (package
12662 (name "ghc-vector-binary-instances")
ca0701ef 12663 (version "0.2.5.1")
dddbc90c
RV
12664 (source
12665 (origin
12666 (method url-fetch)
12667 (uri (string-append
12668 "https://hackage.haskell.org/package/"
12669 "vector-binary-instances/vector-binary-instances-"
12670 version ".tar.gz"))
12671 (sha256
12672 (base32
ca0701ef 12673 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 12674 (build-system haskell-build-system)
dddbc90c
RV
12675 (inputs
12676 `(("ghc-vector" ,ghc-vector)))
12677 (native-inputs
12678 `(("ghc-tasty" ,ghc-tasty)
12679 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12680 (home-page "https://github.com/bos/vector-binary-instances")
12681 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
12682 (description "This library provides instances of @code{Binary} for the
12683types defined in the @code{vector} package, making it easy to serialize
12684vectors to and from disk. We use the generic interface to vectors, so all
12685vector types are supported. Specific instances are provided for unboxed,
12686boxed and storable vectors.")
12687 (license license:bsd-3)))
12688
12689(define-public ghc-vector-builder
12690 (package
12691 (name "ghc-vector-builder")
1fc05441 12692 (version "0.3.8")
dddbc90c
RV
12693 (source
12694 (origin
12695 (method url-fetch)
12696 (uri (string-append "https://hackage.haskell.org/package/"
12697 "vector-builder-" version "/"
12698 "vector-builder-" version ".tar.gz"))
12699 (sha256
12700 (base32
1fc05441 12701 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
12702 (build-system haskell-build-system)
12703 (inputs `(("ghc-vector" ,ghc-vector)
12704 ("ghc-semigroups" ,ghc-semigroups)
12705 ("ghc-base-prelude" ,ghc-base-prelude)))
12706 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12707 ("ghc-tasty" ,ghc-tasty)
12708 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12709 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
12710 ("ghc-hunit" ,ghc-hunit)
12711 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
12712 ("ghc-rerebase" ,ghc-rerebase)))
12713 (home-page "https://github.com/nikita-volkov/vector-builder")
12714 (synopsis "Vector builder for Haskell")
12715 (description "This Haskell package provides an API for constructing vectors.
12716It provides the composable @code{Builder} abstraction, which has instances of the
12717@code{Monoid} and @code{Semigroup} classes.
12718
12719You would first use the @code{Builder} abstraction to specify the structure of
12720the vector; then you can execute the builder to actually produce the
12721vector. ")
12722 (license license:expat)))
12723
12724(define-public ghc-vector-th-unbox
12725 (package
12726 (name "ghc-vector-th-unbox")
63056e61 12727 (version "0.2.1.7")
dddbc90c
RV
12728 (source
12729 (origin
12730 (method url-fetch)
12731 (uri (string-append "https://hackage.haskell.org/package/"
12732 "vector-th-unbox-" version "/"
12733 "vector-th-unbox-" version ".tar.gz"))
12734 (sha256
12735 (base32
63056e61 12736 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
12737 (build-system haskell-build-system)
12738 (inputs
12739 `(("ghc-vector" ,ghc-vector)
12740 ("ghc-data-default" ,ghc-data-default)))
12741 (home-page "https://github.com/liyang/vector-th-unbox")
12742 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
12743 (description "This Haskell library provides a Template Haskell
12744deriver for unboxed vectors, given a pair of coercion functions to
12745and from some existing type with an Unbox instance.")
12746 (license license:bsd-3)))
12747
12748(define-public ghc-void
12749 (package
12750 (name "ghc-void")
51889121 12751 (version "0.7.3")
dddbc90c
RV
12752 (source
12753 (origin
12754 (method url-fetch)
12755 (uri (string-append
12756 "https://hackage.haskell.org/package/void/void-"
12757 version
12758 ".tar.gz"))
12759 (sha256
12760 (base32
51889121 12761 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
12762 (build-system haskell-build-system)
12763 (inputs
12764 `(("ghc-semigroups" ,ghc-semigroups)
12765 ("ghc-hashable" ,ghc-hashable)))
12766 (home-page "https://github.com/ekmett/void")
12767 (synopsis
12768 "Logically uninhabited data type")
12769 (description
12770 "A Haskell 98 logically uninhabited data type, used to indicate that a
12771given term should not exist.")
12772 (license license:bsd-3)))
12773
12774(define-public ghc-wave
12775 (package
12776 (name "ghc-wave")
1631a0f7 12777 (version "0.2.0")
dddbc90c
RV
12778 (source (origin
12779 (method url-fetch)
12780 (uri (string-append
12781 "https://hackage.haskell.org/package/wave/wave-"
12782 version
12783 ".tar.gz"))
12784 (sha256
12785 (base32
1631a0f7 12786 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
12787 (build-system haskell-build-system)
12788 (arguments
12789 '(#:phases
12790 (modify-phases %standard-phases
12791 (add-before 'configure 'update-constraints
12792 (lambda _
12793 (substitute* "wave.cabal"
12794 (("temporary.* < 1\\.3")
12795 "temporary >= 1.1 && < 1.4")))))))
12796 (inputs
12797 `(("ghc-cereal" ,ghc-cereal)
12798 ("ghc-data-default-class"
12799 ,ghc-data-default-class)
12800 ("ghc-quickcheck" ,ghc-quickcheck)
12801 ("ghc-temporary" ,ghc-temporary)))
12802 (native-inputs
12803 `(("hspec-discover" ,hspec-discover)
12804 ("ghc-hspec" ,ghc-hspec)))
12805 (home-page "https://github.com/mrkkrp/wave")
12806 (synopsis "Work with WAVE and RF64 files in Haskell")
12807 (description "This package allows you to work with WAVE and RF64
12808files in Haskell.")
12809 (license license:bsd-3)))
12810
12811(define-public ghc-wcwidth
12812 (package
12813 (name "ghc-wcwidth")
12814 (version "0.0.2")
12815 (source
12816 (origin
12817 (method url-fetch)
12818 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
12819 version ".tar.gz"))
12820 (sha256
12821 (base32
12822 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
12823 (build-system haskell-build-system)
12824 (inputs
12825 `(("ghc-setlocale" ,ghc-setlocale)
12826 ("ghc-utf8-string" ,ghc-utf8-string)
12827 ("ghc-attoparsec" ,ghc-attoparsec)))
12828 (home-page "https://github.com/solidsnack/wcwidth/")
12829 (synopsis "Haskell bindings to wcwidth")
12830 (description "This package provides Haskell bindings to your system's
12831native wcwidth and a command line tool to examine the widths assigned by it.
12832The command line tool can compile a width table to Haskell code that assigns
12833widths to the Char type.")
12834 (license license:bsd-3)))
12835
12836(define-public ghc-wcwidth-bootstrap
12837 (package
12838 (inherit ghc-wcwidth)
12839 (name "ghc-wcwidth-bootstrap")
12840 (inputs
12841 `(("ghc-setlocale" ,ghc-setlocale)
12842 ("ghc-utf8-string" ,ghc-utf8-string)
12843 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 12844 (properties '((hidden? #t)))))
dddbc90c
RV
12845
12846(define-public ghc-weigh
12847 (package
12848 (name "ghc-weigh")
b6d9777f 12849 (version "0.0.14")
dddbc90c
RV
12850 (source
12851 (origin
12852 (method url-fetch)
12853 (uri (string-append "https://hackage.haskell.org/package/weigh/"
12854 "weigh-" version ".tar.gz"))
12855 (sha256
12856 (base32
b6d9777f 12857 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
12858 (build-system haskell-build-system)
12859 (inputs
12860 `(("ghc-split" ,ghc-split)
12861 ("ghc-temporary" ,ghc-temporary)))
12862 (home-page "https://github.com/fpco/weigh#readme")
12863 (synopsis "Measure allocations of a Haskell functions/values")
12864 (description "This package provides tools to measure the memory usage of a
12865Haskell value or function.")
12866 (license license:bsd-3)))
12867
12868(define-public ghc-wl-pprint
12869 (package
12870 (name "ghc-wl-pprint")
12871 (version "1.2.1")
12872 (source (origin
12873 (method url-fetch)
12874 (uri (string-append
12875 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
12876 version ".tar.gz"))
12877 (sha256
12878 (base32
12879 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
12880 (build-system haskell-build-system)
12881 (home-page "https://hackage.haskell.org/package/wl-pprint")
12882 (synopsis "Wadler/Leijen pretty printer")
12883 (description
12884 "This is a pretty printing library based on Wadler's paper @i{A Prettier
12885Printer}. This version allows the library user to declare overlapping
12886instances of the @code{Pretty} class.")
12887 (license license:bsd-3)))
12888
12889(define-public ghc-wl-pprint-annotated
12890 (package
12891 (name "ghc-wl-pprint-annotated")
12892 (version "0.1.0.1")
12893 (source
12894 (origin
12895 (method url-fetch)
12896 (uri (string-append
12897 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
12898 version
12899 ".tar.gz"))
12900 (sha256
12901 (base32
12902 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
12903 (build-system haskell-build-system)
12904 (native-inputs
12905 `(("ghc-tasty" ,ghc-tasty)
12906 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12907 (home-page
12908 "https://github.com/minad/wl-pprint-annotated#readme")
12909 (synopsis
12910 "Wadler/Leijen pretty printer with annotation support")
12911 (description
12912 "Annotations are useful for coloring. This is a limited version of
12913@code{wl-pprint-extras} without support for point effects and without the free
12914monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
12915Compared to @code{annotated-wl-pprint} this library provides a slightly
12916modernized interface.")
12917 (license license:bsd-3)))
12918
12919(define-public ghc-wl-pprint-text
12920 (package
12921 (name "ghc-wl-pprint-text")
12922 (version "1.2.0.0")
12923 (source
12924 (origin
12925 (method url-fetch)
12926 (uri (string-append
12927 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
12928 version ".tar.gz"))
12929 (sha256
12930 (base32
12931 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
12932 (build-system haskell-build-system)
12933 (inputs
12934 `(("ghc-base-compat" ,ghc-base-compat)))
12935 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
12936 (synopsis "Wadler/Leijen Pretty Printer for Text values")
12937 (description
12938 "A clone of wl-pprint for use with the text library.")
12939 (license license:bsd-3)))
12940
12941(define-public ghc-word8
12942 (package
12943 (name "ghc-word8")
12944 (version "0.1.3")
12945 (source
12946 (origin
12947 (method url-fetch)
12948 (uri (string-append
12949 "https://hackage.haskell.org/package/word8/word8-"
12950 version
12951 ".tar.gz"))
12952 (sha256
12953 (base32
12954 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
12955 (build-system haskell-build-system)
12956 (native-inputs
12957 `(("ghc-hspec" ,ghc-hspec)
12958 ("hspec-discover" ,hspec-discover)))
12959 (home-page "https://hackage.haskell.org/package/word8")
12960 (synopsis "Word8 library for Haskell")
12961 (description "Word8 library to be used with @code{Data.ByteString}.")
12962 (license license:bsd-3)))
12963
12964(define-public ghc-x11
12965 (package
12966 (name "ghc-x11")
6c4581a3 12967 (version "1.9.1")
dddbc90c
RV
12968 (source
12969 (origin
12970 (method url-fetch)
12971 (uri (string-append "https://hackage.haskell.org/package/X11/"
12972 "X11-" version ".tar.gz"))
12973 (sha256
6c4581a3 12974 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
12975 (build-system haskell-build-system)
12976 (inputs
12977 `(("libx11" ,libx11)
12978 ("libxrandr" ,libxrandr)
12979 ("libxinerama" ,libxinerama)
12980 ("libxscrnsaver" ,libxscrnsaver)
12981 ("ghc-data-default" ,ghc-data-default)))
12982 (home-page "https://github.com/haskell-pkg-janitors/X11")
12983 (synopsis "Bindings to the X11 graphics library")
12984 (description
12985 "This package provides Haskell bindings to the X11 graphics library. The
12986bindings are a direct translation of the C bindings.")
12987 (license license:bsd-3)))
12988
12989(define-public ghc-x11-xft
12990 (package
12991 (name "ghc-x11-xft")
12992 (version "0.3.1")
12993 (source
12994 (origin
12995 (method url-fetch)
12996 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
12997 "X11-xft-" version ".tar.gz"))
12998 (sha256
12999 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
13000 (inputs
13001 `(("ghc-x11" ,ghc-x11)
13002 ("ghc-utf8-string" ,ghc-utf8-string)
13003 ("libx11" ,libx11)
13004 ("libxft" ,libxft)
13005 ("xorgproto" ,xorgproto)))
13006 (native-inputs
13007 `(("pkg-config" ,pkg-config)))
13008 (build-system haskell-build-system)
13009 (home-page "https://hackage.haskell.org/package/X11-xft")
13010 (synopsis "Bindings to Xft")
13011 (description
13012 "Bindings to the Xft, X Free Type interface library, and some Xrender
13013parts.")
13014 (license license:lgpl2.1)))
13015
13016(define-public ghc-xdg-basedir
13017 (package
13018 (name "ghc-xdg-basedir")
13019 (version "0.2.2")
13020 (source
13021 (origin
13022 (method url-fetch)
13023 (uri (string-append
13024 "https://hackage.haskell.org/package/xdg-basedir/"
13025 "xdg-basedir-" version ".tar.gz"))
13026 (sha256
13027 (base32
13028 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
13029 (build-system haskell-build-system)
13030 (home-page "http://github.com/willdonnelly/xdg-basedir")
13031 (synopsis "XDG Base Directory library for Haskell")
13032 (description "This package provides a library implementing the XDG Base Directory spec.")
13033 (license license:bsd-3)))
13034
13035(define-public ghc-xml
13036 (package
13037 (name "ghc-xml")
13038 (version "1.3.14")
13039 (source
13040 (origin
13041 (method url-fetch)
13042 (uri (string-append
13043 "https://hackage.haskell.org/package/xml/xml-"
13044 version
13045 ".tar.gz"))
13046 (sha256
13047 (base32
13048 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
13049 (build-system haskell-build-system)
13050 (home-page "http://code.galois.com")
13051 (synopsis "Simple XML library for Haskell")
13052 (description "This package provides a simple XML library for Haskell.")
13053 (license license:bsd-3)))
13054
13055(define-public ghc-xml-conduit
13056 (package
13057 (name "ghc-xml-conduit")
13058 (version "1.8.0.1")
13059 (source
13060 (origin
13061 (method url-fetch)
13062 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
13063 "xml-conduit-" version ".tar.gz"))
13064 (sha256
13065 (base32
13066 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
13067 (build-system haskell-build-system)
13068 (inputs
13069 `(("ghc-conduit" ,ghc-conduit)
13070 ("ghc-conduit-extra" ,ghc-conduit-extra)
13071 ("ghc-doctest" ,ghc-doctest)
13072 ("ghc-resourcet" ,ghc-resourcet)
13073 ("ghc-xml-types" ,ghc-xml-types)
13074 ("ghc-attoparsec" ,ghc-attoparsec)
13075 ("ghc-data-default-class" ,ghc-data-default-class)
13076 ("ghc-blaze-markup" ,ghc-blaze-markup)
13077 ("ghc-blaze-html" ,ghc-blaze-html)
13078 ("ghc-monad-control" ,ghc-monad-control)
13079 ("ghc-hspec" ,ghc-hspec)
13080 ("ghc-hunit" ,ghc-hunit)))
13081 (home-page "https://github.com/snoyberg/xml")
13082 (synopsis "Utilities for dealing with XML with the conduit package")
13083 (description
13084 "This package provides pure-Haskell utilities for dealing with XML with
13085the @code{conduit} package.")
13086 (license license:expat)))
13087
13088(define-public ghc-xml-types
13089 (package
13090 (name "ghc-xml-types")
13091 (version "0.3.6")
13092 (source
13093 (origin
13094 (method url-fetch)
13095 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
13096 "xml-types-" version ".tar.gz"))
13097 (sha256
13098 (base32
13099 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
13100 (build-system haskell-build-system)
13101 (home-page "https://john-millikin.com/software/haskell-xml/")
13102 (synopsis "Basic types for representing XML")
13103 (description "This package provides basic types for representing XML
13104documents.")
13105 (license license:expat)))
13106
13107(define-public ghc-yaml
13108 (package
13109 (name "ghc-yaml")
b58e5b84 13110 (version "0.11.1.2")
dddbc90c
RV
13111 (source (origin
13112 (method url-fetch)
13113 (uri (string-append "https://hackage.haskell.org/package/"
13114 "yaml/yaml-" version ".tar.gz"))
13115 (sha256
13116 (base32
b58e5b84 13117 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 13118 (build-system haskell-build-system)
dddbc90c
RV
13119 (inputs
13120 `(("ghc-conduit" ,ghc-conduit)
13121 ("ghc-resourcet" ,ghc-resourcet)
13122 ("ghc-aeson" ,ghc-aeson)
13123 ("ghc-unordered-containers" ,ghc-unordered-containers)
13124 ("ghc-vector" ,ghc-vector)
13125 ("ghc-attoparsec" ,ghc-attoparsec)
13126 ("ghc-scientific" ,ghc-scientific)
13127 ("ghc-semigroups" ,ghc-semigroups)
13128 ("ghc-temporary" ,ghc-temporary)
13129 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
13130 ("ghc-base-compat" ,ghc-base-compat)
13131 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
13132 (native-inputs
13133 `(("ghc-hspec" ,ghc-hspec)
13134 ("ghc-hunit" ,ghc-hunit)
13135 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
13136 ("ghc-mockery" ,ghc-mockery)
13137 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
13138 (home-page "https://github.com/snoyberg/yaml/")
13139 (synopsis "Parsing and rendering YAML documents")
13140 (description
13141 "This package provides a library to parse and render YAML documents.")
13142 (license license:bsd-3)))
13143
13144(define-public ghc-zip-archive
13145 (package
13146 (name "ghc-zip-archive")
93c1fdd3 13147 (version "0.4.1")
dddbc90c
RV
13148 (source
13149 (origin
13150 (method url-fetch)
13151 (uri (string-append
13152 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
13153 version
13154 ".tar.gz"))
13155 (sha256
13156 (base32
93c1fdd3 13157 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 13158 (build-system haskell-build-system)
93c1fdd3
TS
13159 (arguments
13160 `(#:phases
13161 (modify-phases %standard-phases
13162 (add-before 'check 'set-PATH-for-tests
13163 (lambda* (#:key inputs #:allow-other-keys)
13164 (let ((unzip (assoc-ref inputs "unzip"))
13165 (which (assoc-ref inputs "which"))
13166 (path (getenv "PATH")))
13167 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
13168 #t))))))
dddbc90c
RV
13169 (inputs
13170 `(("ghc-digest" ,ghc-digest)
13171 ("ghc-temporary" ,ghc-temporary)
13172 ("ghc-zlib" ,ghc-zlib)))
13173 (native-inputs
13174 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
13175 ("unzip" ,unzip)
13176 ("which" ,which)))
dddbc90c
RV
13177 (home-page "https://hackage.haskell.org/package/zip-archive")
13178 (synopsis "Zip archive library for Haskell")
13179 (description "The zip-archive library provides functions for creating,
13180modifying, and extracting files from zip archives in Haskell.")
13181 (license license:bsd-3)))
13182
13183(define-public ghc-zlib
13184 (package
13185 (name "ghc-zlib")
bf12089a 13186 (version "0.6.2.1")
dddbc90c
RV
13187 (outputs '("out" "doc"))
13188 (source
13189 (origin
13190 (method url-fetch)
13191 (uri (string-append
13192 "https://hackage.haskell.org/package/zlib/zlib-"
13193 version
13194 ".tar.gz"))
13195 (sha256
13196 (base32
bf12089a 13197 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
13198 (build-system haskell-build-system)
13199 (arguments
13200 `(#:phases
13201 (modify-phases %standard-phases
13202 (add-before 'configure 'strip-test-framework-constraints
13203 (lambda _
13204 (substitute* "zlib.cabal"
13205 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
13206 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
13207 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13208 (inputs `(("zlib" ,zlib)))
13209 (native-inputs
13210 `(("ghc-quickcheck" ,ghc-quickcheck)
13211 ("ghc-tasty" ,ghc-tasty)
13212 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13213 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13214 (home-page "https://hackage.haskell.org/package/zlib")
13215 (synopsis
13216 "Compression and decompression in the gzip and zlib formats")
13217 (description
13218 "This package provides a pure interface for compressing and decompressing
13219streams of data represented as lazy @code{ByteString}s. It uses the zlib C
13220library so it has high performance. It supports the @code{zlib}, @code{gzip}
13221and @code{raw} compression formats. It provides a convenient high level API
13222suitable for most tasks and for the few cases where more control is needed it
13223provides access to the full zlib feature set.")
bbf8bf31 13224 (license license:bsd-3)))
14e41996
RV
13225
13226(define-public ghc-zlib-bindings
13227 (package
13228 (name "ghc-zlib-bindings")
13229 (version "0.1.1.5")
13230 (source
13231 (origin
13232 (method url-fetch)
13233 (uri (string-append "https://hackage.haskell.org/package/"
13234 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
13235 (sha256
13236 (base32
13237 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
13238 (build-system haskell-build-system)
13239 (inputs
13240 `(("ghc-zlib" ,ghc-zlib)))
13241 (native-inputs
13242 `(("ghc-hspec" ,ghc-hspec)
13243 ("ghc-quickcheck" ,ghc-quickcheck)))
13244 (arguments
13245 `(#:cabal-revision
13246 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
13247 (home-page "https://github.com/snapframework/zlib-bindings")
13248 (synopsis "Low-level bindings to the @code{zlib} package")
13249 (description "This package provides low-level bindings to the
13250@code{zlib} package.")
13251 (license license:bsd-3)))
8428e92c
TS
13252
13253(define-public ghc-zstd
13254 (package
13255 (name "ghc-zstd")
13256 (version "0.1.1.2")
13257 (source
13258 (origin
13259 (method url-fetch)
13260 (uri (string-append "https://hackage.haskell.org/package/"
13261 "zstd/zstd-" version ".tar.gz"))
13262 (sha256
13263 (base32
13264 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
13265 (build-system haskell-build-system)
13266 (native-inputs
13267 `(("ghc-quickcheck" ,ghc-quickcheck)
13268 ("ghc-test-framework" ,ghc-test-framework)
13269 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
13270 (home-page "https://github.com/luispedro/hs-zstd")
13271 (synopsis "Haskell bindings to the Zstandard compression algorithm")
13272 (description "This library provides Haskell bindings to the
13273Zstandard compression algorithm, a fast lossless compression algorithm
13274targeting real-time compression scenarios at zlib-level and better
13275compression ratios.")
13276 (license license:bsd-3)))