gnu: Add ghc-doclayout.
[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>
84436be0 26;;; Copyright © 2020 JoJo <jo@jo.zone>
ba7cbae3 27;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
6b34d01c
RV
28;;;
29;;; This file is part of GNU Guix.
30;;;
31;;; GNU Guix is free software; you can redistribute it and/or modify it
32;;; under the terms of the GNU General Public License as published by
33;;; the Free Software Foundation; either version 3 of the License, or (at
34;;; your option) any later version.
35;;;
36;;; GNU Guix is distributed in the hope that it will be useful, but
37;;; WITHOUT ANY WARRANTY; without even the implied warranty of
38;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
39;;; GNU General Public License for more details.
40;;;
41;;; You should have received a copy of the GNU General Public License
42;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
43
44(define-module (gnu packages haskell-xyz)
45 #:use-module (gnu packages)
dddbc90c
RV
46 #:use-module (gnu packages base)
47 #:use-module (gnu packages compression)
48 #:use-module (gnu packages emacs)
49 #:use-module (gnu packages gcc)
50 #:use-module (gnu packages gl)
51 #:use-module (gnu packages graphviz)
52 #:use-module (gnu packages gtk)
53 #:use-module (gnu packages haskell-apps)
efb96749 54 #:use-module (gnu packages haskell-check)
dddbc90c
RV
55 #:use-module (gnu packages haskell-crypto)
56 #:use-module (gnu packages haskell-web)
57 #:use-module (gnu packages libffi)
58 #:use-module (gnu packages linux)
e3ee8023 59 #:use-module (gnu packages llvm)
dddbc90c
RV
60 #:use-module (gnu packages lua)
61 #:use-module (gnu packages maths)
49e29df5 62 #:use-module (gnu packages ncurses)
dddbc90c
RV
63 #:use-module (gnu packages pcre)
64 #:use-module (gnu packages pkg-config)
65 #:use-module (gnu packages sdl)
0c2d6fc2 66 #:use-module (gnu packages web)
dddbc90c
RV
67 #:use-module (gnu packages xml)
68 #:use-module (gnu packages xorg)
6b34d01c
RV
69 #:use-module (guix build-system haskell)
70 #:use-module (guix download)
dddbc90c 71 #:use-module (guix git-download)
4780db2c 72 #:use-module (guix utils)
6b34d01c
RV
73 #:use-module ((guix licenses) #:prefix license:)
74 #:use-module (guix packages))
75
dddbc90c 76(define-public ghc-abstract-deque
efb96749 77 (package
dddbc90c
RV
78 (name "ghc-abstract-deque")
79 (version "0.3")
efb96749
RV
80 (source
81 (origin
82 (method url-fetch)
83 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
84 "abstract-deque-" version "/"
85 "abstract-deque-" version ".tar.gz"))
efb96749
RV
86 (sha256
87 (base32
dddbc90c 88 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 89 (build-system haskell-build-system)
dddbc90c
RV
90 (inputs `(("ghc-random" ,ghc-random)))
91 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
92 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
93 (description "This Haskell package provides an abstract interface to
94highly-parameterizable queues/deques.
95
96Background: There exists a feature space for queues that extends between:
efb96749
RV
97
98@itemize
dddbc90c
RV
99@item Simple, single-ended, non-concurrent, bounded queues
100
101@item Double-ended, thread-safe, growable queues with important points
102in between (such as the queues used for work stealing).
efb96749
RV
103@end itemize
104
dddbc90c
RV
105This package includes an interface for Deques that allows the programmer
106to use a single API for all of the above, while using the type system to
107select an efficient implementation given the requirements (using type families).
efb96749 108
dddbc90c
RV
109This package also includes a simple reference implementation based on
110@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
111 (license license:bsd-3)))
112
dddbc90c 113(define-public ghc-abstract-par
658dbc7f 114 (package
dddbc90c
RV
115 (name "ghc-abstract-par")
116 (version "0.3.3")
658dbc7f
RV
117 (source
118 (origin
119 (method url-fetch)
120 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
121 "abstract-par-" version "/"
122 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
123 (sha256
124 (base32
dddbc90c
RV
125 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
126 (build-system haskell-build-system)
127 (home-page "https://github.com/simonmar/monad-par")
128 (synopsis "Abstract parallelization interface for Haskell")
129 (description "This Haskell package is an abstract interface
130only. It provides a number of type clasess, but not an
131implementation. The type classes separate different levels
132of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
133module for more details.")
134 (license license:bsd-3)))
135
d8b88d74
TS
136(define-public ghc-active
137 (package
138 (name "ghc-active")
139 (version "0.2.0.14")
140 (source
141 (origin
142 (method url-fetch)
143 (uri (string-append "https://hackage.haskell.org/package/"
144 "active/active-" version ".tar.gz"))
145 (sha256
146 (base32
147 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
148 (build-system haskell-build-system)
149 (inputs
150 `(("ghc-vector" ,ghc-vector)
151 ("ghc-semigroups" ,ghc-semigroups)
152 ("ghc-semigroupoids" ,ghc-semigroupoids)
153 ("ghc-lens" ,ghc-lens)
154 ("ghc-linear" ,ghc-linear)))
155 (native-inputs
156 `(("ghc-quickcheck" ,ghc-quickcheck)))
157 (home-page "https://hackage.haskell.org/package/active")
158 (synopsis "Abstractions for animation")
159 (description "This package defines an @code{Active} abstraction for
160time-varying values with finite start and end times. It is used for
161describing animations within the
162@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
163diagrams framework}.")
164 (license license:bsd-3)))
165
dddbc90c
RV
166(define-public ghc-adjunctions
167 (package
168 (name "ghc-adjunctions")
169 (version "4.4")
170 (source
171 (origin
172 (method url-fetch)
173 (uri (string-append
174 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
175 version
176 ".tar.gz"))
177 (sha256
178 (base32
179 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f 180 (build-system haskell-build-system)
a78262be
TS
181 (arguments
182 `(#:cabal-revision
183 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
658dbc7f 184 (inputs
dddbc90c
RV
185 `(("ghc-profunctors" ,ghc-profunctors)
186 ("ghc-comonad" ,ghc-comonad)
187 ("ghc-contravariant" ,ghc-contravariant)
188 ("ghc-distributive" ,ghc-distributive)
189 ("ghc-free" ,ghc-free)
190 ("ghc-tagged" ,ghc-tagged)
191 ("ghc-semigroupoids" ,ghc-semigroupoids)
192 ("ghc-semigroups" ,ghc-semigroups)
193 ("ghc-transformers-compat" ,ghc-transformers-compat)
194 ("ghc-void" ,ghc-void)))
658dbc7f 195 (native-inputs
dddbc90c
RV
196 `(("ghc-generic-deriving" ,ghc-generic-deriving)
197 ("ghc-hspec" ,ghc-hspec)
198 ("hspec-discover" ,hspec-discover)))
199 (home-page "https://github.com/ekmett/adjunctions/")
200 (synopsis "Adjunctions and representable functors")
201 (description "This library provides adjunctions and representable functors
202for Haskell.")
203 (license license:bsd-3)))
204
205(define-public ghc-aeson-compat
206 (package
207 (name "ghc-aeson-compat")
0bafb755 208 (version "0.3.9")
dddbc90c
RV
209 (source
210 (origin
211 (method url-fetch)
212 (uri (string-append "https://hackage.haskell.org/package/"
213 "aeson-compat-" version "/"
214 "aeson-compat-" version ".tar.gz"))
215 (sha256
216 (base32
0bafb755 217 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
218 (build-system haskell-build-system)
219 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
220 (inputs `(("ghc-base-compat" ,ghc-base-compat)
221 ("ghc-aeson" ,ghc-aeson)
222 ("ghc-attoparsec" ,ghc-attoparsec)
223 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
224 ("ghc-exceptions" ,ghc-exceptions)
225 ("ghc-hashable" ,ghc-hashable)
226 ("ghc-scientific" ,ghc-scientific)
227 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
228 ("ghc-unordered-containers" ,ghc-unordered-containers)
229 ("ghc-vector" ,ghc-vector)
230 ("ghc-tagged" ,ghc-tagged)
231 ("ghc-semigroups" ,ghc-semigroups)
232 ("ghc-nats" ,ghc-nats)))
233 (home-page "https://github.com/phadej/aeson-compat")
234 (synopsis "Compatibility layer for ghc-aeson")
235 (description "This Haskell package provides compatibility layer for
236ghc-aeson.")
237 (license license:bsd-3)))
238
cbc6f861
TS
239(define-public ghc-aeson-diff
240 (package
241 (name "ghc-aeson-diff")
242 (version "1.1.0.7")
243 (source
244 (origin
245 (method url-fetch)
246 (uri (string-append "https://hackage.haskell.org/package/"
247 "aeson-diff/aeson-diff-" version ".tar.gz"))
248 (sha256
249 (base32
250 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
251 (build-system haskell-build-system)
252 (inputs
253 `(("ghc-aeson" ,ghc-aeson)
254 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
255 ("ghc-hashable" ,ghc-hashable)
256 ("ghc-scientific" ,ghc-scientific)
257 ("ghc-unordered-containers" ,ghc-unordered-containers)
258 ("ghc-vector" ,ghc-vector)
259 ("ghc-semigroups" ,ghc-semigroups)
260 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
261 (native-inputs
262 `(("ghc-quickcheck" ,ghc-quickcheck)
263 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
264 ("ghc-glob" ,ghc-glob)
265 ("ghc-quickcheck" ,ghc-quickcheck)
266 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
267 ("ghc-quickcheck" ,ghc-quickcheck)
268 ("ghc-doctest" ,ghc-doctest)
269 ("hlint" ,hlint)))
270 (home-page "https://github.com/thsutton/aeson-diff")
271 (synopsis "Extract and apply patches to JSON documents")
272 (description "This is a small library for working with changes to JSON
273documents. It includes a library and two command-line executables in the
274style of the @command{diff} and @command{patch} commands available on many
275systems.")
276 (license license:bsd-3)))
277
dddbc90c
RV
278(define-public ghc-alex
279 (package
280 (name "ghc-alex")
281 (version "3.2.4")
282 (source
283 (origin
284 (method url-fetch)
285 (uri (string-append
286 "https://hackage.haskell.org/package/alex/alex-"
287 version
288 ".tar.gz"))
289 (sha256
290 (base32
291 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
292 (build-system haskell-build-system)
658dbc7f 293 (arguments
dddbc90c
RV
294 `(#:phases
295 (modify-phases %standard-phases
296 (add-before 'check 'set-check-variables
297 (lambda _
298 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
299 (getenv "PATH")))
300 (setenv "alex_datadir" (string-append (getcwd) "/data"))
301 #t)))))
302 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
303 (native-inputs
304 `(("which" ,which)))
305 (home-page "https://www.haskell.org/alex/")
306 (synopsis
307 "Tool for generating lexical analysers in Haskell")
308 (description
309 "Alex is a tool for generating lexical analysers in Haskell. It takes a
310description of tokens based on regular expressions and generates a Haskell
311module containing code for scanning text efficiently. It is similar to the
312tool lex or flex for C/C++.")
658dbc7f
RV
313 (license license:bsd-3)))
314
dddbc90c 315(define-public ghc-alsa-core
7b01a977 316 (package
dddbc90c
RV
317 (name "ghc-alsa-core")
318 (version "0.5.0.1")
319 (source
320 (origin
321 (method url-fetch)
322 (uri (string-append
323 "mirror://hackage/package/alsa-core/alsa-core-"
324 version
325 ".tar.gz"))
326 (sha256
327 (base32
328 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
329 (build-system haskell-build-system)
330 (inputs
331 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
332 ("alsa-lib" ,alsa-lib)))
333 (native-inputs
334 `(("pkg-config" ,pkg-config)))
335 (home-page "http://www.haskell.org/haskellwiki/ALSA")
336 (synopsis "Binding to the ALSA Library API (Exceptions)")
337 (description "This package provides access to ALSA infrastructure, that is
338needed by both alsa-seq and alsa-pcm.")
339 (license license:bsd-3)))
340
f2ed1e6d
JS
341(define-public ghc-alsa-mixer
342 (package
343 (name "ghc-alsa-mixer")
344 (version "0.3.0")
345 (source
346 (origin
347 (method url-fetch)
348 (uri
349 (string-append
350 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
351 version ".tar.gz"))
352 (sha256
353 (base32
354 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
355 (build-system haskell-build-system)
356 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
357 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
358 (home-page "https://github.com/ttuegel/alsa-mixer")
359 (synopsis "Bindings to the ALSA simple mixer API")
360 (description
361 "This package provides bindings to the ALSA simple mixer API.")
362 (license license:bsd-3)))
363
dddbc90c
RV
364(define-public ghc-annotated-wl-pprint
365 (package
366 (name "ghc-annotated-wl-pprint")
367 (version "0.7.0")
368 (source
369 (origin
370 (method url-fetch)
371 (uri (string-append
372 "https://hackage.haskell.org/package/annotated-wl-pprint"
373 "/annotated-wl-pprint-" version
374 ".tar.gz"))
375 (sha256
376 (base32
377 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
378 (build-system haskell-build-system)
379 (home-page
380 "https://github.com/david-christiansen/annotated-wl-pprint")
381 (synopsis
382 "The Wadler/Leijen Pretty Printer, with annotation support")
383 (description "This is a modified version of wl-pprint, which was based on
384Wadler's paper \"A Prettier Printer\". This version allows the library user
385to annotate the text with semantic information, which can later be rendered in
386a variety of ways.")
387 (license license:bsd-3)))
388
389(define-public ghc-ansi-terminal
390 (package
391 (name "ghc-ansi-terminal")
f1b4a73f 392 (version "0.9.1")
dddbc90c
RV
393 (source
394 (origin
395 (method url-fetch)
396 (uri (string-append
397 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
398 version
399 ".tar.gz"))
400 (sha256
401 (base32
f1b4a73f 402 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
403 (build-system haskell-build-system)
404 (inputs
405 `(("ghc-colour" ,ghc-colour)))
406 (home-page "https://github.com/feuerbach/ansi-terminal")
407 (synopsis "ANSI terminal support for Haskell")
408 (description "This package provides ANSI terminal support for Haskell. It
409allows cursor movement, screen clearing, color output showing or hiding the
410cursor, and changing the title.")
411 (license license:bsd-3)))
412
413(define-public ghc-ansi-wl-pprint
414 (package
415 (name "ghc-ansi-wl-pprint")
c38746eb 416 (version "0.6.9")
7b01a977
RV
417 (source
418 (origin
419 (method url-fetch)
420 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 421 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
422 version ".tar.gz"))
423 (sha256
424 (base32
c38746eb 425 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
426 (build-system haskell-build-system)
427 (inputs
dddbc90c
RV
428 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
429 (home-page "https://github.com/ekmett/ansi-wl-pprint")
430 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
431 (description "This is a pretty printing library based on Wadler's paper
432\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
433colored output using the ansi-terminal package.")
434 (license license:bsd-3)))
435
436(define-public ghc-appar
437 (package
438 (name "ghc-appar")
1159d1a5 439 (version "0.1.8")
dddbc90c
RV
440 (source
441 (origin
442 (method url-fetch)
443 (uri (string-append
444 "https://hackage.haskell.org/package/appar/appar-"
445 version
446 ".tar.gz"))
447 (sha256
448 (base32
1159d1a5 449 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
450 (build-system haskell-build-system)
451 (home-page
452 "https://hackage.haskell.org/package/appar")
453 (synopsis "Simple applicative parser")
454 (description "This package provides a simple applicative parser in Parsec
455style.")
456 (license license:bsd-3)))
457
458(define-public ghc-async
459 (package
460 (name "ghc-async")
048ef066 461 (version "2.2.2")
dddbc90c
RV
462 (source
463 (origin
464 (method url-fetch)
465 (uri (string-append
466 "https://hackage.haskell.org/package/async/async-"
467 version
468 ".tar.gz"))
469 (sha256
470 (base32
048ef066 471 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
472 (build-system haskell-build-system)
473 (inputs
474 `(("ghc-hashable" ,ghc-hashable)
475 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
476 ("ghc-test-framework" ,ghc-test-framework)
477 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
478 (home-page "https://github.com/simonmar/async")
479 (synopsis "Library to run IO operations asynchronously")
480 (description "Async provides a library to run IO operations
481asynchronously, and wait for their results. It is a higher-level interface
482over threads in Haskell, in which @code{Async a} is a concurrent thread that
483will eventually deliver a value of type @code{a}.")
7b01a977
RV
484 (license license:bsd-3)))
485
9ad9ec2e
AG
486(define-public ghc-atomic-primops
487 (package
488 (name "ghc-atomic-primops")
af16c6b0 489 (version "0.8.3")
9ad9ec2e
AG
490 (source
491 (origin
492 (method url-fetch)
493 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
494 "/atomic-primops-" version ".tar.gz"))
495 (sha256
496 (base32
af16c6b0 497 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
9ad9ec2e
AG
498 (build-system haskell-build-system)
499 (inputs `(("ghc-primitive" ,ghc-primitive)))
500 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
501 (synopsis "Safe approach to CAS and other atomic ops")
502 (description
503 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
504use safely, because pointer equality is a highly unstable property in Haskell.
505This library provides a safer method based on the concept of @code{Ticket}s.")
506 (license license:bsd-3)))
507
dddbc90c 508(define-public ghc-atomic-write
79fcc5e5 509 (package
dddbc90c 510 (name "ghc-atomic-write")
c09d1e62 511 (version "0.2.0.6")
79fcc5e5
RV
512 (source
513 (origin
514 (method url-fetch)
dddbc90c
RV
515 (uri (string-append
516 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
517 version
518 ".tar.gz"))
79fcc5e5
RV
519 (sha256
520 (base32
c09d1e62 521 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
522 (build-system haskell-build-system)
523 (inputs
524 `(("ghc-temporary" ,ghc-temporary)
525 ("ghc-unix-compat" ,ghc-unix-compat)))
526 (native-inputs
527 `(("ghc-temporary" ,ghc-temporary)
528 ("ghc-unix-compat" ,ghc-unix-compat)
529 ("ghc-hspec" ,ghc-hspec)
530 ("hspec-discover" ,hspec-discover)))
531 (home-page "https://github.com/stackbuilders/atomic-write")
532 (synopsis "Atomically write to a file")
533 (description
534 "Atomically write to a file on POSIX-compliant systems while preserving
535permissions. @code{mv} is an atomic operation. This makes it simple to write
536to a file atomically just by using the @code{mv} operation. However, this
537will destroy the permissions on the original file. This library preserves
538permissions while atomically writing to a file.")
539 (license license:expat)))
540
541(define-public ghc-attoparsec
542 (package
543 (name "ghc-attoparsec")
511c3204 544 (version "0.13.2.3")
dddbc90c
RV
545 (source
546 (origin
547 (method url-fetch)
548 (uri (string-append
549 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
550 version
551 ".tar.gz"))
552 (sha256
553 (base32
511c3204 554 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 555 (build-system haskell-build-system)
79fcc5e5 556 (arguments
dddbc90c
RV
557 `(#:phases
558 (modify-phases %standard-phases
559 (add-after 'unpack 'patch-for-newer-quickcheck
560 (lambda _
561 (substitute* "attoparsec.cabal"
562 (("QuickCheck >= 2\\.7 && < 2\\.10")
563 "QuickCheck >= 2.7 && < 2.12"))
564 ;; This test fails because of the newer QuickCheck:
565 ;; <https://github.com/bos/attoparsec/issues/134>.
566 (substitute* "tests/QC/ByteString.hs"
567 ((", testProperty \"satisfyWith\" satisfyWith")
568 "")))))))
569 (inputs
570 `(("ghc-scientific" ,ghc-scientific)))
571 (native-inputs
572 `(("ghc-tasty" ,ghc-tasty)
573 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
574 ("ghc-quickcheck" ,ghc-quickcheck)
575 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
576 ("ghc-vector" ,ghc-vector)))
577 (home-page "https://github.com/bos/attoparsec")
578 (synopsis "Fast combinator parsing for bytestrings and text")
579 (description "This library provides a fast parser combinator library,
580aimed particularly at dealing efficiently with network protocols and
581complicated text/binary file formats.")
79fcc5e5
RV
582 (license license:bsd-3)))
583
dddbc90c 584(define-public ghc-attoparsec-bootstrap
6b34d01c 585 (package
dddbc90c
RV
586 (inherit ghc-attoparsec)
587 (name "ghc-attoparsec-bootstrap")
588 (arguments `(#:tests? #f))
589 (inputs
590 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
591 (native-inputs '())
799d8d3c 592 (properties '((hidden? #t)))))
dddbc90c
RV
593
594(define-public ghc-attoparsec-iso8601
595 (package
596 (name "ghc-attoparsec-iso8601")
97f267c8 597 (version "1.0.1.0")
6b34d01c
RV
598 (source
599 (origin
600 (method url-fetch)
601 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
602 "attoparsec-iso8601-" version "/"
603 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
604 (sha256
605 (base32
97f267c8 606 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 607 (build-system haskell-build-system)
dddbc90c
RV
608 (arguments
609 `(#:cabal-revision
97f267c8 610 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
611 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
612 ("ghc-base-compat" ,ghc-base-compat)))
613 (home-page "https://github.com/bos/aeson")
614 (synopsis "Parse ISO 8601 dates")
615 (description "Haskell library for parsing of ISO 8601 dates, originally
616from aeson.")
6b34d01c 617 (license license:bsd-3)))
b57e99f5 618
dddbc90c 619(define-public ghc-auto-update
b57e99f5 620 (package
dddbc90c 621 (name "ghc-auto-update")
11b1b6cd 622 (version "0.1.6")
dddbc90c
RV
623 (source
624 (origin
625 (method url-fetch)
626 (uri (string-append
627 "https://hackage.haskell.org/package/auto-update/auto-update-"
628 version
629 ".tar.gz"))
630 (sha256
631 (base32
11b1b6cd 632 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 633 (build-system haskell-build-system)
11b1b6cd
TS
634 (native-inputs
635 `(("ghc-hspec" ,ghc-hspec)
636 ("ghc-hunit" ,ghc-hunit)
637 ("ghc-retry" ,ghc-retry)
638 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
639 (home-page "https://github.com/yesodweb/wai")
640 (synopsis "Efficiently run periodic, on-demand actions")
641 (description "This library provides mechanisms to efficiently run
642periodic, on-demand actions in Haskell.")
643 (license license:expat)))
644
645(define-public ghc-aws
646 (package
647 (name "ghc-aws")
648 (version "0.20")
b57e99f5
RV
649 (source
650 (origin
651 (method url-fetch)
652 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
653 "aws-" version "/aws-" version ".tar.gz"))
654 (sha256 (base32
655 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
656 (build-system haskell-build-system)
657 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
658 (inputs
659 `(("ghc-aeson" ,ghc-aeson)
660 ("ghc-attoparsec" ,ghc-attoparsec)
661 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
662 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
663 ("ghc-blaze-builder" ,ghc-blaze-builder)
664 ("ghc-byteable" ,ghc-byteable)
665 ("ghc-case-insensitive" ,ghc-case-insensitive)
666 ("ghc-cereal" ,ghc-cereal)
667 ("ghc-conduit" ,ghc-conduit)
668 ("ghc-conduit-extra" ,ghc-conduit-extra)
669 ("ghc-cryptonite" ,ghc-cryptonite)
670 ("ghc-data-default" ,ghc-data-default)
671 ("ghc-http-conduit" ,ghc-http-conduit)
672 ("ghc-http-types" ,ghc-http-types)
673 ("ghc-lifted-base" ,ghc-lifted-base)
674 ("ghc-monad-control" ,ghc-monad-control)
675 ("ghc-network" ,ghc-network)
676 ("ghc-old-locale" ,ghc-old-locale)
677 ("ghc-safe" ,ghc-safe)
678 ("ghc-scientific" ,ghc-scientific)
679 ("ghc-tagged" ,ghc-tagged)
680 ("ghc-unordered-containers" ,ghc-unordered-containers)
681 ("ghc-utf8-string" ,ghc-utf8-string)
682 ("ghc-vector" ,ghc-vector)
683 ("ghc-xml-conduit" ,ghc-xml-conduit)))
684 (native-inputs
685 `(("ghc-quickcheck" ,ghc-quickcheck)
686 ("ghc-errors" ,ghc-errors)
687 ("ghc-http-client" ,ghc-http-client)
688 ("ghc-http-client-tls" ,ghc-http-client-tls)
689 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
690 ("ghc-tasty" ,ghc-tasty)
691 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
692 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
693 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
694 (home-page "https://github.com/aristidb/aws")
695 (synopsis "Amazon Web Services for Haskell")
696 (description "This package attempts to provide support for using
697Amazon Web Services like S3 (storage), SQS (queuing) and others to
698Haskell programmers. The ultimate goal is to support all Amazon
699Web Services.")
700 (license license:bsd-3)))
701
702(define-public ghc-base16-bytestring
703 (package
704 (name "ghc-base16-bytestring")
705 (version "0.1.1.6")
706 (source
707 (origin
708 (method url-fetch)
709 (uri (string-append
710 "https://hackage.haskell.org/package/base16-bytestring/"
711 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
712 (sha256
713 (base32
dddbc90c 714 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 715 (build-system haskell-build-system)
dddbc90c
RV
716 (home-page "https://github.com/bos/base16-bytestring")
717 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
718 (description
719 "This package provides a Haskell library for working with base16-encoded
720data quickly and efficiently, using the ByteString type.")
b57e99f5 721 (license license:bsd-3)))
bbf8bf31 722
dddbc90c 723(define-public ghc-base64-bytestring
bbf8bf31 724 (package
dddbc90c
RV
725 (name "ghc-base64-bytestring")
726 (version "1.0.0.2")
bbf8bf31
RV
727 (source
728 (origin
729 (method url-fetch)
dddbc90c
RV
730 (uri (string-append
731 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
732 version
733 ".tar.gz"))
734 (sha256
735 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
736 (build-system haskell-build-system)
737 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
738 (home-page "https://github.com/bos/base64-bytestring")
739 (synopsis "Base64 encoding and decoding for ByteStrings")
740 (description "This library provides fast base64 encoding and decoding for
741Haskell @code{ByteString}s.")
742 (license license:bsd-3)))
743
744(define-public ghc-base-compat
745 (package
746 (name "ghc-base-compat")
4daaa371 747 (version "0.10.5")
dddbc90c
RV
748 (source
749 (origin
750 (method url-fetch)
751 (uri (string-append
752 "https://hackage.haskell.org/package/base-compat/base-compat-"
753 version
754 ".tar.gz"))
bbf8bf31
RV
755 (sha256
756 (base32
4daaa371 757 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
758 (build-system haskell-build-system)
759 (native-inputs
dddbc90c
RV
760 `(("ghc-quickcheck" ,ghc-quickcheck)
761 ("ghc-hspec" ,ghc-hspec)
762 ("hspec-discover" ,hspec-discover)))
763 (home-page "https://hackage.haskell.org/package/base-compat")
764 (synopsis "Haskell compiler compatibility library")
765 (description "This library provides functions available in later versions
766of base to a wider range of compilers, without requiring the use of CPP
767pragmas in your code.")
768 (license license:bsd-3)))
769
f9d78c7f
TS
770(define-public ghc-base-compat-batteries
771 (package
772 (name "ghc-base-compat-batteries")
773 (version "0.10.5")
774 (source
775 (origin
776 (method url-fetch)
777 (uri (string-append "https://hackage.haskell.org/package/"
778 "base-compat-batteries/base-compat-batteries-"
779 version ".tar.gz"))
780 (sha256
781 (base32
782 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
783 (build-system haskell-build-system)
784 (inputs
785 `(("ghc-base-compat" ,ghc-base-compat)))
786 (native-inputs
787 `(("ghc-hspec" ,ghc-hspec)
788 ("ghc-quickcheck" ,ghc-quickcheck)
789 ("hspec-discover" ,hspec-discover)))
790 (arguments
791 `(#:cabal-revision
792 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
793 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
794 (synopsis "base-compat with extra batteries")
795 (description "This library provides functions available in later
796versions of @code{base} to a wider range of compilers, without requiring
797you to use CPP pragmas in your code. This package provides the same API
798as the @code{base-compat} library, but depends on compatibility
799packages (such as @code{semigroups}) to offer a wider support window
800than @code{base-compat}, which has no dependencies.")
801 (license license:expat)))
802
dddbc90c
RV
803(define-public ghc-basement
804 (package
805 (name "ghc-basement")
8b56c1fd 806 (version "0.0.11")
dddbc90c
RV
807 (source
808 (origin
809 (method url-fetch)
810 (uri (string-append "https://hackage.haskell.org/package/"
811 "basement/basement-" version ".tar.gz"))
812 (sha256
813 (base32
8b56c1fd 814 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
815 (build-system haskell-build-system)
816 (home-page "https://github.com/haskell-foundation/foundation")
817 (synopsis "Basic primitives for Foundation starter pack")
818 (description
819 "This package contains basic primitives for the Foundation set of
820packages.")
821 (license license:bsd-3)))
822
823(define-public ghc-base-orphans
824 (package
825 (name "ghc-base-orphans")
780477fb 826 (version "0.8.1")
dddbc90c
RV
827 (source
828 (origin
829 (method url-fetch)
830 (uri (string-append
831 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
832 version
833 ".tar.gz"))
834 (sha256
835 (base32
780477fb 836 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
837 (build-system haskell-build-system)
838 (native-inputs
839 `(("ghc-quickcheck" ,ghc-quickcheck)
840 ("ghc-hspec" ,ghc-hspec)
841 ("hspec-discover" ,hspec-discover)))
842 (home-page "https://hackage.haskell.org/package/base-orphans")
843 (synopsis "Orphan instances for backwards compatibility")
844 (description "This package defines orphan instances that mimic instances
845available in later versions of base to a wider (older) range of compilers.")
846 (license license:bsd-3)))
847
848(define-public ghc-base-prelude
849 (package
850 (name "ghc-base-prelude")
851 (version "1.3")
852 (source
853 (origin
854 (method url-fetch)
855 (uri (string-append "https://hackage.haskell.org/package/"
856 "base-prelude-" version "/"
857 "base-prelude-" version ".tar.gz"))
858 (sha256
859 (base32
860 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
861 (build-system haskell-build-system)
862 (home-page "https://github.com/nikita-volkov/base-prelude")
863 (synopsis "The most complete prelude formed solely from the Haskell's base
864package")
865 (description "This Haskell package aims to reexport all the non-conflicting
866and most general definitions from the \"base\" package.
867
868This includes APIs for applicatives, arrows, monoids, foldables, traversables,
869exceptions, generics, ST, MVars and STM.
870
871This package will never have any dependencies other than \"base\".
872
873Versioning policy:
874
875The versioning policy of this package deviates from PVP in the sense
876that its exports in part are transitively determined by the version of \"base\".
877Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
878the bounds of \"base\" as well.")
879 (license license:expat)))
880
881(define-public ghc-base-unicode-symbols
882 (package
883 (name "ghc-base-unicode-symbols")
884 (version "0.2.3")
885 (source
886 (origin
887 (method url-fetch)
888 (uri (string-append
889 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
890 version
891 ".tar.gz"))
892 (sha256
893 (base32
894 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
895 (build-system haskell-build-system)
896 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
897 (synopsis "Unicode alternatives for common functions and operators")
898 (description "This package defines new symbols for a number of functions,
899operators and types in the base package. All symbols are documented with
900their actual definition and information regarding their Unicode code point.
901They should be completely interchangeable with their definitions. For
902further Unicode goodness you can enable the @code{UnicodeSyntax}
903@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
904language extension}. This extension enables Unicode characters to be used to
905stand for certain ASCII character sequences, i.e. → instead of @code{->},
906∀ instead of @code{forall} and many others.")
907 (license license:bsd-3)))
908
909(define-public ghc-bifunctors
910 (package
911 (name "ghc-bifunctors")
0beaec66 912 (version "5.5.5")
dddbc90c
RV
913 (source
914 (origin
915 (method url-fetch)
916 (uri (string-append
917 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
918 version
919 ".tar.gz"))
920 (sha256
921 (base32
0beaec66 922 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
923 (build-system haskell-build-system)
924 (inputs
925 `(("ghc-base-orphans" ,ghc-base-orphans)
926 ("ghc-comonad" ,ghc-comonad)
927 ("ghc-th-abstraction" ,ghc-th-abstraction)
928 ("ghc-transformers-compat" ,ghc-transformers-compat)
929 ("ghc-tagged" ,ghc-tagged)
930 ("ghc-semigroups" ,ghc-semigroups)))
931 (native-inputs
932 `(("ghc-hspec" ,ghc-hspec)
933 ("hspec-discover" ,hspec-discover)
934 ("ghc-quickcheck" ,ghc-quickcheck)))
935 (home-page "https://github.com/ekmett/bifunctors/")
936 (synopsis "Bifunctors for Haskell")
937 (description "This package provides bifunctors for Haskell.")
938 (license license:bsd-3)))
939
940(define-public ghc-bindings-dsl
941 (package
942 (name "ghc-bindings-dsl")
943 (version "1.0.25")
944 (source
945 (origin
946 (method url-fetch)
947 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
948 "bindings-DSL-" version ".tar.gz"))
949 (sha256
950 (base32
951 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
952 (build-system haskell-build-system)
953 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
954 (synopsis "FFI domain specific language, on top of hsc2hs")
955 (description
956 "This is a set of macros to be used when writing Haskell FFI. They were
957designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
958extract from them all Haskell code needed to mimic such interfaces. All
959Haskell names used are automatically derived from C names, structures are
960mapped to Haskell instances of @code{Storable}, and there are also macros you
961can use with C code to help write bindings to inline functions or macro
962functions.")
963 (license license:bsd-3)))
964
64f42786
TS
965(define-public ghc-bitarray
966 (package
967 (name "ghc-bitarray")
968 (version "0.0.1.1")
969 (source
970 (origin
971 (method url-fetch)
972 (uri (string-append "https://hackage.haskell.org/package/"
973 "bitarray/bitarray-" version ".tar.gz"))
974 (sha256
975 (base32
976 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
977 (build-system haskell-build-system)
978 (arguments
979 `(#:cabal-revision
980 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
981 (home-page "https://hackage.haskell.org/package/bitarray")
982 (synopsis "Mutable and immutable bit arrays")
983 (description "The package provides mutable and immutable bit arrays.")
984 (license license:bsd-3)))
985
dddbc90c
RV
986(define-public ghc-blaze-builder
987 (package
988 (name "ghc-blaze-builder")
989 (version "0.4.1.0")
990 (source
991 (origin
992 (method url-fetch)
993 (uri (string-append
994 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
995 version
996 ".tar.gz"))
997 (sha256
998 (base32
999 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
1000 (build-system haskell-build-system)
1001 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
1002 (inputs
1003 `(("ghc-utf8-string" ,ghc-utf8-string)))
1004 (home-page "https://github.com/lpsmith/blaze-builder")
1005 (synopsis "Efficient buffered output")
1006 (description "This library provides an implementation of the older
1007@code{blaze-builder} interface in terms of the new builder that shipped with
1008@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1009bridge to the new builder, so that code that uses the old interface can
1010interoperate with code that uses the new implementation.")
1011 (license license:bsd-3)))
1012
1013(define-public ghc-blaze-markup
1014 (package
1015 (name "ghc-blaze-markup")
7d30fcf3 1016 (version "0.8.2.3")
dddbc90c
RV
1017 (source
1018 (origin
1019 (method url-fetch)
1020 (uri (string-append "https://hackage.haskell.org/package/"
1021 "blaze-markup/blaze-markup-"
1022 version ".tar.gz"))
1023 (sha256
1024 (base32
7d30fcf3 1025 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
1026 (build-system haskell-build-system)
1027 (arguments
1028 `(#:phases
1029 (modify-phases %standard-phases
1030 (add-before 'configure 'update-constraints
1031 (lambda _
1032 (substitute* "blaze-markup.cabal"
1033 (("tasty >= 1\\.0 && < 1\\.1")
1034 "tasty >= 1.0 && < 1.2")))))))
1035 (inputs
1036 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1037 (native-inputs
1038 `(("ghc-hunit" ,ghc-hunit)
1039 ("ghc-quickcheck" ,ghc-quickcheck)
1040 ("ghc-tasty" ,ghc-tasty)
1041 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1042 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1043 (home-page "https://jaspervdj.be/blaze")
1044 (synopsis "Fast markup combinator library for Haskell")
1045 (description "This library provides core modules of a markup combinator
1046library for Haskell.")
1047 (license license:bsd-3)))
1048
1049(define-public ghc-bloomfilter
1050 (package
1051 (name "ghc-bloomfilter")
1052 (version "2.0.1.0")
1053 (source
1054 (origin
1055 (method url-fetch)
1056 (uri (string-append "https://hackage.haskell.org/package/"
1057 "bloomfilter/bloomfilter-" version ".tar.gz"))
1058 (sha256
1059 (base32
1060 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1061 (build-system haskell-build-system)
1062 (native-inputs
1063 `(("ghc-quickcheck" ,ghc-quickcheck)
1064 ("ghc-random" ,ghc-random)
1065 ("ghc-test-framework" ,ghc-test-framework)
1066 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1067 (home-page "https://github.com/bos/bloomfilter")
1068 (synopsis "Pure and impure Bloom filter implementations")
1069 (description "This package provides both mutable and immutable Bloom
1070filter data types, along with a family of hash functions and an easy-to-use
1071interface.")
1072 (license license:bsd-3)))
1073
1074(define-public ghc-boxes
1075 (package
1076 (name "ghc-boxes")
1077 (version "0.1.5")
1078 (source
1079 (origin
1080 (method url-fetch)
1081 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1082 version ".tar.gz"))
1083 (sha256
1084 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1085 (build-system haskell-build-system)
1086 (inputs
1087 `(("ghc-split" ,ghc-split)
1088 ("ghc-quickcheck" ,ghc-quickcheck)))
1089 (home-page "https://hackage.haskell.org/package/boxes")
1090 (synopsis "2D text pretty-printing library")
1091 (description
1092 "Boxes is a pretty-printing library for laying out text in two dimensions,
1093using a simple box model.")
1094 (license license:bsd-3)))
1095
1096(define-public ghc-byteable
1097 (package
1098 (name "ghc-byteable")
1099 (version "0.1.1")
1100 (source (origin
1101 (method url-fetch)
1102 (uri (string-append "https://hackage.haskell.org/package/"
1103 "byteable/byteable-" version ".tar.gz"))
1104 (sha256
1105 (base32
1106 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1107 (build-system haskell-build-system)
1108 (home-page "https://github.com/vincenthz/hs-byteable")
1109 (synopsis "Type class for sequence of bytes")
1110 (description
1111 "This package provides an abstract class to manipulate sequence of bytes.
1112The use case of this class is abstracting manipulation of types that are just
1113wrapping a bytestring with stronger and more meaniful name.")
1114 (license license:bsd-3)))
1115
1116(define-public ghc-byteorder
1117 (package
1118 (name "ghc-byteorder")
1119 (version "1.0.4")
1120 (source
1121 (origin
1122 (method url-fetch)
1123 (uri (string-append
1124 "https://hackage.haskell.org/package/byteorder/byteorder-"
1125 version
1126 ".tar.gz"))
1127 (sha256
1128 (base32
1129 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1130 (build-system haskell-build-system)
1131 (home-page
1132 "http://community.haskell.org/~aslatter/code/byteorder")
1133 (synopsis
1134 "Exposes the native endianness of the system")
1135 (description
1136 "This package is for working with the native byte-ordering of the
1137system.")
1138 (license license:bsd-3)))
1139
1140(define-public ghc-bytes
1141 (package
1142 (name "ghc-bytes")
1143 (version "0.15.5")
1144 (source
1145 (origin
1146 (method url-fetch)
1147 (uri
1148 (string-append "https://hackage.haskell.org/package/bytes-"
1149 version "/bytes-"
1150 version ".tar.gz"))
1151 (file-name (string-append name "-" version ".tar.gz"))
1152 (sha256
1153 (base32
1154 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1155 (build-system haskell-build-system)
1156 (inputs `(("ghc-cereal" ,ghc-cereal)
1157 ("cabal-doctest" ,cabal-doctest)
1158 ("ghc-doctest" ,ghc-doctest)
1159 ("ghc-scientific" ,ghc-scientific)
1160 ("ghc-transformers-compat" ,ghc-transformers-compat)
1161 ("ghc-unordered-containers" ,ghc-unordered-containers)
1162 ("ghc-void" ,ghc-void)
1163 ("ghc-vector" ,ghc-vector)))
1164 (synopsis "Serialization between @code{binary} and @code{cereal}")
1165 (description "This package provides a simple compatibility shim that lets
1166you work with both @code{binary} and @code{cereal} with one chunk of
1167serialization code.")
1168 (home-page "https://hackage.haskell.org/package/bytes")
1169 (license license:bsd-3)))
1170
1171(define-public ghc-bytestring-builder
1172 (package
1173 (name "ghc-bytestring-builder")
13ac8a7f 1174 (version "0.10.8.2.0")
dddbc90c
RV
1175 (source
1176 (origin
1177 (method url-fetch)
1178 (uri (string-append
1179 "https://hackage.haskell.org/package/bytestring-builder"
1180 "/bytestring-builder-" version ".tar.gz"))
1181 (sha256
1182 (base32
13ac8a7f 1183 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1184 (build-system haskell-build-system)
1185 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1186 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1187 (synopsis "The new bytestring builder, packaged outside of GHC")
1188 (description "This package provides the bytestring builder that is
1189debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1190Compatibility package for older packages.")
1191 (license license:bsd-3)))
1192
1193(define-public ghc-bytestring-handle
1194 (package
1195 (name "ghc-bytestring-handle")
1196 (version "0.1.0.6")
1197 (source
1198 (origin
1199 (method url-fetch)
1200 (uri (string-append
1201 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1202 version ".tar.gz"))
1203 (sha256
1204 (base32
1205 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1206 (build-system haskell-build-system)
1207 (arguments
853748c4
TS
1208 `(#:cabal-revision
1209 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1210 #:phases
dddbc90c
RV
1211 (modify-phases %standard-phases
1212 (add-before 'configure 'update-constraints
1213 (lambda _
1214 (substitute* "bytestring-handle.cabal"
1215 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1216 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1217 (inputs
1218 `(("ghc-hunit" ,ghc-hunit)
1219 ("ghc-quickcheck" ,ghc-quickcheck)
1220 ("ghc-test-framework" ,ghc-test-framework)
1221 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1222 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1223 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1224 (synopsis "ByteString-backed Handles")
1225 (description "ByteString-backed Handles") ; There is no description
1226 (license license:bsd-3)))
1227
1228(define-public ghc-bytestring-lexing
1229 (package
1230 (name "ghc-bytestring-lexing")
1231 (version "0.5.0.2")
1232 (source
1233 (origin
1234 (method url-fetch)
1235 (uri (string-append "https://hackage.haskell.org/package/"
1236 "bytestring-lexing/bytestring-lexing-"
1237 version ".tar.gz"))
1238 (sha256
1239 (base32
1240 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1241 (build-system haskell-build-system)
1242 (home-page "http://code.haskell.org/~wren/")
1243 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1244 (description
1245 "This package provides tools to parse and produce literals efficiently
1246from strict or lazy bytestrings.")
1247 (license license:bsd-2)))
1248
1249(define-public ghc-bzlib-conduit
1250 (package
1251 (name "ghc-bzlib-conduit")
5fba8d6d 1252 (version "0.3.0.2")
dddbc90c
RV
1253 (source
1254 (origin
1255 (method url-fetch)
1256 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1257 "bzlib-conduit-" version ".tar.gz"))
1258 (sha256
1259 (base32
5fba8d6d 1260 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1261 (build-system haskell-build-system)
1262 (inputs
1263 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1264 ("ghc-conduit" ,ghc-conduit)
1265 ("ghc-data-default-class" ,ghc-data-default-class)
1266 ("ghc-resourcet" ,ghc-resourcet)))
1267 (native-inputs
1268 `(("ghc-hspec" ,ghc-hspec)
1269 ("ghc-random" ,ghc-random)))
1270 (home-page "https://github.com/snoyberg/bzlib-conduit")
1271 (synopsis "Streaming compression/decompression via conduits")
1272 (description
1273 "This package provides Haskell bindings to bzlib and Conduit support for
1274streaming compression and decompression.")
1275 (license license:bsd-3)))
1276
1277(define-public ghc-c2hs
1278 (package
1279 (name "ghc-c2hs")
1280 (version "0.28.6")
1281 (source
1282 (origin
1283 (method url-fetch)
1284 (uri (string-append
1285 "https://hackage.haskell.org/package/c2hs/c2hs-"
1286 version
1287 ".tar.gz"))
1288 (sha256
1289 (base32
1290 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1291 (build-system haskell-build-system)
1292 (inputs
1293 `(("ghc-language-c" ,ghc-language-c)
1294 ("ghc-dlist" ,ghc-dlist)))
1295 (native-inputs
1296 `(("ghc-test-framework" ,ghc-test-framework)
1297 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1298 ("ghc-hunit" ,ghc-hunit)
1299 ("ghc-shelly" ,ghc-shelly)
1300 ("gcc" ,gcc)))
1301 (arguments
1302 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1303 ;; of glibc 2.28.
1304 #:tests? #f
1305
1306 #:phases
1307 (modify-phases %standard-phases
1308 (add-before 'check 'set-cc
1309 ;; add a cc executable in the path, needed for some tests to pass
1310 (lambda* (#:key inputs #:allow-other-keys)
1311 (let ((gcc (assoc-ref inputs "gcc"))
1312 (tmpbin (tmpnam))
1313 (curpath (getenv "PATH")))
1314 (mkdir-p tmpbin)
1315 (symlink (which "gcc") (string-append tmpbin "/cc"))
1316 (setenv "PATH" (string-append tmpbin ":" curpath)))
1317 #t))
1318 (add-after 'check 'remove-cc
1319 ;; clean the tmp dir made in 'set-cc
1320 (lambda _
1321 (let* ((cc-path (which "cc"))
1322 (cc-dir (dirname cc-path)))
1323 (delete-file-recursively cc-dir)
1324 #t))))))
1325 (home-page "https://github.com/haskell/c2hs")
1326 (synopsis "Create Haskell bindings to C libraries")
1327 (description "C->Haskell assists in the development of Haskell bindings to
1328C libraries. It extracts interface information from C header files and
1329generates Haskell code with foreign imports and marshaling. Unlike writing
1330foreign imports by hand (or using hsc2hs), this ensures that C functions are
1331imported with the correct Haskell types.")
1332 (license license:gpl2)))
1333
1334(define-public ghc-cairo
1335 (package
1336 (name "ghc-cairo")
1337 (version "0.13.5.0")
1338 (source
1339 (origin
1340 (method url-fetch)
1341 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1342 "cairo-" version ".tar.gz"))
1343 (sha256
1344 (base32
1345 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1346 (build-system haskell-build-system)
1347 (arguments
1348 `(#:modules ((guix build haskell-build-system)
1349 (guix build utils)
1350 (ice-9 match)
1351 (srfi srfi-26))
1352 #:phases
1353 (modify-phases %standard-phases
1354 ;; FIXME: This is a copy of the standard configure phase with a tiny
1355 ;; difference: this package needs the -package-db flag to be passed
1356 ;; to "runhaskell" in addition to the "configure" action, because it
1357 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1358 ;; this option the Setup.hs file cannot be evaluated. The
1359 ;; haskell-build-system should be changed to pass "-package-db" to
1360 ;; "runhaskell" in any case.
1361 (replace 'configure
1362 (lambda* (#:key outputs inputs tests? (configure-flags '())
1363 #:allow-other-keys)
1364 (let* ((out (assoc-ref outputs "out"))
1365 (name-version (strip-store-file-name out))
1366 (input-dirs (match inputs
1367 (((_ . dir) ...)
1368 dir)
1369 (_ '())))
1370 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1371 (params (append `(,(string-append "--prefix=" out))
1372 `(,(string-append "--libdir=" out "/lib"))
1373 `(,(string-append "--bindir=" out "/bin"))
1374 `(,(string-append
1375 "--docdir=" out
1376 "/share/doc/" name-version))
1377 '("--libsubdir=$compiler/$pkg-$version")
1378 '("--package-db=../package.conf.d")
1379 '("--global")
1380 `(,@(map
1381 (cut string-append "--extra-include-dirs=" <>)
1382 (search-path-as-list '("include") input-dirs)))
1383 `(,@(map
1384 (cut string-append "--extra-lib-dirs=" <>)
1385 (search-path-as-list '("lib") input-dirs)))
1386 (if tests?
1387 '("--enable-tests")
1388 '())
1389 configure-flags)))
1390 (unsetenv "GHC_PACKAGE_PATH")
1391 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1392 "Setup.hs" "configure" params)
1393 (setenv "GHC_PACKAGE_PATH" ghc-path)
1394 #t))))))
1395 (inputs
1396 `(("ghc-utf8-string" ,ghc-utf8-string)
1397 ("cairo" ,cairo)))
1398 (native-inputs
1399 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1400 ("pkg-config" ,pkg-config)))
1401 (home-page "http://projects.haskell.org/gtk2hs/")
1402 (synopsis "Haskell bindings to the Cairo vector graphics library")
1403 (description
1404 "Cairo is a library to render high quality vector graphics. There exist
1405various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1406documents, amongst others.")
1407 (license license:bsd-3)))
1408
1409(define-public ghc-call-stack
1410 (package
1411 (name "ghc-call-stack")
1412 (version "0.1.0")
1413 (source
1414 (origin
1415 (method url-fetch)
1416 (uri (string-append "https://hackage.haskell.org/package/"
1417 "call-stack/call-stack-"
1418 version ".tar.gz"))
1419 (sha256
1420 (base32
1421 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1422 (build-system haskell-build-system)
1423 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1424 (home-page "https://github.com/sol/call-stack#readme")
1425 (synopsis "Use GHC call-stacks in a backward compatible way")
1426 (description "This package provides a compatibility layer for using GHC
1427call stacks with different versions of the compiler.")
1428 (license license:expat)))
1429
1430;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1431;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1432(define-public ghc-call-stack-boot
1433 (hidden-package
1434 (package
1435 (inherit ghc-call-stack)
1436 (arguments '(#:tests? #f))
1437 (inputs '()))))
1438
1439(define-public ghc-case-insensitive
1440 (package
1441 (name "ghc-case-insensitive")
1442 (version "1.2.0.11")
1443 (outputs '("out" "doc"))
1444 (source
1445 (origin
1446 (method url-fetch)
1447 (uri (string-append
1448 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1449 version
1450 ".tar.gz"))
1451 (sha256
1452 (base32
1453 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1454 (build-system haskell-build-system)
1455 ;; these inputs are necessary to use this library
1456 (inputs
1457 `(("ghc-hashable" ,ghc-hashable)))
1458 (arguments
1459 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1460 (home-page
1461 "https://github.com/basvandijk/case-insensitive")
1462 (synopsis "Case insensitive string comparison")
1463 (description
1464 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1465constructor which can be parameterised by a string-like type like:
1466@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1467the resulting type will be insensitive to cases.")
1468 (license license:bsd-3)))
1469
1470(define-public ghc-cereal
1471 (package
1472 (name "ghc-cereal")
bd95427e 1473 (version "0.5.8.1")
dddbc90c
RV
1474 (source
1475 (origin
1476 (method url-fetch)
1477 (uri (string-append
1478 "https://hackage.haskell.org/package/cereal/cereal-"
1479 version
1480 ".tar.gz"))
1481 (sha256
1482 (base32
bd95427e 1483 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1484 (build-system haskell-build-system)
1485 (native-inputs
1486 `(("ghc-quickcheck" ,ghc-quickcheck)
1487 ("ghc-fail" ,ghc-fail)
1488 ("ghc-test-framework" ,ghc-test-framework)
1489 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1490 (home-page "https://hackage.haskell.org/package/cereal")
1491 (synopsis "Binary serialization library")
1492 (description "This package provides a binary serialization library,
1493similar to @code{binary}, that introduces an @code{isolate} primitive for
1494parser isolation, and labeled blocks for better error messages.")
1495 (license license:bsd-3)))
1496
1497(define-public ghc-cereal-conduit
1498 (package
1499 (name "ghc-cereal-conduit")
1500 (version "0.8.0")
1501 (source
1502 (origin
1503 (method url-fetch)
1504 (uri (string-append "https://hackage.haskell.org/package/"
1505 "cereal-conduit/cereal-conduit-"
1506 version ".tar.gz"))
1507 (sha256
1508 (base32
1509 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1510 (build-system haskell-build-system)
1511 (inputs
1512 `(("ghc-conduit" ,ghc-conduit)
1513 ("ghc-resourcet" ,ghc-resourcet)
1514 ("ghc-cereal" ,ghc-cereal)))
1515 (native-inputs
1516 `(("ghc-hunit" ,ghc-hunit)))
1517 (home-page "https://github.com/snoyberg/conduit")
1518 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1519 (description
1520 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1521@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1522 (license license:bsd-3)))
1523
1524(define-public ghc-cgi
1525 (package
1526 (name "ghc-cgi")
b6b2c218 1527 (version "3001.4.0.0")
dddbc90c
RV
1528 (source
1529 (origin
1530 (method url-fetch)
1531 (uri (string-append
1532 "https://hackage.haskell.org/package/cgi/cgi-"
1533 version
1534 ".tar.gz"))
1535 (sha256
1536 (base32
b6b2c218 1537 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1538 (build-system haskell-build-system)
dddbc90c
RV
1539 (inputs
1540 `(("ghc-exceptions" ,ghc-exceptions)
1541 ("ghc-multipart" ,ghc-multipart)
1542 ("ghc-network-uri" ,ghc-network-uri)
1543 ("ghc-network" ,ghc-network)))
1544 (native-inputs
1545 `(("ghc-doctest" ,ghc-doctest)
1546 ("ghc-quickcheck" ,ghc-quickcheck)))
1547 (home-page
1548 "https://github.com/cheecheeo/haskell-cgi")
1549 (synopsis "Library for writing CGI programs")
1550 (description
1551 "This is a Haskell library for writing CGI programs.")
1552 (license license:bsd-3)))
1553
1554(define-public ghc-charset
1555 (package
1556 (name "ghc-charset")
1557 (version "0.3.7.1")
1558 (source
1559 (origin
1560 (method url-fetch)
1561 (uri (string-append
1562 "https://hackage.haskell.org/package/charset/charset-"
1563 version
1564 ".tar.gz"))
1565 (sha256
1566 (base32
1567 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1568 (build-system haskell-build-system)
35ee173c
TS
1569 (arguments
1570 `(#:cabal-revision
1571 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1572 (inputs
1573 `(("ghc-semigroups" ,ghc-semigroups)
1574 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1575 (home-page "https://github.com/ekmett/charset")
1576 (synopsis "Fast unicode character sets for Haskell")
1577 (description "This package provides fast unicode character sets for
1578Haskell, based on complemented PATRICIA tries.")
1579 (license license:bsd-3)))
1580
1581(define-public ghc-chart
1582 (package
1583 (name "ghc-chart")
6cd84b98 1584 (version "1.9.1")
dddbc90c
RV
1585 (source
1586 (origin
1587 (method url-fetch)
1588 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1589 "Chart-" version ".tar.gz"))
1590 (sha256
1591 (base32
6cd84b98 1592 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
dddbc90c
RV
1593 (build-system haskell-build-system)
1594 (inputs
1595 `(("ghc-old-locale" ,ghc-old-locale)
1596 ("ghc-lens" ,ghc-lens)
1597 ("ghc-colour" ,ghc-colour)
1598 ("ghc-data-default-class" ,ghc-data-default-class)
1599 ("ghc-operational" ,ghc-operational)
1600 ("ghc-vector" ,ghc-vector)))
1601 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1602 (synopsis "Library for generating 2D charts and plots")
1603 (description
1604 "This package provides a library for generating 2D charts and plots, with
1605backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1606 (license license:bsd-3)))
1607
1608(define-public ghc-chart-cairo
1609 (package
1610 (name "ghc-chart-cairo")
5cf9264d 1611 (version "1.9.1")
dddbc90c
RV
1612 (source
1613 (origin
1614 (method url-fetch)
1615 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1616 "Chart-cairo-" version ".tar.gz"))
1617 (sha256
1618 (base32
5cf9264d 1619 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
dddbc90c
RV
1620 (build-system haskell-build-system)
1621 (inputs
1622 `(("ghc-old-locale" ,ghc-old-locale)
1623 ("ghc-cairo" ,ghc-cairo)
1624 ("ghc-colour" ,ghc-colour)
1625 ("ghc-data-default-class" ,ghc-data-default-class)
1626 ("ghc-operational" ,ghc-operational)
1627 ("ghc-lens" ,ghc-lens)
1628 ("ghc-chart" ,ghc-chart)))
1629 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1630 (synopsis "Cairo backend for Charts")
1631 (description "This package provides a Cairo vector graphics rendering
1632backend for the Charts library.")
1633 (license license:bsd-3)))
1634
1635(define-public ghc-chasingbottoms
1636 (package
1637 (name "ghc-chasingbottoms")
1f67853e 1638 (version "1.3.1.7")
dddbc90c
RV
1639 (source
1640 (origin
1641 (method url-fetch)
1642 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1643 "ChasingBottoms-" version ".tar.gz"))
1644 (sha256
1645 (base32
1f67853e 1646 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1647 (build-system haskell-build-system)
1648 (inputs
1649 `(("ghc-quickcheck" ,ghc-quickcheck)
1650 ("ghc-random" ,ghc-random)
1651 ("ghc-syb" ,ghc-syb)))
1652 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1653 (synopsis "Testing of partial and infinite values in Haskell")
1654 (description
1655 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1656 ;; rendered properly.
1657 "This is a library for testing code involving bottoms or infinite values.
1658For the underlying theory and a larger example involving use of QuickCheck,
1659see the article
1660@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1661\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1662Partial and Infinite Values\"}.")
1663 (license license:expat)))
1664
1665(define-public ghc-cheapskate
1666 (package
1667 (name "ghc-cheapskate")
5e18bb9e 1668 (version "0.1.1.1")
dddbc90c
RV
1669 (source
1670 (origin
1671 (method url-fetch)
1672 (uri (string-append
1673 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1674 version
1675 ".tar.gz"))
1676 (sha256
1677 (base32
5e18bb9e 1678 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1679 (build-system haskell-build-system)
1680 (inputs
1681 `(("ghc-blaze-html" ,ghc-blaze-html)
1682 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1683 ("ghc-data-default" ,ghc-data-default)
1684 ("ghc-syb" ,ghc-syb)
1685 ("ghc-uniplate" ,ghc-uniplate)))
1686 (home-page "https://github.com/jgm/cheapskate")
1687 (synopsis "Experimental markdown processor")
1688 (description "Cheapskate is an experimental Markdown processor in pure
1689Haskell. It aims to process Markdown efficiently and in the most forgiving
1690possible way. It is designed to deal with any input, including garbage, with
1691linear performance. Output is sanitized by default for protection against
1692cross-site scripting (@dfn{XSS}) attacks.")
1693 (license license:bsd-3)))
1694
1695(define-public ghc-chell
1696 (package
1697 (name "ghc-chell")
acdd03be 1698 (version "0.5")
dddbc90c
RV
1699 (source
1700 (origin
1701 (method url-fetch)
1702 (uri (string-append
1703 "https://hackage.haskell.org/package/chell/chell-"
1704 version ".tar.gz"))
1705 (sha256
1706 (base32
acdd03be 1707 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1708 (build-system haskell-build-system)
acdd03be
TS
1709 (arguments
1710 `(#:cabal-revision
1711 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1712 (inputs
1713 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1714 ("ghc-patience" ,ghc-patience)
1715 ("ghc-random" ,ghc-random)
1716 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1717 (home-page "https://john-millikin.com/software/chell/")
1718 (synopsis "Simple and intuitive library for automated testing")
1719 (description
1720 "Chell is a simple and intuitive library for automated testing.
1721It natively supports assertion-based testing, and can use companion
1722libraries such as @code{chell-quickcheck} to support more complex
1723testing strategies.")
1724 (license license:expat)))
1725
1726(define-public ghc-chell-quickcheck
1727 (package
1728 (name "ghc-chell-quickcheck")
e0e21831 1729 (version "0.2.5.2")
dddbc90c
RV
1730 (source
1731 (origin
1732 (method url-fetch)
1733 (uri (string-append
1734 "https://hackage.haskell.org/package/chell-quickcheck/"
1735 "chell-quickcheck-" version ".tar.gz"))
1736 (sha256
1737 (base32
e0e21831 1738 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1739 (build-system haskell-build-system)
1740 (arguments
1741 `(#:phases
1742 (modify-phases %standard-phases
1743 (add-before 'configure 'update-constraints
1744 (lambda _
1745 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1746 (("QuickCheck >= 2\\.3 && < 2\\.13")
1747 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1748 (inputs
1749 `(("ghc-chell" ,ghc-chell)
1750 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1751 ("ghc-random" ,ghc-random)
1752 ("ghc-quickcheck" ,ghc-quickcheck)))
1753 (home-page "https://john-millikin.com/software/chell/")
1754 (synopsis "QuickCheck support for the Chell testing library")
1755 (description "More complex tests for @code{chell}.")
1756 (license license:expat)))
1757
1758(define ghc-chell-quickcheck-bootstrap
1759 (package
1760 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1761 (version "0.2.5.2")
dddbc90c
RV
1762 (source
1763 (origin
1764 (method url-fetch)
1765 (uri (string-append
1766 "https://hackage.haskell.org/package/chell-quickcheck/"
1767 "chell-quickcheck-" version ".tar.gz"))
1768 (sha256
1769 (base32
e0e21831 1770 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1771 (build-system haskell-build-system)
1772 (inputs
1773 `(("ghc-chell" ,ghc-chell)
1774 ("ghc-random" ,ghc-random)
1775 ("ghc-quickcheck" ,ghc-quickcheck)))
1776 (arguments
1777 `(#:tests? #f
1778 #:phases
1779 (modify-phases %standard-phases
1780 (add-before 'configure 'update-constraints
1781 (lambda _
1782 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1783 (("QuickCheck >= 2\\.3 && < 2\\.13")
1784 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1785 (home-page "https://john-millikin.com/software/chell/")
1786 (synopsis "QuickCheck support for the Chell testing library")
1787 (description "More complex tests for @code{chell}.")
1788 (license license:expat)))
1789
1790(define-public ghc-chunked-data
1791 (package
1792 (name "ghc-chunked-data")
1793 (version "0.3.1")
1794 (source
1795 (origin
1796 (method url-fetch)
1797 (uri (string-append "https://hackage.haskell.org/package/"
1798 "chunked-data-" version "/"
1799 "chunked-data-" version ".tar.gz"))
1800 (sha256
1801 (base32
1802 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1803 (build-system haskell-build-system)
1804 (inputs `(("ghc-vector" ,ghc-vector)
1805 ("ghc-semigroups" ,ghc-semigroups)))
1806 (home-page "https://github.com/snoyberg/mono-traversable")
1807 (synopsis "Typeclasses for dealing with various chunked data
1808representations for Haskell")
1809 (description "This Haskell package was originally present in
1810classy-prelude.")
1811 (license license:expat)))
1812
1813(define-public ghc-clock
1814 (package
1815 (name "ghc-clock")
0841b6f2 1816 (version "0.8")
dddbc90c
RV
1817 (source
1818 (origin
1819 (method url-fetch)
1820 (uri (string-append
1821 "https://hackage.haskell.org/package/"
1822 "clock/"
1823 "clock-" version ".tar.gz"))
1824 (sha256
0841b6f2 1825 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1826 (build-system haskell-build-system)
1827 (inputs
1828 `(("ghc-tasty" ,ghc-tasty)
1829 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1830 (home-page "https://hackage.haskell.org/package/clock")
1831 (synopsis "High-resolution clock for Haskell")
1832 (description "A package for convenient access to high-resolution clock and
1833timer functions of different operating systems via a unified API.")
1834 (license license:bsd-3)))
1835
1836;; This package builds `clock` without tests, since the tests rely on tasty
1837;; and tasty-quickcheck, which in turn require clock to build.
1838(define-public ghc-clock-bootstrap
1839 (package
1840 (inherit ghc-clock)
1841 (name "ghc-clock-bootstrap")
1842 (arguments '(#:tests? #f))
1843 (inputs '())
1844 (properties '((hidden? #t)))))
1845
1846(define-public ghc-cmark
1847 (package
1848 (name "ghc-cmark")
6bdd36c0 1849 (version "0.6")
dddbc90c
RV
1850 (source (origin
1851 (method url-fetch)
6bdd36c0 1852 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1853 ;; See cbits/cmark_version.h.
1854 (uri (string-append "https://hackage.haskell.org/package/"
1855 "cmark/cmark-" version ".tar.gz"))
1856 (sha256
1857 (base32
6bdd36c0 1858 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1859 (build-system haskell-build-system)
1860 (native-inputs
1861 `(("ghc-hunit" ,ghc-hunit)))
1862 (home-page "https://github.com/jgm/commonmark-hs")
1863 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1864 (description
1865 "This package provides Haskell bindings for
1866@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1867CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1868sources, and does not require prior installation of the C library.")
1869 (license license:bsd-3)))
1870
1871(define-public ghc-cmark-gfm
1872 (package
1873 (name "ghc-cmark-gfm")
24fc8dae 1874 (version "0.2.0")
dddbc90c
RV
1875 (source
1876 (origin
1877 (method url-fetch)
1878 (uri (string-append "https://hackage.haskell.org/package/"
1879 "cmark-gfm/cmark-gfm-"
1880 version ".tar.gz"))
1881 (sha256
1882 (base32
24fc8dae 1883 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1884 (build-system haskell-build-system)
1885 (native-inputs
1886 `(("ghc-hunit" ,ghc-hunit)))
1887 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1888 (synopsis
1889 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1890 (description
1891 "This package provides Haskell bindings for libcmark-gfm, the reference
1892parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1893It includes sources for libcmark-gfm and does not require prior installation
1894of the C library.")
1895 (license license:bsd-3)))
1896
1897(define-public ghc-cmdargs
1898 (package
1899 (name "ghc-cmdargs")
1900 (version "0.10.20")
1901 (source
1902 (origin
1903 (method url-fetch)
1904 (uri (string-append
1905 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1906 version ".tar.gz"))
1907 (sha256
1908 (base32
1909 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1910 (build-system haskell-build-system)
1911 (home-page
1912 "http://community.haskell.org/~ndm/cmdargs/")
1913 (synopsis "Command line argument processing")
1914 (description
1915 "This library provides an easy way to define command line parsers.")
1916 (license license:bsd-3)))
1917
1918(define-public ghc-code-page
1919 (package
1920 (name "ghc-code-page")
f6bb6519 1921 (version "0.2")
dddbc90c
RV
1922 (source
1923 (origin
1924 (method url-fetch)
1925 (uri (string-append
1926 "https://hackage.haskell.org/package/code-page/code-page-"
1927 version ".tar.gz"))
1928 (sha256
1929 (base32
f6bb6519 1930 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1931 (build-system haskell-build-system)
1932 (home-page "https://github.com/RyanGlScott/code-page")
1933 (synopsis "Windows code page library for Haskell")
1934 (description "A cross-platform library with functions for adjusting
1935code pages on Windows. On all other operating systems, the library does
1936nothing.")
1937 (license license:bsd-3)))
1938
1939(define-public ghc-colour
1940(package
1941 (name "ghc-colour")
bc9d1af9 1942 (version "2.3.5")
dddbc90c
RV
1943 (source
1944 (origin
1945 (method url-fetch)
1946 (uri (string-append
1947 "https://hackage.haskell.org/package/colour/colour-"
1948 version ".tar.gz"))
1949 (sha256
1950 (base32
bc9d1af9 1951 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1952 (arguments
1953 ;; The tests for this package have the following dependency cycle:
1954 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1955 `(#:tests? #f))
1956 (build-system haskell-build-system)
1957 (home-page "https://www.haskell.org/haskellwiki/Colour")
1958 (synopsis "Model for human colour perception")
1959 (description
1960 "This package provides a data type for colours and transparency.
1961Colours can be blended and composed. Various colour spaces are
1962supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1963 (license license:expat)))
1964
1965(define-public ghc-comonad
1966 (package
1967 (name "ghc-comonad")
1a825512 1968 (version "5.0.5")
dddbc90c
RV
1969 (source
1970 (origin
1971 (method url-fetch)
1972 (uri (string-append
1973 "https://hackage.haskell.org/package/comonad/comonad-"
1974 version
1975 ".tar.gz"))
1976 (sha256
1977 (base32
1a825512 1978 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
1979 (build-system haskell-build-system)
1980 (native-inputs
1981 `(("cabal-doctest" ,cabal-doctest)
1982 ("ghc-doctest" ,ghc-doctest)))
1983 (inputs
1984 `(("ghc-contravariant" ,ghc-contravariant)
1985 ("ghc-distributive" ,ghc-distributive)
1986 ("ghc-semigroups" ,ghc-semigroups)
1987 ("ghc-tagged" ,ghc-tagged)
1988 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1989 (home-page "https://github.com/ekmett/comonad/")
1990 (synopsis "Comonads for Haskell")
1991 (description "This library provides @code{Comonad}s for Haskell.")
1992 (license license:bsd-3)))
1993
1994(define-public ghc-concatenative
1995 (package
1996 (name "ghc-concatenative")
1997 (version "1.0.1")
1998 (source (origin
1999 (method url-fetch)
2000 (uri (string-append
2001 "https://hackage.haskell.org/package/concatenative/concatenative-"
2002 version ".tar.gz"))
2003 (sha256
2004 (base32
2005 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2006 (build-system haskell-build-system)
2007 (home-page
2008 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2009 (synopsis "Library for postfix control flow")
2010 (description
2011 "Concatenative gives Haskell Factor-style combinators and arrows for
2012postfix notation. For more information on stack based languages, see
2013@uref{https://concatenative.org}.")
2014 (license license:bsd-3)))
2015
2016(define-public ghc-concurrent-extra
2017 (package
2018 (name "ghc-concurrent-extra")
2019 (version "0.7.0.12")
2020 (source
2021 (origin
2022 (method url-fetch)
2023 (uri (string-append "https://hackage.haskell.org/package/"
2024 "concurrent-extra/concurrent-extra-"
2025 version ".tar.gz"))
2026 (sha256
2027 (base32
2028 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2029 (build-system haskell-build-system)
2030 (arguments
2031 ;; XXX: The ReadWriteLock 'stressTest' fails.
2032 `(#:tests? #f))
2033 (inputs
2034 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2035 (native-inputs
2036 `(("ghc-async" ,ghc-async)
2037 ("ghc-hunit" ,ghc-hunit)
2038 ("ghc-random" ,ghc-random)
2039 ("ghc-test-framework" ,ghc-test-framework)
2040 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2041 (home-page "https://github.com/basvandijk/concurrent-extra")
2042 (synopsis "Extra concurrency primitives")
2043 (description "This Haskell library offers (among other things) the
2044following selection of synchronisation primitives:
2045
2046@itemize
2047@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2048@item @code{Event}: Wake multiple threads by signalling an event.
2049@item @code{Lock}: Enforce exclusive access to a resource. Also known
2050as a binary semaphore or mutex. The package additionally provides an
2051alternative that works in the STM monad.
2052@item @code{RLock}: A lock which can be acquired multiple times by the
2053same thread. Also known as a reentrant mutex.
2054@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2055to protect shared resources which may be concurrently read, but only
2056sequentially written.
2057@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2058@end itemize
2059
2060Please consult the API documentation of the individual modules for more
2061detailed information.
2062
2063This package was inspired by the concurrency libraries of Java and
2064Python.")
2065 (license license:bsd-3)))
2066
2067(define-public ghc-concurrent-output
2068 (package
2069 (name "ghc-concurrent-output")
4fce0a4a 2070 (version "1.10.11")
dddbc90c
RV
2071 (source
2072 (origin
2073 (method url-fetch)
2074 (uri (string-append
2075 "mirror://hackage/package/concurrent-output/concurrent-output-"
2076 version
2077 ".tar.gz"))
2078 (sha256
2079 (base32
4fce0a4a 2080 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
2081 (build-system haskell-build-system)
2082 (inputs
2083 `(("ghc-async" ,ghc-async)
2084 ("ghc-exceptions" ,ghc-exceptions)
2085 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2086 ("ghc-terminal-size" ,ghc-terminal-size)))
2087 (home-page
2088 "https://hackage.haskell.org/package/concurrent-output")
2089 (synopsis
2090 "Ungarble output from several threads or commands")
2091 (description
2092 "Lets multiple threads and external processes concurrently output to the
2093console, without it getting all garbled up.
2094
2095Built on top of that is a way of defining multiple output regions, which are
2096automatically laid out on the screen and can be individually updated by
2097concurrent threads. Can be used for progress displays etc.")
2098 (license license:bsd-2)))
2099
2100(define-public ghc-conduit
2101 (package
2102 (name "ghc-conduit")
1ac981d4 2103 (version "1.3.1.1")
dddbc90c
RV
2104 (source (origin
2105 (method url-fetch)
2106 (uri (string-append "https://hackage.haskell.org/package/"
2107 "conduit/conduit-" version ".tar.gz"))
2108 (sha256
2109 (base32
1ac981d4 2110 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
2111 (build-system haskell-build-system)
2112 (inputs
2113 `(("ghc-exceptions" ,ghc-exceptions)
2114 ("ghc-lifted-base" ,ghc-lifted-base)
2115 ("ghc-mono-traversable" ,ghc-mono-traversable)
2116 ("ghc-mmorph" ,ghc-mmorph)
2117 ("ghc-resourcet" ,ghc-resourcet)
2118 ("ghc-silently" ,ghc-silently)
2119 ("ghc-transformers-base" ,ghc-transformers-base)
2120 ("ghc-unliftio" ,ghc-unliftio)
2121 ("ghc-unliftio-core" ,ghc-unliftio-core)
2122 ("ghc-vector" ,ghc-vector)
2123 ("ghc-void" ,ghc-void)))
2124 (native-inputs
2125 `(("ghc-quickcheck" ,ghc-quickcheck)
2126 ("ghc-hspec" ,ghc-hspec)
2127 ("ghc-safe" ,ghc-safe)
2128 ("ghc-split" ,ghc-split)))
2129 (home-page "https://github.com/snoyberg/conduit")
2130 (synopsis "Streaming data library ")
2131 (description
2132 "The conduit package is a solution to the streaming data problem,
2133allowing for production, transformation, and consumption of streams of data
2134in constant memory. It is an alternative to lazy I/O which guarantees
2135deterministic resource handling, and fits in the same general solution
2136space as enumerator/iteratee and pipes.")
2137 (license license:expat)))
2138
2139(define-public ghc-conduit-algorithms
2140 (package
2141 (name "ghc-conduit-algorithms")
503b74ae 2142 (version "0.0.11.0")
dddbc90c
RV
2143 (source
2144 (origin
2145 (method url-fetch)
2146 (uri (string-append "https://hackage.haskell.org/package/"
2147 "conduit-algorithms/conduit-algorithms-"
2148 version ".tar.gz"))
2149 (sha256
2150 (base32
503b74ae 2151 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2152 (build-system haskell-build-system)
2153 (inputs
2154 `(("ghc-async" ,ghc-async)
2155 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2156 ("ghc-conduit" ,ghc-conduit)
2157 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2158 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2159 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2160 ("ghc-exceptions" ,ghc-exceptions)
2161 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2162 ("ghc-monad-control" ,ghc-monad-control)
2163 ("ghc-pqueue" ,ghc-pqueue)
2164 ("ghc-resourcet" ,ghc-resourcet)
2165 ("ghc-stm-conduit" ,ghc-stm-conduit)
2166 ("ghc-streaming-commons" ,ghc-streaming-commons)
2167 ("ghc-unliftio-core" ,ghc-unliftio-core)
2168 ("ghc-vector" ,ghc-vector)))
2169 (native-inputs
2170 `(("ghc-hunit" ,ghc-hunit)
2171 ("ghc-test-framework" ,ghc-test-framework)
2172 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2173 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2174 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2175 (synopsis "Conduit-based algorithms")
2176 (description
2177 "This package provides algorithms on @code{Conduits}, including higher
2178level asynchronous processing and some other utilities.")
2179 (license license:expat)))
2180
2181(define-public ghc-conduit-combinators
2182 (package
2183 (name "ghc-conduit-combinators")
2184 (version "1.3.0")
2185 (source
2186 (origin
2187 (method url-fetch)
2188 (uri (string-append "https://hackage.haskell.org/package/"
2189 "conduit-combinators-" version "/"
2190 "conduit-combinators-" version ".tar.gz"))
2191 (sha256
2192 (base32
2193 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2194 (build-system haskell-build-system)
2195 (inputs `(("ghc-conduit" ,ghc-conduit)
2196 ("ghc-conduit-extra" ,ghc-conduit-extra)
2197 ("ghc-transformers-base" ,ghc-transformers-base)
2198 ("ghc-primitive" ,ghc-primitive)
2199 ("ghc-vector" ,ghc-vector)
2200 ("ghc-void" ,ghc-void)
2201 ("ghc-mwc-random" ,ghc-mwc-random)
2202 ("ghc-unix-compat" ,ghc-unix-compat)
2203 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2204 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2205 ("ghc-resourcet" ,ghc-resourcet)
2206 ("ghc-monad-control" ,ghc-monad-control)
2207 ("ghc-chunked-data" ,ghc-chunked-data)
2208 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2209 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2210 ("ghc-silently" ,ghc-silently)
2211 ("ghc-safe" ,ghc-safe)
2212 ("ghc-quickcheck" ,ghc-quickcheck)))
2213 (home-page "https://github.com/snoyberg/mono-traversable")
2214 (synopsis "Commonly used conduit functions, for both chunked and
2215unchunked data")
2216 (description "This Haskell package provides a replacement for Data.Conduit.List,
2217as well as a convenient Conduit module.")
2218 (license license:expat)))
2219
2220(define-public ghc-conduit-extra
2221 (package
2222 (name "ghc-conduit-extra")
151774d9 2223 (version "1.3.4")
dddbc90c
RV
2224 (source
2225 (origin
2226 (method url-fetch)
2227 (uri (string-append "https://hackage.haskell.org/package/"
2228 "conduit-extra/conduit-extra-"
2229 version ".tar.gz"))
2230 (sha256
2231 (base32
151774d9 2232 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2233 (build-system haskell-build-system)
2234 (inputs
2235 `(("ghc-conduit" ,ghc-conduit)
2236 ("ghc-exceptions" ,ghc-exceptions)
2237 ("ghc-monad-control" ,ghc-monad-control)
2238 ("ghc-transformers-base" ,ghc-transformers-base)
2239 ("ghc-typed-process" ,ghc-typed-process)
2240 ("ghc-async" ,ghc-async)
2241 ("ghc-attoparsec" ,ghc-attoparsec)
2242 ("ghc-blaze-builder" ,ghc-blaze-builder)
2243 ("ghc-network" ,ghc-network)
2244 ("ghc-primitive" ,ghc-primitive)
2245 ("ghc-resourcet" ,ghc-resourcet)
2246 ("ghc-streaming-commons" ,ghc-streaming-commons)
2247 ("ghc-hspec" ,ghc-hspec)
2248 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2249 ("ghc-quickcheck" ,ghc-quickcheck)))
2250 (native-inputs
2251 `(("hspec-discover" ,hspec-discover)))
2252 (home-page "https://github.com/snoyberg/conduit")
2253 (synopsis "Conduit adapters for common libraries")
2254 (description
2255 "The @code{conduit} package itself maintains relative small dependencies.
2256The purpose of this package is to collect commonly used utility functions
2257wrapping other library dependencies, without depending on heavier-weight
2258dependencies. The basic idea is that this package should only depend on
2259@code{haskell-platform} packages and @code{conduit}.")
2260 (license license:expat)))
2261
b59c3518
TS
2262(define-public ghc-conduit-zstd
2263 (package
2264 (name "ghc-conduit-zstd")
2265 (version "0.0.1.1")
2266 (source
2267 (origin
2268 (method url-fetch)
2269 (uri (string-append "https://hackage.haskell.org/package/"
2270 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2271 (sha256
2272 (base32
2273 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2274 (build-system haskell-build-system)
2275 (inputs
2276 `(("ghc-conduit" ,ghc-conduit)
2277 ("ghc-zstd" ,ghc-zstd)))
2278 (native-inputs
2279 `(("ghc-hunit" ,ghc-hunit)
2280 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2281 ("ghc-conduit-extra" ,ghc-conduit-extra)
2282 ("ghc-test-framework" ,ghc-test-framework)
2283 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2284 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2285 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2286 (synopsis "Conduit-based ZStd Compression")
2287 (description "Zstandard compression packaged as a conduit. This is
2288a very thin wrapper around the
2289@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2290interface}.")
2291 (license license:expat)))
2292
dddbc90c
RV
2293(define-public ghc-configurator
2294 (package
2295 (name "ghc-configurator")
2296 (version "0.3.0.0")
2297 (source
2298 (origin
2299 (method url-fetch)
2300 (uri (string-append "https://hackage.haskell.org/package/"
2301 "configurator/configurator-"
2302 version ".tar.gz"))
2303 (sha256
2304 (base32
2305 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2306 (build-system haskell-build-system)
2307 (inputs
2308 `(("ghc-attoparsec" ,ghc-attoparsec)
2309 ("ghc-hashable" ,ghc-hashable)
2310 ("ghc-unix-compat" ,ghc-unix-compat)
2311 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2312 (native-inputs
2313 `(("ghc-hunit" ,ghc-hunit)
2314 ("ghc-test-framework" ,ghc-test-framework)
2315 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2316 (home-page "http://github.com/bos/configurator")
2317 (synopsis "Configuration management")
2318 (description
2319 "This package provides a configuration management library for programs
2320and daemons. The features include:
2321
2322@enumerate
2323@item Automatic, dynamic reloading in response to modifications to
2324 configuration files.
2325@item A simple, but flexible, configuration language, supporting several of
2326 the most commonly needed types of data, along with interpolation of strings
2327 from the configuration or the system environment (e.g. @code{$(HOME)}).
2328@item Subscription-based notification of changes to configuration properties.
2329@item An @code{import} directive allows the configuration of a complex
2330 application to be split across several smaller files, or common configuration
2331 data to be shared across several applications.
2332@end enumerate\n")
2333 (license license:bsd-3)))
2334
2335(define-public ghc-connection
2336 (package
2337 (name "ghc-connection")
6ee0d258 2338 (version "0.3.1")
dddbc90c
RV
2339 (source (origin
2340 (method url-fetch)
2341 (uri (string-append "https://hackage.haskell.org/package/"
2342 "connection/connection-"
2343 version ".tar.gz"))
2344 (sha256
2345 (base32
6ee0d258 2346 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2347 (build-system haskell-build-system)
2348 (inputs
2349 `(("ghc-byteable" ,ghc-byteable)
2350 ("ghc-data-default-class" ,ghc-data-default-class)
2351 ("ghc-network" ,ghc-network)
2352 ("ghc-tls" ,ghc-tls)
2353 ("ghc-socks" ,ghc-socks)
2354 ("ghc-x509" ,ghc-x509)
2355 ("ghc-x509-store" ,ghc-x509-store)
2356 ("ghc-x509-system" ,ghc-x509-system)
2357 ("ghc-x509-validation" ,ghc-x509-validation)))
2358 (home-page "https://github.com/vincenthz/hs-connection")
2359 (synopsis "Simple and easy network connections API")
2360 (description
2361 "This package provides a simple network library for all your connection
2362needs. It provides a very simple API to create sockets to a destination with
2363the choice of SSL/TLS, and SOCKS.")
2364 (license license:bsd-3)))
2365
2366(define-public ghc-constraints
2367 (package
2368 (name "ghc-constraints")
2369 (version "0.10.1")
2370 (source
2371 (origin
2372 (method url-fetch)
2373 (uri (string-append
2374 "https://hackage.haskell.org/package/constraints/constraints-"
2375 version ".tar.gz"))
2376 (sha256
2377 (base32
2378 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2379 (build-system haskell-build-system)
2380 (inputs
2381 `(("ghc-hashable" ,ghc-hashable)
2382 ("ghc-semigroups" ,ghc-semigroups)
2383 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2384 (native-inputs
2385 `(("ghc-hspec" ,ghc-hspec)
2386 ("hspec-discover" ,hspec-discover)))
2387 (home-page "https://github.com/ekmett/constraints/")
2388 (synopsis "Constraint manipulation")
2389 (description
2390 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2391They stopped crashing the compiler in GHC 7.6. This package provides
2392a vocabulary for working with them.")
2393 (license license:bsd-3)))
2394
2395(define-public ghc-contravariant
2396 (package
2397 (name "ghc-contravariant")
e7b35ff0 2398 (version "1.5.2")
dddbc90c
RV
2399 (source
2400 (origin
2401 (method url-fetch)
2402 (uri (string-append
2403 "https://hackage.haskell.org/package/contravariant/contravariant-"
2404 version
2405 ".tar.gz"))
2406 (sha256
2407 (base32
e7b35ff0 2408 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2409 (build-system haskell-build-system)
2410 (inputs
2411 `(("ghc-void" ,ghc-void)
2412 ("ghc-transformers-compat" ,ghc-transformers-compat)
2413 ("ghc-statevar" ,ghc-statevar)
2414 ("ghc-semigroups" ,ghc-semigroups)))
2415 (home-page
2416 "https://github.com/ekmett/contravariant/")
2417 (synopsis "Contravariant functors")
2418 (description "Contravariant functors for Haskell.")
2419 (license license:bsd-3)))
2420
2421(define-public ghc-contravariant-extras
2422 (package
2423 (name "ghc-contravariant-extras")
2424 (version "0.3.4")
2425 (source
2426 (origin
2427 (method url-fetch)
2428 (uri (string-append "https://hackage.haskell.org/package/"
2429 "contravariant-extras-" version "/"
2430 "contravariant-extras-" version ".tar.gz"))
2431 (sha256
2432 (base32
2433 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2434 (build-system haskell-build-system)
f3aca086
TS
2435 (arguments
2436 `(#:cabal-revision
2437 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2438 (inputs
2439 `(("ghc-tuple-th" ,ghc-tuple-th)
2440 ("ghc-contravariant" ,ghc-contravariant)
2441 ("ghc-base-prelude" ,ghc-base-prelude)
2442 ("ghc-semigroups" ,ghc-semigroups)))
2443 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2444 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2445 (description "This Haskell package provides extras for the
2446@code{ghc-contravariant} package.")
2447 (license license:expat)))
2448
2449(define-public ghc-convertible
2450 (package
2451 (name "ghc-convertible")
2452 (version "1.1.1.0")
2453 (source
2454 (origin
2455 (method url-fetch)
2456 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2457 "convertible-" version ".tar.gz"))
2458 (sha256
2459 (base32
2460 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2461 (build-system haskell-build-system)
2462 (inputs
2463 `(("ghc-old-time" ,ghc-old-time)
2464 ("ghc-old-locale" ,ghc-old-locale)))
2465 (home-page "https://hackage.haskell.org/package/convertible")
2466 (synopsis "Typeclasses and instances for converting between types")
2467 (description
2468 "This package provides a typeclass with a single function that is
2469designed to help convert between different types: numeric values, dates and
2470times, and the like. The conversions perform bounds checking and return a
2471pure @code{Either} value. This means that you need not remember which specific
2472function performs the conversion you desire.")
2473 (license license:bsd-3)))
2474
2475(define-public ghc-data-accessor
2476 (package
2477 (name "ghc-data-accessor")
6dcca515 2478 (version "0.2.2.8")
dddbc90c
RV
2479 (source
2480 (origin
2481 (method url-fetch)
2482 (uri (string-append
2483 "mirror://hackage/package/data-accessor/data-accessor-"
2484 version ".tar.gz"))
2485 (sha256
6dcca515 2486 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2487 (build-system haskell-build-system)
2488 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2489 (synopsis
2490 "Haskell utilities for accessing and manipulating fields of records")
2491 (description "This package provides Haskell modules for accessing and
2492manipulating fields of records.")
2493 (license license:bsd-3)))
2494
2495(define-public ghc-data-accessor-transformers
2496 (package
2497 (name "ghc-data-accessor-transformers")
2498 (version "0.2.1.7")
2499 (source
2500 (origin
2501 (method url-fetch)
2502 (uri (string-append
2503 "mirror://hackage/package/data-accessor-transformers/"
2504 "data-accessor-transformers-" version ".tar.gz"))
2505 (sha256
2506 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2507 (build-system haskell-build-system)
2508 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2509 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2510 (synopsis "Use Accessor to access state in transformers State monad")
2511 (description "This package provides Haskell modules to allow use of
2512Accessor to access state in transformers State monad.")
2513 (license license:bsd-3)))
2514
2515(define-public ghc-data-default
2516 (package
2517 (name "ghc-data-default")
2518 (version "0.7.1.1")
2519 (source
2520 (origin
2521 (method url-fetch)
2522 (uri (string-append
2523 "https://hackage.haskell.org/package/data-default/data-default-"
2524 version
2525 ".tar.gz"))
2526 (sha256
2527 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2528 (build-system haskell-build-system)
2529 (inputs
2530 `(("ghc-data-default-class"
2531 ,ghc-data-default-class)
2532 ("ghc-data-default-instances-base"
2533 ,ghc-data-default-instances-base)
2534 ("ghc-data-default-instances-containers"
2535 ,ghc-data-default-instances-containers)
2536 ("ghc-data-default-instances-dlist"
2537 ,ghc-data-default-instances-dlist)
2538 ("ghc-data-default-instances-old-locale"
2539 ,ghc-data-default-instances-old-locale)))
2540 (home-page "https://hackage.haskell.org/package/data-default")
2541 (synopsis "Types with default values")
2542 (description
2543 "This package defines a class for types with a default value, and
2544provides instances for types from the base, containers, dlist and old-locale
2545packages.")
2546 (license license:bsd-3)))
2547
2548(define-public ghc-data-default-class
2549 (package
2550 (name "ghc-data-default-class")
2551 (version "0.1.2.0")
2552 (source
2553 (origin
2554 (method url-fetch)
2555 (uri (string-append
2556 "https://hackage.haskell.org/package/data-default-class/"
2557 "data-default-class-" version ".tar.gz"))
2558 (sha256
2559 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2560 (build-system haskell-build-system)
2561 (home-page "https://hackage.haskell.org/package/data-default-class")
2562 (synopsis "Types with default values")
2563 (description
2564 "This package defines a class for types with default values.")
2565 (license license:bsd-3)))
2566
2567(define-public ghc-data-default-instances-base
2568 (package
2569 (name "ghc-data-default-instances-base")
2570 (version "0.1.0.1")
2571 (source
2572 (origin
2573 (method url-fetch)
2574 (uri (string-append
2575 "https://hackage.haskell.org/package/"
2576 "data-default-instances-base/"
2577 "data-default-instances-base-" version ".tar.gz"))
2578 (sha256
2579 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2580 (build-system haskell-build-system)
2581 (inputs
2582 `(("ghc-data-default-class" ,ghc-data-default-class)))
2583 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2584 (synopsis "Default instances for types in base")
2585 (description
2586 "This package provides default instances for types from the base
2587package.")
2588 (license license:bsd-3)))
2589
2590(define-public ghc-data-default-instances-containers
2591 (package
2592 (name "ghc-data-default-instances-containers")
2593 (version "0.0.1")
2594 (source
2595 (origin
2596 (method url-fetch)
2597 (uri (string-append
2598 "https://hackage.haskell.org/package/"
2599 "data-default-instances-containers/"
2600 "data-default-instances-containers-" version ".tar.gz"))
2601 (sha256
2602 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2603 (build-system haskell-build-system)
2604 (inputs
2605 `(("ghc-data-default-class" ,ghc-data-default-class)))
2606 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2607 (synopsis "Default instances for types in containers")
2608 (description "Provides default instances for types from the containers
2609package.")
2610 (license license:bsd-3)))
2611
2612(define-public ghc-data-default-instances-dlist
2613 (package
2614 (name "ghc-data-default-instances-dlist")
2615 (version "0.0.1")
2616 (source
2617 (origin
2618 (method url-fetch)
2619 (uri (string-append
2620 "https://hackage.haskell.org/package/"
2621 "data-default-instances-dlist/"
2622 "data-default-instances-dlist-" version ".tar.gz"))
2623 (sha256
2624 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2625 (build-system haskell-build-system)
2626 (inputs
2627 `(("ghc-data-default-class" ,ghc-data-default-class)
2628 ("ghc-dlist" ,ghc-dlist)))
2629 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2630 (synopsis "Default instances for types in dlist")
2631 (description "Provides default instances for types from the dlist
2632package.")
2633 (license license:bsd-3)))
2634
2635(define-public ghc-data-default-instances-old-locale
2636 (package
2637 (name "ghc-data-default-instances-old-locale")
2638 (version "0.0.1")
2639 (source
2640 (origin
2641 (method url-fetch)
2642 (uri (string-append
2643 "https://hackage.haskell.org/package/"
2644 "data-default-instances-old-locale/"
2645 "data-default-instances-old-locale-" version ".tar.gz"))
2646 (sha256
2647 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2648 (build-system haskell-build-system)
2649 (inputs
2650 `(("ghc-data-default-class" ,ghc-data-default-class)
2651 ("ghc-old-locale" ,ghc-old-locale)))
2652 (home-page
2653 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2654 (synopsis "Default instances for types in old-locale")
2655 (description "Provides Default instances for types from the old-locale
2656 package.")
2657 (license license:bsd-3)))
2658
2659(define-public ghc-data-hash
2660 (package
2661 (name "ghc-data-hash")
2662 (version "0.2.0.1")
2663 (source
2664 (origin
2665 (method url-fetch)
2666 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2667 "/data-hash-" version ".tar.gz"))
2668 (sha256
2669 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2670 (build-system haskell-build-system)
2671 (inputs
2672 `(("ghc-quickcheck" ,ghc-quickcheck)
2673 ("ghc-test-framework" ,ghc-test-framework)
2674 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2675 (home-page "https://hackage.haskell.org/package/data-hash")
2676 (synopsis "Combinators for building fast hashing functions")
2677 (description
2678 "This package provides combinators for building fast hashing functions.
2679It includes hashing functions for all basic Haskell98 types.")
2680 (license license:bsd-3)))
2681
2682(define-public ghc-data-ordlist
2683 (package
2684 (name "ghc-data-ordlist")
2685 (version "0.4.7.0")
2686 (source
2687 (origin
2688 (method url-fetch)
2689 (uri (string-append
2690 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2691 version ".tar.gz"))
2692 (sha256
2693 (base32
2694 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2695 (build-system haskell-build-system)
2696 (home-page "https://hackage.haskell.org/package/data-ordlist")
2697 (synopsis "Set and bag operations on ordered lists")
2698 (description
2699 "This module provides set and multiset operations on ordered lists.")
2700 (license license:bsd-3)))
2701
d05f32d6
JS
2702(define-public ghc-dbus
2703 (package
2704 (name "ghc-dbus")
2705 (version "1.2.7")
2706 (source
2707 (origin
2708 (method url-fetch)
2709 (uri
2710 (string-append
2711 "mirror://hackage/package/dbus/dbus-"
2712 version ".tar.gz"))
2713 (sha256
2714 (base32
2715 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2716 (build-system haskell-build-system)
2717 (inputs
2718 `(("ghc-cereal" ,ghc-cereal)
2719 ("ghc-conduit" ,ghc-conduit)
2720 ("ghc-exceptions" ,ghc-exceptions)
2721 ("ghc-lens" ,ghc-lens)
2722 ("ghc-network" ,ghc-network)
2723 ("ghc-random" ,ghc-random)
2724 ("ghc-split" ,ghc-split)
2725 ("ghc-th-lift" ,ghc-th-lift)
2726 ("ghc-vector" ,ghc-vector)
2727 ("ghc-xml-conduit" ,ghc-xml-conduit)
2728 ("ghc-xml-types" ,ghc-xml-types)))
2729 (native-inputs
2730 `(("ghc-extra" ,ghc-extra)
2731 ("ghc-quickcheck" ,ghc-quickcheck)
2732 ("ghc-resourcet" ,ghc-resourcet)
2733 ("ghc-tasty" ,ghc-tasty)
2734 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2735 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2736 ;; FIXME - Some tests try to talk to network.
2737 (arguments `(#:tests? #f))
2738 (home-page "https://github.com/rblaze/haskell-dbus")
2739 (synopsis "Client library for the D-Bus IPC system")
2740 (description
2741 "D-Bus is a simple, message-based protocol for inter-process
2742communication, which allows applications to interact with other parts
2743of the machine and the user's session using remote procedure
2744calls. D-Bus is a essential part of the modern Linux desktop, where
2745it replaces earlier protocols such as CORBA and DCOP. This library
2746is an implementation of the D-Bus protocol in Haskell. It can be used
2747to add D-Bus support to Haskell applications, without the awkward
2748interfaces common to foreign bindings.")
2749 (license license:asl2.0)))
2750
dddbc90c
RV
2751(define-public ghc-deepseq-generics
2752 (package
2753 (name "ghc-deepseq-generics")
2754 (version "0.2.0.0")
2755 (source (origin
2756 (method url-fetch)
2757 (uri (string-append "https://hackage.haskell.org/package/"
2758 "deepseq-generics/deepseq-generics-"
2759 version ".tar.gz"))
2760 (sha256
2761 (base32
2762 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2763 (build-system haskell-build-system)
2764 (arguments
2765 `(#:cabal-revision
490ceae4 2766 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2767 (native-inputs
2768 `(("ghc-hunit" ,ghc-hunit)
2769 ("ghc-test-framework" ,ghc-test-framework)
2770 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2771 (home-page "https://github.com/hvr/deepseq-generics")
2772 (synopsis "Generic RNF implementation")
2773 (description
2774 "This package provides a @code{GHC.Generics}-based
2775@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2776providing an @code{rnf} implementation.")
2777 (license license:bsd-3)))
2778
e924e17e
TS
2779(define-public ghc-dense-linear-algebra
2780 (package
2781 (name "ghc-dense-linear-algebra")
2782 (version "0.1.0.0")
2783 (source
2784 (origin
2785 (method url-fetch)
2786 (uri (string-append "https://hackage.haskell.org/package/"
2787 "dense-linear-algebra/dense-linear-algebra-"
2788 version ".tar.gz"))
2789 (sha256
2790 (base32
2791 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2792 (build-system haskell-build-system)
2793 (inputs
2794 `(("ghc-math-functions" ,ghc-math-functions)
2795 ("ghc-primitive" ,ghc-primitive)
2796 ("ghc-vector" ,ghc-vector)
2797 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2798 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2799 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2800 (native-inputs
2801 `(("ghc-hspec" ,ghc-hspec)
2802 ("ghc-quickcheck" ,ghc-quickcheck)))
50153437 2803 (home-page "https://hackage.haskell.org/package/dense-linear-algebra")
e924e17e
TS
2804 (synopsis "Simple and incomplete implementation of linear algebra")
2805 (description "This library is simply a collection of linear-algebra
2806related modules split from the statistics library.")
2807 (license license:bsd-2)))
2808
dddbc90c
RV
2809(define-public ghc-descriptive
2810 (package
2811 (name "ghc-descriptive")
2812 (version "0.9.5")
2813 (source
2814 (origin
2815 (method url-fetch)
2816 (uri (string-append
2817 "https://hackage.haskell.org/package/descriptive/descriptive-"
2818 version
2819 ".tar.gz"))
2820 (sha256
2821 (base32
2822 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2823 (build-system haskell-build-system)
2824 (inputs
2825 `(("ghc-aeson" ,ghc-aeson)
2826 ("ghc-bifunctors" ,ghc-bifunctors)
2827 ("ghc-scientific" ,ghc-scientific)
2828 ("ghc-vector" ,ghc-vector)))
2829 (native-inputs
2830 `(("ghc-hunit" ,ghc-hunit)
2831 ("ghc-hspec" ,ghc-hspec)))
2832 (home-page
2833 "https://github.com/chrisdone/descriptive")
2834 (synopsis
2835 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2836 (description
2837 "This package provides datatypes and functions for creating consumers
2838and parsers with useful semantics.")
2839 (license license:bsd-3)))
2840
1859c94a
TS
2841(define-public ghc-diagrams-core
2842 (package
2843 (name "ghc-diagrams-core")
2844 (version "1.4.2")
2845 (source
2846 (origin
2847 (method url-fetch)
2848 (uri (string-append "https://hackage.haskell.org/package/"
2849 "diagrams-core/diagrams-core-" version ".tar.gz"))
2850 (sha256
2851 (base32
2852 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
2853 (build-system haskell-build-system)
2854 (inputs
2855 `(("ghc-unordered-containers" ,ghc-unordered-containers)
2856 ("ghc-semigroups" ,ghc-semigroups)
2857 ("ghc-monoid-extras" ,ghc-monoid-extras)
2858 ("ghc-dual-tree" ,ghc-dual-tree)
2859 ("ghc-lens" ,ghc-lens)
2860 ("ghc-linear" ,ghc-linear)
2861 ("ghc-adjunctions" ,ghc-adjunctions)
2862 ("ghc-distributive" ,ghc-distributive)
2863 ("ghc-profunctors" ,ghc-profunctors)))
2864 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2865 (synopsis "Core libraries for diagrams embedded domain-specific language")
2866 (description "This package provides the core modules underlying
2867diagrams, an embedded domain-specific language for compositional,
2868declarative drawing.")
2869 (license license:bsd-3)))
2870
f9f1a630
TS
2871(define-public ghc-diagrams-lib
2872 (package
2873 (name "ghc-diagrams-lib")
2874 (version "1.4.2.3")
2875 (source
2876 (origin
2877 (method url-fetch)
2878 (uri (string-append "https://hackage.haskell.org/package/"
2879 "diagrams-lib/diagrams-lib-" version ".tar.gz"))
2880 (sha256
2881 (base32
2882 "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5"))))
2883 (build-system haskell-build-system)
2884 (inputs
2885 `(("ghc-semigroups" ,ghc-semigroups)
2886 ("ghc-monoid-extras" ,ghc-monoid-extras)
2887 ("ghc-dual-tree" ,ghc-dual-tree)
2888 ("ghc-diagrams-core" ,ghc-diagrams-core)
2889 ("ghc-diagrams-solve" ,ghc-diagrams-solve)
2890 ("ghc-active" ,ghc-active)
2891 ("ghc-colour" ,ghc-colour)
2892 ("ghc-data-default-class" ,ghc-data-default-class)
2893 ("ghc-fingertree" ,ghc-fingertree)
2894 ("ghc-intervals" ,ghc-intervals)
2895 ("ghc-lens" ,ghc-lens)
2896 ("ghc-tagged" ,ghc-tagged)
2897 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
2898 ("ghc-juicypixels" ,ghc-juicypixels)
2899 ("ghc-hashable" ,ghc-hashable)
2900 ("ghc-linear" ,ghc-linear)
2901 ("ghc-adjunctions" ,ghc-adjunctions)
2902 ("ghc-distributive" ,ghc-distributive)
2903 ("ghc-fsnotify" ,ghc-fsnotify)
2904 ("ghc-unordered-containers" ,ghc-unordered-containers)
2905 ("ghc-profunctors" ,ghc-profunctors)
2906 ("ghc-exceptions" ,ghc-exceptions)
2907 ("ghc-cereal" ,ghc-cereal)))
2908 (native-inputs
2909 `(("ghc-tasty" ,ghc-tasty)
2910 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2911 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
2912 ("ghc-numeric-extras" ,ghc-numeric-extras)))
2913 (arguments
2914 `(#:cabal-revision
2915 ("3" "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai")))
2916 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2917 (synopsis "Embedded domain-specific language for declarative graphics")
2918 (description "Diagrams is a flexible, extensible embedded
2919domain-specific language (EDSL) for creating graphics of many types.
2920Graphics can be created in arbitrary vector spaces and rendered with
2921multiple backends. This package provides a standard library of
2922primitives and operations for creating diagrams.")
2923 (license license:bsd-3)))
2924
fd33ffa0
TS
2925(define-public ghc-diagrams-solve
2926 (package
2927 (name "ghc-diagrams-solve")
2928 (version "0.1.1")
2929 (source
2930 (origin
2931 (method url-fetch)
2932 (uri (string-append "https://hackage.haskell.org/package/"
2933 "diagrams-solve/diagrams-solve-"
2934 version ".tar.gz"))
2935 (sha256
2936 (base32
2937 "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4"))))
2938 (build-system haskell-build-system)
2939 (native-inputs
2940 `(("ghc-tasty" ,ghc-tasty)
2941 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2942 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2943 (arguments
2944 `(#:cabal-revision
2945 ("5" "1yl8cs05fzqcz49p601am1ij66m9pa70yamhfxgcvya2pf8nimlf")))
2946 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2947 (synopsis "Pure Haskell solver routines used by diagrams")
2948 (description "This library provides Pure Haskell solver routines for
2949use by the
2950@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
2951diagrams framework}. It currently includes routines for finding real
2952roots of low-degree (@math{n < 5}) polynomials, and solving tridiagonal
2953and cyclic tridiagonal linear systems.")
2954 (license license:bsd-3)))
2955
74be1cb7
TS
2956(define-public ghc-diagrams-svg
2957 (package
2958 (name "ghc-diagrams-svg")
2959 (version "1.4.2")
2960 (source
2961 (origin
2962 (method url-fetch)
2963 (uri (string-append "https://hackage.haskell.org/package/"
2964 "diagrams-svg/diagrams-svg-" version ".tar.gz"))
2965 (sha256
2966 (base32
2967 "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal"))))
2968 (build-system haskell-build-system)
2969 (inputs
2970 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
2971 ("ghc-colour" ,ghc-colour)
2972 ("ghc-diagrams-core" ,ghc-diagrams-core)
2973 ("ghc-diagrams-lib" ,ghc-diagrams-lib)
2974 ("ghc-monoid-extras" ,ghc-monoid-extras)
2975 ("ghc-svg-builder" ,ghc-svg-builder)
2976 ("ghc-juicypixels" ,ghc-juicypixels)
2977 ("ghc-split" ,ghc-split)
2978 ("ghc-lens" ,ghc-lens)
2979 ("ghc-hashable" ,ghc-hashable)
2980 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
2981 ("ghc-semigroups" ,ghc-semigroups)))
2982 (arguments
2983 `(#:cabal-revision
2984 ("2" "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv")))
2985 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2986 (synopsis "Scalable Vector Grpahics backend for the diagrams framework")
2987 (description "This package provides a modular backend for rendering
2988diagrams created with the diagrams embedded domain-specific
2989language (EDSL) to Scalable Vector Graphics (SVG) files.")
2990 (license license:bsd-3)))
2991
4eb9a167
TS
2992(define-public ghc-dictionary-sharing
2993 (package
2994 (name "ghc-dictionary-sharing")
2995 (version "0.1.0.0")
2996 (source
2997 (origin
2998 (method url-fetch)
2999 (uri (string-append "https://hackage.haskell.org/package/"
3000 "dictionary-sharing/dictionary-sharing-"
3001 version ".tar.gz"))
3002 (sha256
3003 (base32
3004 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
3005 (build-system haskell-build-system)
3006 (arguments
3007 `(#:cabal-revision
3008 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
3009 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
3010 (synopsis "Sharing/memoization of class members")
3011 (description "This library provides tools for ensuring that class
3012members are shared.")
3013 (license license:bsd-3)))
3014
dddbc90c
RV
3015(define-public ghc-diff
3016 (package
3017 (name "ghc-diff")
3018 (version "0.3.4")
3019 (source (origin
3020 (method url-fetch)
3021 (uri (string-append "https://hackage.haskell.org/package/"
3022 "Diff/Diff-" version ".tar.gz"))
a531ff94 3023 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
3024 (sha256
3025 (base32
3026 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
3027 (build-system haskell-build-system)
3028 (native-inputs
3029 `(("ghc-quickcheck" ,ghc-quickcheck)
3030 ("ghc-test-framework" ,ghc-test-framework)
3031 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3032 (home-page "https://hub.darcs.net/sterlingclover/Diff")
3033 (synopsis "O(ND) diff algorithm in Haskell")
3034 (description
3035 "This package provides an implementation of the standard diff algorithm,
3036and utilities for pretty printing.")
3037 (license license:bsd-3)))
3038
3039(define-public ghc-disk-free-space
3040 (package
3041 (name "ghc-disk-free-space")
3042 (version "0.1.0.1")
3043 (source
3044 (origin
3045 (method url-fetch)
3046 (uri (string-append "https://hackage.haskell.org/package/"
3047 "disk-free-space/disk-free-space-"
3048 version ".tar.gz"))
3049 (sha256
3050 (base32
3051 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
3052 (build-system haskell-build-system)
3053 (home-page "https://github.com/redneb/disk-free-space")
3054 (synopsis "Retrieve information about disk space usage")
3055 (description "A cross-platform library for retrieving information about
3056disk space usage.")
3057 (license license:bsd-3)))
3058
3059(define-public ghc-distributive
3060 (package
3061 (name "ghc-distributive")
e4c92f28 3062 (version "0.6.1")
dddbc90c
RV
3063 (source
3064 (origin
3065 (method url-fetch)
3066 (uri (string-append
3067 "https://hackage.haskell.org/package/distributive/distributive-"
3068 version
3069 ".tar.gz"))
3070 (sha256
3071 (base32
e4c92f28 3072 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 3073 (build-system haskell-build-system)
dddbc90c
RV
3074 (inputs
3075 `(("ghc-tagged" ,ghc-tagged)
3076 ("ghc-base-orphans" ,ghc-base-orphans)
3077 ("ghc-transformers-compat" ,ghc-transformers-compat)
3078 ("ghc-semigroups" ,ghc-semigroups)
3079 ("ghc-generic-deriving" ,ghc-generic-deriving)))
3080 (native-inputs
3081 `(("cabal-doctest" ,cabal-doctest)
3082 ("ghc-doctest" ,ghc-doctest)
3083 ("ghc-hspec" ,ghc-hspec)
3084 ("hspec-discover" ,hspec-discover)))
3085 (home-page "https://github.com/ekmett/distributive/")
3086 (synopsis "Distributive functors for Haskell")
3087 (description "This package provides distributive functors for Haskell.
3088Dual to @code{Traversable}.")
3089 (license license:bsd-3)))
3090
3091(define-public ghc-dlist
3092 (package
3093 (name "ghc-dlist")
197ddf33 3094 (version "0.8.0.7")
dddbc90c
RV
3095 (source
3096 (origin
3097 (method url-fetch)
3098 (uri (string-append
3099 "https://hackage.haskell.org/package/dlist/dlist-"
3100 version
3101 ".tar.gz"))
3102 (sha256
197ddf33 3103 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
3104 (build-system haskell-build-system)
3105 (inputs
3106 `(("ghc-quickcheck" ,ghc-quickcheck)))
3107 (home-page "https://github.com/spl/dlist")
3108 (synopsis "Difference lists")
3109 (description
3110 "Difference lists are a list-like type supporting O(1) append. This is
3111particularly useful for efficient logging and pretty printing (e.g. with the
3112Writer monad), where list append quickly becomes too expensive.")
3113 (license license:bsd-3)))
3114
3115(define-public ghc-doctemplates
3116 (package
3117 (name "ghc-doctemplates")
3118 (version "0.2.2.1")
3119 (source
3120 (origin
3121 (method url-fetch)
3122 (uri (string-append "https://hackage.haskell.org/package/"
3123 "doctemplates/doctemplates-"
3124 version ".tar.gz"))
3125 (sha256
3126 (base32
3127 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3128 (build-system haskell-build-system)
3129 (inputs
3130 `(("ghc-aeson" ,ghc-aeson)
3131 ("ghc-blaze-markup" ,ghc-blaze-markup)
3132 ("ghc-blaze-html" ,ghc-blaze-html)
3133 ("ghc-vector" ,ghc-vector)
3134 ("ghc-unordered-containers" ,ghc-unordered-containers)
3135 ("ghc-scientific" ,ghc-scientific)))
3136 (native-inputs
3137 `(("ghc-hspec" ,ghc-hspec)))
3138 (home-page "https://github.com/jgm/doctemplates#readme")
3139 (synopsis "Pandoc-style document templates")
3140 (description
3141 "This package provides a simple text templating system used by pandoc.")
3142 (license license:bsd-3)))
3143
3144(define-public ghc-doctest
3145 (package
3146 (name "ghc-doctest")
19c14a0f 3147 (version "0.16.2")
dddbc90c
RV
3148 (source
3149 (origin
3150 (method url-fetch)
3151 (uri (string-append
3152 "https://hackage.haskell.org/package/doctest/doctest-"
3153 version
3154 ".tar.gz"))
3155 (sha256
3156 (base32
19c14a0f 3157 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
3158 (build-system haskell-build-system)
3159 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3160 (inputs
3161 `(("ghc-syb" ,ghc-syb)
3162 ("ghc-paths" ,ghc-paths)
3163 ("ghc-base-compat" ,ghc-base-compat)
3164 ("ghc-code-page" ,ghc-code-page)
3165 ("ghc-hunit" ,ghc-hunit)
3166 ("ghc-hspec" ,ghc-hspec)
3167 ("ghc-quickcheck" ,ghc-quickcheck)
3168 ("ghc-stringbuilder" ,ghc-stringbuilder)
3169 ("ghc-silently" ,ghc-silently)
3170 ("ghc-setenv" ,ghc-setenv)))
3171 (home-page
3172 "https://github.com/sol/doctest#readme")
3173 (synopsis "Test interactive Haskell examples")
3174 (description "The doctest program checks examples in source code comments.
3175It is modeled after doctest for Python, see
3176@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3177 (license license:expat)))
3178
3179(define-public ghc-double-conversion
3180 (package
3181 (name "ghc-double-conversion")
3182 (version "2.0.2.0")
3183 (source
3184 (origin
3185 (method url-fetch)
3186 (uri (string-append "https://hackage.haskell.org/package/"
3187 "double-conversion/double-conversion-"
3188 version ".tar.gz"))
3189 (sha256
3190 (base32
3191 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3192 (build-system haskell-build-system)
3193 (native-inputs
3194 `(("ghc-hunit" ,ghc-hunit)
3195 ("ghc-test-framework" ,ghc-test-framework)
3196 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3197 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3198 (home-page "https://github.com/bos/double-conversion")
3199 (synopsis "Fast conversion between double precision floating point and text")
3200 (description
3201 "This package provides a library that performs fast, accurate conversion
3202between double precision floating point and text.")
3203 (license license:bsd-3)))
3204
577a78b7
TS
3205(define-public ghc-dual-tree
3206 (package
3207 (name "ghc-dual-tree")
3208 (version "0.2.2.1")
3209 (source
3210 (origin
3211 (method url-fetch)
3212 (uri (string-append "https://hackage.haskell.org/package/"
3213 "dual-tree/dual-tree-" version ".tar.gz"))
3214 (sha256
3215 (base32
3216 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3217 (build-system haskell-build-system)
3218 (inputs
3219 `(("ghc-semigroups" ,ghc-semigroups)
3220 ("ghc-newtype-generics" ,ghc-newtype-generics)
3221 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3222 (native-inputs
3223 `(("ghc-quickcheck" ,ghc-quickcheck)
3224 ("ghc-testing-feat" ,ghc-testing-feat)))
3225 (home-page "https://hackage.haskell.org/package/dual-tree")
3226 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3227 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3228cached) and downwards-traveling (i.e. accumulating) monoidal
3229annotations. This is used as the core data structure underlying the
3230@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3231diagrams framework}, but potentially has other applications as well.")
3232 (license license:bsd-3)))
3233
dddbc90c
RV
3234(define-public ghc-easy-file
3235 (package
3236 (name "ghc-easy-file")
3237 (version "0.2.2")
3238 (source
3239 (origin
3240 (method url-fetch)
3241 (uri (string-append
3242 "https://hackage.haskell.org/package/easy-file/easy-file-"
3243 version
3244 ".tar.gz"))
3245 (sha256
3246 (base32
3247 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3248 (build-system haskell-build-system)
3249 (home-page
3250 "https://github.com/kazu-yamamoto/easy-file")
3251 (synopsis "File handling library for Haskell")
3252 (description "This library provides file handling utilities for Haskell.")
3253 (license license:bsd-3)))
3254
3255(define-public ghc-easyplot
3256 (package
3257 (name "ghc-easyplot")
3258 (version "1.0")
3259 (source
3260 (origin
3261 (method url-fetch)
3262 (uri (string-append
3263 "https://hackage.haskell.org/package/easyplot/easyplot-"
3264 version ".tar.gz"))
3265 (sha256
3266 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3267 (build-system haskell-build-system)
3268 (propagated-inputs `(("gnuplot" ,gnuplot)))
3269 (arguments
3270 `(#:phases (modify-phases %standard-phases
3271 (add-after 'unpack 'fix-setup-suffix
3272 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3273 (home-page "https://hub.darcs.net/scravy/easyplot")
3274 (synopsis "Haskell plotting library based on gnuplot")
3275 (description "This package provides a plotting library for
3276Haskell, using gnuplot for rendering.")
3277 (license license:expat)))
3278
3279(define-public ghc-echo
3280 (package
3281 (name "ghc-echo")
3282 (version "0.1.3")
3283 (source
3284 (origin
3285 (method url-fetch)
3286 (uri (string-append
3287 "https://hackage.haskell.org/package/echo/echo-"
3288 version ".tar.gz"))
3289 (sha256
3290 (base32
3291 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3292 (build-system haskell-build-system)
3293 (arguments
3294 `(#:cabal-revision
3295 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3296 (home-page "https://github.com/RyanGlScott/echo")
3297 (synopsis "Echo terminal input portably")
3298 (description "The @code{base} library exposes the @code{hGetEcho} and
3299@code{hSetEcho} functions for querying and setting echo status, but
3300unfortunately, neither function works with MinTTY consoles on Windows.
3301This library provides an alternative interface which works with both
3302MinTTY and other consoles.")
3303 (license license:bsd-3)))
3304
3305(define-public ghc-edisonapi
3306 (package
3307 (name "ghc-edisonapi")
3308 (version "1.3.1")
3309 (source
3310 (origin
3311 (method url-fetch)
3312 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3313 "/EdisonAPI-" version ".tar.gz"))
3314 (sha256
3315 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3316 (build-system haskell-build-system)
3317 (home-page "http://rwd.rdockins.name/edison/home/")
3318 (synopsis "Library of efficient, purely-functional data structures (API)")
3319 (description
3320 "Edison is a library of purely functional data structures written by
3321Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3322value EDiSon (Efficient Data Structures). Edison provides several families of
3323abstractions, each with multiple implementations. The main abstractions
3324provided by Edison are: Sequences such as stacks, queues, and dequeues;
3325Collections such as sets, bags and heaps; and Associative Collections such as
3326finite maps and priority queues where the priority and element are distinct.")
3327 (license license:expat)))
3328
3329(define-public ghc-edisoncore
3330 (package
3331 (name "ghc-edisoncore")
3332 (version "1.3.2.1")
3333 (source
3334 (origin
3335 (method url-fetch)
3336 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3337 "/EdisonCore-" version ".tar.gz"))
3338 (sha256
3339 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3340 (build-system haskell-build-system)
3341 (inputs
3342 `(("ghc-quickcheck" ,ghc-quickcheck)
3343 ("ghc-edisonapi" ,ghc-edisonapi)))
3344 (home-page "http://rwd.rdockins.name/edison/home/")
3345 (synopsis "Library of efficient, purely-functional data structures")
3346 (description
3347 "This package provides the core Edison data structure implementations,
3348including multiple sequence, set, bag, and finite map concrete implementations
3349with various performance characteristics.")
3350 (license license:expat)))
3351
3352(define-public ghc-edit-distance
3353 (package
3354 (name "ghc-edit-distance")
3355 (version "0.2.2.1")
3356 (source
3357 (origin
3358 (method url-fetch)
3359 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3360 "/edit-distance-" version ".tar.gz"))
3361 (sha256
3362 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3363 (build-system haskell-build-system)
3364 (arguments
3365 `(#:phases
3366 (modify-phases %standard-phases
3367 (add-before 'configure 'update-constraints
3368 (lambda _
3369 (substitute* "edit-distance.cabal"
3370 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3371 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3372 (inputs
3373 `(("ghc-random" ,ghc-random)
3374 ("ghc-test-framework" ,ghc-test-framework)
3375 ("ghc-quickcheck" ,ghc-quickcheck)
3376 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3377 (home-page "https://github.com/phadej/edit-distance")
3378 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3379 (description
3380 "This package provides optimized functions to determine the edit
3381distances for fuzzy matching, including Levenshtein and restricted
3382Damerau-Levenshtein algorithms.")
3383 (license license:bsd-3)))
3384
3ebae41f
TS
3385(define-public ghc-edit-distance-vector
3386 (package
3387 (name "ghc-edit-distance-vector")
3388 (version "1.0.0.4")
3389 (source
3390 (origin
3391 (method url-fetch)
3392 (uri (string-append "https://hackage.haskell.org/package/"
3393 "edit-distance-vector/edit-distance-vector-"
3394 version ".tar.gz"))
3395 (sha256
3396 (base32
3397 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3398 (build-system haskell-build-system)
3399 (inputs
3400 `(("ghc-vector" ,ghc-vector)))
3401 (native-inputs
3402 `(("ghc-quickcheck" ,ghc-quickcheck)
3403 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3404 (home-page "https://github.com/thsutton/edit-distance-vector")
3405 (synopsis "Calculate edit distances and edit scripts between vectors")
3406 (description "This package provides implementation of the
3407Wagner-Fischer dynamic programming algorithm to find the optimal edit
3408script and cost between two sequences. The implementation in this
3409package is specialised to sequences represented with @code{Data.Vector}
3410but is otherwise agnostic to:
3411@itemize
3412@item The type of values in the vectors;
3413@item The type representing edit operations; and
3414@item The type representing the cost of operations.
3415@end itemize")
3416 (license license:bsd-3)) )
3417
dddbc90c
RV
3418(define-public ghc-either
3419 (package
3420 (name "ghc-either")
a3fd4dc7 3421 (version "5.0.1.1")
dddbc90c
RV
3422 (source
3423 (origin
3424 (method url-fetch)
3425 (uri (string-append "https://hackage.haskell.org/package/"
3426 "either-" version "/"
3427 "either-" version ".tar.gz"))
3428 (sha256
3429 (base32
a3fd4dc7 3430 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3431 (build-system haskell-build-system)
3432 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3433 ("ghc-exceptions" ,ghc-exceptions)
3434 ("ghc-free" ,ghc-free)
3435 ("ghc-monad-control" ,ghc-monad-control)
3436 ("ghc-manodrandom" ,ghc-monadrandom)
3437 ("ghc-mmorph" ,ghc-mmorph)
3438 ("ghc-profunctors" ,ghc-profunctors)
3439 ("ghc-semigroups" ,ghc-semigroups)
3440 ("ghc-semigroupoids" ,ghc-semigroupoids)
3441 ("ghc-transformers-base" ,ghc-transformers-base)))
3442 (native-inputs
3443 `(("ghc-quickcheck" ,ghc-quickcheck)
3444 ("ghc-test-framework" ,ghc-test-framework)
3445 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3446 (home-page "https://github.com/ekmett/either")
3447 (synopsis "Provides an either monad transformer for Haskell")
3448 (description "This Haskell package provides an either monad transformer.")
3449 (license license:bsd-3)))
3450
3451(define-public ghc-email-validate
3452 (package
3453 (name "ghc-email-validate")
a4fe1c64 3454 (version "2.3.2.12")
dddbc90c
RV
3455 (source
3456 (origin
3457 (method url-fetch)
3458 (uri (string-append
3459 "https://hackage.haskell.org/package/"
3460 "email-validate/email-validate-"
3461 version
3462 ".tar.gz"))
3463 (sha256
3464 (base32
a4fe1c64 3465 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3466 (build-system haskell-build-system)
3467 (inputs
3468 `(("ghc-attoparsec" ,ghc-attoparsec)
3469 ("ghc-hspec" ,ghc-hspec)
3470 ("ghc-quickcheck" ,ghc-quickcheck)
3471 ("ghc-doctest" ,ghc-doctest)))
3472 (home-page
3473 "https://github.com/Porges/email-validate-hs")
3474 (synopsis "Email address validator for Haskell")
3475 (description
3476 "This Haskell package provides a validator that can validate an email
3477address string against RFC 5322.")
3478 (license license:bsd-3)))
3479
3480(define-public ghc-enclosed-exceptions
3481 (package
3482 (name "ghc-enclosed-exceptions")
3483 (version "1.0.3")
3484 (source (origin
3485 (method url-fetch)
3486 (uri (string-append "https://hackage.haskell.org/package/"
3487 "enclosed-exceptions/enclosed-exceptions-"
3488 version ".tar.gz"))
3489 (sha256
3490 (base32
3491 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3492 (build-system haskell-build-system)
3493 ;; FIXME: one of the tests blocks forever:
3494 ;; "thread blocked indefinitely in an MVar operation"
3495 (arguments '(#:tests? #f))
3496 (inputs
3497 `(("ghc-lifted-base" ,ghc-lifted-base)
3498 ("ghc-monad-control" ,ghc-monad-control)
3499 ("ghc-async" ,ghc-async)
3500 ("ghc-transformers-base" ,ghc-transformers-base)))
3501 (native-inputs
3502 `(("ghc-hspec" ,ghc-hspec)
3503 ("ghc-quickcheck" ,ghc-quickcheck)))
3504 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3505 (synopsis "Catch all exceptions from within an enclosed computation")
3506 (description
3507 "This library implements a technique to catch all exceptions raised
3508within an enclosed computation, while remaining responsive to (external)
3509asynchronous exceptions.")
3510 (license license:expat)))
3511
3512(define-public ghc-equivalence
3513 (package
3514 (name "ghc-equivalence")
801cf5b1 3515 (version "0.3.5")
dddbc90c
RV
3516 (source
3517 (origin
3518 (method url-fetch)
3519 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3520 "/equivalence-" version ".tar.gz"))
3521 (sha256
801cf5b1 3522 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
dddbc90c
RV
3523 (build-system haskell-build-system)
3524 (inputs
3525 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3526 ("ghc-transformers-compat" ,ghc-transformers-compat)
801cf5b1
TS
3527 ("ghc-fail" ,ghc-fail)
3528 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
3529 (home-page "https://github.com/pa-ba/equivalence")
3530 (synopsis "Maintaining an equivalence relation implemented as union-find")
3531 (description
3532 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3533Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
353422(2), 1975) in order to maintain an equivalence relation. This
3535implementation is a port of the @code{union-find} package using the @code{ST}
3536monad transformer (instead of the IO monad).")
3537 (license license:bsd-3)))
3538
3539(define-public ghc-erf
3540 (package
3541 (name "ghc-erf")
3542 (version "2.0.0.0")
3543 (source
3544 (origin
3545 (method url-fetch)
3546 (uri (string-append "https://hackage.haskell.org/package/"
3547 "erf-" version "/"
3548 "erf-" version ".tar.gz"))
3549 (sha256
3550 (base32
3551 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3552 (build-system haskell-build-system)
3553 (home-page "https://hackage.haskell.org/package/erf")
3554 (synopsis "The error function, erf, and related functions for Haskell")
3555 (description "This Haskell library provides a type class for the
3556error function, erf, and related functions. Instances for Float and
3557Double.")
3558 (license license:bsd-3)))
3559
3560(define-public ghc-errorcall-eq-instance
3561 (package
3562 (name "ghc-errorcall-eq-instance")
3563 (version "0.3.0")
3564 (source
3565 (origin
3566 (method url-fetch)
3567 (uri (string-append "https://hackage.haskell.org/package/"
3568 "errorcall-eq-instance/errorcall-eq-instance-"
3569 version ".tar.gz"))
3570 (sha256
3571 (base32
3572 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3573 (build-system haskell-build-system)
3574 (inputs
3575 `(("ghc-base-orphans" ,ghc-base-orphans)))
3576 (native-inputs
3577 `(("ghc-quickcheck" ,ghc-quickcheck)
3578 ("ghc-hspec" ,ghc-hspec)
3579 ("hspec-discover" ,hspec-discover)))
3580 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3581 (synopsis "Orphan Eq instance for ErrorCall")
3582 (description
3583 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3584This package provides an orphan instance.")
3585 (license license:expat)))
3586
3587(define-public ghc-errors
3588 (package
3589 (name "ghc-errors")
3590 (version "2.3.0")
3591 (source
3592 (origin
3593 (method url-fetch)
3594 (uri (string-append "https://hackage.haskell.org/package/"
3595 "errors-" version "/"
3596 "errors-" version ".tar.gz"))
3597 (sha256
3598 (base32
3599 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3600 (build-system haskell-build-system)
3601 (inputs
3602 `(("ghc-exceptions" ,ghc-exceptions)
3603 ("ghc-transformers-compat" ,ghc-transformers-compat)
3604 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3605 ("ghc-safe" ,ghc-safe)))
3606 (home-page "https://github.com/gabriel439/haskell-errors-library")
3607 (synopsis "Error handling library for Haskell")
3608 (description "This library encourages an error-handling style that
3609directly uses the type system, rather than out-of-band exceptions.")
3610 (license license:bsd-3)))
3611
3612(define-public ghc-esqueleto
2648b604
TS
3613 (package
3614 (name "ghc-esqueleto")
3615 (version "3.0.0")
3616 (source
3617 (origin
3618 (method url-fetch)
3619 (uri (string-append "https://hackage.haskell.org/package/"
3620 "esqueleto/esqueleto-" version ".tar.gz"))
3621 (sha256
3622 (base32
3623 "187c098h2xyf2nhifkdy2bqfl6iap7a93mzwd2kirl5yyicpc9zy"))))
3624 (build-system haskell-build-system)
3625 (arguments
3626 `(#:haddock? #f ; Haddock reports an internal error.
3627 #:phases
3628 (modify-phases %standard-phases
3629 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3630 ;; SQLite backends. Since we only have Haskell packages for
3631 ;; SQLite, we remove the other two test suites. FIXME: Add the
3632 ;; other backends and run all three test suites.
3633 (add-before 'configure 'remove-non-sqlite-test-suites
3634 (lambda _
3635 (use-modules (ice-9 rdelim))
3636 (with-atomic-file-replacement "esqueleto.cabal"
3637 (lambda (in out)
3638 (let loop ((line (read-line in 'concat)) (deleting? #f))
3639 (cond
3640 ((eof-object? line) #t)
3641 ((string-every char-set:whitespace line)
3642 (unless deleting? (display line out))
3643 (loop (read-line in 'concat) #f))
3644 ((member line '("test-suite mysql\n"
3645 "test-suite postgresql\n"))
3646 (loop (read-line in 'concat) #t))
3647 (else
3648 (unless deleting? (display line out))
3649 (loop (read-line in 'concat) deleting?)))))))))))
3650 (inputs
3651 `(("ghc-blaze-html" ,ghc-blaze-html)
3652 ("ghc-conduit" ,ghc-conduit)
3653 ("ghc-monad-logger" ,ghc-monad-logger)
3654 ("ghc-persistent" ,ghc-persistent)
3655 ("ghc-resourcet" ,ghc-resourcet)
3656 ("ghc-tagged" ,ghc-tagged)
3657 ("ghc-unliftio" ,ghc-unliftio)
3658 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3659 (native-inputs
3660 `(("ghc-hspec" ,ghc-hspec)
3661 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3662 ("ghc-persistent-template" ,ghc-persistent-template)))
3663 (home-page "https://github.com/bitemyapp/esqueleto")
3664 (synopsis "Type-safe embedded domain specific language for SQL queries")
3665 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3666language (EDSL) for SQL queries that works with SQL backends as provided by
3667@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3668to learn new concepts, just new syntax, and it's fairly easy to predict the
3669generated SQL and optimize it for your backend.")
2648b604 3670 (license license:bsd-3)))
dddbc90c
RV
3671
3672(define-public ghc-exactprint
3673 (package
3674 (name "ghc-exactprint")
50614014 3675 (version "0.6.1")
dddbc90c
RV
3676 (source
3677 (origin
3678 (method url-fetch)
3679 (uri (string-append
3680 "https://hackage.haskell.org/package/"
3681 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3682 (sha256
3683 (base32
50614014 3684 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3685 (build-system haskell-build-system)
3686 (inputs
3687 `(("ghc-paths" ,ghc-paths)
3688 ("ghc-syb" ,ghc-syb)
3689 ("ghc-free" ,ghc-free)))
3690 (native-inputs
3691 `(("ghc-hunit" ,ghc-hunit)
3692 ("ghc-diff" ,ghc-diff)
3693 ("ghc-silently" ,ghc-silently)
3694 ("ghc-filemanip" ,ghc-filemanip)))
3695 (home-page
3696 "http://hackage.haskell.org/package/ghc-exactprint")
3697 (synopsis "ExactPrint for GHC")
3698 (description
3699 "Using the API Annotations available from GHC 7.10.2, this library
3700provides a means to round-trip any code that can be compiled by GHC, currently
3701excluding @file{.lhs} files.")
3702 (license license:bsd-3)))
3703
3704(define-public ghc-exceptions
3705 (package
3706 (name "ghc-exceptions")
46d3e65b 3707 (version "0.10.3")
dddbc90c
RV
3708 (source
3709 (origin
3710 (method url-fetch)
3711 (uri (string-append
3712 "https://hackage.haskell.org/package/exceptions/exceptions-"
3713 version
3714 ".tar.gz"))
3715 (sha256
3716 (base32
46d3e65b 3717 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3718 (build-system haskell-build-system)
3719 (native-inputs
3720 `(("ghc-quickcheck" ,ghc-quickcheck)
3721 ("ghc-test-framework" ,ghc-test-framework)
3722 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3723 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3724 (inputs
3725 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3726 (home-page "https://github.com/ekmett/exceptions/")
3727 (synopsis "Extensible optionally-pure exceptions")
3728 (description "This library provides extensible optionally-pure exceptions
3729for Haskell.")
3730 (license license:bsd-3)))
3731
3732(define-public ghc-executable-path
3733 (package
3734 (name "ghc-executable-path")
3735 (version "0.0.3.1")
3736 (source (origin
3737 (method url-fetch)
3738 (uri (string-append "https://hackage.haskell.org/package/"
3739 "executable-path/executable-path-"
3740 version ".tar.gz"))
3741 (sha256
3742 (base32
3743 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3744 (build-system haskell-build-system)
3745 (home-page "https://hackage.haskell.org/package/executable-path")
3746 (synopsis "Find out the full path of the executable")
3747 (description
3748 "The documentation of @code{System.Environment.getProgName} says that
3749\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3750instead, for maximum portability, we just return the leafname of the program
3751as invoked.\" This library tries to provide the missing path.")
3752 (license license:public-domain)))
3753
3754(define-public ghc-extensible-exceptions
3755 (package
3756 (name "ghc-extensible-exceptions")
3757 (version "0.1.1.4")
3758 (source
3759 (origin
3760 (method url-fetch)
3761 (uri (string-append "https://hackage.haskell.org/package/"
3762 "extensible-exceptions/extensible-exceptions-"
3763 version ".tar.gz"))
3764 (sha256
3765 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3766 (build-system haskell-build-system)
3767 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3768 (synopsis "Extensible exceptions for Haskell")
3769 (description
3770 "This package provides extensible exceptions for both new and old
3771versions of GHC (i.e., < 6.10).")
3772 (license license:bsd-3)))
3773
3774(define-public ghc-extra
3775 (package
3776 (name "ghc-extra")
10650c44 3777 (version "1.6.18")
dddbc90c
RV
3778 (source
3779 (origin
3780 (method url-fetch)
3781 (uri (string-append
3782 "https://hackage.haskell.org/package/extra/extra-"
3783 version
3784 ".tar.gz"))
3785 (sha256
3786 (base32
10650c44 3787 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3788 (build-system haskell-build-system)
3789 (inputs
3790 `(("ghc-clock" ,ghc-clock)
10650c44 3791 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3792 ("ghc-quickcheck" ,ghc-quickcheck)))
3793 (home-page "https://github.com/ndmitchell/extra")
3794 (synopsis "Extra Haskell functions")
3795 (description "This library provides extra functions for the standard
3796Haskell libraries. Most functions are simple additions, filling out missing
3797functionality. A few functions are available in later versions of GHC, but
3798this package makes them available back to GHC 7.2.")
3799 (license license:bsd-3)))
3800
3801(define-public ghc-fail
3802 (package
3803 (name "ghc-fail")
3804 (version "4.9.0.0")
3805 (source
3806 (origin
3807 (method url-fetch)
3808 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3809 version ".tar.gz"))
3810 (sha256
3811 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3812 (build-system haskell-build-system)
3813 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3814 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3815 (synopsis "Forward-compatible MonadFail class")
3816 (description
3817 "This package contains the @code{Control.Monad.Fail} module providing the
3818@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3819class that became available in
3820@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3821older @code{base} package versions. This package turns into an empty package
3822when used with GHC versions which already provide the
3823@code{Control.Monad.Fail} module.")
3824 (license license:bsd-3)))
3825
3826(define-public ghc-fast-logger
3827 (package
3828 (name "ghc-fast-logger")
d443a52a 3829 (version "2.4.17")
dddbc90c
RV
3830 (source
3831 (origin
3832 (method url-fetch)
3833 (uri (string-append
3834 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3835 version
3836 ".tar.gz"))
3837 (sha256
3838 (base32
d443a52a 3839 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3840 (build-system haskell-build-system)
3841 (inputs
3842 `(("ghc-auto-update" ,ghc-auto-update)
3843 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3844 ("ghc-unix-time" ,ghc-unix-time)
3845 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3846 (native-inputs
3847 `(("hspec-discover" ,hspec-discover)
3848 ("ghc-hspec" ,ghc-hspec)))
3849 (home-page "https://hackage.haskell.org/package/fast-logger")
3850 (synopsis "Fast logging system")
3851 (description "This library provides a fast logging system for Haskell.")
3852 (license license:bsd-3)))
3853
3854(define-public ghc-feed
3855 (package
3856 (name "ghc-feed")
a41c16dc 3857 (version "1.2.0.1")
dddbc90c
RV
3858 (source
3859 (origin
3860 (method url-fetch)
3861 (uri (string-append "https://hackage.haskell.org/package/"
3862 "feed/feed-" version ".tar.gz"))
3863 (sha256
3864 (base32
a41c16dc 3865 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 3866 (build-system haskell-build-system)
dddbc90c
RV
3867 (inputs
3868 `(("ghc-base-compat" ,ghc-base-compat)
3869 ("ghc-old-locale" ,ghc-old-locale)
3870 ("ghc-old-time" ,ghc-old-time)
3871 ("ghc-safe" ,ghc-safe)
3872 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3873 ("ghc-utf8-string" ,ghc-utf8-string)
3874 ("ghc-xml-conduit" ,ghc-xml-conduit)
3875 ("ghc-xml-types" ,ghc-xml-types)))
3876 (native-inputs
3877 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 3878 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
3879 ("ghc-test-framework" ,ghc-test-framework)
3880 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3881 (home-page "https://github.com/bergmark/feed")
3882 (synopsis "Haskell package for handling various syndication formats")
3883 (description "This Haskell package includes tools for generating and
3884consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3885 (license license:bsd-3)))
3886
3887(define-public ghc-fgl
3888 (package
3889 (name "ghc-fgl")
17482b26 3890 (version "5.7.0.1")
dddbc90c
RV
3891 (outputs '("out" "doc"))
3892 (source
3893 (origin
3894 (method url-fetch)
3895 (uri (string-append
3896 "https://hackage.haskell.org/package/fgl/fgl-"
3897 version
3898 ".tar.gz"))
3899 (sha256
3900 (base32
17482b26 3901 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3902 (build-system haskell-build-system)
3903 (arguments
3904 `(#:phases
3905 (modify-phases %standard-phases
3906 (add-before 'configure 'update-constraints
3907 (lambda _
3908 (substitute* "fgl.cabal"
17482b26
TS
3909 (("QuickCheck >= 2\\.8 && < 2\\.13")
3910 "QuickCheck >= 2.8 && < 2.14")
3911 (("hspec >= 2\\.1 && < 2\\.7")
3912 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3913 (inputs
3914 `(("ghc-hspec" ,ghc-hspec)
3915 ("ghc-quickcheck" ,ghc-quickcheck)))
3916 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3917 (synopsis
3918 "Martin Erwig's Functional Graph Library")
3919 (description "The functional graph library, FGL, is a collection of type
3920and function definitions to address graph problems. The basis of the library
3921is an inductive definition of graphs in the style of algebraic data types that
3922encourages inductive, recursive definitions of graph algorithms.")
3923 (license license:bsd-3)))
3924
3925(define-public ghc-fgl-arbitrary
3926 (package
3927 (name "ghc-fgl-arbitrary")
3928 (version "0.2.0.3")
3929 (source
3930 (origin
3931 (method url-fetch)
3932 (uri (string-append
3933 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3934 version ".tar.gz"))
3935 (sha256
3936 (base32
3937 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3938 (build-system haskell-build-system)
3939 (arguments
3940 `(#:phases
3941 (modify-phases %standard-phases
3942 (add-before 'configure 'update-constraints
3943 (lambda _
3944 (substitute* "fgl-arbitrary.cabal"
3945 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3946 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3947 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3948 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3949 (inputs
3950 `(("ghc-fgl" ,ghc-fgl)
3951 ("ghc-quickcheck" ,ghc-quickcheck)
3952 ("ghc-hspec" ,ghc-hspec)))
3953 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3954 (synopsis "QuickCheck support for fgl")
3955 (description
3956 "Provides Arbitrary instances for fgl graphs to avoid adding a
3957QuickCheck dependency for fgl whilst still making the instances
3958available to others. Also available are non-fgl-specific functions
3959for generating graph-like data structures.")
3960 (license license:bsd-3)))
3961
3962(define-public ghc-file-embed
3963 (package
3964 (name "ghc-file-embed")
b5920d50 3965 (version "0.0.11")
dddbc90c
RV
3966 (source
3967 (origin
3968 (method url-fetch)
3969 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3970 "file-embed-" version ".tar.gz"))
3971 (sha256
3972 (base32
b5920d50 3973 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3974 (build-system haskell-build-system)
3975 (home-page "https://github.com/snoyberg/file-embed")
3976 (synopsis "Use Template Haskell to embed file contents directly")
3977 (description
3978 "This package allows you to use Template Haskell to read a file or all
3979the files in a directory, and turn them into @code{(path, bytestring)} pairs
3980embedded in your Haskell code.")
3981 (license license:bsd-3)))
3982
3983(define-public ghc-filemanip
3984 (package
3985 (name "ghc-filemanip")
3986 (version "0.3.6.3")
3987 (source (origin
3988 (method url-fetch)
3989 (uri (string-append "https://hackage.haskell.org/package/"
3990 "filemanip/filemanip-" version ".tar.gz"))
3991 (sha256
3992 (base32
3993 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3994 (build-system haskell-build-system)
3995 (inputs
3996 `(("ghc-unix-compat" ,ghc-unix-compat)))
3997 (home-page "https://github.com/bos/filemanip")
3998 (synopsis "File and directory manipulation for Haskell")
3999 (description
4000 "This package provides a Haskell library for working with files and
4001directories. It includes code for pattern matching, finding files, modifying
4002file contents, and more.")
4003 (license license:bsd-3)))
4004
bb62932a
KM
4005(define-public ghc-filepath-bytestring
4006 (package
4007 (name "ghc-filepath-bytestring")
4008 (version "1.4.2.1.1")
4009 (source
4010 (origin
4011 (method url-fetch)
4012 (uri (string-append
4013 "https://hackage.haskell.org/package/filepath-bytestring/"
4014 "filepath-bytestring-" version ".tar.gz"))
4015 (sha256
4016 (base32
4017 "06shdskjj391hb9295slm9gg2rbn5fdq5v6fg0mgn3yl5dv8q5dx"))))
4018 (build-system haskell-build-system)
4019 (native-inputs
4020 `(("ghc-quickcheck" ,ghc-quickcheck)))
4021 (home-page "http://hackage.haskell.org/package/filepath-bytestring")
4022 (synopsis "Library for manipulating RawFilePaths in a cross-platform way")
4023 (description "This package provides a drop-in replacement for the standard
4024@code{filepath} library, operating on @code{RawFilePath} values rather than
4025@code{FilePath} values to get the speed benefits of using @code{ByteStrings}.")
4026 (license license:bsd-3)))
4027
dddbc90c
RV
4028(define-public ghc-findbin
4029 (package
4030 (name "ghc-findbin")
4031 (version "0.0.5")
4032 (source
4033 (origin
4034 (method url-fetch)
4035 (uri (string-append
4036 "https://hackage.haskell.org/package/FindBin/FindBin-"
4037 version ".tar.gz"))
4038 (sha256
4039 (base32
4040 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
4041 (build-system haskell-build-system)
4042 (home-page "https://github.com/audreyt/findbin")
4043 (synopsis "Get the absolute path of the running program")
4044 (description
4045 "This module locates the full directory of the running program, to allow
4046the use of paths relative to it. FindBin supports invocation of Haskell
4047programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
4048an executable.")
4049 (license license:bsd-3)))
4050
4051(define-public ghc-fingertree
4052 (package
4053 (name "ghc-fingertree")
aac14fdc 4054 (version "0.1.4.2")
dddbc90c
RV
4055 (source
4056 (origin
4057 (method url-fetch)
4058 (uri (string-append
4059 "https://hackage.haskell.org/package/fingertree/fingertree-"
4060 version ".tar.gz"))
4061 (sha256
4062 (base32
aac14fdc 4063 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
4064 (build-system haskell-build-system)
4065 (native-inputs
4066 `(("ghc-hunit" ,ghc-hunit)
4067 ("ghc-quickcheck" ,ghc-quickcheck)
4068 ("ghc-test-framework" ,ghc-test-framework)
4069 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4070 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4071 (home-page "https://hackage.haskell.org/package/fingertree")
4072 (synopsis "Generic finger-tree structure")
4073 (description "This library provides finger trees, a general sequence
4074representation with arbitrary annotations, for use as a base for
4075implementations of various collection types. It includes examples, as
4076described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
4077simple general-purpose data structure\".")
4078 (license license:bsd-3)))
4079
4080(define-public ghc-fixed
4081 (package
4082 (name "ghc-fixed")
099dda5b 4083 (version "0.3")
dddbc90c
RV
4084 (source
4085 (origin
4086 (method url-fetch)
4087 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
4088 version ".tar.gz"))
4089 (sha256
4090 (base32
099dda5b 4091 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
4092 (build-system haskell-build-system)
4093 (home-page "https://github.com/ekmett/fixed")
4094 (synopsis "Signed 15.16 precision fixed point arithmetic")
4095 (description
4096 "This package provides functions for signed 15.16 precision fixed point
4097arithmetic.")
4098 (license license:bsd-3)))
4099
f169f713
JS
4100(define-public ghc-fmlist
4101 (package
4102 (name "ghc-fmlist")
fe9b83a6 4103 (version "0.9.3")
f169f713
JS
4104 (source
4105 (origin
4106 (method url-fetch)
4107 (uri
4108 (string-append
4109 "https://hackage.haskell.org/package/fmlist/fmlist-"
4110 version ".tar.gz"))
4111 (sha256
4112 (base32
fe9b83a6 4113 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
4114 (build-system haskell-build-system)
4115 (home-page "https://github.com/sjoerdvisscher/fmlist")
4116 (synopsis "FoldMap lists")
4117 (description "FoldMap lists are lists represented by their
4118@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
4119append, just like DLists, but other operations might have favorable
4120performance characteristics as well. These wild claims are still
4121completely unverified though.")
4122 (license license:bsd-3)))
4123
dddbc90c
RV
4124(define-public ghc-foldl
4125 (package
4126 (name "ghc-foldl")
26c4104f 4127 (version "1.4.5")
dddbc90c
RV
4128 (source
4129 (origin
4130 (method url-fetch)
4131 (uri (string-append "https://hackage.haskell.org/package/"
4132 "foldl-" version "/"
4133 "foldl-" version ".tar.gz"))
4134 (sha256
4135 (base32
26c4104f 4136 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
4137 (build-system haskell-build-system)
4138 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
4139 ("ghc-primitive" ,ghc-primitive)
4140 ("ghc-vector" ,ghc-vector)
4141 ("ghc-unordered-containers" ,ghc-unordered-containers)
4142 ("ghc-hashable" ,ghc-hashable)
4143 ("ghc-contravariant" ,ghc-contravariant)
4144 ("ghc-semigroups" ,ghc-semigroups)
4145 ("ghc-profunctors" ,ghc-profunctors)
4146 ("ghc-semigroupoids" ,ghc-semigroupoids)
4147 ("ghc-comonad" ,ghc-comonad)
4148 ("ghc-vector-builder" ,ghc-vector-builder)))
4149 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4150 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4151 (description "This Haskell library provides strict left folds that stream
4152in constant memory, and you can combine folds using @code{Applicative} style
4153to derive new folds. Derived folds still traverse the container just once
4154and are often as efficient as hand-written folds.")
4155 (license license:bsd-3)))
4156
4157(define-public ghc-foundation
4158 (package
4159 (name "ghc-foundation")
0a702df9 4160 (version "0.0.25")
dddbc90c
RV
4161 (source
4162 (origin
4163 (method url-fetch)
4164 (uri (string-append "https://hackage.haskell.org/package/"
4165 "foundation/foundation-" version ".tar.gz"))
4166 (sha256
4167 (base32
0a702df9 4168 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c 4169 (build-system haskell-build-system)
59cd7518
TS
4170 (arguments
4171 `(#:phases
4172 (modify-phases %standard-phases
4173 ;; This test is broken. For details, see
4174 ;; https://github.com/haskell-foundation/foundation/issues/530
4175 (add-after 'unpack 'patch-tests
4176 (lambda _
4177 (substitute* "tests/Test/Foundation/Number.hs"
4178 ((", testDividible proxy") ""))
4179 #t)))))
dddbc90c
RV
4180 (inputs `(("ghc-basement" ,ghc-basement)))
4181 (home-page "https://github.com/haskell-foundation/foundation")
4182 (synopsis "Alternative prelude with batteries and no dependencies")
4183 (description
4184 "This package provides a custom prelude with no dependencies apart from
4185the base package.
4186
4187Foundation has the following goals:
4188
4189@enumerate
4190@item provide a base like sets of modules that provide a consistent set of
4191 features and bugfixes across multiple versions of GHC (unlike base).
4192@item provide a better and more efficient prelude than base's prelude.
4193@item be self-sufficient: no external dependencies apart from base;
4194@item provide better data-types: packed unicode string by default, arrays;
4195@item Numerical classes that better represent mathematical things (no more
4196 all-in-one @code{Num});
4197@item I/O system with less lazy IO.
4198@end enumerate\n")
4199 (license license:bsd-3)))
4200
4201(define-public ghc-free
4202 (package
4203 (name "ghc-free")
4081565d 4204 (version "5.1.2")
dddbc90c
RV
4205 (source
4206 (origin
4207 (method url-fetch)
4208 (uri (string-append
4209 "https://hackage.haskell.org/package/free/free-"
4210 version
4211 ".tar.gz"))
4212 (sha256
4213 (base32
4081565d 4214 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
4215 (build-system haskell-build-system)
4216 (inputs
4217 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4218 ("ghc-profunctors" ,ghc-profunctors)
4219 ("ghc-exceptions" ,ghc-exceptions)
4220 ("ghc-bifunctors" ,ghc-bifunctors)
4221 ("ghc-comonad" ,ghc-comonad)
4222 ("ghc-distributive" ,ghc-distributive)
4223 ("ghc-semigroupoids" ,ghc-semigroupoids)
4224 ("ghc-semigroups" ,ghc-semigroups)
4225 ("ghc-transformers-base" ,ghc-transformers-base)
4226 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4227 (home-page "https://github.com/ekmett/free/")
4228 (synopsis "Unrestricted monads for Haskell")
4229 (description "This library provides free monads, which are useful for many
4230tree-like structures and domain specific languages. If @code{f} is a
4231@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4232whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4233is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4234f} makes no constraining assumptions beyond those given by @code{f} and the
4235definition of @code{Monad}.")
4236 (license license:bsd-3)))
4237
4238(define-public ghc-fsnotify
4239 (package
4240 (name "ghc-fsnotify")
4241 (version "0.3.0.1")
4242 (source (origin
4243 (method url-fetch)
4244 (uri (string-append
4245 "https://hackage.haskell.org/package/fsnotify/"
4246 "fsnotify-" version ".tar.gz"))
4247 (sha256
4248 (base32
4249 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4250 (build-system haskell-build-system)
4251 (inputs
4252 `(("ghc-async" ,ghc-async)
4253 ("ghc-unix-compat" ,ghc-unix-compat)
4254 ("ghc-hinotify" ,ghc-hinotify)
4255 ("ghc-tasty" ,ghc-tasty)
4256 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4257 ("ghc-random" ,ghc-random)
4258 ("ghc-shelly" ,ghc-shelly)
4259 ("ghc-temporary" ,ghc-temporary)))
4260 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4261 (synopsis "Cross platform library for file change notification.")
4262 (description "Cross platform library for file creation, modification, and
4263deletion notification. This library builds upon existing libraries for platform
4264specific Windows, Mac, and Linux file system event notification.")
4265 (license license:bsd-3)))
4266
4267(define-public ghc-generic-deriving
4268 (package
4269 (name "ghc-generic-deriving")
55c1e6be 4270 (version "1.12.4")
dddbc90c
RV
4271 (source
4272 (origin
4273 (method url-fetch)
4274 (uri (string-append
4275 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4276 version
4277 ".tar.gz"))
4278 (sha256
4279 (base32
55c1e6be 4280 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
4281 (build-system haskell-build-system)
4282 (inputs
4283 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4284 (native-inputs
4285 `(("ghc-hspec" ,ghc-hspec)
4286 ("hspec-discover" ,hspec-discover)))
4287 (home-page "https://hackage.haskell.org/package/generic-deriving")
4288 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4289 (description "This package provides functionality for generalising the
4290deriving mechanism in Haskell to arbitrary classes.")
4291 (license license:bsd-3)))
4292
4293(define-public ghc-generics-sop
4294 (package
4295 (name "ghc-generics-sop")
3ed40e10 4296 (version "0.4.0.1")
dddbc90c
RV
4297 (source
4298 (origin
4299 (method url-fetch)
4300 (uri (string-append "https://hackage.haskell.org/package/"
4301 "generics-sop-" version "/"
4302 "generics-sop-" version ".tar.gz"))
4303 (sha256
4304 (base32
3ed40e10 4305 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 4306 (build-system haskell-build-system)
3ed40e10
TS
4307 (inputs
4308 `(("ghc-sop-core" ,ghc-sop-core)
4309 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4310 (home-page "https://github.com/well-typed/generics-sop")
4311 (synopsis "Generic Programming using True Sums of Products for Haskell")
4312 (description "This Haskell package supports the definition of generic
4313functions. Datatypes are viewed in a uniform, structured way: the choice
4314between constructors is represented using an n-ary sum, and the arguments of
4315each constructor are represented using an n-ary product.")
4316 (license license:bsd-3)))
4317
4318(define-public ghc-geniplate-mirror
4319 (package
4320 (name "ghc-geniplate-mirror")
4321 (version "0.7.6")
4322 (source
4323 (origin
4324 (method url-fetch)
4325 (uri (string-append "https://hackage.haskell.org/package"
4326 "/geniplate-mirror"
4327 "/geniplate-mirror-" version ".tar.gz"))
4328 (sha256
4329 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4330 (build-system haskell-build-system)
74a7dd7f
TS
4331 (arguments
4332 `(#:cabal-revision
4333 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4334 (home-page "https://github.com/danr/geniplate")
4335 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4336 (description
4337 "Use Template Haskell to generate Uniplate-like functions. This is a
4338maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4339geniplate} package, written by Lennart Augustsson.")
4340 (license license:bsd-3)))
4341
4342(define-public ghc-genvalidity
4343 (package
4344 (name "ghc-genvalidity")
920f44a1 4345 (version "0.8.0.0")
dddbc90c
RV
4346 (source
4347 (origin
4348 (method url-fetch)
4349 (uri (string-append
4350 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4351 version
4352 ".tar.gz"))
4353 (sha256
4354 (base32
920f44a1 4355 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4356 (build-system haskell-build-system)
4357 (inputs
4358 `(("ghc-quickcheck" ,ghc-quickcheck)
4359 ("ghc-validity" ,ghc-validity)))
4360 (native-inputs
4361 `(("ghc-hspec" ,ghc-hspec)
4362 ("hspec-discover" ,hspec-discover)
4363 ("ghc-hspec-core" ,ghc-hspec-core)))
4364 (home-page
4365 "https://github.com/NorfairKing/validity")
4366 (synopsis
4367 "Testing utilities for the @code{validity} library")
4368 (description
4369 "This package provides testing utilities that are useful in conjunction
4370with the @code{Validity} typeclass.")
4371 (license license:expat)))
4372
4373(define-public ghc-genvalidity-property
4374 (package
4375 (name "ghc-genvalidity-property")
e4ede35b 4376 (version "0.4.0.0")
dddbc90c
RV
4377 (source
4378 (origin
4379 (method url-fetch)
4380 (uri (string-append
4381 "https://hackage.haskell.org/package/"
4382 "genvalidity-property/genvalidity-property-"
4383 version
4384 ".tar.gz"))
4385 (sha256
4386 (base32
e4ede35b 4387 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4388 (build-system haskell-build-system)
4389 (inputs
4390 `(("ghc-quickcheck" ,ghc-quickcheck)
4391 ("ghc-genvalidity" ,ghc-genvalidity)
4392 ("ghc-hspec" ,ghc-hspec)
4393 ("hspec-discover" ,hspec-discover)
4394 ("ghc-validity" ,ghc-validity)))
4395 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4396 (home-page
4397 "https://github.com/NorfairKing/validity")
4398 (synopsis
4399 "Standard properties for functions on @code{Validity} types")
4400 (description
4401 "This package supplements the @code{Validity} typeclass with standard
4402properties for functions operating on them.")
4403 (license license:expat)))
4404
e71fb573
TS
4405(define-public ghc-getopt-generics
4406 (package
4407 (name "ghc-getopt-generics")
4408 (version "0.13.0.4")
4409 (source
4410 (origin
4411 (method url-fetch)
4412 (uri (string-append "https://hackage.haskell.org/package/"
4413 "getopt-generics/getopt-generics-"
4414 version ".tar.gz"))
4415 (sha256
4416 (base32
4417 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4418 (build-system haskell-build-system)
4419 (inputs
4420 `(("ghc-base-compat" ,ghc-base-compat)
4421 ("ghc-base-orphans" ,ghc-base-orphans)
4422 ("ghc-generics-sop" ,ghc-generics-sop)
4423 ("ghc-tagged" ,ghc-tagged)))
4424 (native-inputs
4425 `(("ghc-quickcheck" ,ghc-quickcheck)
4426 ("ghc-hspec" ,ghc-hspec)
4427 ("ghc-safe" ,ghc-safe)
4428 ("ghc-silently" ,ghc-silently)
4429 ("hspec-discover" ,hspec-discover)))
4430 (home-page "https://github.com/soenkehahn/getopt-generics")
4431 (synopsis "Create command line interfaces with ease")
4432 (description "This library provides tools to create command line
4433interfaces with ease.")
4434 (license license:bsd-3)))
4435
dddbc90c
RV
4436(define-public ghc-gitrev
4437 (package
4438 (name "ghc-gitrev")
4439 (version "1.3.1")
4440 (source
4441 (origin
4442 (method url-fetch)
4443 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4444 version ".tar.gz"))
4445 (sha256
4446 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4447 (build-system haskell-build-system)
4448 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4449 (home-page "https://github.com/acfoltzer/gitrev")
4450 (synopsis "Compile git revision info into Haskell projects")
4451 (description
4452 "This package provides some handy Template Haskell splices for including
4453the current git hash and branch in the code of your project. This is useful
4454for including in panic messages, @command{--version} output, or diagnostic
4455info for more informative bug reports.")
4456 (license license:bsd-3)))
4457
4458(define-public ghc-glob
4459 (package
4460 (name "ghc-glob")
b900f486 4461 (version "0.10.0")
dddbc90c
RV
4462 (source
4463 (origin
4464 (method url-fetch)
4465 (uri (string-append "https://hackage.haskell.org/package/"
4466 "Glob-" version "/"
4467 "Glob-" version ".tar.gz"))
4468 (sha256
4469 (base32
b900f486 4470 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4471 (build-system haskell-build-system)
4472 (inputs
4473 `(("ghc-dlist" ,ghc-dlist)
4474 ("ghc-semigroups" ,ghc-semigroups)
4475 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4476 (native-inputs
4477 `(("ghc-hunit" ,ghc-hunit)
4478 ("ghc-quickcheck" ,ghc-quickcheck)
4479 ("ghc-test-framework" ,ghc-test-framework)
4480 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4481 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4482 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4483 (synopsis "Haskell library matching glob patterns against file paths")
4484 (description "This package provides a Haskell library for @dfn{globbing}:
4485matching patterns against file paths.")
4486 (license license:bsd-3)))
4487
4488(define-public ghc-gluraw
4489 (package
4490 (name "ghc-gluraw")
4491 (version "2.0.0.4")
4492 (source
4493 (origin
4494 (method url-fetch)
4495 (uri (string-append
4496 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4497 version
4498 ".tar.gz"))
4499 (sha256
4500 (base32
4501 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4502 (build-system haskell-build-system)
4503 (inputs
4504 `(("ghc-openglraw" ,ghc-openglraw)))
4505 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4506 (synopsis "Raw Haskell bindings GLU")
4507 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4508utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4509basis for a nicer interface.")
4510 (license license:bsd-3)))
4511
4512(define-public ghc-glut
4513 (package
4514 (name "ghc-glut")
8284bd09 4515 (version "2.7.0.15")
dddbc90c
RV
4516 (source
4517 (origin
4518 (method url-fetch)
4519 (uri (string-append
4520 "https://hackage.haskell.org/package/GLUT/GLUT-"
4521 version
4522 ".tar.gz"))
4523 (sha256
4524 (base32
8284bd09 4525 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4526 (build-system haskell-build-system)
4527 (inputs
4528 `(("ghc-statevar" ,ghc-statevar)
4529 ("ghc-opengl" ,ghc-opengl)
4530 ("ghc-openglraw" ,ghc-openglraw)
4531 ("freeglut" ,freeglut)))
4532 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4533 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4534 (description "This library provides Haskell bindings for the OpenGL
4535Utility Toolkit, a window system-independent toolkit for writing OpenGL
4536programs.")
4537 (license license:bsd-3)))
4538
4539(define-public ghc-gnuplot
4540 (package
4541 (name "ghc-gnuplot")
d34860c7 4542 (version "0.5.6")
dddbc90c
RV
4543 (source
4544 (origin
4545 (method url-fetch)
4546 (uri (string-append
4547 "mirror://hackage/package/gnuplot/gnuplot-"
4548 version ".tar.gz"))
4549 (sha256
d34860c7 4550 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4551 (build-system haskell-build-system)
4552 (inputs
4553 `(("ghc-temporary" ,ghc-temporary)
4554 ("ghc-utility-ht" ,ghc-utility-ht)
4555 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4556 ("ghc-data-accessor" ,ghc-data-accessor)
4557 ("ghc-semigroups" ,ghc-semigroups)
4558 ("gnuplot" ,gnuplot)))
4559 (arguments
4560 `(#:phases
4561 (modify-phases %standard-phases
4562 (add-before 'configure 'fix-path-to-gnuplot
4563 (lambda* (#:key inputs #:allow-other-keys)
4564 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4565 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4566 (("(gnuplotName = ).*$" all cmd)
4567 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4568 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4569 (synopsis "2D and 3D plots using gnuplot")
4570 (description "This package provides a Haskell module for creating 2D and
45713D plots using gnuplot.")
4572 (license license:bsd-3)))
4573
4574(define-public ghc-graphviz
4575 (package
4576 (name "ghc-graphviz")
c264bd42 4577 (version "2999.20.0.3")
dddbc90c
RV
4578 (source (origin
4579 (method url-fetch)
4580 (uri (string-append "https://hackage.haskell.org/package/"
4581 "graphviz/graphviz-" version ".tar.gz"))
4582 (sha256
4583 (base32
c264bd42 4584 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4585 (build-system haskell-build-system)
c264bd42
TS
4586 (arguments
4587 `(#:phases
4588 (modify-phases %standard-phases
4589 (add-before 'configure 'update-constraints
4590 (lambda _
4591 (substitute* "graphviz.cabal"
4592 (("QuickCheck >= 2\\.3 && < 2\\.13")
4593 "QuickCheck >= 2.3 && < 2.14")
4594 (("hspec >= 2\\.1 && < 2\\.7")
4595 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4596 (inputs
4597 `(("ghc-quickcheck" ,ghc-quickcheck)
4598 ("ghc-colour" ,ghc-colour)
4599 ("ghc-dlist" ,ghc-dlist)
4600 ("ghc-fgl" ,ghc-fgl)
4601 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4602 ("ghc-polyparse" ,ghc-polyparse)
4603 ("ghc-temporary" ,ghc-temporary)
4604 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4605 (native-inputs
4606 `(("ghc-hspec" ,ghc-hspec)
4607 ("graphviz" ,graphviz)
4608 ("hspec-discover" ,hspec-discover)))
4609 (home-page "https://hackage.haskell.org/package/graphviz")
4610 (synopsis "Bindings to Graphviz for graph visualisation")
4611 (description
4612 "This library provides bindings for the Dot language used by
4613the @uref{https://graphviz.org/, Graphviz} suite of programs for
4614visualising graphs, as well as functions to call those programs.
4615Main features of the graphviz library include:
4616
4617@enumerate
4618@item Almost complete coverage of all Graphviz attributes and syntax
4619@item Support for specifying clusters
4620@item The ability to use a custom node type
4621@item Functions for running a Graphviz layout tool with all specified output types
4622@item Generate and parse Dot code with two options: strict and liberal
4623@item Functions to convert FGL graphs and other graph-like data structures
4624@item Round-trip support for passing an FGL graph through Graphviz to augment node
4625and edge labels with positional information, etc.
4626@end enumerate\n")
4627 (license license:bsd-3)))
4628
f3e18645
TS
4629(define-public ghc-groups
4630 (package
4631 (name "ghc-groups")
4632 (version "0.4.1.0")
4633 (source
4634 (origin
4635 (method url-fetch)
4636 (uri (string-append "https://hackage.haskell.org/package/"
4637 "groups/groups-" version ".tar.gz"))
4638 (sha256
4639 (base32
4640 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4641 (build-system haskell-build-system)
4642 (home-page "https://hackage.haskell.org/package/groups")
4643 (synopsis "Haskell 98 groups")
4644 (description "This package provides Haskell 98 groups. A group is a
4645monoid with invertibility.")
4646 (license license:bsd-3)))
4647
dddbc90c
RV
4648(define-public ghc-gtk2hs-buildtools
4649 (package
4650 (name "ghc-gtk2hs-buildtools")
b79b43d4 4651 (version "0.13.5.4")
dddbc90c
RV
4652 (source
4653 (origin
4654 (method url-fetch)
4655 (uri (string-append "https://hackage.haskell.org/package/"
4656 "gtk2hs-buildtools/gtk2hs-buildtools-"
4657 version ".tar.gz"))
4658 (sha256
4659 (base32
b79b43d4 4660 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4661 (build-system haskell-build-system)
4662 (inputs
4663 `(("ghc-random" ,ghc-random)
4664 ("ghc-hashtables" ,ghc-hashtables)))
4665 (native-inputs
4666 `(("ghc-alex" ,ghc-alex)
4667 ("ghc-happy" ,ghc-happy)))
4668 (home-page "http://projects.haskell.org/gtk2hs/")
4669 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4670 (description
4671 "This package provides a set of helper programs necessary to build the
4672Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4673that is used to generate FFI declarations, a tool to build a type hierarchy
4674that mirrors the C type hierarchy of GObjects found in glib, and a generator
4675for signal declarations that are used to call back from C to Haskell. These
4676tools are not needed to actually run Gtk2Hs programs.")
4677 (license license:gpl2)))
4678
4679(define-public ghc-hackage-security
4680 (package
4681 (name "ghc-hackage-security")
4682 (version "0.5.3.0")
4683 (source
4684 (origin
4685 (method url-fetch)
4686 (uri (string-append "https://hackage.haskell.org/package/"
4687 "hackage-security/hackage-security-"
4688 version ".tar.gz"))
4689 (sha256
4690 (base32
4691 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4692 (build-system haskell-build-system)
4693 (arguments
034380f3
TS
4694 `(#:cabal-revision
4695 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4696 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4697 (inputs
4698 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4699 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4700 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4701 ("ghc-ed25519" ,ghc-ed25519)
4702 ("ghc-network" ,ghc-network)
4703 ("ghc-network-uri" ,ghc-network-uri)
4704 ("ghc-tar" ,ghc-tar)
4705 ("ghc-zlib" ,ghc-zlib)))
4706 (native-inputs
4707 `(("ghc-network-uri" ,ghc-network-uri)
4708 ("ghc-quickcheck" ,ghc-quickcheck)
4709 ("ghc-tar" ,ghc-tar)
4710 ("ghc-tasty" ,ghc-tasty)
4711 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4712 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4713 ("ghc-temporary" ,ghc-temporary)
4714 ("ghc-zlib" ,ghc-zlib)))
4715 (home-page "https://github.com/haskell/hackage-security")
4716 (synopsis "Hackage security library")
4717 (description "This Hackage security library provides both server and
4718client utilities for securing @uref{http://hackage.haskell.org/, the
4719Hackage package server}. It is based on
4720@uref{http://theupdateframework.com/, The Update Framework}, a set of
4721recommendations developed by security researchers at various universities
4722in the US as well as developers on the @uref{https://www.torproject.org/,
4723Tor project}.")
4724 (license license:bsd-3)))
4725
4726(define-public ghc-haddock
4727 (package
4728 (name "ghc-haddock")
b0d34d23 4729 (version "2.22.0")
dddbc90c
RV
4730 (source
4731 (origin
4732 (method url-fetch)
4733 (uri (string-append
4734 "https://hackage.haskell.org/package/haddock/haddock-"
4735 version
4736 ".tar.gz"))
4737 (sha256
4738 (base32
b0d34d23 4739 "1k42z2zh550rl93c8pa9cg2xsanp6wvb031xvan6cmngnplmdib6"))))
dddbc90c
RV
4740 (build-system haskell-build-system)
4741 (arguments
4742 `(#:phases
4743 (modify-phases %standard-phases
b0d34d23
TS
4744 ;; The release tarball for 2.22.0 is missing the test data for
4745 ;; the Hoogle test, causing it to fail. This is fixed in the
4746 ;; next release, but for now we disable it.
4747 (add-before 'configure 'remove-hoogle-test
dddbc90c
RV
4748 (lambda _
4749 (use-modules (ice-9 rdelim))
4750 (with-atomic-file-replacement "haddock.cabal"
4751 (lambda (in out)
4752 (let loop ((line (read-line in 'concat)) (deleting? #f))
4753 (cond
4754 ((eof-object? line) #t)
4755 ((string-every char-set:whitespace line)
4756 (unless deleting? (display line out))
4757 (loop (read-line in 'concat) #f))
b0d34d23 4758 ((string=? line "test-suite hoogle-test\n")
dddbc90c
RV
4759 (loop (read-line in 'concat) #t))
4760 (else
4761 (unless deleting? (display line out))
b0d34d23
TS
4762 (loop (read-line in 'concat) deleting?))))))))
4763 (add-before 'check 'add-haddock-to-path
4764 (lambda _
4765 (setenv "PATH" (string-append (getcwd) "/dist/build/haddock"
4766 ":" (getenv "PATH")))
4767 #t)))))
dddbc90c
RV
4768 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4769 (native-inputs
b0d34d23
TS
4770 `(("ghc-haddock-test" ,ghc-haddock-test)
4771 ("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
4772 (home-page "https://www.haskell.org/haddock/")
4773 (synopsis
4774 "Documentation-generation tool for Haskell libraries")
4775 (description
4776 "Haddock is a documentation-generation tool for Haskell libraries.")
4777 (license license:bsd-3)))
4778
4779(define-public ghc-haddock-api
4780 (package
4781 (name "ghc-haddock-api")
1b84d8ef 4782 (version "2.22.0")
dddbc90c
RV
4783 (source
4784 (origin
4785 (method url-fetch)
4786 (uri (string-append
4787 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4788 version
4789 ".tar.gz"))
1b84d8ef 4790 (patches (search-patches "ghc-haddock-api-fix-haddock.patch"))
dddbc90c
RV
4791 (sha256
4792 (base32
1b84d8ef 4793 "149q4zlf4m7wcrr4af2n2flh0jxjsypshbc229vsj1m0kmz4z014"))))
dddbc90c
RV
4794 (build-system haskell-build-system)
4795 (arguments
4796 `(#:phases
4797 (modify-phases %standard-phases
4798 (add-before 'configure 'update-constraints
4799 (lambda _
4800 (substitute* "haddock-api.cabal"
1b84d8ef
TS
4801 (("QuickCheck \\^>= 2\\.11")
4802 "QuickCheck ^>= 2.13")
4803 (("hspec >= 2\\.4\\.4 && < 2\\.6")
4804 "hspec >= 2.4.4 && < 2.8")))))))
dddbc90c
RV
4805 (inputs
4806 `(("ghc-paths" ,ghc-paths)
4807 ("ghc-haddock-library" ,ghc-haddock-library)))
4808 (native-inputs
4809 `(("ghc-quickcheck" ,ghc-quickcheck)
4810 ("ghc-hspec" ,ghc-hspec)
4811 ("hspec-discover" ,hspec-discover)))
4812 (home-page "https://www.haskell.org/haddock/")
4813 (synopsis "API for documentation-generation tool Haddock")
4814 (description "This package provides an API to Haddock, the
4815documentation-generation tool for Haskell libraries.")
4816 (license license:bsd-3)))
4817
4818(define-public ghc-haddock-library
4819 (package
4820 (name "ghc-haddock-library")
10707d57 4821 (version "1.7.0")
dddbc90c
RV
4822 (source
4823 (origin
4824 (method url-fetch)
4825 (uri (string-append
4826 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4827 version
4828 ".tar.gz"))
4829 (sha256
4830 (base32
10707d57 4831 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
4832 (build-system haskell-build-system)
4833 (arguments
4834 `(#:phases
4835 (modify-phases %standard-phases
10707d57
TS
4836 ;; Since there is no revised Cabal file upstream, we have to
4837 ;; patch it manually.
dddbc90c
RV
4838 (add-before 'configure 'relax-test-suite-dependencies
4839 (lambda _
4840 (substitute* "haddock-library.cabal"
10707d57
TS
4841 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
4842 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
4843 #t)))))
4844 (native-inputs
4845 `(("ghc-base-compat" ,ghc-base-compat)
4846 ("ghc-hspec" ,ghc-hspec)
4847 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4848 ("ghc-quickcheck" ,ghc-quickcheck)
4849 ("ghc-tree-diff" ,ghc-tree-diff)
4850 ("hspec-discover" ,hspec-discover)))
4851 (home-page "https://www.haskell.org/haddock/")
4852 (synopsis "Library exposing some functionality of Haddock")
4853 (description
4854 "Haddock is a documentation-generation tool for Haskell libraries. These
4855modules expose some functionality of it without pulling in the GHC dependency.
4856Please note that the API is likely to change so specify upper bounds in your
4857project if you can't release often. For interacting with Haddock itself, see
4858the ‘haddock’ package.")
4859 (license license:bsd-3)))
4860
b0d34d23
TS
4861;; This package is needed for testing 'ghc-haddock'. It is no longer
4862;; published to Hackage, but it is maintained in the Haddock Git
4863;; repository.
4864(define ghc-haddock-test
4865 (package
4866 (name "ghc-haddock-test")
4867 (version "2.22.0")
4868 (source
4869 (origin
4870 (method git-fetch)
4871 (uri (git-reference
4872 (url "https://github.com/haskell/haddock.git")
4873 (commit (string-append "haddock-" version "-release"))))
4874 (file-name (git-file-name name version))
4875 (sha256
4876 (base32
4877 "1ywxmqqan10gs0ppybdmdgsmvkzkpw7yirj2rw4qylg3x49a9zca"))))
4878 (build-system haskell-build-system)
4879 (arguments
4880 `(#:phases
4881 (modify-phases %standard-phases
4882 (add-after 'unpack 'change-directory
4883 (lambda _
4884 (chdir "haddock-test"))))))
4885 (inputs
4886 `(("ghc-syb" ,ghc-syb)
4887 ("ghc-xml" ,ghc-xml)))
4888 (home-page "http://www.haskell.org/haddock/")
4889 (synopsis "Test utilities for Haddock")
4890 (description "This package provides test utilities for Haddock.")
4891 (license license:bsd-3)
4892 (properties '((hidden? #t)))))
4893
dddbc90c
RV
4894(define-public ghc-half
4895 (package
4896 (name "ghc-half")
4897 (version "0.3")
4898 (source
4899 (origin
4900 (method url-fetch)
4901 (uri (string-append
4902 "https://hackage.haskell.org/package/half/half-"
4903 version ".tar.gz"))
4904 (sha256
4905 (base32
4906 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4907 (build-system haskell-build-system)
4908 (native-inputs
4909 `(("ghc-hspec" ,ghc-hspec)
4910 ("ghc-quickcheck" ,ghc-quickcheck)))
4911 (home-page "https://github.com/ekmett/half")
4912 (synopsis "Half-precision floating-point computations")
4913 (description "This library provides a half-precision floating-point
4914computation library for Haskell.")
4915 (license license:bsd-3)))
4916
4917(define-public ghc-happy
4918 (package
4919 (name "ghc-happy")
90e7b0e4 4920 (version "1.19.12")
dddbc90c
RV
4921 (source
4922 (origin
4923 (method url-fetch)
4924 (uri (string-append
4925 "https://hackage.haskell.org/package/happy/happy-"
4926 version
4927 ".tar.gz"))
4928 (sha256
4929 (base32
90e7b0e4 4930 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4931 (build-system haskell-build-system)
4932 (arguments
4933 `(#:phases
4934 (modify-phases %standard-phases
4935 (add-after 'unpack 'skip-test-issue93
4936 (lambda _
4937 ;; Tests run out of memory on a system with 2GB of available RAM,
4938 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4939 (substitute* "tests/Makefile"
4940 ((" issue93.y ") " "))
4941 #t)))))
4942 (home-page "https://hackage.haskell.org/package/happy")
4943 (synopsis "Parser generator for Haskell")
4944 (description "Happy is a parser generator for Haskell. Given a grammar
4945specification in BNF, Happy generates Haskell code to parse the grammar.
4946Happy works in a similar way to the yacc tool for C.")
4947 (license license:bsd-3)))
4948
4949(define-public ghc-hashable
4950 (package
4951 (name "ghc-hashable")
4952 (version "1.2.7.0")
4953 (outputs '("out" "doc"))
4954 (source
4955 (origin
4956 (method url-fetch)
4957 (uri (string-append
4958 "https://hackage.haskell.org/package/hashable/hashable-"
4959 version
4960 ".tar.gz"))
4961 (sha256
4962 (base32
4963 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4964 (build-system haskell-build-system)
65a16a45
TS
4965 (arguments
4966 `(#:cabal-revision
4967 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4968 (inputs
4969 `(("ghc-random" ,ghc-random)))
4970 (native-inputs
4971 `(("ghc-test-framework" ,ghc-test-framework)
4972 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4973 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4974 ("ghc-hunit" ,ghc-hunit)
4975 ("ghc-quickcheck" ,ghc-quickcheck)))
4976 (home-page "https://github.com/tibbe/hashable")
4977 (synopsis "Class for types that can be converted to a hash value")
4978 (description
4979 "This package defines a class, @code{Hashable}, for types that can be
4980converted to a hash value. This class exists for the benefit of hashing-based
4981data structures. The package provides instances for basic types and a way to
4982combine hash values.")
4983 (license license:bsd-3)))
4984
4985(define-public ghc-hashable-bootstrap
4986 (package
4987 (inherit ghc-hashable)
4988 (name "ghc-hashable-bootstrap")
65a16a45
TS
4989 (arguments
4990 `(#:tests? #f
4991 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4992 (native-inputs '())
4993 (properties '((hidden? #t)))))
4994
4995(define-public ghc-hashable-time
4996 (package
4997 (name "ghc-hashable-time")
f5051e31 4998 (version "0.2.0.2")
dddbc90c
RV
4999 (source
5000 (origin
5001 (method url-fetch)
5002 (uri (string-append
5003 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
5004 version
5005 ".tar.gz"))
5006 (sha256
5007 (base32
f5051e31 5008 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
5009 (build-system haskell-build-system)
5010 (arguments
5011 `(#:cabal-revision
f5051e31 5012 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c 5013 (inputs `(("ghc-hashable" ,ghc-hashable)))
3b02036e 5014 (home-page "https://hackage.haskell.org/package/hashable-time")
dddbc90c
RV
5015 (synopsis "Hashable instances for Data.Time")
5016 (description
5017 "This package provides @code{Hashable} instances for types in
5018@code{Data.Time}.")
5019 (license license:bsd-3)))
5020
5021(define-public ghc-hashtables
5022 (package
5023 (name "ghc-hashtables")
19edf0d0 5024 (version "1.2.3.4")
dddbc90c
RV
5025 (source
5026 (origin
5027 (method url-fetch)
5028 (uri (string-append
5029 "https://hackage.haskell.org/package/hashtables/hashtables-"
5030 version ".tar.gz"))
5031 (sha256
19edf0d0 5032 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
5033 (build-system haskell-build-system)
5034 (inputs
5035 `(("ghc-hashable" ,ghc-hashable)
5036 ("ghc-primitive" ,ghc-primitive)
5037 ("ghc-vector" ,ghc-vector)))
5038 (home-page "https://github.com/gregorycollins/hashtables")
5039 (synopsis "Haskell Mutable hash tables in the ST monad")
5040 (description "This package provides a Haskell library including a
5041couple of different implementations of mutable hash tables in the ST
5042monad, as well as a typeclass abstracting their common operations, and
5043a set of wrappers to use the hash tables in the IO monad.")
5044 (license license:bsd-3)))
5045
5046(define-public ghc-haskell-lexer
5047 (package
5048 (name "ghc-haskell-lexer")
5049 (version "1.0.2")
5050 (source
5051 (origin
5052 (method url-fetch)
5053 (uri (string-append
5054 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
5055 version ".tar.gz"))
5056 (sha256
5057 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
5058 (build-system haskell-build-system)
5059 (home-page "http://hackage.haskell.org/package/haskell-lexer")
5060 (synopsis "Fully compliant Haskell 98 lexer")
5061 (description
5062 "This package provides a fully compliant Haskell 98 lexer.")
5063 (license license:bsd-3)))
5064
5065(define-public ghc-haskell-src
5066 (package
5067 (name "ghc-haskell-src")
5068 (version "1.0.3.0")
5069 (source
5070 (origin
5071 (method url-fetch)
5072 (uri (string-append
5073 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
5074 version
5075 ".tar.gz"))
5076 (sha256
5077 (base32
5078 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
5079 (build-system haskell-build-system)
5080 (inputs
5081 `(("ghc-happy" ,ghc-happy)
5082 ("ghc-syb" ,ghc-syb)))
5083 (home-page
5084 "https://hackage.haskell.org/package/haskell-src")
5085 (synopsis
5086 "Support for manipulating Haskell source code")
5087 (description
5088 "The @code{haskell-src} package provides support for manipulating Haskell
5089source code. The package provides a lexer, parser and pretty-printer, and a
5090definition of a Haskell abstract syntax tree (AST). Common uses of this
5091package are to parse or generate Haskell 98 code.")
5092 (license license:bsd-3)))
5093
5094(define-public ghc-haskell-src-exts
5095 (package
5096 (name "ghc-haskell-src-exts")
37a05591 5097 (version "1.21.1")
dddbc90c
RV
5098 (source
5099 (origin
5100 (method url-fetch)
5101 (uri (string-append
5102 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
5103 version
5104 ".tar.gz"))
5105 (sha256
5106 (base32
37a05591 5107 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
5108 (build-system haskell-build-system)
5109 (inputs
5110 `(("cpphs" ,cpphs)
5111 ("ghc-happy" ,ghc-happy)
5112 ("ghc-pretty-show" ,ghc-pretty-show)))
5113 (native-inputs
5114 `(("ghc-smallcheck" ,ghc-smallcheck)
5115 ("ghc-tasty" ,ghc-tasty)
5116 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
5117 ("ghc-tasty-golden" ,ghc-tasty-golden)))
5118 (home-page "https://github.com/haskell-suite/haskell-src-exts")
5119 (synopsis "Library for manipulating Haskell source")
5120 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
5121extension of the standard @code{haskell-src} package, and handles most
5122registered syntactic extensions to Haskell. All extensions implemented in GHC
5123are supported. Apart from these standard extensions, it also handles regular
5124patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
5125 (license license:bsd-3)))
5126
5127(define-public ghc-haskell-src-exts-util
5128 (package
5129 (name "ghc-haskell-src-exts-util")
77355bdf 5130 (version "0.2.5")
dddbc90c
RV
5131 (source
5132 (origin
5133 (method url-fetch)
5134 (uri (string-append "https://hackage.haskell.org/package/"
5135 "haskell-src-exts-util/haskell-src-exts-util-"
5136 version ".tar.gz"))
5137 (sha256
5138 (base32
77355bdf 5139 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
5140 (build-system haskell-build-system)
5141 (inputs
5142 `(("ghc-data-default" ,ghc-data-default)
5143 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5144 ("ghc-semigroups" ,ghc-semigroups)
5145 ("ghc-uniplate" ,ghc-uniplate)))
5146 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
5147 (synopsis "Helper functions for working with haskell-src-exts trees")
5148 (description
5149 "This package provides helper functions for working with
5150@code{haskell-src-exts} trees.")
5151 (license license:bsd-3)))
5152
5153(define-public ghc-haskell-src-meta
5154 (package
5155 (name "ghc-haskell-src-meta")
e94b3c72 5156 (version "0.8.3")
dddbc90c
RV
5157 (source (origin
5158 (method url-fetch)
5159 (uri (string-append "https://hackage.haskell.org/package/"
5160 "haskell-src-meta/haskell-src-meta-"
5161 version ".tar.gz"))
5162 (sha256
5163 (base32
e94b3c72 5164 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
5165 (build-system haskell-build-system)
5166 (inputs
5167 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5168 ("ghc-syb" ,ghc-syb)
5169 ("ghc-th-orphans" ,ghc-th-orphans)))
5170 (native-inputs
5171 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
5172 ("ghc-tasty" ,ghc-tasty)
5173 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5174 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
5175 (synopsis "Parse source to template-haskell abstract syntax")
5176 (description
5177 "This package provides tools to parse Haskell sources to the
5178template-haskell abstract syntax.")
5179 (license license:bsd-3)))
5180
5181(define-public ghc-hasktags
5182 (package
5183 (name "ghc-hasktags")
5184 (version "0.71.2")
5185 (source
5186 (origin
5187 (method url-fetch)
5188 (uri (string-append
5189 "https://hackage.haskell.org/package/hasktags/hasktags-"
5190 version
5191 ".tar.gz"))
5192 (sha256
5193 (base32
5194 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5195 (build-system haskell-build-system)
5196 (inputs
5197 `(("ghc-system-filepath" ,ghc-system-filepath)
5198 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5199 (native-inputs
5200 `(("ghc-json" ,ghc-json)
5201 ("ghc-utf8-string" ,ghc-utf8-string)
5202 ("ghc-microlens-platform" ,ghc-microlens-platform)
5203 ("ghc-hunit" ,ghc-hunit)))
5204 (home-page "http://github.com/MarcWeber/hasktags")
5205 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5206 (description
5207 "This package provides a means of generating tag files for Emacs and
5208Vim.")
5209 (license license:bsd-3)))
5210
5211(define-public ghc-hex
5212 (package
5213 (name "ghc-hex")
5214 (version "0.1.2")
5215 (source
5216 (origin
5217 (method url-fetch)
5218 (uri (string-append "https://hackage.haskell.org/package/"
5219 "hex-" version "/"
5220 "hex-" version ".tar.gz"))
5221 (sha256
5222 (base32
5223 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5224 (build-system haskell-build-system)
5225 (home-page "https://hackage.haskell.org/package/hex")
5226 (synopsis "Convert strings into hexadecimal and back")
5227 (description "This package provides conversion functions between
5228bytestrings and their hexademical representation.")
5229 (license license:bsd-3)))
5230
5231(define-public ghc-highlighting-kate
5232 (package
5233 (name "ghc-highlighting-kate")
5234 (version "0.6.4")
5235 (source (origin
5236 (method url-fetch)
5237 (uri (string-append "https://hackage.haskell.org/package/"
5238 "highlighting-kate/highlighting-kate-"
5239 version ".tar.gz"))
5240 (sha256
5241 (base32
5242 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5243 (build-system haskell-build-system)
5244 (inputs
5245 `(("ghc-diff" ,ghc-diff)
5246 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5247 (native-inputs
5248 `(("ghc-blaze-html" ,ghc-blaze-html)
5249 ("ghc-utf8-string" ,ghc-utf8-string)))
5250 (home-page "https://github.com/jgm/highlighting-kate")
5251 (synopsis "Syntax highlighting library")
5252 (description
5253 "Highlighting-kate is a syntax highlighting library with support for
5254nearly one hundred languages. The syntax parsers are automatically generated
5255from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5256supported by Kate can be added. An (optional) command-line program is
5257provided, along with a utility for generating new parsers from Kate XML syntax
5258descriptions.")
5259 (license license:gpl2+)))
5260
5261(define-public ghc-hindent
5262 (package
5263 (name "ghc-hindent")
f545f894 5264 (version "5.3.1")
dddbc90c
RV
5265 (source
5266 (origin
5267 (method url-fetch)
5268 (uri (string-append
5269 "https://hackage.haskell.org/package/hindent/hindent-"
5270 version
5271 ".tar.gz"))
5272 (sha256
5273 (base32
f545f894 5274 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5275 (build-system haskell-build-system)
5276 (arguments
5277 `(#:modules ((guix build haskell-build-system)
5278 (guix build utils)
5279 (guix build emacs-utils))
5280 #:imported-modules (,@%haskell-build-system-modules
5281 (guix build emacs-utils))
5282 #:phases
5283 (modify-phases %standard-phases
5284 (add-after 'install 'emacs-install
5285 (lambda* (#:key inputs outputs #:allow-other-keys)
5286 (let* ((out (assoc-ref outputs "out"))
5287 (elisp-file "elisp/hindent.el")
5288 (dest (string-append out "/share/emacs/site-lisp"
5289 "/guix.d/hindent-" ,version))
5290 (emacs (string-append (assoc-ref inputs "emacs")
5291 "/bin/emacs")))
5292 (make-file-writable elisp-file)
5293 (emacs-substitute-variables elisp-file
5294 ("hindent-process-path"
5295 (string-append out "/bin/hindent")))
5296 (install-file elisp-file dest)
5297 (emacs-generate-autoloads "hindent" dest)))))))
5298 (inputs
5299 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5300 ("ghc-monad-loops" ,ghc-monad-loops)
5301 ("ghc-utf8-string" ,ghc-utf8-string)
5302 ("ghc-exceptions" ,ghc-exceptions)
5303 ("ghc-yaml" ,ghc-yaml)
5304 ("ghc-unix-compat" ,ghc-unix-compat)
5305 ("ghc-path" ,ghc-path)
5306 ("ghc-path-io" ,ghc-path-io)
5307 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5308 (native-inputs
5309 `(("ghc-hspec" ,ghc-hspec)
5310 ("ghc-diff" ,ghc-diff)
5311 ("emacs" ,emacs-minimal)))
5312 (home-page
5313 "https://github.com/commercialhaskell/hindent")
5314 (synopsis "Extensible Haskell pretty printer")
5315 (description
5316 "This package provides automatic formatting for Haskell files. Both a
5317library and an executable.")
5318 (license license:bsd-3)))
5319
5320(define-public ghc-hinotify
5321 (package
5322 (name "ghc-hinotify")
c2342abb 5323 (version "0.4")
dddbc90c
RV
5324 (source (origin
5325 (method url-fetch)
5326 (uri (string-append
5327 "https://hackage.haskell.org/package/hinotify/"
5328 "hinotify-" version ".tar.gz"))
5329 (sha256
5330 (base32
c2342abb 5331 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5332 (build-system haskell-build-system)
5333 (inputs
5334 `(("ghc-async" ,ghc-async)))
5335 (home-page "https://github.com/kolmodin/hinotify.git")
5336 (synopsis "Haskell binding to inotify")
5337 (description "This library provides a wrapper to the Linux kernel's inotify
5338feature, allowing applications to subscribe to notifications when a file is
5339accessed or modified.")
5340 (license license:bsd-3)))
5341
5342(define-public ghc-hmatrix
5343 (package
5344 (name "ghc-hmatrix")
65e29ed1 5345 (version "0.20.0.0")
dddbc90c
RV
5346 (source
5347 (origin
5348 (method url-fetch)
5349 (uri (string-append
5350 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5351 version ".tar.gz"))
5352 (sha256
65e29ed1 5353 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
5354 (build-system haskell-build-system)
5355 (inputs
5356 `(("ghc-random" ,ghc-random)
5357 ("ghc-split" ,ghc-split)
5358 ("ghc-storable-complex" ,ghc-storable-complex)
5359 ("ghc-semigroups" ,ghc-semigroups)
5360 ("ghc-vector" ,ghc-vector)
5361 ;;("openblas" ,openblas)
5362 ("lapack" ,lapack)))
5363 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5364 ;; disables inclusion of the LAPACK functions.
5365 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5366 (home-page "https://github.com/albertoruiz/hmatrix")
5367 (synopsis "Haskell numeric linear algebra library")
5368 (description "The HMatrix package provices a Haskell library for
5369dealing with linear systems, matrix decompositions, and other
5370numerical computations based on BLAS and LAPACK.")
5371 (license license:bsd-3)))
5372
5373(define-public ghc-hmatrix-gsl
5374 (package
5375 (name "ghc-hmatrix-gsl")
5376 (version "0.19.0.1")
5377 (source
5378 (origin
5379 (method url-fetch)
5380 (uri (string-append
5381 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5382 version ".tar.gz"))
5383 (sha256
5384 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5385 (build-system haskell-build-system)
5386 (inputs
5387 `(("ghc-hmatrix" ,ghc-hmatrix)
5388 ("ghc-vector" ,ghc-vector)
5389 ("ghc-random" ,ghc-random)
5390 ("gsl" ,gsl)))
5391 (native-inputs `(("pkg-config" ,pkg-config)))
5392 (home-page "https://github.com/albertoruiz/hmatrix")
5393 (synopsis "Haskell GSL binding")
5394 (description "This Haskell library provides a purely functional
5395interface to selected numerical computations, internally implemented
5396using GSL.")
5397 (license license:gpl3+)))
5398
5399(define-public ghc-hmatrix-gsl-stats
5400 (package
5401 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5402 (version "0.4.1.8")
dddbc90c
RV
5403 (source
5404 (origin
5405 (method url-fetch)
5406 (uri
5407 (string-append
5408 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5409 version ".tar.gz"))
5410 (sha256
e9b359f5 5411 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5412 (build-system haskell-build-system)
5413 (inputs
5414 `(("ghc-vector" ,ghc-vector)
5415 ("ghc-storable-complex" ,ghc-storable-complex)
5416 ("ghc-hmatrix" ,ghc-hmatrix)
5417 ("gsl" ,gsl)))
5418 (native-inputs `(("pkg-config" ,pkg-config)))
5419 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5420 (synopsis "GSL Statistics interface for Haskell")
5421 (description "This Haskell library provides a purely functional
5422interface for statistics based on hmatrix and GSL.")
5423 (license license:bsd-3)))
5424
5425(define-public ghc-hmatrix-special
5426 (package
5427 (name "ghc-hmatrix-special")
5428 (version "0.19.0.0")
5429 (source
5430 (origin
5431 (method url-fetch)
5432 (uri
5433 (string-append
5434 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5435 version ".tar.gz"))
5436 (sha256
5437 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5438 (build-system haskell-build-system)
5439 (inputs
5440 `(("ghc-hmatrix" ,ghc-hmatrix)
5441 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5442 (home-page "https://github.com/albertoruiz/hmatrix")
5443 (synopsis "Haskell interface to GSL special functions")
5444 (description "This library provides an interface to GSL special
5445functions for Haskell.")
5446 (license license:gpl3+)))
5447
5448(define-public ghc-hostname
5449 (package
5450 (name "ghc-hostname")
5451 (version "1.0")
5452 (source
5453 (origin
5454 (method url-fetch)
5455 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5456 "hostname-" version ".tar.gz"))
5457 (sha256
5458 (base32
5459 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5460 (build-system haskell-build-system)
5461 (home-page "https://hackage.haskell.org/package/hostname")
5462 (synopsis "Hostname in Haskell")
5463 (description "Network.HostName is a simple package providing a means to
5464determine the hostname.")
5465 (license license:bsd-3)))
5466
5467(define-public ghc-hourglass
5468 (package
5469 (name "ghc-hourglass")
5470 (version "0.2.12")
5471 (source (origin
5472 (method url-fetch)
5473 (uri (string-append "https://hackage.haskell.org/package/"
5474 "hourglass/hourglass-" version ".tar.gz"))
5475 (sha256
5476 (base32
5477 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5478 (build-system haskell-build-system)
5479 (inputs
5480 `(("ghc-old-locale" ,ghc-old-locale)))
5481 (native-inputs
5482 `(("ghc-tasty" ,ghc-tasty)
5483 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5484 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5485 (home-page "https://github.com/vincenthz/hs-hourglass")
5486 (synopsis "Simple time-related library for Haskell")
5487 (description
5488 "This is a simple time library providing a simple but powerful and
5489performant API. The backbone of the library are the @code{Timeable} and
5490@code{Time} type classes. Each @code{Timeable} instances can be converted to
5491a type that has a @code{Time} instances, and thus are different
5492representations of current time.")
5493 (license license:bsd-3)))
5494
5495(define-public ghc-hpack
5496 (package
5497 (name "ghc-hpack")
06344a3a 5498 (version "0.31.2")
dddbc90c
RV
5499 (source
5500 (origin
5501 (method url-fetch)
5502 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5503 "hpack-" version ".tar.gz"))
06344a3a 5504 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5505 (sha256
5506 (base32
06344a3a 5507 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5508 (build-system haskell-build-system)
5509 (inputs
5510 `(("ghc-aeson" ,ghc-aeson)
5511 ("ghc-bifunctors" ,ghc-bifunctors)
5512 ("ghc-cryptonite" ,ghc-cryptonite)
5513 ("ghc-glob" ,ghc-glob)
5514 ("ghc-http-client" ,ghc-http-client)
5515 ("ghc-http-client-tls" ,ghc-http-client-tls)
5516 ("ghc-http-types" ,ghc-http-types)
06344a3a 5517 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5518 ("ghc-scientific" ,ghc-scientific)
5519 ("ghc-unordered-containers" ,ghc-unordered-containers)
5520 ("ghc-vector" ,ghc-vector)
5521 ("ghc-yaml" ,ghc-yaml)))
5522 (native-inputs
5523 `(("ghc-hspec" ,ghc-hspec)
5524 ("ghc-hunit" ,ghc-hunit)
5525 ("ghc-interpolate" ,ghc-interpolate)
5526 ("ghc-mockery" ,ghc-mockery)
5527 ("ghc-quickcheck" ,ghc-quickcheck)
5528 ("ghc-temporary" ,ghc-temporary)
5529 ("hspec-discover" ,hspec-discover)))
5530 (home-page "https://github.com/sol/hpack")
5531 (synopsis "Tools for an alternative Haskell package format")
5532 (description
5533 "Hpack is a format for Haskell packages. It is an alternative to the
5534Cabal package format and follows different design principles. Hpack packages
5535are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5536@code{stack} support @code{package.yaml} natively. For other build tools the
5537@code{hpack} executable can be used to generate a @code{.cabal} file from
5538@code{package.yaml}.")
5539 (license license:expat)))
5540
5541(define-public ghc-hs-bibutils
5542 (package
5543 (name "ghc-hs-bibutils")
ebcb4f23 5544 (version "6.7.0.0")
dddbc90c
RV
5545 (source
5546 (origin
5547 (method url-fetch)
5548 (uri (string-append
5549 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5550 version ".tar.gz"))
5551 (sha256
5552 (base32
ebcb4f23 5553 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5554 (build-system haskell-build-system)
5555 (inputs `(("ghc-syb" ,ghc-syb)))
5556 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5557 (synopsis "Haskell bindings to bibutils")
5558 (description
5559 "This package provides Haskell bindings to @code{bibutils}, a library
5560that interconverts between various bibliography formats using a common
5561MODS-format XML intermediate.")
5562 (license license:gpl2+)))
5563
5564(define-public ghc-hslogger
5565 (package
5566 (name "ghc-hslogger")
e5ccc5f7 5567 (version "1.2.12")
dddbc90c
RV
5568 (source
5569 (origin
5570 (method url-fetch)
5571 (uri (string-append "https://hackage.haskell.org/package/"
5572 "hslogger-" version "/" "hslogger-"
5573 version ".tar.gz"))
5574 (sha256 (base32
e5ccc5f7 5575 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5576 (build-system haskell-build-system)
5577 (inputs
5578 `(("ghc-network" ,ghc-network)
5579 ("ghc-old-locale" ,ghc-old-locale)))
5580 (native-inputs
5581 `(("ghc-hunit" ,ghc-hunit)))
5582 (home-page "https://software.complete.org/hslogger")
5583 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5584 (description "Hslogger lets each log message have a priority and source be
5585associated with it. The programmer can then define global handlers that route
5586or filter messages based on the priority and source. It also has a syslog
5587handler built in.")
5588 (license license:bsd-3)))
5589
5590(define-public ghc-hslua
5591 (package
5592 (name "ghc-hslua")
cc784d7b 5593 (version "1.0.3.2")
dddbc90c
RV
5594 (source (origin
5595 (method url-fetch)
5596 (uri (string-append "https://hackage.haskell.org/package/"
5597 "hslua/hslua-" version ".tar.gz"))
5598 (sha256
5599 (base32
cc784d7b 5600 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5601 (build-system haskell-build-system)
5602 (arguments
5603 `(#:configure-flags '("-fsystem-lua")))
5604 (inputs
5605 `(("lua" ,lua)
5606 ("ghc-exceptions" ,ghc-exceptions)
5607 ("ghc-fail" ,ghc-fail)))
5608 (native-inputs
5609 `(("ghc-tasty" ,ghc-tasty)
5610 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5611 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5612 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5613 ("ghc-quickcheck" ,ghc-quickcheck)
5614 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5615 (home-page "https://hackage.haskell.org/package/hslua")
5616 (synopsis "Lua language interpreter embedding in Haskell")
5617 (description
5618 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5619described in @url{https://www.lua.org/}.")
5620 (license license:expat)))
5621
ff303e4e
TS
5622(define-public ghc-hslua-module-system
5623 (package
5624 (name "ghc-hslua-module-system")
5625 (version "0.2.1")
5626 (source
5627 (origin
5628 (method url-fetch)
5629 (uri (string-append "https://hackage.haskell.org/package/"
5630 "hslua-module-system/hslua-module-system-"
5631 version ".tar.gz"))
5632 (sha256
5633 (base32
5634 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5635 (build-system haskell-build-system)
5636 (inputs
5637 `(("ghc-exceptions" ,ghc-exceptions)
5638 ("ghc-hslua" ,ghc-hslua)
5639 ("ghc-temporary" ,ghc-temporary)))
5640 (native-inputs
5641 `(("ghc-tasty" ,ghc-tasty)
5642 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5643 (home-page "https://github.com/hslua/hslua-module-system")
5644 (synopsis "Lua module wrapper around Haskell's System module")
5645 (description "This library provides access to system information and
5646functionality to Lua scripts via Haskell's @code{System} module. Intended
5647usage for this package is to preload it by adding the loader function to
5648@code{package.preload}. Note that the Lua @code{package} library must have
5649already been loaded before the loader can be added.")
5650 (license license:expat)))
5651
dddbc90c
RV
5652(define-public ghc-hslua-module-text
5653 (package
5654 (name "ghc-hslua-module-text")
ecaf0b0c 5655 (version "0.2.1")
dddbc90c
RV
5656 (source
5657 (origin
5658 (method url-fetch)
5659 (uri (string-append "https://hackage.haskell.org/package/"
5660 "hslua-module-text/hslua-module-text-"
5661 version ".tar.gz"))
5662 (sha256
5663 (base32
ecaf0b0c 5664 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5665 (build-system haskell-build-system)
dddbc90c
RV
5666 (inputs
5667 `(("ghc-hslua" ,ghc-hslua)))
5668 (native-inputs
5669 `(("ghc-tasty" ,ghc-tasty)
5670 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5671 (home-page "https://github.com/hslua/hslua-module-text")
5672 (synopsis "Lua module for text")
5673 (description
5674 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5675for Haskell. The functions provided by this module are @code{upper},
5676@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5677 (license license:expat)))
5678
fac520bf
TS
5679(define-public ghc-hsyaml
5680 (package
5681 (name "ghc-hsyaml")
5682 (version "0.1.2.0")
5683 (source
5684 (origin
5685 (method url-fetch)
5686 (uri (string-append "https://hackage.haskell.org/package/"
5687 "HsYAML/HsYAML-" version ".tar.gz"))
5688 (sha256
5689 (base32
5690 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5691 (build-system haskell-build-system)
5692 (arguments
5693 `(#:cabal-revision
5694 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5695 (home-page "https://github.com/haskell-hvr/HsYAML")
5696 (synopsis "Pure Haskell YAML 1.2 parser")
5697 (description "This library provides a
5698@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5699for Haskell. Its features include:
5700
5701@itemize
5702@item Pure Haskell implementation with small dependency footprint and
5703emphasis on strict compliance with the YAML 1.2 specification.
5704
5705@item Direct decoding to native Haskell types via (aeson-inspired)
5706typeclass-based API (see @code{Data.YAML}).
5707
5708@item Support for constructing custom YAML node graph
5709representation (including support for cyclic YAML data structures).
5710
5711@item Support for the standard (untyped) @emph{Failsafe}, (strict)
5712@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5713typing rules as defined in the YAML 1.2 specification (including support
5714for user-defined custom schemas).
5715
5716@item Event-based API resembling LibYAML's Event-based API (see
5717@code{Data.YAML.Event}).
5718
5719@item Low-level API access to lexical token-based scanner (see
5720@code{Data.YAML.Token}).
5721@end itemize")
5722 (license license:gpl2+)))
5723
dddbc90c
RV
5724(define-public ghc-http-api-data
5725 (package
5726 (name "ghc-http-api-data")
a57236eb 5727 (version "0.4.1")
dddbc90c
RV
5728 (source
5729 (origin
5730 (method url-fetch)
5731 (uri (string-append "https://hackage.haskell.org/package/"
5732 "http-api-data-" version "/"
5733 "http-api-data-" version ".tar.gz"))
5734 (sha256
5735 (base32
a57236eb 5736 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5737 (build-system haskell-build-system)
dddbc90c
RV
5738 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5739 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 5740 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
5741 ("ghc-hashable" ,ghc-hashable)
5742 ("ghc-http-types" ,ghc-http-types)
a57236eb 5743 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 5744 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 5745 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
5746 (native-inputs
5747 `(("cabal-doctest" ,cabal-doctest)
5748 ("ghc-nats" ,ghc-nats)
5749 ("ghc-hunit" ,ghc-hunit)
5750 ("ghc-hspec" ,ghc-hspec)
5751 ("ghc-quickcheck" ,ghc-quickcheck)
5752 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5753 ("ghc-doctest" ,ghc-doctest)
5754 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
5755 (home-page "https://github.com/fizruk/http-api-data")
5756 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5757query parameters")
5758 (description "This Haskell package defines typeclasses used for converting
5759Haskell data types to and from HTTP API data.")
5760 (license license:bsd-3)))
5761
5762(define-public ghc-ieee754
5763 (package
5764 (name "ghc-ieee754")
5765 (version "0.8.0")
5766 (source (origin
5767 (method url-fetch)
5768 (uri (string-append
5769 "https://hackage.haskell.org/package/ieee754/"
5770 "ieee754-" version ".tar.gz"))
5771 (sha256
5772 (base32
5773 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5774 (build-system haskell-build-system)
5775 (home-page "https://github.com/patperry/hs-ieee754")
5776 (synopsis "Utilities for dealing with IEEE floating point numbers")
5777 (description "Utilities for dealing with IEEE floating point numbers,
5778ported from the Tango math library; approximate and exact equality comparisons
5779for general types.")
5780 (license license:bsd-3)))
5781
5782(define-public ghc-ifelse
5783 (package
5784 (name "ghc-ifelse")
5785 (version "0.85")
5786 (source
5787 (origin
5788 (method url-fetch)
5789 (uri (string-append "https://hackage.haskell.org/package/"
5790 "IfElse/IfElse-" version ".tar.gz"))
5791 (sha256
5792 (base32
5793 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5794 (build-system haskell-build-system)
5795 (home-page "http://hackage.haskell.org/package/IfElse")
5796 (synopsis "Monadic control flow with anaphoric variants")
5797 (description "This library provides functions for control flow inside of
5798monads with anaphoric variants on @code{if} and @code{when} and a C-like
5799@code{switch} function.")
5800 (license license:bsd-3)))
5801
5802(define-public ghc-indents
5803 (package
5804 (name "ghc-indents")
d66473fb 5805 (version "0.5.0.1")
dddbc90c
RV
5806 (source (origin
5807 (method url-fetch)
5808 (uri (string-append
5809 "https://hackage.haskell.org/package/indents/indents-"
5810 version ".tar.gz"))
5811 (sha256
5812 (base32
d66473fb 5813 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5814 (build-system haskell-build-system)
5815 ;; This package needs an older version of tasty.
5816 (arguments '(#:tests? #f))
5817 (inputs
5818 `(("ghc-concatenative" ,ghc-concatenative)))
5819 (native-inputs
5820 `(("ghc-tasty" ,ghc-tasty)
5821 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5822 (home-page "http://patch-tag.com/r/salazar/indents")
5823 (synopsis "Indentation sensitive parser-combinators for parsec")
5824 (description
5825 "This library provides functions for use in parsing indentation sensitive
5826contexts. It parses blocks of lines all indented to the same level as well as
5827lines continued at an indented level below.")
5828 (license license:bsd-3)))
5829
1f656b17
TS
5830(define-public ghc-infer-license
5831 (package
5832 (name "ghc-infer-license")
5833 (version "0.2.0")
5834 (source
5835 (origin
5836 (method url-fetch)
5837 (uri (string-append "https://hackage.haskell.org/package/"
5838 "infer-license/infer-license-" version ".tar.gz"))
5839 (sha256
5840 (base32
5841 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5842 (build-system haskell-build-system)
5843 (inputs
5844 `(("ghc-text-metrics" ,ghc-text-metrics)))
5845 (native-inputs
5846 `(("ghc-hspec" ,ghc-hspec)
5847 ("hspec-discover" ,hspec-discover)))
5848 (home-page "http://hackage.haskell.org/package/infer-license")
5849 (synopsis "Infer software license from a given license file")
5850 (description "This library provides tools to infer a software
5851license from a given license file.")
5852 (license license:expat)))
5853
dddbc90c
RV
5854(define-public ghc-inline-c
5855 (package
5856 (name "ghc-inline-c")
55ec98f2 5857 (version "0.7.0.1")
dddbc90c
RV
5858 (source
5859 (origin
5860 (method url-fetch)
5861 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5862 "inline-c-" version ".tar.gz"))
5863 (sha256
5864 (base32
55ec98f2 5865 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
5866 (build-system haskell-build-system)
5867 (inputs
5868 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5869 ("ghc-cryptohash" ,ghc-cryptohash)
5870 ("ghc-hashable" ,ghc-hashable)
5871 ("ghc-parsers" ,ghc-parsers)
5872 ("ghc-unordered-containers" ,ghc-unordered-containers)
5873 ("ghc-vector" ,ghc-vector)))
5874 (native-inputs
5875 `(("ghc-quickcheck" ,ghc-quickcheck)
5876 ("ghc-hspec" ,ghc-hspec)
5877 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5878 ("ghc-regex-posix" ,ghc-regex-posix)))
5879 (home-page "http://hackage.haskell.org/package/inline-c")
5880 (synopsis "Write Haskell source files including C code inline")
5881 (description
5882 "inline-c lets you seamlessly call C libraries and embed high-performance
5883inline C code in Haskell modules. Haskell and C can be freely intermixed in
5884the same source file, and data passed to and from code in either language with
5885minimal overhead. No FFI required.")
5886 (license license:expat)))
5887
5888(define-public ghc-inline-c-cpp
5889 (package
5890 (name "ghc-inline-c-cpp")
cae58e56 5891 (version "0.3.0.3")
dddbc90c
RV
5892 (source
5893 (origin
5894 (method url-fetch)
5895 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5896 "inline-c-cpp-" version ".tar.gz"))
5897 (sha256
5898 (base32
cae58e56 5899 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
5900 (build-system haskell-build-system)
5901 (inputs
5902 `(("ghc-inline-c" ,ghc-inline-c)
5903 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5904 (native-inputs
5905 `(("ghc-hspec" ,ghc-hspec)))
5906 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5907 (synopsis "Lets you embed C++ code into Haskell")
5908 (description
5909 "This package provides utilities to inline C++ code into Haskell using
5910@code{inline-c}.")
5911 (license license:expat)))
5912
5913(define-public ghc-integer-logarithms
5914 (package
5915 (name "ghc-integer-logarithms")
86a704db 5916 (version "1.0.3")
dddbc90c
RV
5917 (source
5918 (origin
5919 (method url-fetch)
5920 (uri (string-append "https://hackage.haskell.org/package/"
5921 "integer-logarithms/integer-logarithms-"
5922 version ".tar.gz"))
5923 (sha256
5924 (base32
86a704db 5925 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5926 (build-system haskell-build-system)
5927 (arguments
5928 `(#:phases
5929 (modify-phases %standard-phases
5930 (add-before 'configure 'update-constraints
5931 (lambda _
5932 (substitute* "integer-logarithms.cabal"
5933 (("tasty >= 0\\.10 && < 1\\.1")
5934 "tasty >= 0.10 && < 1.2")))))))
5935 (native-inputs
5936 `(("ghc-quickcheck" ,ghc-quickcheck)
5937 ("ghc-smallcheck" ,ghc-smallcheck)
5938 ("ghc-tasty" ,ghc-tasty)
5939 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5940 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5941 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5942 (home-page "https://github.com/Bodigrim/integer-logarithms")
5943 (synopsis "Integer logarithms")
5944 (description
5945 "This package provides the following modules:
5946@code{Math.NumberTheory.Logarithms} and
5947@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5948@code{GHC.Integer.Logarithms.Compat} and
5949@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5950in migrated modules.")
5951 (license license:expat)))
5952
5953(define-public ghc-integer-logarithms-bootstrap
5954 (package
5955 (inherit ghc-integer-logarithms)
5956 (name "ghc-integer-logarithms-bootstrap")
5957 (arguments `(#:tests? #f))
5958 (native-inputs '())
799d8d3c 5959 (properties '((hidden? #t)))))
dddbc90c
RV
5960
5961(define-public ghc-interpolate
5962 (package
5963 (name "ghc-interpolate")
5964 (version "0.2.0")
5965 (source
5966 (origin
5967 (method url-fetch)
5968 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5969 "interpolate-" version ".tar.gz"))
5970 (sha256
5971 (base32
5972 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5973 (build-system haskell-build-system)
5974 (inputs
5975 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5976 (native-inputs
5977 `(("ghc-base-compat" ,ghc-base-compat)
5978 ("ghc-hspec" ,ghc-hspec)
5979 ("ghc-quickcheck" ,ghc-quickcheck)
5980 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5981 ("hspec-discover" ,hspec-discover)))
5982 (home-page "https://github.com/sol/interpolate")
5983 (synopsis "String interpolation library")
5984 (description "This package provides a string interpolation library for
5985Haskell.")
5986 (license license:expat)))
5987
5988(define-public ghc-intervalmap
5989 (package
5990 (name "ghc-intervalmap")
e4946e32 5991 (version "0.6.1.1")
dddbc90c
RV
5992 (source
5993 (origin
5994 (method url-fetch)
5995 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5996 "IntervalMap-" version ".tar.gz"))
5997 (sha256
5998 (base32
e4946e32 5999 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
6000 (build-system haskell-build-system)
6001 (native-inputs
6002 `(("ghc-quickcheck" ,ghc-quickcheck)))
6003 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
6004 (synopsis "Containers for intervals, with efficient search")
6005 (description
6006 "This package provides ordered containers of intervals, with efficient
6007search for all keys containing a point or overlapping an interval. See the
6008example code on the home page for a quick introduction.")
6009 (license license:bsd-3)))
6010
f7ca1fa8
TS
6011(define-public ghc-intervals
6012 (package
6013 (name "ghc-intervals")
6014 (version "0.8.1")
6015 (source
6016 (origin
6017 (method url-fetch)
6018 (uri (string-append "https://hackage.haskell.org/package/"
6019 "intervals/intervals-" version ".tar.gz"))
6020 (sha256
6021 (base32
6022 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
6023 (build-system haskell-build-system)
6024 (inputs
6025 `(("ghc-distributive" ,ghc-distributive)))
6026 (native-inputs
6027 `(("cabal-doctest" ,cabal-doctest)
6028 ("ghc-doctest" ,ghc-doctest)
6029 ("ghc-quickcheck" ,ghc-quickcheck)))
6030 (arguments
6031 `(#:cabal-revision
6032 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
6033 (home-page "https://github.com/ekmett/intervals")
6034 (synopsis "Interval arithmetic")
6035 (description "This library provides
6036@code{Numeric.Interval.Interval}, which represets a closed, convex set
6037of floating point values.")
6038 (license license:bsd-3)))
6039
dddbc90c
RV
6040(define-public ghc-invariant
6041 (package
6042 (name "ghc-invariant")
d3a0e0b4 6043 (version "0.5.3")
dddbc90c
RV
6044 (source
6045 (origin
6046 (method url-fetch)
6047 (uri (string-append
6048 "https://hackage.haskell.org/package/invariant/invariant-"
6049 version ".tar.gz"))
6050 (sha256
6051 (base32
d3a0e0b4 6052 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
6053 (build-system haskell-build-system)
6054 (inputs
6055 `(("ghc-bifunctors" ,ghc-bifunctors)
6056 ("ghc-comonad" ,ghc-comonad)
6057 ("ghc-contravariant" ,ghc-contravariant)
6058 ("ghc-profunctors" ,ghc-profunctors)
6059 ("ghc-semigroups" ,ghc-semigroups)
6060 ("ghc-statevar" ,ghc-statevar)
6061 ("ghc-tagged" ,ghc-tagged)
6062 ("ghc-th-abstraction" ,ghc-th-abstraction)
6063 ("ghc-transformers-compat" ,ghc-transformers-compat)
6064 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6065 (native-inputs
6066 `(("ghc-hspec" ,ghc-hspec)
6067 ("ghc-quickcheck" ,ghc-quickcheck)
6068 ("hspec-discover" ,hspec-discover)))
6069 (home-page "https://github.com/nfrisby/invariant-functors")
6070 (synopsis "Haskell98 invariant functors")
6071 (description "Haskell98 invariant functors (also known as exponential
6072functors). For more information, see Edward Kmett's article
6073@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
6074 (license license:bsd-2)))
6075
6076(define-public ghc-io-streams
6077 (package
6078 (name "ghc-io-streams")
59e98d75 6079 (version "1.5.1.0")
dddbc90c
RV
6080 (source
6081 (origin
6082 (method url-fetch)
6083 (uri (string-append "https://hackage.haskell.org/package/"
6084 "io-streams/io-streams-" version ".tar.gz"))
6085 (sha256
6086 (base32
59e98d75 6087 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
6088 (build-system haskell-build-system)
6089 (inputs
6090 `(("ghc-attoparsec" ,ghc-attoparsec)
6091 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
6092 ("ghc-network" ,ghc-network)
6093 ("ghc-primitive" ,ghc-primitive)
6094 ("ghc-vector" ,ghc-vector)
6095 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
6096 (native-inputs
6097 `(("ghc-hunit" ,ghc-hunit)
6098 ("ghc-quickcheck" ,ghc-quickcheck)
6099 ("ghc-test-framework" ,ghc-test-framework)
6100 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6101 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6102 ("ghc-zlib" ,ghc-zlib)))
dddbc90c
RV
6103 (home-page "http://hackage.haskell.org/package/io-streams")
6104 (synopsis "Simple and composable stream I/O")
6105 (description "This library contains simple and easy-to-use
6106primitives for I/O using streams.")
6107 (license license:bsd-3)))
6108
6109(define-public ghc-io-streams-haproxy
6110 (package
6111 (name "ghc-io-streams-haproxy")
1a4fbc36 6112 (version "1.0.1.0")
dddbc90c
RV
6113 (source
6114 (origin
6115 (method url-fetch)
6116 (uri (string-append "https://hackage.haskell.org/package/"
6117 "io-streams-haproxy/io-streams-haproxy-"
6118 version ".tar.gz"))
6119 (sha256
6120 (base32
1a4fbc36 6121 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
6122 (build-system haskell-build-system)
6123 (inputs
6124 `(("ghc-attoparsec" ,ghc-attoparsec)
6125 ("ghc-io-streams" ,ghc-io-streams)
6126 ("ghc-network" ,ghc-network)))
6127 (native-inputs
6128 `(("ghc-hunit" ,ghc-hunit)
6129 ("ghc-test-framework" ,ghc-test-framework)
6130 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
6131 (home-page "http://snapframework.com/")
6132 (synopsis "HAProxy protocol 1.5 support for io-streams")
6133 (description "HAProxy protocol version 1.5 support
6134(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
6135for applications using io-streams. The proxy protocol allows information
6136about a networked peer (like remote address and port) to be propagated
6137through a forwarding proxy that is configured to speak this protocol.")
6138 (license license:bsd-3)))
6139
6140(define-public ghc-iproute
6141 (package
6142 (name "ghc-iproute")
ec25d536 6143 (version "1.7.7")
dddbc90c
RV
6144 (source
6145 (origin
6146 (method url-fetch)
6147 (uri (string-append
6148 "https://hackage.haskell.org/package/iproute/iproute-"
6149 version
6150 ".tar.gz"))
6151 (sha256
6152 (base32
ec25d536 6153 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
6154 (build-system haskell-build-system)
6155 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
6156 ; exported by ghc-byteorder. Doctest issue.
6157 (inputs
6158 `(("ghc-appar" ,ghc-appar)
6159 ("ghc-byteorder" ,ghc-byteorder)
6160 ("ghc-network" ,ghc-network)
6161 ("ghc-safe" ,ghc-safe)))
6162 (home-page "https://www.mew.org/~kazu/proj/iproute/")
6163 (synopsis "IP routing table")
6164 (description "IP Routing Table is a tree of IP ranges to search one of
6165them on the longest match base. It is a kind of TRIE with one way branching
6166removed. Both IPv4 and IPv6 are supported.")
6167 (license license:bsd-3)))
6168
4828e54e
TS
6169(define-public ghc-ipynb
6170 (package
6171 (name "ghc-ipynb")
6172 (version "0.1")
6173 (source
6174 (origin
6175 (method url-fetch)
6176 (uri (string-append "https://hackage.haskell.org/package/"
6177 "ipynb/ipynb-" version ".tar.gz"))
6178 (sha256
6179 (base32
6180 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
6181 (build-system haskell-build-system)
6182 (inputs
6183 `(("ghc-unordered-containers" ,ghc-unordered-containers)
6184 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
6185 ("ghc-aeson" ,ghc-aeson)
6186 ("ghc-semigroups" ,ghc-semigroups)))
6187 (native-inputs
6188 `(("ghc-tasty" ,ghc-tasty)
6189 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6190 ("ghc-aeson-diff" ,ghc-aeson-diff)
6191 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
6192 ("ghc-microlens" ,ghc-microlens)
6193 ("ghc-vector" ,ghc-vector)))
6194 (home-page "https://hackage.haskell.org/package/ipynb")
6195 (synopsis "Data structure for working with Jupyter notebooks")
6196 (description "This library defines a data structure for representing
6197Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6198instances for conversion to and from JSON .ipynb files.")
6199 (license license:bsd-3)))
6200
dddbc90c
RV
6201(define-public ghc-iwlib
6202 (package
6203 (name "ghc-iwlib")
6204 (version "0.1.0")
6205 (source
6206 (origin
6207 (method url-fetch)
6208 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6209 version ".tar.gz"))
6210 (sha256
6211 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6212 (build-system haskell-build-system)
6213 (inputs
6214 `(("wireless-tools" ,wireless-tools)))
6215 (home-page "https://github.com/jaor/iwlib")
6216 (synopsis "Haskell binding to the iw wireless networking library")
6217 (description
6218 "IWlib is a thin Haskell binding to the iw C library. It provides
6219information about the current wireless network connections, and adapters on
6220supported systems.")
6221 (license license:bsd-3)))
6222
6223(define-public ghc-json
6224 (package
6225 (name "ghc-json")
0ad3d574 6226 (version "0.9.3")
dddbc90c
RV
6227 (source
6228 (origin
6229 (method url-fetch)
6230 (uri (string-append "https://hackage.haskell.org/package/json/"
6231 "json-" version ".tar.gz"))
6232 (sha256
6233 (base32
0ad3d574 6234 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6235 (build-system haskell-build-system)
6236 (inputs
6237 `(("ghc-syb" ,ghc-syb)))
6238 (home-page "https://hackage.haskell.org/package/json")
6239 (synopsis "Serializes Haskell data to and from JSON")
6240 (description "This package provides a parser and pretty printer for
6241converting between Haskell values and JSON.
6242JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6243 (license license:bsd-3)))
6244
6245(define-public ghc-juicypixels
6246 (package
6247 (name "ghc-juicypixels")
b50b6004 6248 (version "3.3.4")
dddbc90c
RV
6249 (source (origin
6250 (method url-fetch)
6251 (uri (string-append "https://hackage.haskell.org/package/"
6252 "JuicyPixels/JuicyPixels-"
6253 version ".tar.gz"))
6254 (sha256
6255 (base32
b50b6004 6256 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
6257 (build-system haskell-build-system)
6258 (inputs
6259 `(("ghc-zlib" ,ghc-zlib)
6260 ("ghc-vector" ,ghc-vector)
6261 ("ghc-primitive" ,ghc-primitive)
6262 ("ghc-mmap" ,ghc-mmap)))
6263 (home-page "https://github.com/Twinside/Juicy.Pixels")
6264 (synopsis "Picture loading and serialization library")
6265 (description
6266 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6267TIFF and GIF formats.")
6268 (license license:bsd-3)))
6269
6270(define-public ghc-kan-extensions
6271 (package
6272 (name "ghc-kan-extensions")
6273 (version "5.2")
6274 (source
6275 (origin
6276 (method url-fetch)
6277 (uri (string-append
6278 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6279 version
6280 ".tar.gz"))
6281 (sha256
6282 (base32
6283 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6284 (build-system haskell-build-system)
6285 (inputs
6286 `(("ghc-adjunctions" ,ghc-adjunctions)
6287 ("ghc-comonad" ,ghc-comonad)
6288 ("ghc-contravariant" ,ghc-contravariant)
6289 ("ghc-distributive" ,ghc-distributive)
6290 ("ghc-free" ,ghc-free)
6291 ("ghc-invariant" ,ghc-invariant)
6292 ("ghc-semigroupoids" ,ghc-semigroupoids)
6293 ("ghc-tagged" ,ghc-tagged)
6294 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6295 (home-page "https://github.com/ekmett/kan-extensions/")
6296 (synopsis "Kan extensions library")
6297 (description "This library provides Kan extensions, Kan lifts, various
6298forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6299 (license license:bsd-3)))
6300
6301(define-public ghc-language-c
6302 (package
6303 (name "ghc-language-c")
4e1cf651 6304 (version "0.8.3")
dddbc90c
RV
6305 (source
6306 (origin
6307 (method url-fetch)
6308 (uri (string-append "https://hackage.haskell.org/package/"
6309 "language-c/language-c-" version ".tar.gz"))
6310 (sha256
6311 (base32
4e1cf651 6312 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6313 (build-system haskell-build-system)
6314 (inputs `(("ghc-syb" ,ghc-syb)))
6315 (native-inputs
6316 `(("ghc-happy" ,ghc-happy)
6317 ("ghc-alex" ,ghc-alex)))
6318 (home-page "https://visq.github.io/language-c/")
6319 (synopsis "Analysis and generation of C code")
6320 (description
6321 "Language C is a Haskell library for the analysis and generation of C code.
6322It features a complete, well-tested parser and pretty printer for all of C99
6323and a large set of GNU extensions.")
6324 (license license:bsd-3)))
6325
6326(define-public ghc-language-glsl
6327 (package
6328 (name "ghc-language-glsl")
6329 (version "0.3.0")
6330 (source
6331 (origin
6332 (method url-fetch)
6333 (uri (string-append "https://hackage.haskell.org/package/"
6334 "language-glsl/language-glsl-" version ".tar.gz"))
6335 (sha256
6336 (base32
6337 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6338 (build-system haskell-build-system)
6339 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6340 (arguments
6341 `(#:tests? #f
6342 #:cabal-revision
6343 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
6344 (home-page "http://hackage.haskell.org/package/language-glsl")
6345 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6346 (description "This package is a Haskell library for the
6347representation, parsing, and pretty-printing of GLSL 1.50 code.")
6348 (license license:bsd-3)))
6349
6350(define-public ghc-language-haskell-extract
6351 (package
6352 (name "ghc-language-haskell-extract")
6353 (version "0.2.4")
6354 (source
6355 (origin
6356 (method url-fetch)
6357 (uri (string-append "https://hackage.haskell.org/package/"
6358 "language-haskell-extract-" version "/"
6359 "language-haskell-extract-" version ".tar.gz"))
6360 (sha256
6361 (base32
6362 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6363 (build-system haskell-build-system)
6364 (inputs
6365 `(("ghc-regex-posix" ,ghc-regex-posix)))
6366 (home-page "https://github.com/finnsson/template-helper")
6367 (synopsis "Haskell module to automatically extract functions from
6368the local code")
6369 (description "This package contains helper functions on top of
6370Template Haskell.
6371
6372For example, @code{functionExtractor} extracts all functions after a
6373regexp-pattern, which can be useful if you wish to extract all functions
6374beginning with @code{test} (for a test framework) or all functions beginning
6375with @code{wc} (for a web service).")
6376 (license license:bsd-3)))
6377
6378(define-public ghc-lens
6379 (package
6380 (name "ghc-lens")
262e6323 6381 (version "4.17.1")
dddbc90c
RV
6382 (source
6383 (origin
6384 (method url-fetch)
6385 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6386 version ".tar.gz"))
6387 (sha256
6388 (base32
262e6323 6389 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6390 (build-system haskell-build-system)
dddbc90c
RV
6391 (inputs
6392 `(("ghc-base-orphans" ,ghc-base-orphans)
6393 ("ghc-bifunctors" ,ghc-bifunctors)
6394 ("ghc-distributive" ,ghc-distributive)
6395 ("ghc-exceptions" ,ghc-exceptions)
6396 ("ghc-free" ,ghc-free)
6397 ("ghc-kan-extensions" ,ghc-kan-extensions)
6398 ("ghc-parallel" ,ghc-parallel)
6399 ("ghc-reflection" ,ghc-reflection)
6400 ("ghc-semigroupoids" ,ghc-semigroupoids)
6401 ("ghc-vector" ,ghc-vector)
6402 ("ghc-call-stack" ,ghc-call-stack)
6403 ("ghc-comonad" ,ghc-comonad)
6404 ("ghc-contravariant" ,ghc-contravariant)
6405 ("ghc-hashable" ,ghc-hashable)
6406 ("ghc-profunctors" ,ghc-profunctors)
6407 ("ghc-semigroups" ,ghc-semigroups)
6408 ("ghc-tagged" ,ghc-tagged)
6409 ("ghc-transformers-compat" ,ghc-transformers-compat)
6410 ("ghc-unordered-containers" ,ghc-unordered-containers)
6411 ("ghc-void" ,ghc-void)
6412 ("ghc-generic-deriving" ,ghc-generic-deriving)
6413 ("ghc-nats" ,ghc-nats)
6414 ("ghc-simple-reflect" ,ghc-simple-reflect)
6415 ("hlint" ,hlint)))
6416 (native-inputs
6417 `(("cabal-doctest" ,cabal-doctest)
6418 ("ghc-doctest" ,ghc-doctest)
6419 ("ghc-hunit" ,ghc-hunit)
6420 ("ghc-test-framework" ,ghc-test-framework)
6421 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6422 ("ghc-test-framework-th" ,ghc-test-framework-th)
6423 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6424 ("ghc-quickcheck" ,ghc-quickcheck)))
6425 (home-page "https://github.com/ekmett/lens/")
6426 (synopsis "Lenses, Folds and Traversals")
6427 (description "This library provides @code{Control.Lens}. The combinators
6428in @code{Control.Lens} provide a highly generic toolbox for composing families
6429of getters, folds, isomorphisms, traversals, setters and lenses and their
6430indexed variants.")
6431 (license license:bsd-3)))
6432
6433(define-public ghc-libffi
6434 (package
6435 (name "ghc-libffi")
6436 (version "0.1")
6437 (source
6438 (origin
6439 (method url-fetch)
6440 (uri (string-append "https://hackage.haskell.org/package/"
6441 "libffi/libffi-" version ".tar.gz"))
6442 (sha256
6443 (base32
6444 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6445 (build-system haskell-build-system)
6446 (native-inputs `(("pkg-config" ,pkg-config)))
6447 (inputs `(("libffi" ,libffi)))
6448 (home-page "http://hackage.haskell.org/package/libffi")
6449 (synopsis "Haskell binding to libffi")
6450 (description
6451 "A binding to libffi, allowing C functions of types only known at runtime
6452to be called from Haskell.")
6453 (license license:bsd-3)))
6454
6455(define-public ghc-libmpd
6456 (package
6457 (name "ghc-libmpd")
bbf9845f 6458 (version "0.9.0.10")
dddbc90c
RV
6459 (source
6460 (origin
6461 (method url-fetch)
6462 (uri (string-append
6463 "mirror://hackage/package/libmpd/libmpd-"
6464 version
6465 ".tar.gz"))
6466 (sha256
6467 (base32
bbf9845f 6468 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6469 (build-system haskell-build-system)
6470 ;; Tests fail on i686.
6471 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6472 (arguments `(#:tests? #f))
6473 (inputs
6474 `(("ghc-attoparsec" ,ghc-attoparsec)
6475 ("ghc-old-locale" ,ghc-old-locale)
6476 ("ghc-data-default-class" ,ghc-data-default-class)
6477 ("ghc-network" ,ghc-network)
bbf9845f 6478 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6479 ("ghc-utf8-string" ,ghc-utf8-string)))
6480 (native-inputs
6481 `(("ghc-quickcheck" ,ghc-quickcheck)
6482 ("ghc-hspec" ,ghc-hspec)
6483 ("hspec-discover" ,hspec-discover)))
6484 (home-page "https://github.com/vimus/libmpd-haskell")
6485 (synopsis "Haskell client library for the Music Player Daemon")
6486 (description "This package provides a pure Haskell client library for the
6487Music Player Daemon.")
6488 (license license:expat)))
6489
e34df1c3
TS
6490(define-public ghc-lib-parser
6491 (package
6492 (name "ghc-lib-parser")
6493 (version "8.8.0.20190424")
6494 (source
6495 (origin
6496 (method url-fetch)
6497 (uri (string-append "https://hackage.haskell.org/package/"
6498 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6499 (sha256
6500 (base32
6501 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6502 (build-system haskell-build-system)
6503 (native-inputs
6504 `(("ghc-alex" ,ghc-alex)
6505 ("ghc-happy" ,ghc-happy)))
6506 (home-page "https://github.com/digital-asset/ghc-lib")
6507 (synopsis "The GHC API, decoupled from GHC versions")
6508 (description "This library implements the GHC API. It is like the
6509compiler-provided @code{ghc} package, but it can be loaded on many
6510compiler versions.")
6511 (license license:bsd-3)))
6512
dddbc90c
RV
6513(define-public ghc-libxml
6514 (package
6515 (name "ghc-libxml")
6516 (version "0.1.1")
6517 (source
6518 (origin
6519 (method url-fetch)
6520 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6521 "libxml-" version ".tar.gz"))
6522 (sha256
6523 (base32
6524 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6525 (build-system haskell-build-system)
6526 (inputs
6527 `(("libxml2" ,libxml2)))
6528 (arguments
6529 `(#:configure-flags
6530 `(,(string-append "--extra-include-dirs="
6531 (assoc-ref %build-inputs "libxml2")
6532 "/include/libxml2"))))
6533 (home-page "https://hackage.haskell.org/package/libxml")
6534 (synopsis "Haskell bindings to libxml2")
6535 (description
6536 "This library provides minimal Haskell binding to libxml2.")
6537 (license license:bsd-3)))
6538
0c2d6fc2
TS
6539(define-public ghc-libyaml
6540 (package
6541 (name "ghc-libyaml")
6542 (version "0.1.1.0")
6543 (source
6544 (origin
6545 (method url-fetch)
6546 (uri (string-append "https://hackage.haskell.org/package/"
6547 "libyaml/libyaml-" version ".tar.gz"))
6548 (sha256
6549 (base32
6550 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6551 (modules '((guix build utils)))
6552 (snippet
6553 ;; Delete bundled LibYAML.
6554 '(begin
6555 (delete-file-recursively "libyaml_src")
6556 #t))))
6557 (build-system haskell-build-system)
6558 (arguments
6559 `(#:configure-flags `("--flags=system-libyaml")))
6560 (inputs
6561 `(("ghc-conduit" ,ghc-conduit)
6562 ("ghc-resourcet" ,ghc-resourcet)
6563 ("libyaml" ,libyaml-2.1)))
6564 (home-page "https://github.com/snoyberg/yaml#readme")
6565 (synopsis "Low-level, streaming YAML interface.")
6566 (description "This package provides a Haskell wrapper over the
6567LibYAML C library.")
6568 (license license:bsd-3)))
6569
dddbc90c
RV
6570(define-public ghc-lifted-async
6571 (package
6572 (name "ghc-lifted-async")
b5b6d7ea 6573 (version "0.10.0.4")
dddbc90c
RV
6574 (source
6575 (origin
6576 (method url-fetch)
6577 (uri (string-append
6578 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6579 version ".tar.gz"))
6580 (sha256
6581 (base32
b5b6d7ea 6582 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6583 (build-system haskell-build-system)
6584 (inputs
6585 `(("ghc-async" ,ghc-async)
6586 ("ghc-lifted-base" ,ghc-lifted-base)
6587 ("ghc-transformers-base" ,ghc-transformers-base)
6588 ("ghc-monad-control" ,ghc-monad-control)
6589 ("ghc-constraints" ,ghc-constraints)
6590 ("ghc-hunit" ,ghc-hunit)
6591 ("ghc-tasty" ,ghc-tasty)
6592 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6593 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6594 ("ghc-tasty-th" ,ghc-tasty-th)))
6595 (home-page "https://github.com/maoe/lifted-async")
6596 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6597 (description
6598 "This package provides IO operations from @code{async} package lifted to any
6599instance of @code{MonadBase} or @code{MonadBaseControl}.")
6600 (license license:bsd-3)))
6601
6602(define-public ghc-lifted-base
6603 (package
6604 (name "ghc-lifted-base")
6605 (version "0.2.3.12")
6606 (source
6607 (origin
6608 (method url-fetch)
6609 (uri (string-append
6610 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6611 version
6612 ".tar.gz"))
6613 (sha256
6614 (base32
6615 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6616 (build-system haskell-build-system)
6617 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6618 (inputs
6619 `(("ghc-transformers-base" ,ghc-transformers-base)
6620 ("ghc-monad-control" ,ghc-monad-control)
6621 ("ghc-transformers-compat" ,ghc-transformers-compat)
6622 ("ghc-hunit" ,ghc-hunit)))
6623 (home-page "https://github.com/basvandijk/lifted-base")
6624 (synopsis "Lifted IO operations from the base library")
6625 (description "Lifted-base exports IO operations from the @code{base}
6626library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6627Note that not all modules from @code{base} are converted yet. The package
6628includes a copy of the @code{monad-peel} test suite written by Anders
6629Kaseorg.")
6630 (license license:bsd-3)))
6631
6632(define-public ghc-linear
6633 (package
6634 (name "ghc-linear")
86526f37 6635 (version "1.20.9")
dddbc90c
RV
6636 (source
6637 (origin
6638 (method url-fetch)
6639 (uri (string-append "https://hackage.haskell.org/package/linear/"
6640 "linear-" version ".tar.gz"))
6641 (sha256
6642 (base32
86526f37 6643 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6644 (build-system haskell-build-system)
6645 (inputs
6646 `(("ghc-adjunctions" ,ghc-adjunctions)
6647 ("ghc-base-orphans" ,ghc-base-orphans)
6648 ("ghc-bytes" ,ghc-bytes)
6649 ("ghc-cereal" ,ghc-cereal)
6650 ("ghc-distributive" ,ghc-distributive)
6651 ("ghc-hashable" ,ghc-hashable)
6652 ("ghc-lens" ,ghc-lens)
6653 ("ghc-reflection" ,ghc-reflection)
6654 ("ghc-semigroups" ,ghc-semigroups)
6655 ("ghc-semigroupoids" ,ghc-semigroupoids)
6656 ("ghc-tagged" ,ghc-tagged)
6657 ("ghc-transformers-compat" ,ghc-transformers-compat)
6658 ("ghc-unordered-containers" ,ghc-unordered-containers)
6659 ("ghc-vector" ,ghc-vector)
6660 ("ghc-void" ,ghc-void)))
6661 (native-inputs
6662 `(("cabal-doctest" ,cabal-doctest)
6663 ("ghc-doctest" ,ghc-doctest)
6664 ("ghc-simple-reflect" ,ghc-simple-reflect)
6665 ("ghc-test-framework" ,ghc-test-framework)
6666 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6667 ("ghc-hunit" ,ghc-hunit)))
6668 (home-page "http://github.com/ekmett/linear/")
6669 (synopsis "Linear algebra library for Haskell")
6670 (description
6671 "This package provides types and combinators for linear algebra on free
6672vector spaces.")
6673 (license license:bsd-3)))
1307e4c7
JS
6674
6675(define-public ghc-listlike
6676 (package
6677 (name "ghc-listlike")
6678 (version "4.6.2")
6679 (source
6680 (origin
6681 (method url-fetch)
6682 (uri
6683 (string-append
6684 "https://hackage.haskell.org/package/ListLike/ListLike-"
6685 version ".tar.gz"))
6686 (sha256
6687 (base32
6688 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6689 (build-system haskell-build-system)
6690 (inputs
6691 `(("ghc-vector" ,ghc-vector)
6692 ("ghc-dlist" ,ghc-dlist)
6693 ("ghc-fmlist" ,ghc-fmlist)
6694 ("ghc-hunit" ,ghc-hunit)
6695 ("ghc-quickcheck" ,ghc-quickcheck)
6696 ("ghc-random" ,ghc-random)
6697 ("ghc-utf8-string" ,ghc-utf8-string)))
6698 (home-page "https://github.com/JohnLato/listlike")
6699 (synopsis "Generic support for list-like structures")
6700 (description "The ListLike module provides a common interface to the
6701various Haskell types that are list-like. Predefined interfaces include
6702standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6703Custom types can easily be made ListLike instances as well.
6704
6705ListLike also provides for String-like types, such as String and
6706ByteString, for types that support input and output, and for types that
6707can handle infinite lists.")
6708 (license license:bsd-3)))
dddbc90c 6709
84436be0
J
6710(define-public ghc-llvm-hs-pure
6711 (package
6712 (name "ghc-llvm-hs-pure")
6713 (version "9.0.0")
6714 (source
6715 (origin
6716 (method url-fetch)
6717 (uri (string-append "https://hackage.haskell.org/package/llvm-hs-pure/"
6718 "llvm-hs-pure-" version ".tar.gz"))
6719 (sha256
6720 (base32
6721 "0pxb5ah8r5pzpz2ibqw3g9g1isigb4z7pbzfrwr8kmcjn74ab3kf"))))
6722 (build-system haskell-build-system)
6723 (inputs
6724 `(("ghc-attoparsec" ,ghc-attoparsec)
6725 ("ghc-fail" ,ghc-fail)
6726 ("ghc-unordered-containers" ,ghc-unordered-containers)))
6727 (native-inputs
6728 `(("ghc-tasty" ,ghc-tasty)
6729 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6730 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6731 (home-page "https://github.com/llvm-hs/llvm-hs/")
6732 (synopsis "Pure Haskell LLVM functionality (no FFI)")
6733 (description "llvm-hs-pure is a set of pure Haskell types and functions
6734for interacting with LLVM. It includes an algebraic datatype (ADT) to represent
6735LLVM IR. The llvm-hs package builds on this one with FFI bindings to LLVM, but
6736llvm-hs-pure does not require LLVM to be available.")
6737 (license license:bsd-3)))
6738
e3ee8023
J
6739(define-public ghc-llvm-hs
6740 (package
6741 (name "ghc-llvm-hs")
6742 (version "9.0.1")
6743 (source
6744 (origin
6745 (method url-fetch)
6746 (uri (string-append "https://hackage.haskell.org/package/llvm-hs/llvm-hs-"
6747 version ".tar.gz"))
6748 (sha256
6749 (base32
6750 "0723xgh45h9cyxmmjsvxnsp8bpn1ljy4qgh7a7vqq3sj9d6wzq00"))))
6751 (build-system haskell-build-system)
6752 (inputs
6753 `(("ghc-attoparsec" ,ghc-attoparsec)
6754 ("ghc-exceptions" ,ghc-exceptions)
6755 ("ghc-utf8-string" ,ghc-utf8-string)
6756 ("ghc-llvm-hs-pure" ,ghc-llvm-hs-pure)
6757 ("llvm" ,llvm-9)))
6758 (native-inputs
6759 `(("ghc-tasty" ,ghc-tasty)
6760 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6761 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6762 ("ghc-quickcheck" ,ghc-quickcheck)
6763 ("ghc-temporary" ,ghc-temporary)
6764 ("ghc-pretty-show" ,ghc-pretty-show)
6765 ("ghc-temporary" ,ghc-temporary)))
6766 (home-page "https://github.com/llvm-hs/llvm-hs/")
6767 (synopsis "General purpose LLVM bindings for Haskell")
6768 (description "llvm-hs is a set of Haskell bindings for LLVM. Unlike other
6769current Haskell bindings, it uses an algebraic datatype (ADT) to represent LLVM
6770IR, and so offers two advantages: it handles almost all of the stateful
6771complexities of using the LLVM API to build IR; and it supports moving IR not
6772only from Haskell into LLVM C++ objects, but the other direction - from LLVM C++
6773into Haskell.")
6774 (license license:bsd-3)))
6775
dddbc90c
RV
6776(define-public ghc-logging-facade
6777 (package
6778 (name "ghc-logging-facade")
6779 (version "0.3.0")
6780 (source (origin
6781 (method url-fetch)
6782 (uri (string-append "https://hackage.haskell.org/package/"
6783 "logging-facade/logging-facade-"
6784 version ".tar.gz"))
6785 (sha256
6786 (base32
6787 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6788 (build-system haskell-build-system)
6789 (native-inputs
6790 `(("ghc-hspec" ,ghc-hspec)
6791 ("hspec-discover" ,hspec-discover)))
6792 (home-page "https://hackage.haskell.org/package/logging-facade")
6793 (synopsis "Simple logging abstraction that allows multiple back-ends")
6794 (description
6795 "This package provides a simple logging abstraction that allows multiple
6796back-ends.")
6797 (license license:expat)))
6798
6799(define-public ghc-logict
6800 (package
6801 (name "ghc-logict")
79d9326f 6802 (version "0.7.0.2")
dddbc90c
RV
6803 (source
6804 (origin
6805 (method url-fetch)
6806 (uri (string-append
6807 "https://hackage.haskell.org/package/logict/logict-"
6808 version
6809 ".tar.gz"))
6810 (sha256
6811 (base32
79d9326f 6812 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 6813 (build-system haskell-build-system)
79d9326f
TS
6814 (native-inputs
6815 `(("ghc-tasty" ,ghc-tasty)
6816 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
6817 (home-page "http://code.haskell.org/~dolio/")
6818 (synopsis "Backtracking logic-programming monad")
6819 (description "This library provides a continuation-based, backtracking,
6820logic programming monad. An adaptation of the two-continuation implementation
6821found in the paper \"Backtracking, Interleaving, and Terminating Monad
6822Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6823online}.")
6824 (license license:bsd-3)))
6825
6826(define-public ghc-lzma
6827 (package
6828 (name "ghc-lzma")
6829 (version "0.0.0.3")
6830 (source
6831 (origin
6832 (method url-fetch)
6833 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6834 "lzma-" version ".tar.gz"))
6835 (sha256
6836 (base32
6837 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6838 (build-system haskell-build-system)
6839 (arguments
6840 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6841 #:cabal-revision
6842 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6843 (native-inputs
6844 `(("ghc-hunit" ,ghc-hunit)
6845 ("ghc-quickcheck" ,ghc-quickcheck)
6846 ("ghc-tasty" ,ghc-tasty)
6847 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6848 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6849 (home-page "https://github.com/hvr/lzma")
6850 (synopsis "LZMA/XZ compression and decompression")
6851 (description
6852 "This package provides a pure interface for compressing and
6853decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6854monadic incremental interface is provided as well.")
6855 (license license:bsd-3)))
6856
6857(define-public ghc-lzma-conduit
6858 (package
6859 (name "ghc-lzma-conduit")
6860 (version "1.2.1")
6861 (source
6862 (origin
6863 (method url-fetch)
6864 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6865 "lzma-conduit-" version ".tar.gz"))
6866 (sha256
6867 (base32
6868 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6869 (build-system haskell-build-system)
6870 (inputs
6871 `(("ghc-conduit" ,ghc-conduit)
6872 ("ghc-lzma" ,ghc-lzma)
6873 ("ghc-resourcet" ,ghc-resourcet)))
6874 (native-inputs
6875 `(("ghc-base-compat" ,ghc-base-compat)
6876 ("ghc-test-framework" ,ghc-test-framework)
6877 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6878 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6879 ("ghc-hunit" ,ghc-hunit)
6880 ("ghc-quickcheck" ,ghc-quickcheck)))
6881 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6882 (synopsis "Conduit interface for lzma/xz compression")
6883 (description
6884 "This package provides a @code{Conduit} interface for the LZMA
6885compression algorithm used in the @code{.xz} file format.")
6886 (license license:bsd-3)))
6887
e405912c
KM
6888(define-public ghc-magic
6889 (package
6890 (name "ghc-magic")
6891 (version "1.1")
6892 (source
6893 (origin
6894 (method url-fetch)
6895 (uri (string-append
6896 "https://hackage.haskell.org/package/magic/magic-"
6897 version ".tar.gz"))
6898 (sha256
6899 (base32
6900 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6901 (build-system haskell-build-system)
6902 (home-page "http://hackage.haskell.org/package/magic")
6903 (synopsis "Interface to C file/magic library")
6904 (description
6905 "This package provides a full-featured binding to the C libmagic library.
6906With it, you can determine the type of a file by examining its contents rather
6907than its name.")
6908 (license license:bsd-3)))
6909
dddbc90c
RV
6910(define-public ghc-markdown-unlit
6911 (package
6912 (name "ghc-markdown-unlit")
6913 (version "0.5.0")
6914 (source (origin
6915 (method url-fetch)
6916 (uri (string-append
6917 "mirror://hackage/package/markdown-unlit/"
6918 "markdown-unlit-" version ".tar.gz"))
6919 (sha256
6920 (base32
6921 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6922 (build-system haskell-build-system)
6923 (inputs
6924 `(("ghc-base-compat" ,ghc-base-compat)
6925 ("ghc-hspec" ,ghc-hspec)
6926 ("ghc-quickcheck" ,ghc-quickcheck)
6927 ("ghc-silently" ,ghc-silently)
6928 ("ghc-stringbuilder" ,ghc-stringbuilder)
6929 ("ghc-temporary" ,ghc-temporary)
6930 ("hspec-discover" ,hspec-discover)))
6931 (home-page "https://github.com/sol/markdown-unlit#readme")
6932 (synopsis "Literate Haskell support for Markdown")
6933 (description "This package allows you to have a README.md that at the
6934same time is a literate Haskell program.")
6935 (license license:expat)))
6936
6937(define-public ghc-math-functions
6938 (package
6939 (name "ghc-math-functions")
b45de2bf 6940 (version "0.3.3.0")
dddbc90c
RV
6941 (source
6942 (origin
6943 (method url-fetch)
6944 (uri (string-append "https://hackage.haskell.org/package/"
6945 "math-functions-" version "/"
6946 "math-functions-" version ".tar.gz"))
6947 (sha256
6948 (base32
b45de2bf 6949 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6950 (build-system haskell-build-system)
6951 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6952 (inputs
b45de2bf
TS
6953 `(("ghc-data-default-class" ,ghc-data-default-class)
6954 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6955 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6956 (native-inputs
6957 `(("ghc-hunit" ,ghc-hunit)
6958 ("ghc-quickcheck" ,ghc-quickcheck)
6959 ("ghc-erf" ,ghc-erf)
6960 ("ghc-test-framework" ,ghc-test-framework)
6961 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6962 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6963 (home-page "https://github.com/bos/math-functions")
6964 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6965 (description "This Haskell library provides implementations of
6966special mathematical functions and Chebyshev polynomials. These
6967functions are often useful in statistical and numerical computing.")
6968 (license license:bsd-3)))
6969
6970(define-public ghc-megaparsec
6971 (package
6972 (name "ghc-megaparsec")
03b0c92e 6973 (version "7.0.5")
dddbc90c
RV
6974 (source
6975 (origin
6976 (method url-fetch)
6977 (uri (string-append "https://hackage.haskell.org/package/"
6978 "megaparsec/megaparsec-"
6979 version ".tar.gz"))
6980 (sha256
6981 (base32
03b0c92e 6982 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 6983 (build-system haskell-build-system)
dddbc90c
RV
6984 (inputs
6985 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6986 ("ghc-parser-combinators" ,ghc-parser-combinators)
6987 ("ghc-scientific" ,ghc-scientific)))
6988 (native-inputs
6989 `(("ghc-quickcheck" ,ghc-quickcheck)
6990 ("ghc-hspec" ,ghc-hspec)
6991 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6992 ("hspec-discover" ,hspec-discover)))
6993 (home-page "https://github.com/mrkkrp/megaparsec")
6994 (synopsis "Monadic parser combinators")
6995 (description
6996 "This is an industrial-strength monadic parser combinator library.
6997Megaparsec is a feature-rich package that strikes a nice balance between
6998speed, flexibility, and quality of parse errors.")
6999 (license license:bsd-2)))
7000
7001(define-public ghc-memory
7002 (package
7003 (name "ghc-memory")
d2c7d336 7004 (version "0.14.18")
dddbc90c
RV
7005 (source (origin
7006 (method url-fetch)
7007 (uri (string-append "https://hackage.haskell.org/package/"
7008 "memory/memory-" version ".tar.gz"))
7009 (sha256
7010 (base32
d2c7d336 7011 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
7012 (build-system haskell-build-system)
7013 (inputs
7014 `(("ghc-basement" ,ghc-basement)
7015 ("ghc-foundation" ,ghc-foundation)))
7016 (native-inputs
7017 `(("ghc-tasty" ,ghc-tasty)
7018 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7019 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7020 (home-page "https://github.com/vincenthz/hs-memory")
7021 (synopsis "Memory abstractions for Haskell")
7022 (description
7023 "This package provides memory abstractions, such as chunk of memory,
7024polymorphic byte array management and manipulation functions. It contains a
7025polymorphic byte array abstraction and functions similar to strict ByteString,
7026different type of byte array abstraction, raw memory IO operations (memory
7027set, memory copy, ..) and more")
7028 (license license:bsd-3)))
7029
7030(define-public ghc-memotrie
7031 (package
7032 (name "ghc-memotrie")
7033 (version "0.6.9")
7034 (source
7035 (origin
7036 (method url-fetch)
7037 (uri (string-append
7038 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
7039 version
7040 ".tar.gz"))
7041 (sha256
7042 (base32
7043 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
7044 (build-system haskell-build-system)
7045 (inputs
7046 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
7047 (home-page "https://github.com/conal/MemoTrie")
7048 (synopsis "Trie-based memo functions")
7049 (description "This package provides a functional library for creating
7050efficient memo functions using tries.")
7051 (license license:bsd-3)))
7052
7053(define-public ghc-microlens
7054 (package
7055 (name "ghc-microlens")
82478c58 7056 (version "0.4.10")
dddbc90c
RV
7057 (source
7058 (origin
7059 (method url-fetch)
7060 (uri (string-append "https://hackage.haskell.org/package/"
7061 "microlens-" version "/"
7062 "microlens-" version ".tar.gz"))
7063 (sha256
7064 (base32
82478c58 7065 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
7066 (build-system haskell-build-system)
7067 (home-page
7068 "https://github.com/aelve/microlens")
7069 (synopsis "Provides a tiny lens Haskell library with no dependencies")
7070 (description "This Haskell package provides a lens library, just like
7071@code{ghc-lens}, but smaller. It provides essential lenses and
7072traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
7073nice to have (like @code{each}, @code{at}, and @code{ix}), and some
7074combinators (like @code{failing} and @code{singular}), but everything else is
7075stripped. As the result, this package has no dependencies.")
7076 (license license:bsd-3)))
7077
1cd3333e
TS
7078(define-public ghc-microlens-aeson
7079 (package
7080 (name "ghc-microlens-aeson")
7081 (version "2.3.0.4")
7082 (source
7083 (origin
7084 (method url-fetch)
7085 (uri (string-append "https://hackage.haskell.org/package/"
7086 "microlens-aeson/microlens-aeson-"
7087 version ".tar.gz"))
b4a00fec 7088 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
7089 (sha256
7090 (base32
7091 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
7092 (build-system haskell-build-system)
7093 (inputs
7094 `(("ghc-aeson" ,ghc-aeson)
7095 ("ghc-attoparsec" ,ghc-attoparsec)
7096 ("ghc-hashable" ,ghc-hashable)
7097 ("ghc-microlens" ,ghc-microlens)
7098 ("ghc-scientific" ,ghc-scientific)
7099 ("ghc-unordered-containers" ,ghc-unordered-containers)
7100 ("ghc-vector" ,ghc-vector)))
7101 (native-inputs
7102 `(("ghc-tasty" ,ghc-tasty)
7103 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7104 (home-page "https://github.com/fosskers/microlens-aeson")
7105 (synopsis "Law-abiding lenses for Aeson, using microlens")
7106 (description "This library provides law-abiding lenses for Aeson, using
7107microlens.")
7108 (license license:expat)))
7109
dddbc90c
RV
7110(define-public ghc-microlens-ghc
7111 (package
7112 (name "ghc-microlens-ghc")
027beb55 7113 (version "0.4.10")
dddbc90c
RV
7114 (source
7115 (origin
7116 (method url-fetch)
7117 (uri (string-append
7118 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
7119 version
7120 ".tar.gz"))
7121 (sha256
7122 (base32
027beb55 7123 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
7124 (build-system haskell-build-system)
7125 (inputs `(("ghc-microlens" ,ghc-microlens)))
7126 (home-page "https://github.com/monadfix/microlens")
7127 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
7128 (description "This library provides everything that @code{microlens}
7129provides plus instances to make @code{each}, @code{at}, and @code{ix}
7130usable with arrays, @code{ByteString}, and containers. This package is
7131a part of the @uref{http://hackage.haskell.org/package/microlens,
7132microlens} family; see the readme
7133@uref{https://github.com/aelve/microlens#readme, on Github}.")
7134 (license license:bsd-3)))
7135
7136(define-public ghc-microlens-mtl
7137 (package
7138 (name "ghc-microlens-mtl")
7139 (version "0.1.11.1")
7140 (source
7141 (origin
7142 (method url-fetch)
7143 (uri (string-append
7144 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
7145 version
7146 ".tar.gz"))
7147 (sha256
7148 (base32
7149 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
7150 (build-system haskell-build-system)
7151 (inputs
7152 `(("ghc-microlens" ,ghc-microlens)
7153 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7154 (home-page "https://github.com/monadfix/microlens")
7155 (synopsis
7156 "@code{microlens} support for Reader/Writer/State from mtl")
7157 (description
7158 "This package contains functions (like @code{view} or @code{+=}) which
7159work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
7160mtl package. This package is a part of the
7161@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7162readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7163 (license license:bsd-3)))
7164
7165(define-public ghc-microlens-platform
7166 (package
7167 (name "ghc-microlens-platform")
85decc1f 7168 (version "0.3.11")
dddbc90c
RV
7169 (source
7170 (origin
7171 (method url-fetch)
7172 (uri (string-append
7173 "https://hackage.haskell.org/package/"
7174 "microlens-platform/microlens-platform-" version ".tar.gz"))
7175 (sha256
7176 (base32
85decc1f 7177 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
7178 (build-system haskell-build-system)
7179 (inputs
7180 `(("ghc-hashable" ,ghc-hashable)
7181 ("ghc-microlens" ,ghc-microlens)
7182 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
7183 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
7184 ("ghc-microlens-th" ,ghc-microlens-th)
7185 ("ghc-unordered-containers" ,ghc-unordered-containers)
7186 ("ghc-vector" ,ghc-vector)))
7187 (home-page "https://github.com/monadfix/microlens")
7188 (synopsis "Feature-complete microlens")
7189 (description
7190 "This package exports a module which is the recommended starting point
7191for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
7192you aren't trying to keep your dependencies minimal. By importing
7193@code{Lens.Micro.Platform} you get all functions and instances from
7194@uref{http://hackage.haskell.org/package/microlens, microlens},
7195@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
7196@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
7197@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
7198well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
7199minor and major versions of @code{microlens-platform} are incremented whenever
7200the minor and major versions of any other @code{microlens} package are
7201incremented, so you can depend on the exact version of
7202@code{microlens-platform} without specifying the version of @code{microlens}
7203you need. This package is a part of the
7204@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
7205readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
7206 (license license:bsd-3)))
7207
7208(define-public ghc-microlens-th
7209 (package
7210 (name "ghc-microlens-th")
7ae52867 7211 (version "0.4.2.3")
dddbc90c
RV
7212 (source
7213 (origin
7214 (method url-fetch)
7215 (uri (string-append "https://hackage.haskell.org/package/"
7216 "microlens-th-" version "/"
7217 "microlens-th-" version ".tar.gz"))
7218 (sha256
7219 (base32
7ae52867 7220 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 7221 (build-system haskell-build-system)
7ae52867
TS
7222 (arguments
7223 `(#:cabal-revision
7224 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
7225 (inputs `(("ghc-microlens" ,ghc-microlens)
7226 ("ghc-th-abstraction" ,ghc-th-abstraction)))
7227 (home-page
7228 "https://github.com/aelve/microlens")
7229 (synopsis "Automatic generation of record lenses for
7230@code{ghc-microlens}")
7231 (description "This Haskell package lets you automatically generate lenses
7232for data types; code was extracted from the lens package, and therefore
7233generated lenses are fully compatible with ones generated by lens (and can be
7234used both from lens and microlens).")
7235 (license license:bsd-3)))
7236
7237(define-public ghc-missingh
7238 (package
7239 (name "ghc-missingh")
641207cb 7240 (version "1.4.1.0")
dddbc90c
RV
7241 (source
7242 (origin
7243 (method url-fetch)
7244 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
7245 "MissingH-" version ".tar.gz"))
7246 (sha256
7247 (base32
641207cb 7248 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
7249 (build-system haskell-build-system)
7250 ;; Tests require the unmaintained testpack package, which depends on the
7251 ;; outdated QuickCheck version 2.7, which can no longer be built with
7252 ;; recent versions of GHC and Haskell libraries.
7253 (arguments '(#:tests? #f))
7254 (inputs
7255 `(("ghc-network" ,ghc-network)
7256 ("ghc-hunit" ,ghc-hunit)
7257 ("ghc-regex-compat" ,ghc-regex-compat)
7258 ("ghc-hslogger" ,ghc-hslogger)
7259 ("ghc-random" ,ghc-random)
7260 ("ghc-old-time" ,ghc-old-time)
7261 ("ghc-old-locale" ,ghc-old-locale)))
7262 (native-inputs
7263 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7264 ("ghc-quickcheck" ,ghc-quickcheck)
7265 ("ghc-hunit" ,ghc-hunit)))
7cde5203 7266 (home-page "https://software.complete.org/missingh")
dddbc90c
RV
7267 (synopsis "Large utility library")
7268 (description
7269 "MissingH is a library of all sorts of utility functions for Haskell
7270programmers. It is written in pure Haskell and thus should be extremely
7271portable and easy to use.")
7272 (license license:bsd-3)))
7273
7274(define-public ghc-mmap
7275 (package
7276 (name "ghc-mmap")
7277 (version "0.5.9")
7278 (source (origin
7279 (method url-fetch)
7280 (uri (string-append "https://hackage.haskell.org/package/"
7281 "mmap/mmap-" version ".tar.gz"))
7282 (sha256
7283 (base32
7284 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7285 (build-system haskell-build-system)
7286 (home-page "https://hackage.haskell.org/package/mmap")
7287 (synopsis "Memory mapped files for Haskell")
7288 (description
7289 "This library provides a wrapper to @code{mmap}, allowing files or
7290devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7291@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7292do on-demand loading.")
7293 (license license:bsd-3)))
7294
7295(define-public ghc-mmorph
7296 (package
7297 (name "ghc-mmorph")
e0389704 7298 (version "1.1.3")
dddbc90c
RV
7299 (source
7300 (origin
7301 (method url-fetch)
7302 (uri (string-append
7303 "https://hackage.haskell.org/package/mmorph/mmorph-"
7304 version
7305 ".tar.gz"))
7306 (sha256
7307 (base32
e0389704 7308 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7309 (build-system haskell-build-system)
7310 (inputs
7311 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7312 (home-page "https://hackage.haskell.org/package/mmorph")
7313 (synopsis "Monad morphisms")
7314 (description
7315 "This library provides monad morphism utilities, most commonly used for
7316manipulating monad transformer stacks.")
7317 (license license:bsd-3)))
7318
7319(define-public ghc-mockery
7320 (package
7321 (name "ghc-mockery")
7322 (version "0.3.5")
7323 (source (origin
7324 (method url-fetch)
7325 (uri (string-append "https://hackage.haskell.org/package/"
7326 "mockery/mockery-" version ".tar.gz"))
7327 (sha256
7328 (base32
7329 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7330 (build-system haskell-build-system)
7331 (inputs
7332 `(("ghc-temporary" ,ghc-temporary)
7333 ("ghc-logging-facade" ,ghc-logging-facade)
7334 ("ghc-base-compat" ,ghc-base-compat)))
7335 (native-inputs
7336 `(("ghc-hspec" ,ghc-hspec)
7337 ("hspec-discover" ,hspec-discover)))
7338 (home-page "https://hackage.haskell.org/package/mockery")
7339 (synopsis "Support functions for automated testing")
7340 (description
7341 "The mockery package provides support functions for automated testing.")
7342 (license license:expat)))
7343
7344(define-public ghc-monad-control
7345 (package
7346 (name "ghc-monad-control")
7347 (version "1.0.2.3")
7348 (source
7349 (origin
7350 (method url-fetch)
7351 (uri (string-append
7352 "https://hackage.haskell.org/package/monad-control"
7353 "/monad-control-" version ".tar.gz"))
7354 (sha256
7355 (base32
7356 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7357 (build-system haskell-build-system)
7358 (inputs
7359 `(("ghc-transformers-base" ,ghc-transformers-base)
7360 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7361 (home-page "https://github.com/basvandijk/monad-control")
7362 (synopsis "Monad transformers to lift control operations like exception
7363catching")
7364 (description "This package defines the type class @code{MonadBaseControl},
7365a subset of @code{MonadBase} into which generic control operations such as
7366@code{catch} can be lifted from @code{IO} or any other base monad.")
7367 (license license:bsd-3)))
7368
7369(define-public ghc-monad-logger
7370 (package
7371 (name "ghc-monad-logger")
26980aae 7372 (version "0.3.30")
dddbc90c
RV
7373 (source
7374 (origin
7375 (method url-fetch)
7376 (uri (string-append "https://hackage.haskell.org/package/"
7377 "monad-logger-" version "/"
7378 "monad-logger-" version ".tar.gz"))
7379 (sha256
7380 (base32
26980aae 7381 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7382 (build-system haskell-build-system)
7383 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7384 ("ghc-stm-chans" ,ghc-stm-chans)
7385 ("ghc-lifted-base" ,ghc-lifted-base)
7386 ("ghc-resourcet" ,ghc-resourcet)
7387 ("ghc-conduit" ,ghc-conduit)
7388 ("ghc-conduit-extra" ,ghc-conduit-extra)
7389 ("ghc-fast-logger" ,ghc-fast-logger)
7390 ("ghc-transformers-base" ,ghc-transformers-base)
7391 ("ghc-monad-control" ,ghc-monad-control)
7392 ("ghc-monad-loops" ,ghc-monad-loops)
7393 ("ghc-blaze-builder" ,ghc-blaze-builder)
7394 ("ghc-exceptions" ,ghc-exceptions)))
7395 (home-page "https://github.com/kazu-yamamoto/logger")
7396 (synopsis "Provides a class of monads which can log messages for Haskell")
7397 (description "This Haskell package uses a monad transformer approach
7398for logging.
7399
7400This package provides Template Haskell functions for determining source
7401code locations of messages.")
7402 (license license:expat)))
7403
7404(define-public ghc-monad-loops
7405 (package
7406 (name "ghc-monad-loops")
7407 (version "0.4.3")
7408 (source
7409 (origin
7410 (method url-fetch)
7411 (uri (string-append "https://hackage.haskell.org/package/"
7412 "monad-loops-" version "/"
7413 "monad-loops-" version ".tar.gz"))
7414 (sha256
7415 (base32
7416 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7417 (build-system haskell-build-system)
7418 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7419 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7420 (home-page "https://github.com/mokus0/monad-loops")
7421 (synopsis "Monadic loops for Haskell")
7422 (description "This Haskell package provides some useful control
7423operators for looping.")
7424 (license license:public-domain)))
7425
7426(define-public ghc-monad-par
7427 (package
7428 (name "ghc-monad-par")
7429 (version "0.3.4.8")
7430 (source
7431 (origin
7432 (method url-fetch)
7433 (uri (string-append "https://hackage.haskell.org/package/"
7434 "monad-par-" version "/"
7435 "monad-par-" version ".tar.gz"))
faac56f3 7436 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7437 (sha256
7438 (base32
7439 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7440 (build-system haskell-build-system)
7441 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7442 ("ghc-abstract-deque" ,ghc-abstract-deque)
7443 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7444 ("ghc-mwc-random" ,ghc-mwc-random)
7445 ("ghc-parallel" ,ghc-parallel)))
7446 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7447 ("ghc-hunit" ,ghc-hunit)
7448 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7449 ("ghc-test-framework-quickcheck2"
7450 ,ghc-test-framework-quickcheck2)
7451 ("ghc-test-framework" ,ghc-test-framework)
7452 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7453 (home-page "https://github.com/simonmar/monad-par")
7454 (synopsis "Haskell library for parallel programming based on a monad")
7455 (description "The @code{Par} monad offers an API for parallel
7456programming. The library works for parallelising both pure and @code{IO}
7457computations, although only the pure version is deterministic. The default
7458implementation provides a work-stealing scheduler and supports forking tasks
7459that are much lighter weight than IO-threads.")
7460 (license license:bsd-3)))
7461
7462(define-public ghc-monad-par-extras
7463 (package
7464 (name "ghc-monad-par-extras")
7465 (version "0.3.3")
7466 (source
7467 (origin
7468 (method url-fetch)
7469 (uri (string-append "https://hackage.haskell.org/package/"
7470 "monad-par-extras-" version "/"
7471 "monad-par-extras-" version ".tar.gz"))
7472 (sha256
7473 (base32
7474 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7475 (build-system haskell-build-system)
7476 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7477 ("ghc-cereal" ,ghc-cereal)
7478 ("ghc-random" ,ghc-random)))
7479 (home-page "https://github.com/simonmar/monad-par")
7480 (synopsis "Combinators and extra features for Par monads for Haskell")
7481 (description "This Haskell package provides additional data structures,
7482and other added capabilities layered on top of the @code{Par} monad.")
7483 (license license:bsd-3)))
7484
dddbc90c
RV
7485(define-public ghc-monadrandom
7486 (package
7487 (name "ghc-monadrandom")
7488 (version "0.5.1.1")
7489 (source
7490 (origin
7491 (method url-fetch)
7492 (uri (string-append "https://hackage.haskell.org/package/"
7493 "MonadRandom-" version "/"
7494 "MonadRandom-" version ".tar.gz"))
7495 (sha256
7496 (base32
7497 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7498 (build-system haskell-build-system)
7499 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7500 ("ghc-primitive" ,ghc-primitive)
7501 ("ghc-fail" ,ghc-fail)
7502 ("ghc-random" ,ghc-random)))
7503 (home-page "https://github.com/byorgey/MonadRandom")
7504 (synopsis "Random-number generation monad for Haskell")
7505 (description "This Haskell package provides support for computations
7506which consume random values.")
7507 (license license:bsd-3)))
7508
7509(define-public ghc-monads-tf
7510 (package
7511 (name "ghc-monads-tf")
7512 (version "0.1.0.3")
7513 (source
7514 (origin
7515 (method url-fetch)
7516 (uri (string-append
7517 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7518 version ".tar.gz"))
7519 (sha256
7520 (base32
7521 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7522 (build-system haskell-build-system)
7523 (home-page "https://hackage.haskell.org/package/monads-tf")
7524 (synopsis "Monad classes, using type families")
7525 (description
7526 "Monad classes using type families, with instances for various monad transformers,
7527inspired by the paper 'Functional Programming with Overloading and Higher-Order
7528Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7529the @code{mtl-tf} package.")
7530 (license license:bsd-3)))
7531
7532(define-public ghc-mono-traversable
7533 (package
7534 (name "ghc-mono-traversable")
23bb445b 7535 (version "1.0.13.0")
dddbc90c
RV
7536 (source
7537 (origin
7538 (method url-fetch)
7539 (uri (string-append "https://hackage.haskell.org/package/"
7540 "mono-traversable-" version "/"
7541 "mono-traversable-" version ".tar.gz"))
7542 (sha256
7543 (base32
23bb445b 7544 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7545 (build-system haskell-build-system)
7546 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7547 ("ghc-hashable" ,ghc-hashable)
7548 ("ghc-vector" ,ghc-vector)
7549 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7550 ("ghc-split" ,ghc-split)))
7551 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7552 ("ghc-hunit" ,ghc-hunit)
7553 ("ghc-quickcheck" ,ghc-quickcheck)
7554 ("ghc-semigroups" ,ghc-semigroups)
7555 ("ghc-foldl" ,ghc-foldl)))
7556 (home-page "https://github.com/snoyberg/mono-traversable")
7557 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7558containers")
7559 (description "This Haskell package provides Monomorphic variants of the
7560Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7561basic typeclasses, you understand mono-traversable. In addition to what
7562you are used to, it adds on an IsSequence typeclass and has code for marking
7563data structures as non-empty.")
7564 (license license:expat)))
7565
471e77cf
TS
7566(define-public ghc-monoid-extras
7567 (package
7568 (name "ghc-monoid-extras")
7569 (version "0.5.1")
7570 (source
7571 (origin
7572 (method url-fetch)
7573 (uri (string-append "https://hackage.haskell.org/package/"
7574 "monoid-extras/monoid-extras-" version ".tar.gz"))
7575 (sha256
7576 (base32
7577 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7578 (build-system haskell-build-system)
7579 (inputs
7580 `(("ghc-groups" ,ghc-groups)
7581 ("ghc-semigroups" ,ghc-semigroups)
7582 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7583 (arguments
7584 `(#:cabal-revision
7585 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7586 (home-page "https://hackage.haskell.org/package/monoid-extras")
7587 (synopsis "Various extra monoid-related definitions and utilities")
7588 (description "This package provides various extra monoid-related
7589definitions and utilities, such as monoid actions, monoid coproducts,
7590semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7591\"cut\" monoids.")
7592 (license license:bsd-3)))
7593
dddbc90c
RV
7594(define-public ghc-murmur-hash
7595 (package
7596 (name "ghc-murmur-hash")
7597 (version "0.1.0.9")
7598 (source
7599 (origin
7600 (method url-fetch)
7601 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7602 "/murmur-hash-" version ".tar.gz"))
7603 (sha256
7604 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7605 (build-system haskell-build-system)
7606 (home-page "https://github.com/nominolo/murmur-hash")
7607 (synopsis "MurmurHash2 implementation for Haskell")
7608 (description
7609 "This package provides an implementation of MurmurHash2, a good, fast,
7610general-purpose, non-cryptographic hashing function. See
7611@url{https://sites.google.com/site/murmurhash/} for details. This
7612implementation is pure Haskell, so it might be a bit slower than a C FFI
7613binding.")
7614 (license license:bsd-3)))
7615
7616(define-public ghc-mwc-random
7617 (package
7618 (name "ghc-mwc-random")
33268e2c 7619 (version "0.14.0.0")
dddbc90c
RV
7620 (source
7621 (origin
7622 (method url-fetch)
7623 (uri (string-append "https://hackage.haskell.org/package/"
7624 "mwc-random-" version "/"
7625 "mwc-random-" version ".tar.gz"))
7626 (sha256
7627 (base32
33268e2c 7628 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
7629 (build-system haskell-build-system)
7630 (inputs
7631 `(("ghc-primitive" ,ghc-primitive)
7632 ("ghc-vector" ,ghc-vector)
7633 ("ghc-math-functions" ,ghc-math-functions)))
7634 (arguments
7635 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7636 (native-inputs
7637 `(("ghc-hunit" ,ghc-hunit)
7638 ("ghc-quickcheck" ,ghc-quickcheck)
7639 ("ghc-test-framework" ,ghc-test-framework)
7640 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7641 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7642 (home-page "https://github.com/bos/mwc-random")
7643 (synopsis "Random number generation library for Haskell")
7644 (description "This Haskell package contains code for generating
7645high quality random numbers that follow either a uniform or normal
7646distribution. The generated numbers are suitable for use in
7647statistical applications.
7648
7649The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7650multiply-with-carry generator, which has a period of 2^{8222} and
7651fares well in tests of randomness. It is also extremely fast,
7652between 2 and 3 times faster than the Mersenne Twister.")
7653 (license license:bsd-3)))
7654
7655(define-public ghc-nats
7656 (package
7657 (name "ghc-nats")
7658 (version "1.1.2")
7659 (source
7660 (origin
7661 (method url-fetch)
7662 (uri (string-append
7663 "https://hackage.haskell.org/package/nats/nats-"
7664 version
7665 ".tar.gz"))
7666 (sha256
7667 (base32
7668 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7669 (build-system haskell-build-system)
7670 (arguments `(#:haddock? #f))
7671 (inputs
7672 `(("ghc-hashable" ,ghc-hashable)))
7673 (home-page "https://hackage.haskell.org/package/nats")
7674 (synopsis "Natural numbers")
7675 (description "This library provides the natural numbers for Haskell.")
7676 (license license:bsd-3)))
7677
7678(define-public ghc-nats-bootstrap
7679 (package
7680 (inherit ghc-nats)
7681 (name "ghc-nats-bootstrap")
7682 (inputs
7683 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7684 (properties '((hidden? #t)))))
7685
52915062
EF
7686(define-public ghc-ncurses
7687 (package
7688 (name "ghc-ncurses")
7689 (version "0.2.16")
7690 (source
7691 (origin
7692 (method url-fetch)
7693 (uri (string-append
7694 "https://hackage.haskell.org/package/ncurses/ncurses-"
7695 version ".tar.gz"))
7696 (sha256
7697 (base32
7698 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7699 (build-system haskell-build-system)
7700 (arguments
7701 '(#:phases
7702 (modify-phases %standard-phases
7703 (add-before 'build 'fix-includes
7704 (lambda _
7705 (substitute* '("cbits/hsncurses-shim.h"
7706 "lib/UI/NCurses.chs"
7707 "lib/UI/NCurses/Enums.chs"
7708 "lib/UI/NCurses/Panel.chs")
7709 (("<ncursesw/") "<"))
7710 #t)))
7711 #:cabal-revision
7712 ("1"
7713 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7714 (inputs `(("ncurses" ,ncurses)))
7715 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
7716 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7717 (synopsis "Modernised bindings to GNU ncurses")
7718 (description "GNU ncurses is a library for creating command-line application
7719with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7720ncurses.")
7721 (license license:gpl3)))
7722
dddbc90c
RV
7723(define-public ghc-network
7724 (package
7725 (name "ghc-network")
d4473202 7726 (version "2.8.0.1")
dddbc90c
RV
7727 (outputs '("out" "doc"))
7728 (source
7729 (origin
7730 (method url-fetch)
7731 (uri (string-append
7732 "https://hackage.haskell.org/package/network/network-"
7733 version
7734 ".tar.gz"))
7735 (sha256
7736 (base32
d4473202 7737 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
7738 (build-system haskell-build-system)
7739 ;; The regression tests depend on an unpublished module.
7740 (arguments `(#:tests? #f))
7741 (native-inputs
7742 `(("ghc-hunit" ,ghc-hunit)
7743 ("ghc-doctest" ,ghc-doctest)
7744 ("ghc-test-framework" ,ghc-test-framework)
7745 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
7746 (home-page "https://github.com/haskell/network")
7747 (synopsis "Low-level networking interface")
7748 (description
7749 "This package provides a low-level networking interface.")
7750 (license license:bsd-3)))
4780db2c 7751
30eebbe6
TS
7752(define-public ghc-network-bsd
7753 (package
7754 (name "ghc-network-bsd")
7755 (version "2.8.0.0")
7756 (source
7757 (origin
7758 (method url-fetch)
7759 (uri (string-append "https://hackage.haskell.org/package/"
7760 "network-bsd/network-bsd-" version ".tar.gz"))
7761 (sha256
7762 (base32
7763 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
7764 (build-system haskell-build-system)
7765 (inputs
7766 `(("ghc-network" ,ghc-network)))
7767 (home-page "https://github.com/haskell/network-bsd")
7768 (synopsis "POSIX network database (<netdb.h>) API")
7769 (description "This package provides Haskell bindings to the the POSIX
7770network database (<netdb.h>) API.")
7771 (license license:bsd-3)))
7772
096781a1
TS
7773(define-public ghc-network-byte-order
7774 (package
7775 (name "ghc-network-byte-order")
7776 (version "0.1.1.1")
7777 (source
7778 (origin
7779 (method url-fetch)
7780 (uri (string-append "https://hackage.haskell.org/package/"
7781 "network-byte-order/network-byte-order-"
7782 version ".tar.gz"))
7783 (sha256
7784 (base32
7785 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7786 (build-system haskell-build-system)
7787 (native-inputs
7788 `(("ghc-doctest" ,ghc-doctest)))
7789 (home-page "http://hackage.haskell.org/package/network-byte-order")
7790 (synopsis "Network byte order utilities")
7791 (description "This library provides peek and poke functions for network
7792byte order.")
7793 (license license:bsd-3)))
7794
dddbc90c
RV
7795(define-public ghc-network-info
7796 (package
7797 (name "ghc-network-info")
7798 (version "0.2.0.10")
7799 (source
7800 (origin
7801 (method url-fetch)
7802 (uri (string-append "https://hackage.haskell.org/package/"
7803 "network-info-" version "/"
7804 "network-info-" version ".tar.gz"))
7805 (sha256
7806 (base32
7807 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7808 (build-system haskell-build-system)
7809 (home-page "https://github.com/jystic/network-info")
7810 (synopsis "Access the local computer's basic network configuration")
7811 (description "This Haskell library provides simple read-only access to the
7812local computer's networking configuration. It is currently capable of
7813getting a list of all the network interfaces and their respective
7814IPv4, IPv6 and MAC addresses.")
7815 (license license:bsd-3)))
7816
7817(define-public ghc-network-uri
7818 (package
7819 (name "ghc-network-uri")
7820 (version "2.6.1.0")
7821 (outputs '("out" "doc"))
7822 (source
7823 (origin
7824 (method url-fetch)
7825 (uri (string-append
7826 "https://hackage.haskell.org/package/network-uri/network-uri-"
7827 version
7828 ".tar.gz"))
7829 (sha256
7830 (base32
7831 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7832 (build-system haskell-build-system)
7833 (arguments
7834 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7835 (inputs
7836 `(("ghc-network" ,ghc-network)))
7837 (native-inputs
7838 `(("ghc-hunit" ,ghc-hunit)))
7839 (home-page
7840 "https://github.com/haskell/network-uri")
7841 (synopsis "Library for URI manipulation")
7842 (description "This package provides an URI manipulation interface. In
7843@code{network-2.6} the @code{Network.URI} module was split off from the
7844@code{network} package into this package.")
7845 (license license:bsd-3)))
7846
7847(define-public ghc-newtype-generics
7848 (package
7849 (name "ghc-newtype-generics")
c07e16dd 7850 (version "0.5.4")
dddbc90c
RV
7851 (source
7852 (origin
7853 (method url-fetch)
7854 (uri (string-append "https://hackage.haskell.org/package/"
7855 "newtype-generics/newtype-generics-"
7856 version ".tar.gz"))
7857 (sha256
7858 (base32
c07e16dd 7859 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
7860 (build-system haskell-build-system)
7861 (native-inputs
7862 `(("ghc-hspec" ,ghc-hspec)
7863 ("hspec-discover" ,hspec-discover)))
7864 (home-page "http://github.com/sjakobi/newtype-generics")
7865 (synopsis "Typeclass and set of functions for working with newtypes")
7866 (description "The @code{Newtype} typeclass represents the packing and
7867unpacking of a newtype, and allows you to operate under that newtype with
7868functions such as @code{ala}. Generics support was added in version 0.4,
7869making this package a full replacement for the original newtype package,
7870and an alternative to newtype-th.")
7871 (license license:bsd-3)))
7872
6b652f5a
JS
7873(define-public ghc-non-negative
7874 (package
7875 (name "ghc-non-negative")
7876 (version "0.1.2")
7877 (source
7878 (origin
7879 (method url-fetch)
7880 (uri
7881 (string-append
7882 "https://hackage.haskell.org/package/non-negative/non-negative-"
7883 version ".tar.gz"))
7884 (sha256
7885 (base32
7886 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7887 (build-system haskell-build-system)
7888 (inputs
7889 `(("ghc-semigroups" ,ghc-semigroups)
7890 ("ghc-utility-ht" ,ghc-utility-ht)
7891 ("ghc-quickcheck" ,ghc-quickcheck)))
7892 (home-page "https://hackage.haskell.org/package/non-negative")
7893 (synopsis "Non-negative numbers class")
7894 (description "This library provides a class for non-negative numbers,
7895a wrapper which can turn any ordered numeric type into a member of that
7896class, and a lazy number type for non-negative numbers (a generalization
7897of Peano numbers).")
7898 (license license:gpl3+)))
7899
194a82e6
TS
7900(define-public ghc-numeric-extras
7901 (package
7902 (name "ghc-numeric-extras")
7903 (version "0.1")
7904 (source
7905 (origin
7906 (method url-fetch)
7907 (uri (string-append "https://hackage.haskell.org/package/"
7908 "numeric-extras/numeric-extras-"
7909 version ".tar.gz"))
7910 (sha256
7911 (base32
7912 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
7913 (build-system haskell-build-system)
7914 (home-page "https://github.com/ekmett/numeric-extras")
7915 (synopsis "Useful tools from the C standard library")
7916 (description "This library provides some useful tools from the C
7917standard library.")
7918 (license license:bsd-3)))
7919
dddbc90c
RV
7920(define-public ghc-objectname
7921 (package
7922 (name "ghc-objectname")
7923 (version "1.1.0.1")
7924 (source
7925 (origin
7926 (method url-fetch)
7927 (uri (string-append
7928 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7929 version
7930 ".tar.gz"))
7931 (sha256
7932 (base32
7933 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7934 (build-system haskell-build-system)
7935 (home-page "https://hackage.haskell.org/package/ObjectName")
7936 (synopsis "Helper library for Haskell OpenGL")
7937 (description "This tiny package contains the class ObjectName, which
7938corresponds to the general notion of explicitly handled identifiers for API
7939objects, e.g. a texture object name in OpenGL or a buffer object name in
7940OpenAL.")
7941 (license license:bsd-3)))
7942
7943(define-public ghc-old-locale
7944 (package
7945 (name "ghc-old-locale")
7946 (version "1.0.0.7")
7947 (source
7948 (origin
7949 (method url-fetch)
7950 (uri (string-append
7951 "https://hackage.haskell.org/package/old-locale/old-locale-"
7952 version
7953 ".tar.gz"))
7954 (sha256
7955 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7956 (build-system haskell-build-system)
7957 (arguments
7958 `(#:cabal-revision
7959 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7960 (home-page "https://hackage.haskell.org/package/old-locale")
7961 (synopsis "Adapt to locale conventions")
7962 (description
7963 "This package provides the ability to adapt to locale conventions such as
7964date and time formats.")
7965 (license license:bsd-3)))
7966
7967(define-public ghc-old-time
7968 (package
7969 (name "ghc-old-time")
7970 (version "1.1.0.3")
7971 (source
7972 (origin
7973 (method url-fetch)
7974 (uri (string-append
7975 "https://hackage.haskell.org/package/old-time/old-time-"
7976 version
7977 ".tar.gz"))
7978 (sha256
7979 (base32
7980 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7981 (build-system haskell-build-system)
7982 (arguments
7983 `(#:cabal-revision
7984 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7985 (inputs
7986 `(("ghc-old-locale" ,ghc-old-locale)))
7987 (home-page "https://hackage.haskell.org/package/old-time")
7988 (synopsis "Time compatibility library for Haskell")
7989 (description "Old-time is a package for backwards compatibility with the
7990old @code{time} library. For new projects, the newer
7991@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7992 (license license:bsd-3)))
7993
7994(define-public ghc-opengl
7995 (package
7996 (name "ghc-opengl")
79a06910 7997 (version "3.0.3.0")
dddbc90c
RV
7998 (source
7999 (origin
8000 (method url-fetch)
8001 (uri (string-append
8002 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
8003 version
8004 ".tar.gz"))
8005 (sha256
8006 (base32
79a06910 8007 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 8008 (build-system haskell-build-system)
79a06910
TS
8009 (arguments
8010 `(#:cabal-revision
8011 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
8012 (inputs
8013 `(("ghc-objectname" ,ghc-objectname)
8014 ("ghc-gluraw" ,ghc-gluraw)
8015 ("ghc-statevar" ,ghc-statevar)
8016 ("ghc-openglraw" ,ghc-openglraw)))
8017 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8018 (synopsis "Haskell bindings for the OpenGL graphics system")
8019 (description "This package provides Haskell bindings for the OpenGL
8020graphics system (GL, version 4.5) and its accompanying utility library (GLU,
8021version 1.3).")
8022 (license license:bsd-3)))
8023
8024(define-public ghc-openglraw
8025 (package
8026 (name "ghc-openglraw")
15ebc815 8027 (version "3.3.3.0")
dddbc90c
RV
8028 (source
8029 (origin
8030 (method url-fetch)
8031 (uri (string-append
8032 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
8033 version
8034 ".tar.gz"))
8035 (sha256
8036 (base32
15ebc815 8037 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
8038 (build-system haskell-build-system)
8039 (inputs
8040 `(("ghc-half" ,ghc-half)
8041 ("ghc-fixed" ,ghc-fixed)
8042 ("glu" ,glu)))
8043 (home-page "https://www.haskell.org/haskellwiki/Opengl")
8044 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
8045 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
8046graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
8047of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
8048offers access to all necessary functions, tokens and types plus a general
8049facility for loading extension entries. The module hierarchy closely mirrors
8050the naming structure of the OpenGL extensions, making it easy to find the
8051right module to import. All API entries are loaded dynamically, so no special
8052C header files are needed for building this package. If an API entry is not
8053found at runtime, a userError is thrown.")
8054 (license license:bsd-3)))
8055
8056(define-public ghc-operational
8057 (package
8058 (name "ghc-operational")
8059 (version "0.2.3.5")
8060 (source
8061 (origin
8062 (method url-fetch)
8063 (uri (string-append "https://hackage.haskell.org/package/operational/"
8064 "operational-" version ".tar.gz"))
8065 (sha256
8066 (base32
8067 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
8068 (build-system haskell-build-system)
8069 (inputs
8070 `(("ghc-random" ,ghc-random)))
8071 (home-page "http://wiki.haskell.org/Operational")
8072 (synopsis "Implementation of difficult monads made easy with operational semantics")
8073 (description
8074 "This library makes it easy to implement monads with tricky control
8075flow. This is useful for: writing web applications in a sequential style,
8076programming games with a uniform interface for human and AI players and easy
8077replay capababilities, implementing fast parser monads, designing monadic
8078DSLs, etc.")
8079 (license license:bsd-3)))
8080
8081(define-public ghc-options
8082 (package
8083 (name "ghc-options")
8084 (version "1.2.1.1")
8085 (source
8086 (origin
8087 (method url-fetch)
8088 (uri (string-append
8089 "https://hackage.haskell.org/package/options/options-"
8090 version ".tar.gz"))
8091 (sha256
8092 (base32
8093 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8094 (build-system haskell-build-system)
24cf2a8b
TS
8095 (arguments
8096 `(#:phases
8097 (modify-phases %standard-phases
8098 (add-before 'configure 'update-constraints
8099 (lambda _
8100 (substitute* "options.cabal"
8101 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
8102 #t)))))
dddbc90c
RV
8103 (inputs
8104 `(("ghc-monads-tf" ,ghc-monads-tf)
8105 ("ghc-chell" ,ghc-chell)
8106 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
8107 (home-page "https://john-millikin.com/software/haskell-options/")
8108 (synopsis "Powerful and easy-to-use command-line option parser")
8109 (description
8110 "The @code{options} package lets library and application developers
8111easily work with command-line options.")
8112 (license license:expat)))
8113
8114;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
8115(define ghc-options-bootstrap
8116 (package
8117 (name "ghc-options-bootstrap")
8118 (version "1.2.1.1")
8119 (source
8120 (origin
8121 (method url-fetch)
8122 (uri (string-append
8123 "https://hackage.haskell.org/package/options/options-"
8124 version ".tar.gz"))
8125 (sha256
8126 (base32
8127 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
8128 (build-system haskell-build-system)
8129 (arguments
8130 `(#:tests? #f))
8131 (inputs
8132 `(("ghc-monads-tf" ,ghc-monads-tf)))
8133 (home-page "https://john-millikin.com/software/haskell-options/")
8134 (synopsis "Powerful and easy-to-use command-line option parser")
8135 (description
8136 "The @code{options} package lets library and application developers
8137easily work with command-line options.")
8138 (license license:expat)))
8139
8140
8141(define-public ghc-optparse-applicative
8142 (package
8143 (name "ghc-optparse-applicative")
74bf6965 8144 (version "0.14.3.0")
dddbc90c
RV
8145 (source
8146 (origin
8147 (method url-fetch)
8148 (uri (string-append
8149 "https://hackage.haskell.org/package/optparse-applicative"
8150 "/optparse-applicative-" version ".tar.gz"))
8151 (sha256
8152 (base32
74bf6965 8153 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 8154 (build-system haskell-build-system)
74bf6965
TS
8155 (arguments
8156 `(#:cabal-revision
8157 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
8158 (inputs
8159 `(("ghc-transformers-compat" ,ghc-transformers-compat)
8160 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
8161 (native-inputs
8162 `(("ghc-quickcheck" ,ghc-quickcheck)))
8163 (home-page "https://github.com/pcapriotti/optparse-applicative")
8164 (synopsis "Utilities and combinators for parsing command line options")
8165 (description "This package provides utilities and combinators for parsing
8166command line options in Haskell.")
8167 (license license:bsd-3)))
8168
ba7cbae3
NG
8169(define-public ghc-doclayout
8170 (package
8171 (name "ghc-doclayout")
8172 (version "0.3")
8173 (source
8174 (origin
8175 (method url-fetch)
8176 (uri (string-append
8177 "https://hackage.haskell.org/package/doclayout/"
8178 "doclayout-" version ".tar.gz"))
8179 (sha256
8180 (base32 "1wmnwq28jcyd6c80srivsnd5znmyl9sgmwwnlk2crwiiwqadbal7"))))
8181 (build-system haskell-build-system)
8182 (inputs
8183 `(("ghc-safe" ,ghc-safe)))
8184 (native-inputs
8185 `(("ghc-tasty" ,ghc-tasty)
8186 ("ghc-tasty-golden" ,ghc-tasty-golden)
8187 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8188 (home-page "https://github.com/jgm/doclayout")
8189 (synopsis "Pretty-printing library for laying out text documents")
8190 (description
8191 "doclayout is a pretty-printing library for laying out text documents,
8192with several features not present in pretty-printing libraries designed for
8193code. It was designed for use in @code{Pandoc}.")
8194 (license license:bsd-3)))
8195
dddbc90c
RV
8196(define-public ghc-pandoc
8197 (package
8198 (name "ghc-pandoc")
d9b1567a 8199 (version "2.7.3")
dddbc90c
RV
8200 (source
8201 (origin
8202 (method url-fetch)
8203 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
8204 version ".tar.gz"))
d9b1567a
TS
8205 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
8206 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
8207 (sha256
8208 (base32
d9b1567a 8209 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 8210 (build-system haskell-build-system)
dddbc90c
RV
8211 (inputs
8212 `(("ghc-aeson" ,ghc-aeson)
8213 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8214 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8215 ("ghc-blaze-html" ,ghc-blaze-html)
8216 ("ghc-blaze-markup" ,ghc-blaze-markup)
8217 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
8218 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
8219 ("ghc-diff" ,ghc-diff)
8220 ("ghc-doctemplates" ,ghc-doctemplates)
8221 ("ghc-executable-path" ,ghc-executable-path)
8222 ("ghc-glob" ,ghc-glob)
8223 ("ghc-haddock-library" ,ghc-haddock-library)
8224 ("ghc-hslua" ,ghc-hslua)
d9b1567a 8225 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 8226 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 8227 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
8228 ("ghc-http" ,ghc-http)
8229 ("ghc-http-client" ,ghc-http-client)
8230 ("ghc-http-client-tls" ,ghc-http-client-tls)
8231 ("ghc-http-types" ,ghc-http-types)
d9b1567a 8232 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
8233 ("ghc-juicypixels" ,ghc-juicypixels)
8234 ("ghc-network" ,ghc-network)
8235 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
8236 ("ghc-pandoc-types" ,ghc-pandoc-types)
8237 ("ghc-random" ,ghc-random)
8238 ("ghc-scientific" ,ghc-scientific)
8239 ("ghc-sha" ,ghc-sha)
8240 ("ghc-skylighting" ,ghc-skylighting)
8241 ("ghc-split" ,ghc-split)
8242 ("ghc-syb" ,ghc-syb)
8243 ("ghc-tagsoup" ,ghc-tagsoup)
8244 ("ghc-temporary" ,ghc-temporary)
8245 ("ghc-texmath" ,ghc-texmath)
d9b1567a 8246 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
8247 ("ghc-unordered-containers" ,ghc-unordered-containers)
8248 ("ghc-vector" ,ghc-vector)
8249 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
8250 ("ghc-zip-archive" ,ghc-zip-archive)
8251 ("ghc-zlib" ,ghc-zlib)))
8252 (native-inputs
8253 `(("ghc-tasty" ,ghc-tasty)
8254 ("ghc-tasty-golden" ,ghc-tasty-golden)
8255 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 8256 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
8257 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8258 ("ghc-quickcheck" ,ghc-quickcheck)
8259 ("ghc-hunit" ,ghc-hunit)))
8260 (home-page "https://pandoc.org")
8261 (synopsis "Conversion between markup formats")
8262 (description
8263 "Pandoc is a Haskell library for converting from one markup format to
8264another, and a command-line tool that uses this library. It can read and
8265write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
8266LaTeX, DocBook, and many more.
8267
8268Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
8269definition lists, tables, and other features. A compatibility mode is
8270provided for those who need a drop-in replacement for Markdown.pl.")
8271 (license license:gpl2+)))
8272
8273(define-public ghc-pandoc-citeproc
8274 (package
8275 (name "ghc-pandoc-citeproc")
2da02d09 8276 (version "0.16.2")
dddbc90c
RV
8277 (source
8278 (origin
8279 (method url-fetch)
8280 (uri (string-append "https://hackage.haskell.org/package/"
8281 "pandoc-citeproc/pandoc-citeproc-"
8282 version ".tar.gz"))
8283 (sha256
8284 (base32
2da02d09 8285 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
8286 (build-system haskell-build-system)
8287 (arguments
8288 `(#:phases
8289 (modify-phases %standard-phases
8290 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8291 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8292 (add-before 'configure 'patch-tests
8293 (lambda _
8294 (substitute* "tests/test-pandoc-citeproc.hs"
8295 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8296 "let allTests = citeprocTests"))))
8297 ;; Tests need to be run after installation.
8298 (delete 'check)
8299 (add-after 'install 'post-install-check
8300 (assoc-ref %standard-phases 'check)))))
8301 (inputs
8302 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8303 ("ghc-pandoc" ,ghc-pandoc)
8304 ("ghc-tagsoup" ,ghc-tagsoup)
8305 ("ghc-aeson" ,ghc-aeson)
8306 ("ghc-vector" ,ghc-vector)
8307 ("ghc-xml-conduit" ,ghc-xml-conduit)
8308 ("ghc-unordered-containers" ,ghc-unordered-containers)
8309 ("ghc-data-default" ,ghc-data-default)
8310 ("ghc-setenv" ,ghc-setenv)
8311 ("ghc-split" ,ghc-split)
8312 ("ghc-yaml" ,ghc-yaml)
8313 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8314 ("ghc-rfc5051" ,ghc-rfc5051)
8315 ("ghc-syb" ,ghc-syb)
8316 ("ghc-old-locale" ,ghc-old-locale)
8317 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8318 ("ghc-attoparsec" ,ghc-attoparsec)
8319 ("ghc-temporary" ,ghc-temporary)))
8320 (home-page "https://github.com/jgm/pandoc-citeproc")
8321 (synopsis "Library for using pandoc with citeproc")
8322 (description
8323 "The @code{pandoc-citeproc} library exports functions for using the
8324citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8325rendering bibliographic reference citations into a variety of styles using a
8326macro language called @dfn{Citation Style Language} (CSL). This package also
8327contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8328and also has a mode for converting bibliographic databases a YAML format
8329suitable for inclusion in pandoc YAML metadata.")
8330 (license license:bsd-3)))
8331
8332(define-public ghc-pandoc-types
8333 (package
8334 (name "ghc-pandoc-types")
0eaa88c8 8335 (version "1.17.6.1")
dddbc90c
RV
8336 (source (origin
8337 (method url-fetch)
8338 (uri (string-append "https://hackage.haskell.org/package/"
8339 "pandoc-types/pandoc-types-"
8340 version ".tar.gz"))
8341 (sha256
8342 (base32
0eaa88c8 8343 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8344 (build-system haskell-build-system)
8345 (inputs
8346 `(("ghc-syb" ,ghc-syb)
8347 ("ghc-aeson" ,ghc-aeson)
8348 ("ghc-string-qq" ,ghc-string-qq)))
8349 (native-inputs
8350 `(("ghc-quickcheck" ,ghc-quickcheck)
8351 ("ghc-test-framework" ,ghc-test-framework)
8352 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8353 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8354 ("ghc-hunit" ,ghc-hunit)))
8355 (home-page "http://johnmacfarlane.net/pandoc")
8356 (synopsis "Types for representing a structured document")
8357 (description
8358 "This module defines the @code{Pandoc} data structure, which is used by
8359pandoc to represent structured documents. It also provides functions for
8360building up, manipulating and serialising @code{Pandoc} structures.")
8361 (license license:bsd-3)))
8362
8363(define-public ghc-parallel
8364 (package
8365 (name "ghc-parallel")
8366 (version "3.2.2.0")
8367 (outputs '("out" "doc"))
8368 (source
8369 (origin
8370 (method url-fetch)
8371 (uri (string-append
8372 "https://hackage.haskell.org/package/parallel/parallel-"
8373 version
8374 ".tar.gz"))
8375 (sha256
8376 (base32
8377 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8378 (build-system haskell-build-system)
8379 (home-page "https://hackage.haskell.org/package/parallel")
8380 (synopsis "Parallel programming library")
8381 (description
8382 "This package provides a library for parallel programming.")
8383 (license license:bsd-3)))
8384
8385(define-public ghc-parsec-numbers
8386 (package
8387 (name "ghc-parsec-numbers")
8388 (version "0.1.0")
8389 (source
8390 (origin
8391 (method url-fetch)
8392 (uri (string-append "https://hackage.haskell.org/package/"
8393 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8394 (sha256
8395 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8396 (build-system haskell-build-system)
8397 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8398 (synopsis "Utilities for parsing numbers from strings")
8399 (description
8400 "This package provides the number parsers without the need to use a large
8401(and unportable) token parser.")
8402 (license license:bsd-3)))
8403
8404(define-public ghc-parser-combinators
8405 (package
8406 (name "ghc-parser-combinators")
2f173160 8407 (version "1.1.0")
dddbc90c
RV
8408 (source
8409 (origin
8410 (method url-fetch)
8411 (uri (string-append "https://hackage.haskell.org/package/"
8412 "parser-combinators/parser-combinators-"
8413 version ".tar.gz"))
8414 (sha256
8415 (base32
2f173160 8416 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8417 (build-system haskell-build-system)
8418 (home-page "https://github.com/mrkkrp/parser-combinators")
8419 (synopsis "Commonly useful parser combinators")
8420 (description
8421 "This is a lightweight package providing commonly useful parser
8422combinators.")
8423 (license license:bsd-3)))
8424
8425(define-public ghc-parsers
8426 (package
8427 (name "ghc-parsers")
6818f970 8428 (version "0.12.10")
dddbc90c
RV
8429 (source
8430 (origin
8431 (method url-fetch)
8432 (uri (string-append
8433 "https://hackage.haskell.org/package/parsers/parsers-"
8434 version
8435 ".tar.gz"))
8436 (sha256
8437 (base32
6818f970 8438 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8439 (build-system haskell-build-system)
8440 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8441 ; -package attoparsec-0.13.0.1"
8442 (inputs
8443 `(("ghc-base-orphans" ,ghc-base-orphans)
8444 ("ghc-attoparsec" ,ghc-attoparsec)
8445 ("ghc-scientific" ,ghc-scientific)
8446 ("ghc-charset" ,ghc-charset)
8447 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8448 (home-page "https://github.com/ekmett/parsers/")
8449 (synopsis "Parsing combinators")
8450 (description "This library provides convenient combinators for working
8451with and building parsing combinator libraries. Given a few simple instances,
8452you get access to a large number of canned definitions. Instances exist for
8453the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8454@code{Text.Read}.")
8455 (license license:bsd-3)))
8456
8457(define-public ghc-path
8458 (package
8459 (name "ghc-path")
8460 (version "0.6.1")
8461 (source
8462 (origin
8463 (method url-fetch)
8464 (uri (string-append
8465 "https://hackage.haskell.org/package/path/path-"
8466 version
8467 ".tar.gz"))
8468 (sha256
8469 (base32
8470 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8471 (build-system haskell-build-system)
8472 (arguments
8473 ;; TODO: There are some Windows-related tests and modules that need to be
8474 ;; danced around.
8475 `(#:tests? #f
8476 #:cabal-revision
8477 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
8478 (inputs
8479 `(("ghc-aeson" ,ghc-aeson)
8480 ("ghc-exceptions" ,ghc-exceptions)
8481 ("ghc-hashable" ,ghc-hashable)))
8482 (native-inputs
8483 `(("ghc-hspec" ,ghc-hspec)
8484 ("ghc-quickcheck" ,ghc-quickcheck)
8485 ("ghc-genvalidity" ,ghc-genvalidity)
8486 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
8487 ("ghc-hspec" ,ghc-hspec)
8488 ("ghc-validity" ,ghc-validity)))
8489 (home-page
8490 "http://hackage.haskell.org/package/path")
8491 (synopsis "Support for well-typed paths")
8492 (description "This package introduces a type for paths upholding useful
8493invariants.")
8494 (license license:bsd-3)))
8495
8496(define-public ghc-path-io
8497 (package
8498 (name "ghc-path-io")
a06613ea 8499 (version "1.4.2")
dddbc90c
RV
8500 (source
8501 (origin
8502 (method url-fetch)
8503 (uri (string-append
8504 "https://hackage.haskell.org/package/path-io/path-io-"
8505 version
8506 ".tar.gz"))
8507 (sha256
8508 (base32
a06613ea 8509 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
8510 (build-system haskell-build-system)
8511 (inputs
8512 `(("ghc-dlist" ,ghc-dlist)
8513 ("ghc-exceptions" ,ghc-exceptions)
8514 ("ghc-path" ,ghc-path)
8515 ("ghc-transformers-base" ,ghc-transformers-base)
8516 ("ghc-unix-compat" ,ghc-unix-compat)
8517 ("ghc-temporary" ,ghc-temporary)))
8518 (native-inputs
8519 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
8520 (home-page
8521 "https://github.com/mrkkrp/path-io")
8522 (synopsis "Functions for manipulating well-typed paths")
8523 (description "This package provides an interface to the @code{directory}
8524package for users of @code{path}. It also implements some missing stuff like
8525recursive scanning and copying of directories, working with temporary
8526files/directories, and more.")
8527 (license license:bsd-3)))
8528
8529(define-public ghc-paths
8530 (package
8531 (name "ghc-paths")
9a8adeb1 8532 (version "0.1.0.12")
dddbc90c
RV
8533 (outputs '("out" "doc"))
8534 (source
8535 (origin
8536 (method url-fetch)
8537 (uri (string-append
8538 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
8539 version
8540 ".tar.gz"))
8541 (sha256
8542 (base32
9a8adeb1 8543 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
8544 (build-system haskell-build-system)
8545 (home-page "https://github.com/simonmar/ghc-paths")
8546 (synopsis
8547 "Knowledge of GHC's installation directories")
8548 (description
8549 "Knowledge of GHC's installation directories.")
8550 (license license:bsd-3)))
8551
8552(define-public ghc-patience
8553 (package
8554 (name "ghc-patience")
484476f3 8555 (version "0.3")
dddbc90c
RV
8556 (source
8557 (origin
8558 (method url-fetch)
8559 (uri (string-append
8560 "https://hackage.haskell.org/package/patience/patience-"
8561 version ".tar.gz"))
8562 (sha256
8563 (base32
484476f3 8564 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
8565 (build-system haskell-build-system)
8566 (home-page "https://hackage.haskell.org/package/patience")
8567 (synopsis "Patience diff and longest increasing subsequence")
8568 (description
8569 "This library implements the 'patience diff' algorithm, as well as the
8570patience algorithm for the longest increasing subsequence problem.
8571Patience diff computes the difference between two lists, for example the lines
8572of two versions of a source file. It provides a good balance between
8573performance, nice output for humans, and simplicity of implementation.")
8574 (license license:bsd-3)))
8575
8576(define-public ghc-pcre-light
8577 (package
8578 (name "ghc-pcre-light")
8579 (version "0.4.0.4")
8580 (source
8581 (origin
8582 (method url-fetch)
8583 (uri (string-append
8584 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
8585 version
8586 ".tar.gz"))
8587 (sha256
8588 (base32
8589 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
8590 (build-system haskell-build-system)
8591 (inputs
8592 `(("pcre" ,pcre)))
8593 (native-inputs
8594 `(("pkg-config" ,pkg-config)))
8595 (home-page "https://github.com/Daniel-Diaz/pcre-light")
8596 (synopsis "Haskell library for Perl 5 compatible regular expressions")
8597 (description "This package provides a small, efficient, and portable regex
8598library for Perl 5 compatible regular expressions. The PCRE library is a set
8599of functions that implement regular expression pattern matching using the same
8600syntax and semantics as Perl 5.")
8601 (license license:bsd-3)))
8602
8603(define-public ghc-persistent
8604 (package
8605 (name "ghc-persistent")
18a38da5 8606 (version "2.9.2")
dddbc90c
RV
8607 (source
8608 (origin
8609 (method url-fetch)
8610 (uri (string-append "https://hackage.haskell.org/package/"
8611 "persistent-" version "/"
8612 "persistent-" version ".tar.gz"))
8613 (sha256
8614 (base32
18a38da5 8615 "1wsa3kn427v88a6r0vwr6mz23snik2krbsgc8zqp18xajqn5szj9"))))
dddbc90c
RV
8616 (build-system haskell-build-system)
8617 (inputs `(("ghc-old-locale" ,ghc-old-locale)
8618 ("ghc-conduit" ,ghc-conduit)
8619 ("ghc-resourcet" ,ghc-resourcet)
8620 ("ghc-exceptions" ,ghc-exceptions)
8621 ("ghc-monad-control" ,ghc-monad-control)
8622 ("ghc-lifted-base" ,ghc-lifted-base)
8623 ("ghc-resource-pool" ,ghc-resource-pool)
8624 ("ghc-path-pieces" ,ghc-path-pieces)
8625 ("ghc-http-api-data" ,ghc-http-api-data)
8626 ("ghc-aeson" ,ghc-aeson)
8627 ("ghc-monad-logger" ,ghc-monad-logger)
8628 ("ghc-transformers-base" ,ghc-transformers-base)
8629 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8630 ("ghc-unordered-containers" ,ghc-unordered-containers)
8631 ("ghc-vector" ,ghc-vector)
8632 ("ghc-attoparsec" ,ghc-attoparsec)
8633 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
8634 ("ghc-blaze-html" ,ghc-blaze-html)
8635 ("ghc-blaze-markup" ,ghc-blaze-markup)
8636 ("ghc-silently" ,ghc-silently)
8637 ("ghc-fast-logger" ,ghc-fast-logger)
8638 ("ghc-scientific" ,ghc-scientific)
8639 ("ghc-tagged" ,ghc-tagged)
8640 ("ghc-void" ,ghc-void)))
8641 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
8642 (home-page "https://www.yesodweb.com/book/persistent")
8643 (synopsis "Type-safe, multi-backend data serialization for Haskell")
8644 (description "This Haskell package allows Haskell programs to access data
8645storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
8646way.")
8647 (license license:expat)))
8648
8649(define-public ghc-persistent-sqlite
8650 (package
8651 (name "ghc-persistent-sqlite")
801fbd7e 8652 (version "2.9.3")
dddbc90c
RV
8653 (source
8654 (origin
8655 (method url-fetch)
8656 (uri (string-append "https://hackage.haskell.org/package/"
8657 "persistent-sqlite-" version "/"
8658 "persistent-sqlite-" version ".tar.gz"))
8659 (sha256
8660 (base32
801fbd7e 8661 "13wbn88ixv4d4dfjl1gabm1q60fbcnygbmixz57pi3z84drrynwq"))))
dddbc90c
RV
8662 (build-system haskell-build-system)
8663 (inputs `(("ghc-persistent" ,ghc-persistent)
8664 ("ghc-unliftio-core" ,ghc-unliftio-core)
8665 ("ghc-aeson" ,ghc-aeson)
8666 ("ghc-conduit" ,ghc-conduit)
8667 ("ghc-monad-logger" ,ghc-monad-logger)
8668 ("ghc-microlens-th" ,ghc-microlens-th)
8669 ("ghc-resourcet" ,ghc-resourcet)
8670 ("ghc-old-locale" ,ghc-old-locale)
8671 ("ghc-resource-pool" ,ghc-resource-pool)
8672 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8673 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8674 ("ghc-persistent-template" ,ghc-persistent-template)
8675 ("ghc-temporary" ,ghc-temporary)))
8676 (home-page
8677 "https://www.yesodweb.com/book/persistent")
8678 (synopsis "Backend for the persistent library using sqlite3")
8679 (description "This Haskell package includes a thin sqlite3 wrapper based
8680on the direct-sqlite package, as well as the entire C library, so there are no
8681system dependencies.")
8682 (license license:expat)))
8683
8684(define-public ghc-persistent-template
8685 (package
8686 (name "ghc-persistent-template")
bc78e0d9 8687 (version "2.6.0")
dddbc90c
RV
8688 (source
8689 (origin
8690 (method url-fetch)
8691 (uri (string-append "https://hackage.haskell.org/package/"
8692 "persistent-template-" version "/"
8693 "persistent-template-" version ".tar.gz"))
8694 (sha256
8695 (base32
bc78e0d9 8696 "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv"))))
dddbc90c 8697 (build-system haskell-build-system)
dddbc90c
RV
8698 (inputs `(("ghc-persistent" ,ghc-persistent)
8699 ("ghc-monad-control" ,ghc-monad-control)
8700 ("ghc-aeson" ,ghc-aeson)
8701 ("ghc-aeson-compat" ,ghc-aeson-compat)
8702 ("ghc-monad-logger" ,ghc-monad-logger)
8703 ("ghc-unordered-containers" ,ghc-unordered-containers)
8704 ("ghc-tagged" ,ghc-tagged)
8705 ("ghc-path-pieces" ,ghc-path-pieces)
8706 ("ghc-http-api-data" ,ghc-http-api-data)))
8707 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8708 ("ghc-quickcheck" ,ghc-quickcheck)))
8709 (home-page "https://www.yesodweb.com/book/persistent")
8710 (synopsis "Type-safe, non-relational, multi-backend persistence")
8711 (description "This Haskell package provides interfaces and helper
8712functions for the ghc-persistent package.")
8713 (license license:expat)))
8714
4639fa32
ASM
8715(define-public ghc-pipes
8716 (package
8717 (name "ghc-pipes")
8718 (version "4.3.13")
8719 (source
8720 (origin
8721 (method url-fetch)
8722 (uri (string-append
8723 "https://hackage.haskell.org/package/pipes/"
8724 "pipes-" version ".tar.gz"))
8725 (sha256
8726 (base32
8727 "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn"))))
8728 (build-system haskell-build-system)
8729 (inputs
8730 `(("ghc-exceptions" ,ghc-exceptions)
8731 ("ghc-mmorph" ,ghc-mmorph)
8732 ("ghc-void" ,ghc-void)
8733 ("ghc-semigroups" ,ghc-semigroups)))
8734 (native-inputs
8735 `(("ghc-quickcheck" ,ghc-quickcheck)
8736 ("ghc-test-framework" ,ghc-test-framework)
8737 ("ghc-test-framework-quickcheck2"
8738 ,ghc-test-framework-quickcheck2)))
8739 (home-page
8740 "https://hackage.haskell.org/package/pipes")
8741 (synopsis "Compositional pipelines")
8742 (description
8743 "A clean and powerful stream processing library that lets you build
8744and connect reusable streaming components. Advantages over traditional streaming
8745libraries:
8746@itemize
8747@item Concise API: Use simple commands like @code{for}, (@code{>->}), @code{await},
8748and @code{yield}
8749@item Blazing fast: Implementation tuned for speed, including shortcut fusion
8750@item Lightweight Dependency: pipes is small and compiles very rapidly, including
8751dependencies
8752@item Elegant semantics: Use practical category theory
8753@item ListT: Correct implementation of @code{ListT} that interconverts with pipes
8754@item Bidirectionality: Implement duplex channels
8755@end itemize")
8756 (license license:bsd-3)))
8757
451775a5
ASM
8758(define-public ghc-pointedlist
8759 (package
8760 (name "ghc-pointedlist")
8761 (version "0.6.1")
8762 (source
8763 (origin
8764 (method url-fetch)
8765 (uri (string-append
8766 "https://hackage.haskell.org/package/pointedlist/"
8767 "pointedlist-" version ".tar.gz"))
8768 (sha256
8769 (base32
8770 "16xsrzqql7i4z6a3xy07sqnbyqdmcar1jiacla58y4mvkkwb0g3l"))))
8771 (build-system haskell-build-system)
8772 (home-page
8773 "http://hackage.haskell.org/package/pointedlist")
8774 (synopsis
8775 "Zipper-like comonad which works as a list, tracking a position")
8776 (description
8777 "A PointedList tracks the position in a non-empty list which works
8778similarly to a zipper. A current item is always required, and therefore
8779the list may never be empty. A circular PointedList wraps around to the
8780other end when progressing past the actual edge.")
8781 (license license:bsd-3)))
8782
dddbc90c
RV
8783(define-public ghc-polyparse
8784 (package
8785 (name "ghc-polyparse")
9822b9ca 8786 (version "1.12.1")
dddbc90c
RV
8787 (source
8788 (origin
8789 (method url-fetch)
8790 (uri (string-append
8791 "https://hackage.haskell.org/package/polyparse/polyparse-"
8792 version
8793 ".tar.gz"))
8794 (sha256
8795 (base32
9822b9ca 8796 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
8797 (build-system haskell-build-system)
8798 (home-page
8799 "http://code.haskell.org/~malcolm/polyparse/")
8800 (synopsis
8801 "Alternative parser combinator libraries")
8802 (description
8803 "This package provides a variety of alternative parser combinator
8804libraries, including the original HuttonMeijer set. The Poly sets have
8805features like good error reporting, arbitrary token type, running state, lazy
8806parsing, and so on. Finally, Text.Parse is a proposed replacement for the
8807standard Read class, for better deserialisation of Haskell values from
8808Strings.")
8809 (license license:lgpl2.1)))
8810
8811(define-public ghc-pqueue
8812 (package
8813 (name "ghc-pqueue")
142415b0 8814 (version "1.4.1.2")
dddbc90c
RV
8815 (source
8816 (origin
8817 (method url-fetch)
8818 (uri (string-append "https://hackage.haskell.org/package/"
8819 "pqueue/pqueue-" version ".tar.gz"))
8820 (sha256
8821 (base32
142415b0 8822 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
8823 (build-system haskell-build-system)
8824 (native-inputs
8825 `(("ghc-quickcheck" ,ghc-quickcheck)))
8826 (home-page "https://hackage.haskell.org/package/pqueue")
8827 (synopsis "Reliable, persistent, fast priority queues")
8828 (description
8829 "This package provides a fast, reliable priority queue implementation
8830based on a binomial heap.")
8831 (license license:bsd-3)))
8832
8833(define-public ghc-prelude-extras
8834 (package
8835 (name "ghc-prelude-extras")
8836 (version "0.4.0.3")
8837 (source
8838 (origin
8839 (method url-fetch)
8840 (uri (string-append
8841 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
8842 version
8843 ".tar.gz"))
8844 (sha256
8845 (base32
8846 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
8847 (build-system haskell-build-system)
8848 (home-page "https://github.com/ekmett/prelude-extras")
8849 (synopsis "Higher order versions of Prelude classes")
8850 (description "This library provides higher order versions of
8851@code{Prelude} classes to ease programming with polymorphic recursion and
8852reduce @code{UndecidableInstances}.")
8853 (license license:bsd-3)))
8854
8855(define-public ghc-prettyclass
8856 (package
8857 (name "ghc-prettyclass")
8858 (version "1.0.0.0")
8859 (source
8860 (origin
8861 (method url-fetch)
8862 (uri (string-append "https://hackage.haskell.org/package/"
8863 "prettyclass/prettyclass-" version ".tar.gz"))
8864 (sha256
8865 (base32
8866 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
8867 (build-system haskell-build-system)
8868 (home-page "http://hackage.haskell.org/package/prettyclass")
8869 (synopsis "Pretty printing class similar to Show")
8870 (description "This package provides a pretty printing class similar
8871to @code{Show}, based on the HughesPJ pretty printing library. It
8872provides the pretty printing class and instances for the Prelude
8873types.")
8874 (license license:bsd-3)))
8875
8876(define-public ghc-pretty-hex
8877 (package
8878 (name "ghc-pretty-hex")
8879 (version "1.0")
8880 (source
8881 (origin
8882 (method url-fetch)
8883 (uri (string-append "https://hackage.haskell.org/package/"
8884 "pretty-hex-" version "/"
8885 "pretty-hex-" version ".tar.gz"))
8886 (sha256
8887 (base32
8888 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
8889 (build-system haskell-build-system)
8890 (home-page "https://github.com/GaloisInc/hexdump")
8891 (synopsis "Haskell library for hex dumps of ByteStrings")
8892 (description "This Haskell library generates pretty hex dumps of
8893ByteStrings in the style of other common *nix hex dump tools.")
8894 (license license:bsd-3)))
8895
8896(define-public ghc-pretty-show
8897 (package
8898 (name "ghc-pretty-show")
7683a084 8899 (version "1.9.5")
dddbc90c
RV
8900 (source
8901 (origin
8902 (method url-fetch)
8903 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
8904 "pretty-show-" version ".tar.gz"))
8905 (sha256
8906 (base32
7683a084 8907 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
8908 (build-system haskell-build-system)
8909 (inputs
8910 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
8911 ("ghc-happy" ,ghc-happy)))
8912 (home-page "http://wiki.github.com/yav/pretty-show")
8913 (synopsis "Tools for working with derived `Show` instances")
8914 (description
8915 "This package provides a library and an executable for working with
8916derived @code{Show} instances. By using the library, derived @code{Show}
8917instances can be parsed into a generic data structure. The @code{ppsh} tool
8918uses the library to produce human-readable versions of @code{Show} instances,
8919which can be quite handy for debugging Haskell programs. We can also render
8920complex generic values into an interactive Html page, for easier
8921examination.")
8922 (license license:expat)))
8923
8924(define-public ghc-primitive
8925 (package
8926 (name "ghc-primitive")
8927 (version "0.6.4.0")
8928 (outputs '("out" "doc"))
8929 (source
8930 (origin
8931 (method url-fetch)
8932 (uri (string-append
8933 "https://hackage.haskell.org/package/primitive/primitive-"
8934 version
8935 ".tar.gz"))
8936 (sha256
8937 (base32
8938 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
8939 (build-system haskell-build-system)
6cf0daa4
TS
8940 (arguments
8941 `(#:cabal-revision
8942 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
8943 (home-page
8944 "https://github.com/haskell/primitive")
8945 (synopsis "Primitive memory-related operations")
8946 (description
8947 "This package provides various primitive memory-related operations.")
8948 (license license:bsd-3)))
8949
21f5b9a9
JS
8950(define-public ghc-process-extras
8951 (package
8952 (name "ghc-process-extras")
8953 (version "0.7.4")
8954 (source
8955 (origin
8956 (method url-fetch)
8957 (uri
8958 (string-append
8959 "https://hackage.haskell.org/package/process-extras/"
8960 "process-extras-" version ".tar.gz"))
8961 (sha256
8962 (base32
8963 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
8964 (build-system haskell-build-system)
8965 (inputs
8966 `(("ghc-data-default" ,ghc-data-default)
8967 ("ghc-generic-deriving" ,ghc-generic-deriving)
8968 ("ghc-hunit" ,ghc-hunit)
8969 ("ghc-listlike" ,ghc-listlike)))
8970 (home-page "https://github.com/seereason/process-extras")
8971 (synopsis "Extra tools for managing processes")
f74b6983 8972 (description "This package extends
21f5b9a9
JS
8973@url{http://hackage.haskell.org/package/process}. It allows you to read
8974process input and output as ByteStrings or Text, or write your own
8975ProcessOutput instance. It also provides lazy process input and output,
8976and a ProcessMaker class for more flexibility in the process creation
8977API.")
8978 (license license:expat)))
8979
dddbc90c
RV
8980(define-public ghc-profunctors
8981 (package
8982 (name "ghc-profunctors")
899b5297 8983 (version "5.3")
dddbc90c
RV
8984 (source
8985 (origin
8986 (method url-fetch)
8987 (uri (string-append
8988 "https://hackage.haskell.org/package/profunctors/profunctors-"
8989 version
8990 ".tar.gz"))
8991 (sha256
8992 (base32
899b5297 8993 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 8994 (build-system haskell-build-system)
dddbc90c
RV
8995 (inputs
8996 `(("ghc-base-orphans" ,ghc-base-orphans)
8997 ("ghc-bifunctors" ,ghc-bifunctors)
8998 ("ghc-comonad" ,ghc-comonad)
8999 ("ghc-contravariant" ,ghc-contravariant)
9000 ("ghc-distributive" ,ghc-distributive)
9001 ("ghc-semigroups" ,ghc-semigroups)
9002 ("ghc-tagged" ,ghc-tagged)))
9003 (home-page "https://github.com/ekmett/profunctors/")
9004 (synopsis "Profunctors for Haskell")
9005 (description "This library provides profunctors for Haskell.")
9006 (license license:bsd-3)))
9007
9008(define-public ghc-psqueues
9009 (package
9010 (name "ghc-psqueues")
5d133942 9011 (version "0.2.7.2")
dddbc90c
RV
9012 (source
9013 (origin
9014 (method url-fetch)
9015 (uri (string-append "https://hackage.haskell.org/package/"
9016 "psqueues-" version "/"
9017 "psqueues-" version ".tar.gz"))
9018 (sha256
9019 (base32
5d133942 9020 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
9021 (build-system haskell-build-system)
9022 (inputs
9023 `(("ghc-hashable" ,ghc-hashable)))
9024 (native-inputs
9025 `(("ghc-hunit" ,ghc-hunit)
9026 ("ghc-quickcheck" ,ghc-quickcheck)
9027 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
9028 ("ghc-tasty" ,ghc-tasty)
9029 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9030 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
9031 (home-page "https://github.com/jaspervdj/psqueues")
9032 (synopsis "Pure priority search queues")
9033 (description "The psqueues package provides
9034@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
9035three different flavors:
9036
9037@itemize
9038@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
9039fast insertion, deletion and lookup. This implementation is based on Ralf
9040Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
9041Implementation Technique for Priority Search Queues}.
9042
9043Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
9044PSQueue} library, although it is considerably faster and provides a slightly
9045different API.
9046
9047@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
9048key type to @code{Int} and uses a
9049@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
9050with an additional min-heap property.
9051
9052@item @code{HashPSQ k p v} is a fairly straightforward extension
9053of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
9054@code{IntPSQ}. If there are any hash collisions, it uses an
9055@code{OrdPSQ} to resolve those. The performance of this implementation
9056is comparable to that of @code{IntPSQ}, but it is more widely
9057applicable since the keys are not restricted to @code{Int},
9058but rather to any @code{Hashable} datatype.
9059@end itemize
9060
9061Each of the three implementations provides the same API, so they can
9062be used interchangeably.
9063
9064Typical applications of Priority Search Queues include:
9065
9066@itemize
9067@item Caches, and more specifically LRU Caches;
9068@item Schedulers;
9069@item Pathfinding algorithms, such as Dijkstra's and A*.
9070@end itemize")
9071 (license license:bsd-3)))
9072
9073(define-public ghc-random
9074 (package
9075 (name "ghc-random")
9076 (version "1.1")
9077 (outputs '("out" "doc"))
9078 (source
9079 (origin
9080 (method url-fetch)
9081 (uri (string-append
9082 "https://hackage.haskell.org/package/random/random-"
9083 version
9084 ".tar.gz"))
9085 (sha256
9086 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
9087 (build-system haskell-build-system)
9088 (home-page "https://hackage.haskell.org/package/random")
9089 (synopsis "Random number library")
9090 (description "This package provides a basic random number generation
9091library, including the ability to split random number generators.")
9092 (license license:bsd-3)))
9093
9094(define-public ghc-raw-strings-qq
9095 (package
9096 (name "ghc-raw-strings-qq")
9097 (version "1.1")
9098 (source
9099 (origin
9100 (method url-fetch)
9101 (uri (string-append "https://hackage.haskell.org/package/"
9102 "raw-strings-qq/raw-strings-qq-"
9103 version ".tar.gz"))
9104 (sha256
9105 (base32
9106 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
9107 (build-system haskell-build-system)
9108 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
9109 (home-page "https://github.com/23Skidoo/raw-strings-qq")
9110 (synopsis "Raw string literals for Haskell")
9111 (description
9112 "This package provides a quasiquoter for raw string literals, i.e. string
9113literals that don't recognise the standard escape sequences. Basically, they
9114make your code more readable by freeing you from the responsibility to escape
9115backslashes. They are useful when working with regular expressions,
9116DOS/Windows paths and markup languages (such as XML).")
9117 (license license:bsd-3)))
9118
9119(define-public ghc-readable
9120 (package
9121 (name "ghc-readable")
9122 (version "0.3.1")
9123 (source
9124 (origin
9125 (method url-fetch)
9126 (uri (string-append "https://hackage.haskell.org/package/"
9127 "readable/readable-" version ".tar.gz"))
9128 (sha256
9129 (base32
9130 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
9131 (build-system haskell-build-system)
9132 (home-page "https://github.com/mightybyte/readable")
9133 (synopsis "Type class for reading from Text and ByteString")
9134 (description "This package provides a @code{Readable} type class for
9135reading data types from @code{ByteString} and @code{Text}. It also
9136includes efficient implementations for common data types.")
9137 (license license:bsd-3)))
9138
9139(define-public ghc-rebase
9140 (package
9141 (name "ghc-rebase")
8d2ae3fe 9142 (version "1.3.1.1")
dddbc90c
RV
9143 (source
9144 (origin
9145 (method url-fetch)
9146 (uri (string-append "https://hackage.haskell.org/package/"
9147 "rebase-" version "/"
9148 "rebase-" version ".tar.gz"))
9149 (sha256
9150 (base32
8d2ae3fe 9151 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
9152 (build-system haskell-build-system)
9153 (inputs `(("ghc-hashable" ,ghc-hashable)
9154 ("ghc-vector" ,ghc-vector)
9155 ("ghc-unordered-containers" ,ghc-unordered-containers)
9156 ("ghc-scientific" ,ghc-scientific)
9157 ("ghc-uuid" ,ghc-uuid)
9158 ("ghc-dlist" ,ghc-dlist)
9159 ("ghc-void" ,ghc-void)
9160 ("ghc-bifunctors" ,ghc-bifunctors)
9161 ("ghc-profunctors" ,ghc-profunctors)
9162 ("ghc-contravariant" ,ghc-contravariant)
9163 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
9164 ("ghc-semigroups" ,ghc-semigroups)
9165 ("ghc-either" ,ghc-either)
9166 ("ghc-fail" ,ghc-fail)
9167 ("ghc-base-prelude" ,ghc-base-prelude)))
9168 (home-page "https://github.com/nikita-volkov/rebase")
9169 (synopsis "Progressive alternative to the base package
9170for Haskell")
9171 (description "This Haskell package is intended for those who are
9172tired of keeping long lists of dependencies to the same essential libraries
9173in each package as well as the endless imports of the same APIs all over again.
9174
9175It also supports the modern tendencies in the language.
9176
9177To solve those problems this package does the following:
9178
9179@itemize
9180@item Reexport the original APIs under the @code{Rebase} namespace.
9181
9182@item Export all the possible non-conflicting symbols from the
9183@code{Rebase.Prelude} module.
9184
9185@item Give priority to the modern practices in the conflicting cases.
9186@end itemize
9187
9188The policy behind the package is only to reexport the non-ambiguous and
9189non-controversial APIs, which the community has obviously settled on.
9190The package is intended to rapidly evolve with the contribution from
9191the community, with the missing features being added with pull-requests.")
9192 (license license:expat)))
9193
9194(define-public ghc-reducers
9195 (package
9196 (name "ghc-reducers")
9197 (version "3.12.3")
9198 (source
9199 (origin
9200 (method url-fetch)
9201 (uri (string-append
9202 "https://hackage.haskell.org/package/reducers/reducers-"
9203 version
9204 ".tar.gz"))
9205 (sha256
9206 (base32
9207 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
9208 (build-system haskell-build-system)
9209 (inputs
9210 `(("ghc-fingertree" ,ghc-fingertree)
9211 ("ghc-hashable" ,ghc-hashable)
9212 ("ghc-unordered-containers" ,ghc-unordered-containers)
9213 ("ghc-semigroupoids" ,ghc-semigroupoids)
9214 ("ghc-semigroups" ,ghc-semigroups)))
9215 (home-page "https://github.com/ekmett/reducers/")
9216 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
9217 (description "This library provides various semigroups, specialized
9218containers and a general map/reduce framework for Haskell.")
9219 (license license:bsd-3)))
9220
9221(define-public ghc-refact
9222 (package
9223 (name "ghc-refact")
9224 (version "0.3.0.2")
9225 (source
9226 (origin
9227 (method url-fetch)
9228 (uri (string-append "https://hackage.haskell.org/package/"
9229 "refact/refact-"
9230 version ".tar.gz"))
9231 (sha256
9232 (base32
9233 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
9234 (build-system haskell-build-system)
9235 (home-page "http://hackage.haskell.org/package/refact")
9236 (synopsis "Specify refactorings to perform with apply-refact")
9237 (description
9238 "This library provides a datatype which can be interpreted by
9239@code{apply-refact}. It exists as a separate library so that applications can
9240specify refactorings without depending on GHC.")
9241 (license license:bsd-3)))
9242
9243(define-public ghc-reflection
9244 (package
9245 (name "ghc-reflection")
d215f1cc 9246 (version "2.1.5")
dddbc90c
RV
9247 (source
9248 (origin
9249 (method url-fetch)
9250 (uri (string-append
9251 "https://hackage.haskell.org/package/reflection/reflection-"
9252 version
9253 ".tar.gz"))
9254 (sha256
9255 (base32
d215f1cc 9256 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
9257 (build-system haskell-build-system)
9258 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
9259 (native-inputs
9260 `(("ghc-hspec" ,ghc-hspec)
9261 ("ghc-quickcheck" ,ghc-quickcheck)
9262 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
9263 (home-page "https://github.com/ekmett/reflection")
9264 (synopsis "Reify arbitrary terms into types that can be reflected back
9265into terms")
9266 (description "This package addresses the 'configuration problem' which is
9267propagating configurations that are available at run-time, allowing multiple
9268configurations to coexist without resorting to mutable global variables or
9269@code{System.IO.Unsafe.unsafePerformIO}.")
9270 (license license:bsd-3)))
9271
9272(define-public ghc-regex
9273 (package
9274 (name "ghc-regex")
b9a5e634 9275 (version "1.0.2.0")
dddbc90c
RV
9276 (source
9277 (origin
9278 (method url-fetch)
9279 (uri (string-append "https://hackage.haskell.org/package/regex/"
9280 "regex-" version ".tar.gz"))
9281 (sha256
9282 (base32
b9a5e634 9283 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
9284 (build-system haskell-build-system)
9285 (arguments
9286 `(#:phases
9287 (modify-phases %standard-phases
9288 (add-after 'unpack 'relax-dependencies
9289 (lambda _
9290 (substitute* "regex.cabal"
9291 (("base-compat.*>=.*0.6.*")
9292 "base-compat >= 0.6\n")
9293 (("template-haskell.*>=.*2.7.*")
9294 "template-haskell >= 2.7\n"))
9295 #t)))))
9296 (inputs
9297 `(("ghc-base-compat" ,ghc-base-compat)
9298 ("ghc-hashable" ,ghc-hashable)
9299 ("ghc-regex-base" ,ghc-regex-base)
9300 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9301 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
9302 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
9303 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
9304 ("ghc-unordered-containers" ,ghc-unordered-containers)
9305 ("ghc-utf8-string" ,ghc-utf8-string)))
9306 (home-page "http://regex.uk")
9307 (synopsis "Toolkit for regex-base")
9308 (description
9309 "This package provides a regular expression toolkit for @code{regex-base}
9310with compile-time checking of regular expression syntax, data types for
9311matches and captures, a text replacement toolkit, portable options, high-level
9312AWK-like tools for building text processing apps, regular expression macros
9313with parsers and test bench, comprehensive documentation, tutorials and
9314copious examples.")
9315 (license license:bsd-3)))
9316
9317(define-public ghc-regex-applicative
9318 (package
9319 (name "ghc-regex-applicative")
30f60e42 9320 (version "0.3.3.1")
dddbc90c
RV
9321 (source
9322 (origin
9323 (method url-fetch)
9324 (uri (string-append
9325 "https://hackage.haskell.org/package/regex-applicative/"
9326 "regex-applicative-" version ".tar.gz"))
9327 (sha256
9328 (base32
30f60e42 9329 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
9330 (build-system haskell-build-system)
9331 (inputs
9332 `(("ghc-smallcheck" ,ghc-smallcheck)
9333 ("ghc-tasty" ,ghc-tasty)
9334 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9335 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
9336 (home-page "https://github.com/feuerbach/regex-applicative")
9337 (synopsis "Regex-based parsing with applicative interface")
9338 (description
9339 "@code{regex-applicative} is a Haskell library for parsing using
9340regular expressions. Parsers can be built using Applicative interface.")
9341 (license license:expat)))
9342
9343(define-public ghc-regex-base
9344 (package
9345 (name "ghc-regex-base")
9346 (version "0.93.2")
9347 (source
9348 (origin
9349 (method url-fetch)
9350 (uri (string-append
9351 "https://hackage.haskell.org/package/regex-base/regex-base-"
9352 version
9353 ".tar.gz"))
9354 (sha256
9355 (base32
9356 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
9357 (build-system haskell-build-system)
9358 (home-page
9359 "https://sourceforge.net/projects/lazy-regex")
9360 (synopsis "Replaces/Enhances Text.Regex")
9361 (description "@code{Text.Regex.Base} provides the interface API for
9362regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
9363 (license license:bsd-3)))
9364
9365(define-public ghc-regex-compat
9366 (package
9367 (name "ghc-regex-compat")
9368 (version "0.95.1")
9369 (source
9370 (origin
9371 (method url-fetch)
9372 (uri (string-append
9373 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
9374 version
9375 ".tar.gz"))
9376 (sha256
9377 (base32
9378 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
9379 (build-system haskell-build-system)
9380 (inputs
9381 `(("ghc-regex-base" ,ghc-regex-base)
9382 ("ghc-regex-posix" ,ghc-regex-posix)))
9383 (home-page "https://sourceforge.net/projects/lazy-regex")
9384 (synopsis "Replaces/Enhances Text.Regex")
9385 (description "This library provides one module layer over
9386@code{regex-posix} to replace @code{Text.Regex}.")
9387 (license license:bsd-3)))
9388
9389(define-public ghc-regex-compat-tdfa
9390 (package
9391 (name "ghc-regex-compat-tdfa")
9392 (version "0.95.1.4")
9393 (source
9394 (origin
9395 (method url-fetch)
9396 (uri (string-append
9397 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
9398 version ".tar.gz"))
9399 (sha256
9400 (base32
9401 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
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 "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
9407 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
9408 (description
9409 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
9410@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
9411This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
9412this problem.")
9413 (license license:bsd-3)))
9414
9415(define-public ghc-regex-pcre-builtin
9416 (package
9417 (name "ghc-regex-pcre-builtin")
ee946143 9418 (version "0.94.5.8.8.35")
dddbc90c
RV
9419 (source (origin
9420 (method url-fetch)
9421 (uri (string-append "https://hackage.haskell.org/package/"
9422 "regex-pcre-builtin/regex-pcre-builtin-"
9423 version ".tar.gz"))
9424 (sha256
9425 (base32
ee946143 9426 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
9427 (build-system haskell-build-system)
9428 (inputs
9429 `(("ghc-regex-base" ,ghc-regex-base)))
9430 (home-page "https://hackage.haskell.org/package/regex-pcre")
9431 (synopsis "Enhancement of the builtin Text.Regex library")
9432 (description
9433 "This package is an enhancement of the @code{Text.Regex} library,
9434providing the PCRE backend to accompany regex-base, with bundled code from
9435@url{https://www.pcre.org}.")
9436 (license license:bsd-3)))
9437
9438(define-public ghc-regex-posix
9439 (package
9440 (name "ghc-regex-posix")
9441 (version "0.95.2")
9442 (source
9443 (origin
9444 (method url-fetch)
9445 (uri (string-append
9446 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
9447 version
9448 ".tar.gz"))
9449 (sha256
9450 (base32
9451 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
9452 (build-system haskell-build-system)
9453 (inputs
9454 `(("ghc-regex-base" ,ghc-regex-base)))
9455 (home-page "https://sourceforge.net/projects/lazy-regex")
9456 (synopsis "POSIX regular expressions for Haskell")
9457 (description "This library provides the POSIX regex backend used by the
9458Haskell library @code{regex-base}.")
9459 (license license:bsd-3)))
9460
9461(define-public ghc-regex-tdfa
9462 (package
9463 (name "ghc-regex-tdfa")
ce684db0 9464 (version "1.2.3.2")
dddbc90c
RV
9465 (source
9466 (origin
9467 (method url-fetch)
9468 (uri (string-append
9469 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
9470 version ".tar.gz"))
9471 (sha256
9472 (base32
ce684db0 9473 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
9474 (build-system haskell-build-system)
9475 (inputs
9476 `(("ghc-regex-base" ,ghc-regex-base)))
9477 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
9478 (synopsis "POSIX extended regular expressions in Haskell.")
9479 (description
9480 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
9481extended regular expressions. It is a \"tagged\" DFA regex engine. It is
9482inspired by libtre.")
9483 (license license:bsd-3)))
9484
9485(define-public ghc-regex-tdfa-text
9486 (package
9487 (name "ghc-regex-tdfa-text")
9488 (version "1.0.0.3")
9489 (source
9490 (origin
9491 (method url-fetch)
9492 (uri (string-append
9493 "https://hackage.haskell.org/package/regex-tdfa-text/"
9494 "regex-tdfa-text-" version ".tar.gz"))
9495 (sha256
9496 (base32
9497 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
9498 (build-system haskell-build-system)
9499 (inputs
9500 `(("ghc-regex-base" ,ghc-regex-base)
9501 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9502 (home-page
9503 "http://hackage.haskell.org/package/regex-tdfa-text")
9504 (synopsis "Text interface for regex-tdfa")
9505 (description
9506 "This provides an extra text interface for regex-tdfa.")
9507 (license license:bsd-3)))
9508
9509(define-public ghc-rerebase
9510 (package
9511 (name "ghc-rerebase")
cdec7b8c 9512 (version "1.3.1.1")
dddbc90c
RV
9513 (source
9514 (origin
9515 (method url-fetch)
9516 (uri (string-append
9517 "https://hackage.haskell.org/package/rerebase/rerebase-"
9518 version ".tar.gz"))
9519 (sha256
9520 (base32
cdec7b8c 9521 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
9522 (build-system haskell-build-system)
9523 (inputs
9524 `(("ghc-rebase" ,ghc-rebase)))
9525 (home-page "https://github.com/nikita-volkov/rerebase")
9526 (synopsis "Reexports from ``base'' with many other standard libraries")
9527 (description "A rich drop-in replacement for @code{base}. For details and
9528documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
9529the project's home page}.")
9530 (license license:expat)))
9531
9532(define-public ghc-resolv
9533 (package
9534 (name "ghc-resolv")
87309478 9535 (version "0.1.1.2")
dddbc90c
RV
9536 (source
9537 (origin
9538 (method url-fetch)
9539 (uri (string-append
9540 "https://hackage.haskell.org/package/resolv/resolv-"
9541 version ".tar.gz"))
9542 (sha256
9543 (base32
87309478 9544 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
9545 (build-system haskell-build-system)
9546 (arguments
87309478
TS
9547 `(#:phases
9548 (modify-phases %standard-phases
9549 (add-before 'configure 'update-constraints
9550 (lambda _
9551 (substitute* "resolv.cabal"
9552 (("tasty >= 1\\.1 && < 1\\.2")
9553 "tasty >= 1.1 && < 1.3"))
9554 #t)))))
dddbc90c
RV
9555 (inputs
9556 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
9557 (native-inputs
9558 `(("ghc-tasty" ,ghc-tasty)
9559 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
9560 (home-page "https://github.com/haskell/hackage-security")
9561 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
9562 (description "This package implements an API for accessing the
9563@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
9564resolver service via the standard @code{libresolv} system library (whose
9565API is often available directly via the standard @code{libc} C library) on
9566Unix systems.")
9567 (license license:gpl3)))
9568
9569(define-public ghc-resource-pool
9570 (package
9571 (name "ghc-resource-pool")
9572 (version "0.2.3.2")
9573 (source
9574 (origin
9575 (method url-fetch)
9576 (uri (string-append "https://hackage.haskell.org/package/"
9577 "resource-pool-" version "/"
9578 "resource-pool-" version ".tar.gz"))
9579 (sha256
9580 (base32
9581 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9582 (build-system haskell-build-system)
9583 (inputs `(("ghc-hashable" ,ghc-hashable)
9584 ("ghc-monad-control" ,ghc-monad-control)
9585 ("ghc-transformers-base" ,ghc-transformers-base)
9586 ("ghc-vector" ,ghc-vector)))
9587 (home-page "https://github.com/bos/pool")
9588 (synopsis "Striped resource pooling implementation in Haskell")
9589 (description "This Haskell package provides striped pooling abstraction
9590for managing flexibly-sized collections of resources such as database
9591connections.")
9592 (license license:bsd-3)))
9593
9594(define-public ghc-resourcet
9595 (package
9596 (name "ghc-resourcet")
9ac341ac 9597 (version "1.2.2")
dddbc90c
RV
9598 (source
9599 (origin
9600 (method url-fetch)
9601 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
9602 "resourcet-" version ".tar.gz"))
9603 (sha256
9604 (base32
9ac341ac 9605 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
9606 (build-system haskell-build-system)
9607 (inputs
9608 `(("ghc-transformers-base" ,ghc-transformers-base)
9609 ("ghc-monad-control" ,ghc-monad-control)
9610 ("ghc-transformers-compat" ,ghc-transformers-compat)
9611 ("ghc-mmorph" ,ghc-mmorph)
9612 ("ghc-exceptions" ,ghc-exceptions)
9613 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9614 (native-inputs
9615 `(("ghc-lifted-base" ,ghc-lifted-base)
9616 ("ghc-hspec" ,ghc-hspec)))
9617 (home-page "https://github.com/snoyberg/conduit")
9618 (synopsis "Deterministic allocation and freeing of scarce resources")
9619 (description "ResourceT is a monad transformer which creates a region of
9620code where you can safely allocate resources.")
9621 (license license:bsd-3)))
9622
b9debc37
TS
9623(define-public ghc-retry
9624 (package
9625 (name "ghc-retry")
9626 (version "0.8.1.0")
9627 (source
9628 (origin
9629 (method url-fetch)
9630 (uri (string-append "https://hackage.haskell.org/package/"
9631 "retry/retry-" version ".tar.gz"))
9632 (sha256
9633 (base32
9634 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
9635 (build-system haskell-build-system)
9636 (inputs
9637 `(("ghc-exceptions" ,ghc-exceptions)
9638 ("ghc-random" ,ghc-random)))
9639 (native-inputs
9640 `(("ghc-hunit" ,ghc-hunit)
9641 ("ghc-tasty" ,ghc-tasty)
9642 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9643 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
9644 ("ghc-hedgehog" ,ghc-hedgehog)))
9645 (home-page "http://github.com/Soostone/retry")
9646 (synopsis "Retry combinators for monadic actions that may fail")
9647 (description "This package exposes combinators that can wrap
9648arbitrary monadic actions. They run the action and potentially retry
9649running it with some configurable delay for a configurable number of
9650times. The purpose is to make it easier to work with IO and especially
9651network IO actions that often experience temporary failure and warrant
9652retrying of the original action. For example, a database query may time
9653out for a while, in which case we should hang back for a bit and retry
9654the query instead of simply raising an exception.")
9655 (license license:bsd-3)))
9656
dddbc90c
RV
9657(define-public ghc-rfc5051
9658 (package
9659 (name "ghc-rfc5051")
ec42ab7c 9660 (version "0.1.0.4")
dddbc90c
RV
9661 (source
9662 (origin
9663 (method url-fetch)
9664 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
9665 "rfc5051-" version ".tar.gz"))
9666 (sha256
9667 (base32
ec42ab7c 9668 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
9669 (build-system haskell-build-system)
9670 (home-page "https://hackage.haskell.org/package/rfc5051")
9671 (synopsis "Simple unicode collation as per RFC5051")
9672 (description
9673 "This library implements @code{unicode-casemap}, the simple, non
9674locale-sensitive unicode collation algorithm described in RFC 5051. Proper
9675unicode collation can be done using @code{text-icu}, but that is a big
9676dependency that depends on a large C library, and @code{rfc5051} might be
9677better for some purposes.")
9678 (license license:bsd-3)))
9679
9680(define-public ghc-rio
9681 (package
9682 (name "ghc-rio")
8bda2fa7 9683 (version "0.1.12.0")
dddbc90c
RV
9684 (source
9685 (origin
9686 (method url-fetch)
9687 (uri (string-append
9688 "https://hackage.haskell.org/package/rio/rio-"
9689 version ".tar.gz"))
9690 (sha256
9691 (base32
8bda2fa7 9692 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
9693 (build-system haskell-build-system)
9694 (inputs
9695 `(("ghc-exceptions" ,ghc-exceptions)
9696 ("ghc-hashable" ,ghc-hashable)
9697 ("ghc-microlens" ,ghc-microlens)
9698 ("ghc-primitive" ,ghc-primitive)
9699 ("ghc-typed-process" ,ghc-typed-process)
9700 ("ghc-unliftio" ,ghc-unliftio)
9701 ("ghc-unordered-containers" ,ghc-unordered-containers)
9702 ("ghc-vector" ,ghc-vector)))
9703 (native-inputs
9704 `(("ghc-hspec" ,ghc-hspec)
9705 ("hspec-discover" ,hspec-discover)))
9706 (home-page "https://github.com/commercialhaskell/rio#readme")
9707 (synopsis "A standard library for Haskell")
9708 (description "This package works as a prelude replacement for Haskell,
9709providing more functionality and types out of the box than the standard
9710prelude (such as common data types like @code{ByteString} and
9711@code{Text}), as well as removing common ``gotchas'', like partial
9712functions and lazy I/O. The guiding principle here is:
9713@itemize
9714@item If something is safe to use in general and has no expected naming
9715conflicts, expose it.
9716@item If something should not always be used, or has naming conflicts,
9717expose it from another module in the hierarchy.
9718@end itemize")
9719 (license license:expat)))
9720
9721(define-public ghc-safe
9722 (package
9723 (name "ghc-safe")
9724 (version "0.3.17")
9725 (source
9726 (origin
9727 (method url-fetch)
9728 (uri (string-append
9729 "https://hackage.haskell.org/package/safe/safe-"
9730 version
9731 ".tar.gz"))
9732 (sha256
9733 (base32
9734 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
9735 (build-system haskell-build-system)
9736 (native-inputs
9737 `(("ghc-quickcheck" ,ghc-quickcheck)))
9738 (home-page "https://github.com/ndmitchell/safe#readme")
9739 (synopsis "Library of safe (exception free) functions")
9740 (description "This library provides wrappers around @code{Prelude} and
9741@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
9742exceptions.")
9743 (license license:bsd-3)))
9744
9745(define-public ghc-safe-exceptions
9746 (package
9747 (name "ghc-safe-exceptions")
9748 (version "0.1.7.0")
9749 (source
9750 (origin
9751 (method url-fetch)
9752 (uri (string-append "https://hackage.haskell.org/package/"
9753 "safe-exceptions/safe-exceptions-"
9754 version ".tar.gz"))
9755 (sha256
9756 (base32
9757 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
9758 (build-system haskell-build-system)
9759 (arguments
9760 '(#:cabal-revision
9761 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
9762 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
9763 (native-inputs
9764 `(("ghc-hspec" ,ghc-hspec)
9765 ("ghc-void" ,ghc-void)
9766 ("hspec-discover" ,hspec-discover)))
9767 (home-page "https://github.com/fpco/safe-exceptions")
9768 (synopsis "Safe, consistent, and easy exception handling")
9769 (description "Runtime exceptions - as exposed in @code{base} by the
9770@code{Control.Exception} module - have long been an intimidating part of the
9771Haskell ecosystem. This package is intended to overcome this. It provides a
9772safe and simple API on top of the existing exception handling machinery. The
9773API is equivalent to the underlying implementation in terms of power but
9774encourages best practices to minimize the chances of getting the exception
9775handling wrong.")
9776 (license license:expat)))
9777
9778(define-public ghc-safeio
9779 (package
9780 (name "ghc-safeio")
9781 (version "0.0.5.0")
9782 (source
9783 (origin
9784 (method url-fetch)
9785 (uri (string-append "https://hackage.haskell.org/package/safeio/"
9786 "safeio-" version ".tar.gz"))
9787 (sha256
9788 (base32
9789 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
9790 (build-system haskell-build-system)
9791 (inputs
9792 `(("ghc-conduit" ,ghc-conduit)
9793 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
9794 ("ghc-exceptions" ,ghc-exceptions)
9795 ("ghc-resourcet" ,ghc-resourcet)))
9796 (native-inputs
9797 `(("ghc-hunit" ,ghc-hunit)
9798 ("ghc-test-framework" ,ghc-test-framework)
9799 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9800 ("ghc-test-framework-th" ,ghc-test-framework-th)))
9801 (home-page "https://github.com/luispedro/safeio")
9802 (synopsis "Write output to disk atomically")
9803 (description
9804 "This package implements utilities to perform atomic output so as to
9805avoid the problem of partial intermediate files.")
9806 (license license:expat)))
9807
9808(define-public ghc-safesemaphore
9809 (package
9810 (name "ghc-safesemaphore")
9811 (version "0.10.1")
9812 (source
9813 (origin
9814 (method url-fetch)
9815 (uri (string-append "https://hackage.haskell.org/package/"
9816 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
9817 (sha256
9818 (base32
9819 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
9820 (build-system haskell-build-system)
9821 (native-inputs
9822 `(("ghc-hunit" ,ghc-hunit)))
9823 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
9824 (synopsis "Exception safe semaphores")
9825 (description "This library provides exception safe semaphores that can be
9826used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
9827are not exception safe and can be broken by @code{killThread}.")
9828 (license license:bsd-3)))
9829
9830(define-public ghc-sandi
9831 (package
9832 (name "ghc-sandi")
b867c2b0 9833 (version "0.5")
dddbc90c
RV
9834 (source
9835 (origin
9836 (method url-fetch)
9837 (uri (string-append
9838 "https://hackage.haskell.org/package/sandi/sandi-"
9839 version ".tar.gz"))
9840 (sha256
9841 (base32
b867c2b0 9842 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
9843 (build-system haskell-build-system)
9844 (inputs
9845 `(("ghc-stringsearch" ,ghc-stringsearch)
9846 ("ghc-conduit" ,ghc-conduit)
9847 ("ghc-exceptions" ,ghc-exceptions)
9848 ("ghc-hunit" ,ghc-hunit)
9849 ("ghc-tasty" ,ghc-tasty)
9850 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9851 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9852 ("ghc-tasty-th" ,ghc-tasty-th)))
9853 (home-page "https://hackage.haskell.org/package/sandi")
9854 (synopsis "Data encoding library")
9855 (description "Reasonably fast data encoding library.")
9856 (license license:bsd-3)))
9857
4da75228
ASM
9858(define-public ghc-say
9859 (package
9860 (name "ghc-say")
9861 (version "0.1.0.1")
9862 (source
9863 (origin
9864 (method url-fetch)
9865 (uri (string-append
9866 "https://hackage.haskell.org/package/say/say-"
9867 version
9868 ".tar.gz"))
9869 (sha256
9870 (base32
9871 "1r5kffjfwpas45g74sip8glrj1m9nygrnxjm7xgw898rq9pnafgn"))))
9872 (build-system haskell-build-system)
9873 (native-inputs
9874 `(("ghc-hspec" ,ghc-hspec)
9875 ("hspec-discover" ,hspec-discover)
9876 ("ghc-unliftio" ,ghc-unliftio)))
9877 (home-page "https://github.com/fpco/say")
9878 (synopsis
9879 "Send textual messages to a Handle in a thread-friendly way")
9880 (description
9881 "A thread safe API to write a line of textual data to a Handle, such
9882as sending some messages to the terminal - that has the following properties:
9883@itemize
9884@item Properly handle character encoding settings on the Handle
9885@item For reasonably sized messages, ensure that the entire message is written
9886 in one chunk to avoid interleaving data with other threads
9887@item Avoid unnecessary memory allocations and copies
9888@item Minimize locking.
9889@end itemize")
9890 (license license:expat)))
9891
dddbc90c
RV
9892(define-public ghc-scientific
9893 (package
9894 (name "ghc-scientific")
9895 (version "0.3.6.2")
9896 (source
9897 (origin
9898 (method url-fetch)
9899 (uri (string-append
9900 "https://hackage.haskell.org/package/scientific/scientific-"
9901 version
9902 ".tar.gz"))
9903 (sha256
9904 (base32
9905 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
9906 (build-system haskell-build-system)
9907 (inputs
9908 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
9909 ("ghc-hashable" ,ghc-hashable)
9910 ("ghc-primitive" ,ghc-primitive)))
9911 (native-inputs
9912 `(("ghc-tasty" ,ghc-tasty)
9913 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
9914 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9915 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9916 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9917 ("ghc-smallcheck" ,ghc-smallcheck)
9918 ("ghc-quickcheck" ,ghc-quickcheck)))
9919 (home-page "https://github.com/basvandijk/scientific")
9920 (synopsis "Numbers represented using scientific notation")
9921 (description "This package provides @code{Data.Scientific}, which provides
9922the number type @code{Scientific}. Scientific numbers are arbitrary precision
9923and space efficient. They are represented using
9924@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
9925notation}.")
9926 (license license:bsd-3)))
9927
9928(define-public ghc-scientific-bootstrap
9929 (package
9930 (inherit ghc-scientific)
9931 (name "ghc-scientific-bootstrap")
9932 (arguments `(#:tests? #f))
9933 (inputs
9934 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
9935 ("ghc-hashable" ,ghc-hashable)
9936 ("ghc-primitive" ,ghc-primitive)))
9937 (native-inputs '())
799d8d3c 9938 (properties '((hidden? #t)))))
dddbc90c
RV
9939
9940(define-public ghc-sdl
9941 (package
9942 (name "ghc-sdl")
9943 (version "0.6.7.0")
9944 (source
9945 (origin
9946 (method url-fetch)
9947 (uri (string-append
9948 "https://hackage.haskell.org/package/SDL/SDL-"
9949 version
9950 ".tar.gz"))
9951 (sha256
9952 (base32
9953 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
9954 (build-system haskell-build-system)
9955 (inputs
9956 `(("sdl" ,sdl)))
9957 (home-page "https://hackage.haskell.org/package/SDL")
9958 (synopsis "LibSDL for Haskell")
9959 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
9960multimedia library designed to provide low level access to audio, keyboard,
9961mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
9962by MPEG playback software, emulators, and many popular games, including the
9963award winning Linux port of \"Civilization: Call To Power.\"")
9964 (license license:bsd-3)))
9965
1874cdc1
RV
9966(define-public ghc-sdl2
9967 (package
9968 (name "ghc-sdl2")
145148ca 9969 (version "2.5.0.0")
1874cdc1
RV
9970 (source
9971 (origin
9972 (method url-fetch)
9973 (uri (string-append "https://hackage.haskell.org/package/"
9974 "sdl2/sdl2-" version ".tar.gz"))
9975 (sha256
9976 (base32
145148ca 9977 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
9978 (build-system haskell-build-system)
9979 (arguments '(#:tests? #f)) ; tests require graphical environment
9980 (inputs
9981 `(("ghc-exceptions" ,ghc-exceptions)
9982 ("ghc-linear" ,ghc-linear)
9983 ("ghc-statevar" ,ghc-statevar)
9984 ("ghc-vector" ,ghc-vector)
9985 ("sdl2" ,sdl2)))
9986 (native-inputs
9987 `(("ghc-weigh" ,ghc-weigh)
9988 ("pkg-config" ,pkg-config)))
35437dbf 9989 (home-page "https://hackage.haskell.org/package/sdl2")
1874cdc1
RV
9990 (synopsis "High- and low-level bindings to the SDL library")
9991 (description
9992 "This package contains bindings to the SDL 2 library, in both high- and
9993low-level forms. The @code{SDL} namespace contains high-level bindings, where
9994enumerations are split into sum types, and we perform automatic
9995error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
9996translation of the C API into Haskell FFI calls. As such, this does not
9997contain sum types nor error checking. Thus this namespace is suitable for
9998building your own abstraction over SDL, but is not recommended for day-to-day
9999programming.")
10000 (license license:bsd-3)))
10001
10002(define-public ghc-sdl2-image
10003 (package
10004 (name "ghc-sdl2-image")
10005 (version "2.0.0")
10006 (source
10007 (origin
10008 (method url-fetch)
10009 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
10010 "sdl2-image-" version ".tar.gz"))
10011 (sha256
10012 (base32
10013 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
10014 (build-system haskell-build-system)
10015 (inputs
10016 `(("ghc-sdl2" ,ghc-sdl2)
10017 ("sdl2-image" ,sdl2-image)))
10018 (native-inputs
10019 `(("pkg-config" ,pkg-config)))
10020 (home-page "http://hackage.haskell.org/package/sdl2-image")
10021 (synopsis "Bindings to SDL2_image")
10022 (description "This package provides Haskell bindings to
10023@code{SDL2_image}.")
10024 (license license:expat)))
10025
10026(define-public ghc-sdl2-mixer
10027 (package
10028 (name "ghc-sdl2-mixer")
10029 (version "1.1.0")
10030 (source
10031 (origin
10032 (method url-fetch)
10033 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
10034 "sdl2-mixer-" version ".tar.gz"))
10035 (sha256
10036 (base32
10037 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
10038 (build-system haskell-build-system)
10039 (inputs
10040 `(("ghc-data-default-class" ,ghc-data-default-class)
10041 ("ghc-lifted-base" ,ghc-lifted-base)
10042 ("ghc-monad-control" ,ghc-monad-control)
10043 ("ghc-sdl2" ,ghc-sdl2)
10044 ("ghc-vector" ,ghc-vector)
10045 ("sdl2-mixer" ,sdl2-mixer)))
10046 (native-inputs
10047 `(("pkg-config" ,pkg-config)))
10048 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
10049 (synopsis "Bindings to SDL2 mixer")
10050 (description "This package provides Haskell bindings to
10051@code{SDL2_mixer}.")
10052 (license license:bsd-3)))
10053
dddbc90c
RV
10054(define-public ghc-sdl-image
10055 (package
10056 (name "ghc-sdl-image")
10057 (version "0.6.2.0")
10058 (source
10059 (origin
10060 (method url-fetch)
10061 (uri (string-append
10062 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
10063 version
10064 ".tar.gz"))
10065 (sha256
10066 (base32
10067 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
10068 (build-system haskell-build-system)
10069 (arguments
10070 `(#:configure-flags
10071 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
10072 (sdl-image-include (string-append sdl-image "/include/SDL")))
10073 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
10074 (inputs
10075 `(("ghc-sdl" ,ghc-sdl)
10076 ("sdl-image" ,sdl-image)))
10077 (home-page "https://hackage.haskell.org/package/SDL-image")
10078 (synopsis "Haskell bindings to libSDL_image")
10079 (description "SDL_image is an image file loading library. It loads images
10080as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
10081PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
10082 (license license:bsd-3)))
10083
10084(define-public ghc-sdl-mixer
10085 (package
10086 (name "ghc-sdl-mixer")
10087 (version "0.6.3.0")
10088 (source
10089 (origin
10090 (method url-fetch)
10091 (uri (string-append
10092 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
10093 version
10094 ".tar.gz"))
10095 (sha256
10096 (base32
10097 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
10098 (build-system haskell-build-system)
10099 (arguments
10100 `(#:configure-flags
10101 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
10102 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
10103 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
10104 (inputs
10105 `(("ghc-sdl" ,ghc-sdl)
10106 ("sdl-mixer" ,sdl-mixer)))
10107 (home-page "https://hackage.haskell.org/package/SDL-mixer")
10108 (synopsis "Haskell bindings to libSDL_mixer")
10109 (description "SDL_mixer is a sample multi-channel audio mixer library. It
10110supports any number of simultaneously playing channels of 16 bit stereo audio,
10111plus a single channel of music, mixed by the popular MikMod MOD, Timidity
10112MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
10113 (license license:bsd-3)))
10114
10115(define-public ghc-securemem
10116 (package
10117 (name "ghc-securemem")
10118 (version "0.1.10")
10119 (source
10120 (origin
10121 (method url-fetch)
10122 (uri (string-append "https://hackage.haskell.org/package/"
10123 "securemem-" version "/"
10124 "securemem-" version ".tar.gz"))
10125 (sha256
10126 (base32
10127 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
10128 (build-system haskell-build-system)
10129 (inputs `(("ghc-byteable" ,ghc-byteable)
10130 ("ghc-memory" ,ghc-memory)))
10131 (home-page "https://github.com/vincenthz/hs-securemem")
10132 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
10133Haskell")
10134 (description "SecureMem is similar to ByteString, except that it provides
10135a memory chunk that will be auto-scrubbed after it run out of scope.")
10136 (license license:bsd-3)))
10137
10138(define-public ghc-semigroupoids
10139 (package
10140 (name "ghc-semigroupoids")
a8aaadf2 10141 (version "5.3.3")
dddbc90c
RV
10142 (source
10143 (origin
10144 (method url-fetch)
10145 (uri (string-append
10146 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
10147 version
10148 ".tar.gz"))
10149 (sha256
10150 (base32
a8aaadf2 10151 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 10152 (build-system haskell-build-system)
dddbc90c
RV
10153 (inputs
10154 `(("ghc-base-orphans" ,ghc-base-orphans)
10155 ("ghc-transformers-compat" ,ghc-transformers-compat)
10156 ("ghc-bifunctors" ,ghc-bifunctors)
10157 ("ghc-comonad" ,ghc-comonad)
10158 ("ghc-contravariant" ,ghc-contravariant)
10159 ("ghc-distributive" ,ghc-distributive)
10160 ("ghc-hashable" ,ghc-hashable)
10161 ("ghc-semigroups" ,ghc-semigroups)
10162 ("ghc-tagged" ,ghc-tagged)
10163 ("ghc-unordered-containers" ,ghc-unordered-containers)))
10164 (native-inputs
10165 `(("cabal-doctest" ,cabal-doctest)
10166 ("ghc-doctest" ,ghc-doctest)))
10167 (home-page "https://github.com/ekmett/semigroupoids")
10168 (synopsis "Semigroupoids operations for Haskell")
10169 (description "This library provides a wide array of (semi)groupoids and
10170operations for working with them. A @code{Semigroupoid} is a @code{Category}
10171without the requirement of identity arrows for every object in the category.
10172A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
10173Finally, to work with these weaker structures it is beneficial to have
10174containers that can provide stronger guarantees about their contents, so
10175versions of @code{Traversable} and @code{Foldable} that can be folded with
10176just a @code{Semigroup} are added.")
10177 (license license:bsd-3)))
10178
10179(define-public ghc-semigroups
10180 (package
10181 (name "ghc-semigroups")
10182 (version "0.18.5")
10183 (source
10184 (origin
10185 (method url-fetch)
10186 (uri (string-append
10187 "https://hackage.haskell.org/package/semigroups/semigroups-"
10188 version
10189 ".tar.gz"))
10190 (sha256
10191 (base32
10192 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
10193 (build-system haskell-build-system)
10194 (inputs
10195 `(("ghc-nats" ,ghc-nats)
10196 ("ghc-tagged" ,ghc-tagged)
10197 ("ghc-unordered-containers" ,ghc-unordered-containers)
10198 ("ghc-hashable" ,ghc-hashable)))
10199 (home-page "https://github.com/ekmett/semigroups/")
10200 (synopsis "Semigroup operations for Haskell")
10201 (description "This package provides semigroups for Haskell. In
10202mathematics, a semigroup is an algebraic structure consisting of a set
10203together with an associative binary operation. A semigroup generalizes a
10204monoid in that there might not exist an identity element. It
10205also (originally) generalized a group (a monoid with all inverses) to a type
10206where every element did not have to have an inverse, thus the name
10207semigroup.")
10208 (license license:bsd-3)))
10209
10210(define-public ghc-semigroups-bootstrap
10211 (package
10212 (inherit ghc-semigroups)
10213 (name "ghc-semigroups-bootstrap")
10214 (inputs
10215 `(("ghc-nats" ,ghc-nats-bootstrap)
10216 ("ghc-tagged" ,ghc-tagged)
10217 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
10218 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 10219 (properties '((hidden? #t)))))
dddbc90c
RV
10220
10221(define-public ghc-setenv
10222 (package
10223 (name "ghc-setenv")
10224 (version "0.1.1.3")
10225 (source
10226 (origin
10227 (method url-fetch)
10228 (uri (string-append
10229 "https://hackage.haskell.org/package/setenv/setenv-"
10230 version
10231 ".tar.gz"))
10232 (sha256
10233 (base32
10234 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
10235 (build-system haskell-build-system)
10236 (home-page "https://hackage.haskell.org/package/setenv")
10237 (synopsis "Library for setting environment variables")
10238 (description "This package provides a Haskell library for setting
10239environment variables.")
10240 (license license:expat)))
10241
10242(define-public ghc-setlocale
10243 (package
10244 (name "ghc-setlocale")
9d7cfc9b 10245 (version "1.0.0.9")
dddbc90c
RV
10246 (source (origin
10247 (method url-fetch)
10248 (uri (string-append
10249 "https://hackage.haskell.org/package/setlocale-"
10250 version "/setlocale-" version ".tar.gz"))
10251 (sha256
10252 (base32
9d7cfc9b 10253 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
10254 (build-system haskell-build-system)
10255 (home-page "https://hackage.haskell.org/package/setlocale")
10256 (synopsis "Haskell bindings to setlocale")
10257 (description "This package provides Haskell bindings to the
10258@code{setlocale} C function.")
10259 (license license:bsd-3)))
10260
10261(define-public ghc-shakespeare
10262 (package
10263 (name "ghc-shakespeare")
f680955f 10264 (version "2.0.22")
dddbc90c
RV
10265 (source
10266 (origin
10267 (method url-fetch)
10268 (uri (string-append "https://hackage.haskell.org/package/"
10269 "shakespeare-" version "/"
10270 "shakespeare-" version ".tar.gz"))
10271 (sha256
10272 (base32
f680955f 10273 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
10274 (build-system haskell-build-system)
10275 (inputs `(("ghc-aeson" ,ghc-aeson)
10276 ("ghc-blaze-markup" ,ghc-blaze-markup)
10277 ("ghc-blaze-html" ,ghc-blaze-html)
10278 ("ghc-exceptions" ,ghc-exceptions)
10279 ("ghc-vector" ,ghc-vector)
10280 ("ghc-unordered-containers" ,ghc-unordered-containers)
10281 ("ghc-scientific" ,ghc-scientific)))
10282 (native-inputs `(("ghc-hspec" ,ghc-hspec)
10283 ("ghc-hunit" ,ghc-hunit)
10284 ("hspec-discover" ,hspec-discover)))
10285 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
10286 (synopsis "Family of type-safe template languages for Haskell")
10287 (description "This Haskell package provides a family of type-safe
10288templates with simple variable interpolation. Shakespeare templates can
10289be used inline with a quasi-quoter or in an external file and it
10290interpolates variables according to the type being inserted.")
10291 (license license:expat)))
10292
10293(define-public ghc-shelly
10294 (package
10295 (name "ghc-shelly")
10296 (version "1.8.1")
10297 (source
10298 (origin
10299 (method url-fetch)
10300 (uri (string-append
10301 "https://hackage.haskell.org/package/shelly/shelly-"
10302 version ".tar.gz"))
10303 (sha256
10304 (base32
10305 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
10306 (build-system haskell-build-system)
10307 (inputs
10308 `(("ghc-unix-compat" ,ghc-unix-compat)
10309 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10310 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
10311 ("ghc-monad-control" ,ghc-monad-control)
10312 ("ghc-lifted-base" ,ghc-lifted-base)
10313 ("ghc-lifted-async" ,ghc-lifted-async)
10314 ("ghc-exceptions" ,ghc-exceptions)
10315 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
10316 ("ghc-async" ,ghc-async)
10317 ("ghc-transformers-base" ,ghc-transformers-base)
10318 ("ghc-hunit" ,ghc-hunit)
10319 ("ghc-hspec" ,ghc-hspec)
10320 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
10321 (home-page "https://github.com/yesodweb/Shelly.hs")
10322 (synopsis "Shell-like (systems) programming in Haskell")
10323 (description
10324 "Shelly provides convenient systems programming in Haskell, similar in
10325spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
10326 (license license:bsd-3)))
10327
10328(define-public ghc-silently
10329 (package
10330 (name "ghc-silently")
544bb369 10331 (version "1.2.5.1")
dddbc90c
RV
10332 (source
10333 (origin
10334 (method url-fetch)
10335 (uri (string-append
10336 "https://hackage.haskell.org/package/silently/silently-"
10337 version
10338 ".tar.gz"))
10339 (sha256
10340 (base32
544bb369 10341 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
10342 (build-system haskell-build-system)
10343 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
10344 ;; (inputs
10345 ;; `(("ghc-temporary" ,ghc-temporary)))
10346 (home-page "https://github.com/hspec/silently")
10347 (synopsis "Prevent writing to stdout")
10348 (description "This package provides functions to prevent or capture
10349writing to stdout and other handles.")
10350 (license license:bsd-3)))
10351
10352(define-public ghc-simple-reflect
10353 (package
10354 (name "ghc-simple-reflect")
10355 (version "0.3.3")
10356 (source
10357 (origin
10358 (method url-fetch)
10359 (uri (string-append
10360 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
10361 version
10362 ".tar.gz"))
10363 (sha256
10364 (base32
10365 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
10366 (build-system haskell-build-system)
10367 (home-page
10368 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
10369 (synopsis
10370 "Simple reflection of expressions containing variables")
10371 (description
10372 "This package allows simple reflection of expressions containing
10373variables. Reflection here means that a Haskell expression is turned into a
10374string. The primary aim of this package is teaching and understanding; there
10375are no options for manipulating the reflected expressions beyond showing
10376them.")
10377 (license license:bsd-3)))
10378
10379(define-public ghc-simple-sendfile
10380 (package
10381 (name "ghc-simple-sendfile")
08f54390 10382 (version "0.2.30")
dddbc90c
RV
10383 (source
10384 (origin
10385 (method url-fetch)
10386 (uri (string-append "https://hackage.haskell.org/package/"
10387 "simple-sendfile-" version "/"
10388 "simple-sendfile-" version ".tar.gz"))
10389 (sha256
10390 (base32
08f54390 10391 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
10392 (build-system haskell-build-system)
10393 (inputs
10394 `(("ghc-conduit" ,ghc-conduit)
10395 ("ghc-conduit-extra" ,ghc-conduit-extra)
10396 ("ghc-network" ,ghc-network)
10397 ("ghc-resourcet" ,ghc-resourcet)))
10398 (native-inputs
10399 `(("ghc-hspec" ,ghc-hspec)
10400 ("hspec-discover" ,hspec-discover)))
10401 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
10402 (synopsis "Cross platform library for the sendfile system call")
10403 (description "This library tries to call minimum system calls which
10404are the bottleneck of web servers.")
10405 (license license:bsd-3)))
10406
06966c05
TS
10407(define-public ghc-size-based
10408 (package
10409 (name "ghc-size-based")
10410 (version "0.1.2.0")
10411 (source
10412 (origin
10413 (method url-fetch)
10414 (uri (string-append "https://hackage.haskell.org/package/"
10415 "size-based/size-based-" version ".tar.gz"))
10416 (sha256
10417 (base32
10418 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
10419 (build-system haskell-build-system)
10420 (inputs
10421 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
10422 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
10423 ("ghc-semigroups" ,ghc-semigroups)))
10424 (arguments
10425 `(#:cabal-revision
10426 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
10427 (home-page "https://hackage.haskell.org/package/size-based")
10428 (synopsis "Sized functors for size-based enumerations")
10429 (description "This library provides a framework for size-based
10430enumerations.")
10431 (license license:bsd-3)))
10432
dddbc90c
RV
10433(define-public ghc-skylighting-core
10434 (package
10435 (name "ghc-skylighting-core")
1826c2a8 10436 (version "0.8.2.1")
dddbc90c
RV
10437 (source (origin
10438 (method url-fetch)
10439 (uri (string-append "https://hackage.haskell.org/package/"
10440 "skylighting-core/skylighting-core-"
10441 version ".tar.gz"))
10442 (sha256
10443 (base32
1826c2a8 10444 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
10445 (build-system haskell-build-system)
10446 (inputs
10447 `(("ghc-aeson" ,ghc-aeson)
10448 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10449 ("ghc-attoparsec" ,ghc-attoparsec)
10450 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
10451 ("ghc-blaze-html" ,ghc-blaze-html)
10452 ("ghc-case-insensitive" ,ghc-case-insensitive)
10453 ("ghc-colour" ,ghc-colour)
10454 ("ghc-hxt" ,ghc-hxt)
10455 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10456 ("ghc-safe" ,ghc-safe)
10457 ("ghc-utf8-string" ,ghc-utf8-string)))
10458 (native-inputs
10459 `(("ghc-diff" ,ghc-diff)
10460 ("ghc-hunit" ,ghc-hunit)
10461 ("ghc-pretty-show" ,ghc-pretty-show)
10462 ("ghc-quickcheck" ,ghc-quickcheck)
10463 ("ghc-tasty" ,ghc-tasty)
10464 ("ghc-tasty-golden" ,ghc-tasty-golden)
10465 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10466 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10467 (home-page "https://github.com/jgm/skylighting")
10468 (synopsis "Syntax highlighting library")
10469 (description "Skylighting is a syntax highlighting library with support
10470for over one hundred languages. It derives its tokenizers from XML syntax
10471definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
10472supported by that framework can be added. An optional command-line program is
10473provided. Skylighting is intended to be the successor to highlighting-kate.")
10474 (license license:gpl2)))
10475
10476(define-public ghc-skylighting
10477 (package
10478 (inherit ghc-skylighting-core)
10479 (name "ghc-skylighting")
36c940cf 10480 (version "0.8.2.1")
dddbc90c
RV
10481 (source (origin
10482 (method url-fetch)
10483 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
10484 version "/skylighting-" version ".tar.gz"))
10485 (sha256
10486 (base32
36c940cf 10487 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
10488 (inputs
10489 `(("ghc-skylighting-core" ,ghc-skylighting-core)
10490 ,@(package-inputs ghc-skylighting-core)))))
10491
10492(define-public ghc-smallcheck
10493 (package
10494 (name "ghc-smallcheck")
10495 (version "1.1.5")
10496 (source
10497 (origin
10498 (method url-fetch)
10499 (uri (string-append
10500 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
10501 version
10502 ".tar.gz"))
10503 (sha256
10504 (base32
10505 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
10506 (build-system haskell-build-system)
10507 (inputs
10508 `(("ghc-logict" ,ghc-logict)))
10509 (home-page
10510 "https://github.com/feuerbach/smallcheck")
10511 (synopsis "Property-based testing library")
10512 (description "SmallCheck is a testing library that allows to verify
10513properties for all test cases up to some depth. The test cases are generated
10514automatically by SmallCheck.")
10515 (license license:bsd-3)))
10516
10517(define-public ghc-socks
10518 (package
10519 (name "ghc-socks")
ab761e9d 10520 (version "0.6.1")
dddbc90c
RV
10521 (source (origin
10522 (method url-fetch)
10523 (uri (string-append "https://hackage.haskell.org/package/"
10524 "socks/socks-" version ".tar.gz"))
10525 (sha256
10526 (base32
ab761e9d 10527 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
10528 (build-system haskell-build-system)
10529 (inputs
10530 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 10531 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
10532 ("ghc-network" ,ghc-network)))
10533 (home-page "https://github.com/vincenthz/hs-socks")
10534 (synopsis "SOCKS proxy (version 5) implementation")
10535 (description
10536 "This library provides a SOCKS proxy (version 5) implementation.")
10537 (license license:bsd-3)))
10538
081d85d6
TS
10539(define-public ghc-sop-core
10540 (package
10541 (name "ghc-sop-core")
10542 (version "0.4.0.0")
10543 (source
10544 (origin
10545 (method url-fetch)
10546 (uri (string-append "https://hackage.haskell.org/package/"
10547 "sop-core/sop-core-" version ".tar.gz"))
10548 (sha256
10549 (base32
10550 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
10551 (build-system haskell-build-system)
10552 (home-page "http://hackage.haskell.org/package/sop-core")
10553 (synopsis "True Sums of Products")
10554 (description "This package provides an implementation of
10555@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
10556is the main module of this library and contains more detailed
10557documentation. The main use case of this package is to serve as the
10558core of @url{https://hackage.haskell.org/package/generics-sop,
10559generics-sop}.")
10560 (license license:bsd-3)))
10561
dddbc90c
RV
10562(define-public ghc-split
10563 (package
10564 (name "ghc-split")
10565 (version "0.2.3.3")
10566 (outputs '("out" "doc"))
10567 (source
10568 (origin
10569 (method url-fetch)
10570 (uri (string-append
10571 "https://hackage.haskell.org/package/split/split-"
10572 version
10573 ".tar.gz"))
10574 (sha256
10575 (base32
10576 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
10577 (build-system haskell-build-system)
9bbc21a7
TS
10578 (arguments
10579 `(#:cabal-revision
10580 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
10581 (native-inputs
10582 `(("ghc-quickcheck" ,ghc-quickcheck)))
10583 (home-page "https://hackage.haskell.org/package/split")
10584 (synopsis "Combinator library for splitting lists")
10585 (description "This package provides a collection of Haskell functions for
10586splitting lists into parts, akin to the @code{split} function found in several
10587mainstream languages.")
10588 (license license:bsd-3)))
10589
7799d17f 10590(define-public ghc-splitmix
49367c92 10591 (package
7799d17f 10592 (name "ghc-splitmix")
49367c92
TS
10593 (version "0.0.3")
10594 (source
10595 (origin
10596 (method url-fetch)
10597 (uri (string-append "https://hackage.haskell.org/package/"
10598 "splitmix/splitmix-" version ".tar.gz"))
10599 (sha256
10600 (base32
10601 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 10602 (build-system haskell-build-system)
49367c92
TS
10603 (inputs
10604 `(("ghc-random" ,ghc-random)))
7799d17f
TS
10605 (native-inputs
10606 `(("ghc-hunit" ,ghc-hunit)
10607 ("ghc-async" ,ghc-async)
10608 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
10609 ("ghc-tf-random" ,ghc-tf-random)
10610 ("ghc-vector" ,ghc-vector)))
49367c92
TS
10611 (home-page "http://hackage.haskell.org/package/splitmix")
10612 (synopsis "Fast and splittable pseudorandom number generator")
10613 (description "This package provides a Pure Haskell implementation of the
10614SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
10615pseudorandom number generator that is quite fast: 9 64-bit
10616arithmetic/logical operations per 64 bits generated. SplitMix is tested
10617with two standard statistical test suites (DieHarder and TestU01, this
10618implementation only using the former) and it appears to be adequate for
10619\"everyday\" use, such as Monte Carlo algorithms and randomized data
10620structures where speed is important. In particular, it @strong{should not
10621be used for cryptographic or security applications}, because generated
10622sequences of pseudorandom values are too predictable (the mixing functions
10623are easily inverted, and two successive outputs suffice to reconstruct the
10624internal state).")
10625 (license license:bsd-3)))
10626
7799d17f
TS
10627(define-public ghc-splitmix-bootstrap
10628 (package
10629 (inherit ghc-splitmix)
10630 (name "ghc-splitmix-bootstrap")
10631 (arguments `(#:tests? #f))
10632 (native-inputs '())
10633 (properties '((hidden? #t)))))
10634
dddbc90c
RV
10635(define-public ghc-statevar
10636 (package
10637 (name "ghc-statevar")
19419709 10638 (version "1.2")
dddbc90c
RV
10639 (source
10640 (origin
10641 (method url-fetch)
10642 (uri (string-append
10643 "https://hackage.haskell.org/package/StateVar/StateVar-"
10644 version
10645 ".tar.gz"))
10646 (sha256
10647 (base32
19419709 10648 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
10649 (build-system haskell-build-system)
10650 (home-page "https://hackage.haskell.org/package/StateVar")
10651 (synopsis "State variables for Haskell")
10652 (description "This package provides state variables, which are references
10653in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
10654 (license license:bsd-3)))
10655
10656(define-public ghc-statistics
10657 (package
10658 (name "ghc-statistics")
60e78e68 10659 (version "0.15.1.1")
dddbc90c
RV
10660 (source
10661 (origin
10662 (method url-fetch)
10663 (uri (string-append "https://hackage.haskell.org/package/"
10664 "statistics-" version "/"
10665 "statistics-" version ".tar.gz"))
10666 (sha256
10667 (base32
60e78e68 10668 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
10669 (build-system haskell-build-system)
10670 (arguments
60e78e68 10671 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
10672 #:tests? #f))
10673 (inputs
10674 `(("ghc-aeson" ,ghc-aeson)
60e78e68 10675 ("ghc-async" ,ghc-async)
dddbc90c 10676 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 10677 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
10678 ("ghc-math-functions" ,ghc-math-functions)
10679 ("ghc-monad-par" ,ghc-monad-par)
10680 ("ghc-mwc-random" ,ghc-mwc-random)
10681 ("ghc-primitive" ,ghc-primitive)
10682 ("ghc-vector" ,ghc-vector)
10683 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
10684 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
10685 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
10686 (native-inputs
10687 `(("ghc-hunit" ,ghc-hunit)
10688 ("ghc-quickcheck" ,ghc-quickcheck)
10689 ("ghc-ieee754" ,ghc-ieee754)
10690 ("ghc-test-framework" ,ghc-test-framework)
10691 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10692 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10693 (home-page "https://github.com/bos/mwc-random")
10694 (synopsis "Haskell library of statistical types, data, and functions")
10695 (description "This library provides a number of common functions
10696and types useful in statistics. We focus on high performance, numerical
10697robustness, and use of good algorithms. Where possible, we provide references
10698to the statistical literature.
10699
10700The library's facilities can be divided into four broad categories:
10701
10702@itemize
10703@item Working with widely used discrete and continuous probability
10704distributions. (There are dozens of exotic distributions in use; we focus
10705on the most common.)
10706
10707@item Computing with sample data: quantile estimation, kernel density
10708estimation, histograms, bootstrap methods, significance testing,
10709and regression and autocorrelation analysis.
10710
10711@item Random variate generation under several different distributions.
10712
10713@item Common statistical tests for significant differences between samples.
10714@end itemize")
10715 (license license:bsd-2)))
10716
10717(define-public ghc-stm-chans
10718 (package
10719 (name "ghc-stm-chans")
10720 (version "3.0.0.4")
10721 (source
10722 (origin
10723 (method url-fetch)
10724 (uri (string-append "https://hackage.haskell.org/package/"
10725 "stm-chans-" version "/"
10726 "stm-chans-" version ".tar.gz"))
10727 (sha256
10728 (base32
10729 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
10730 (build-system haskell-build-system)
10731 (home-page "https://hackage.haskell.org/package/stm-chans")
10732 (synopsis "Additional types of channels for ghc-stm")
10733 (description "This Haskell package offers a collection of channel types,
10734similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
10735features.")
10736 (license license:bsd-3)))
10737
10738(define-public ghc-stm-conduit
10739 (package
10740 (name "ghc-stm-conduit")
cd518e95 10741 (version "4.0.1")
dddbc90c
RV
10742 (source
10743 (origin
10744 (method url-fetch)
10745 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
10746 "stm-conduit-" version ".tar.gz"))
10747 (sha256
10748 (base32
cd518e95 10749 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
10750 (build-system haskell-build-system)
10751 (inputs
10752 `(("ghc-stm-chans" ,ghc-stm-chans)
10753 ("ghc-cereal" ,ghc-cereal)
10754 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
10755 ("ghc-conduit" ,ghc-conduit)
10756 ("ghc-conduit-extra" ,ghc-conduit-extra)
10757 ("ghc-exceptions" ,ghc-exceptions)
10758 ("ghc-resourcet" ,ghc-resourcet)
10759 ("ghc-async" ,ghc-async)
10760 ("ghc-monad-loops" ,ghc-monad-loops)
10761 ("ghc-unliftio" ,ghc-unliftio)))
10762 (native-inputs
10763 `(("ghc-doctest" ,ghc-doctest)
10764 ("ghc-quickcheck" ,ghc-quickcheck)
10765 ("ghc-hunit" ,ghc-hunit)
10766 ("ghc-test-framework" ,ghc-test-framework)
10767 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10768 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10769 (home-page "https://github.com/cgaebel/stm-conduit")
10770 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
10771 (description
10772 "This package provides two simple conduit wrappers around STM channels: a
10773source and a sink.")
10774 (license license:bsd-3)))
10775
10776(define-public ghc-stmonadtrans
10777 (package
10778 (name "ghc-stmonadtrans")
10779 (version "0.4.3")
10780 (source
10781 (origin
10782 (method url-fetch)
10783 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
10784 "/STMonadTrans-" version ".tar.gz"))
10785 (sha256
10786 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
10787 (build-system haskell-build-system)
10788 (home-page "https://hackage.haskell.org/package/STMonadTrans")
10789 (synopsis "Monad transformer version of the ST monad")
10790 (description
10791 "This package provides a monad transformer version of the @code{ST} monad
10792for strict state threads.")
10793 (license license:bsd-3)))
10794
10795(define-public ghc-storable-complex
10796 (package
10797 (name "ghc-storable-complex")
4a35e3c3 10798 (version "0.2.3.0")
dddbc90c
RV
10799 (source
10800 (origin
10801 (method url-fetch)
10802 (uri (string-append
10803 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
10804 version ".tar.gz"))
10805 (sha256
4a35e3c3 10806 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 10807 (build-system haskell-build-system)
4a35e3c3
TS
10808 (inputs
10809 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
10810 (home-page "https://github.com/cartazio/storable-complex")
10811 (synopsis "Haskell Storable instance for Complex")
10812 (description "This package provides a Haskell library including a
10813Storable instance for Complex which is binary compatible with C99, C++
10814and Fortran complex data types.")
10815 (license license:bsd-3)))
10816
ad80074a
JS
10817(define-public ghc-storable-record
10818 (package
10819 (name "ghc-storable-record")
10820 (version "0.0.4")
10821 (source
10822 (origin
10823 (method url-fetch)
10824 (uri
10825 (string-append
10826 "https://hackage.haskell.org/package/storable-record/"
10827 "storable-record-" version ".tar.gz"))
10828 (sha256
10829 (base32
10830 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
10831 (build-system haskell-build-system)
10832 (inputs
10833 `(("ghc-semigroups" ,ghc-semigroups)
10834 ("ghc-utility-ht" ,ghc-utility-ht)
10835 ("ghc-storablevector" ,ghc-storablevector)
10836 ("ghc-timeit" ,ghc-timeit)))
10837 (home-page "https://hackage.haskell.org/package/storable-record")
10838 (synopsis "Elegant definition of Storable instances for records")
10839 (description "With this package you can build a Storable instance of
10840a record type from Storable instances of its elements in an elegant way.
10841It does not do any magic, just a bit arithmetic to compute the right
10842offsets, that would be otherwise done manually or by a preprocessor like
10843C2HS. There is no guarantee that the generated memory layout is
10844compatible with that of a corresponding C struct. However, the module
10845generates the smallest layout that is possible with respect to the
10846alignment of the record elements.")
10847 (license license:bsd-3)))
10848
55f4c653
JS
10849(define-public ghc-storable-tuple
10850 (package
10851 (name "ghc-storable-tuple")
10852 (version "0.0.3.3")
10853 (source
10854 (origin
10855 (method url-fetch)
10856 (uri
10857 (string-append
10858 "https://hackage.haskell.org/package/storable-tuple/"
10859 "storable-tuple-" version ".tar.gz"))
10860 (sha256
10861 (base32
10862 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
10863 (build-system haskell-build-system)
10864 (inputs
10865 `(("ghc-storable-record" ,ghc-storable-record)
10866 ("ghc-utility-ht" ,ghc-utility-ht)
10867 ("ghc-base-orphans" ,ghc-base-orphans)))
10868 (home-page "https://hackage.haskell.org/package/storable-tuple")
10869 (synopsis "Storable instance for pairs and triples")
10870 (description "This package provides a Storable instance for pairs
10871and triples which should be binary compatible with C99 and C++. The
10872only purpose of this package is to provide a standard location for this
10873instance so that other packages needing this instance can play nicely
10874together.")
10875 (license license:bsd-3)))
10876
bc06ca45
JS
10877(define-public ghc-storablevector
10878 (package
10879 (name "ghc-storablevector")
10880 (version "0.2.13")
10881 (source
10882 (origin
10883 (method url-fetch)
10884 (uri
10885 (string-append
10886 "https://hackage.haskell.org/package/storablevector/storablevector-"
10887 version ".tar.gz"))
10888 (sha256
10889 (base32
10890 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
10891 (build-system haskell-build-system)
10892 (inputs
10893 `(("ghc-non-negative" ,ghc-non-negative)
10894 ("ghc-utility-ht" ,ghc-utility-ht)
10895 ("ghc-semigroups" ,ghc-semigroups)
10896 ("ghc-unsafe" ,ghc-unsafe)
10897 ("ghc-quickcheck" ,ghc-quickcheck)
10898 ("ghc-syb" ,ghc-syb)))
10899 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
10900 (synopsis "Fast, packed, strict storable arrays with a list interface")
10901 (description "This library provides fast, packed, strict storable
10902arrays with a list interface, a chunky lazy list interface with variable
10903chunk size and an interface for write access via the ST monad. This is
10904much like bytestring and binary but can be used for every
10905@code{Foreign.Storable.Storable} type. See also
10906@url{http://hackage.haskell.org/package/vector}, a library with a
10907similar intention.
10908
10909This library does not do advanced fusion optimization, since especially
10910for lazy vectors this would either be incorrect or not applicable. See
10911@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
10912a library that provides fusion with lazy lists.")
10913 (license license:bsd-3)))
10914
dddbc90c
RV
10915(define-public ghc-streaming-commons
10916 (package
10917 (name "ghc-streaming-commons")
10918 (version "0.2.1.1")
10919 (source
10920 (origin
10921 (method url-fetch)
10922 (uri (string-append "https://hackage.haskell.org/package/"
10923 "streaming-commons/streaming-commons-"
10924 version ".tar.gz"))
10925 (sha256
10926 (base32
10927 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
10928 (build-system haskell-build-system)
10929 (inputs
10930 `(("ghc-async" ,ghc-async)
10931 ("ghc-blaze-builder" ,ghc-blaze-builder)
10932 ("ghc-network" ,ghc-network)
10933 ("ghc-random" ,ghc-random)
10934 ("ghc-zlib" ,ghc-zlib)))
10935 (native-inputs
10936 `(("ghc-quickcheck" ,ghc-quickcheck)
10937 ("ghc-hspec" ,ghc-hspec)
10938 ("hspec-discover" ,hspec-discover)))
10939 (home-page "https://hackage.haskell.org/package/streaming-commons")
10940 (synopsis "Conduit and pipes needed by some streaming data libraries")
10941 (description "This package provides low-dependency functionality commonly
10942needed by various Haskell streaming data libraries, such as @code{conduit} and
10943@code{pipe}s.")
10944 (license license:expat)))
10945
10946(define-public ghc-strict
10947 (package
10948 (name "ghc-strict")
10949 (version "0.3.2")
10950 (source
10951 (origin
10952 (method url-fetch)
10953 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
10954 version ".tar.gz"))
10955 (sha256
10956 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
10957 (build-system haskell-build-system)
10958 (home-page "https://hackage.haskell.org/package/strict")
10959 (synopsis "Strict data types and String IO")
10960 (description
10961 "This package provides strict versions of some standard Haskell data
10962types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
10963IO operations.")
10964 (license license:bsd-3)))
10965
10966(define-public ghc-stringbuilder
10967 (package
10968 (name "ghc-stringbuilder")
10969 (version "0.5.1")
10970 (source
10971 (origin
10972 (method url-fetch)
10973 (uri (string-append
10974 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
10975 version
10976 ".tar.gz"))
10977 (sha256
10978 (base32
10979 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
10980 (build-system haskell-build-system)
10981 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
10982 ; enabled
10983 (home-page "https://hackage.haskell.org/package/stringbuilder")
10984 (synopsis "Writer monad for multi-line string literals")
10985 (description "This package provides a writer monad for multi-line string
10986literals.")
10987 (license license:expat)))
10988
10989(define-public ghc-string-qq
10990 (package
10991 (name "ghc-string-qq")
4d6fddc3 10992 (version "0.0.4")
dddbc90c
RV
10993 (source
10994 (origin
10995 (method url-fetch)
10996 (uri (string-append
10997 "https://hackage.haskell.org/package/string-qq/string-qq-"
10998 version
10999 ".tar.gz"))
11000 (sha256
11001 (base32
4d6fddc3 11002 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 11003 (build-system haskell-build-system)
4d6fddc3
TS
11004 (native-inputs
11005 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
11006 (home-page "http://hackage.haskell.org/package/string-qq")
11007 (synopsis
11008 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
11009 (description
11010 "This package provides a quasiquoter for non-interpolated strings, texts
11011and bytestrings.")
11012 (license license:public-domain)))
11013
11014(define-public ghc-stringsearch
11015 (package
11016 (name "ghc-stringsearch")
11017 (version "0.3.6.6")
11018 (source
11019 (origin
11020 (method url-fetch)
11021 (uri (string-append
11022 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
11023 version
11024 ".tar.gz"))
11025 (sha256
11026 (base32
11027 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
11028 (build-system haskell-build-system)
e2303abb
TS
11029 (arguments
11030 `(#:cabal-revision
11031 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
11032 (home-page "https://bitbucket.org/dafis/stringsearch")
11033 (synopsis "Fast searching, splitting and replacing of ByteStrings")
11034 (description "This package provides several functions to quickly search
11035for substrings in strict or lazy @code{ByteStrings}. It also provides
11036functions for breaking or splitting on substrings and replacing all
11037occurrences of a substring (the first in case of overlaps) with another.")
11038 (license license:bsd-3)))
11039
11040(define-public ghc-stylish-haskell
11041 (package
11042 (name "ghc-stylish-haskell")
11043 (version "0.9.2.1")
11044 (source
11045 (origin
11046 (method url-fetch)
11047 (uri (string-append
11048 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
11049 version
11050 ".tar.gz"))
11051 (sha256
11052 (base32
11053 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
11054 (build-system haskell-build-system)
a54dda09
TS
11055 (arguments
11056 `(#:phases
11057 (modify-phases %standard-phases
11058 (add-before 'configure 'update-constraints
11059 (lambda _
11060 (substitute* "stylish-haskell.cabal"
11061 (("haskell-src-exts >= 1\\.18 && < 1\\.21,")
11062 "haskell-src-exts >= 1.18 && < 1.22,"))
11063 #t)))))
dddbc90c
RV
11064 (inputs
11065 `(("ghc-aeson" ,ghc-aeson)
11066 ("ghc-file-embed" ,ghc-file-embed)
11067 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
11068 ("ghc-semigroups" ,ghc-semigroups)
11069 ("ghc-syb" ,ghc-syb)
11070 ("ghc-yaml" ,ghc-yaml)
11071 ("ghc-strict" ,ghc-strict)
11072 ("ghc-optparse-applicative"
11073 ,ghc-optparse-applicative)))
11074 (native-inputs
11075 `(("ghc-hunit" ,ghc-hunit)
11076 ("ghc-test-framework" ,ghc-test-framework)
11077 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11078 (home-page "https://github.com/jaspervdj/stylish-haskell")
11079 (synopsis "Haskell code prettifier")
11080 (description "Stylish-haskell is a Haskell code prettifier. The goal is
11081not to format all of the code in a file, to avoid \"getting in the way\".
11082However, this tool can e.g. clean up import statements and help doing various
11083tasks that get tedious very quickly. It can
11084@itemize
11085@item
11086Align and sort @code{import} statements
11087@item
11088Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
11089pragmas
11090@item
11091Remove trailing whitespaces
11092@item
11093Align branches in @code{case} and fields in records
11094@item
11095Convert line endings (customisable)
11096@item
11097Replace tabs by four spaces (turned off by default)
11098@item
11099Replace some ASCII sequences by their Unicode equivalent (turned off by
11100default)
11101@end itemize")
11102 (license license:bsd-3)))
11103
dcf3f8f4
TS
11104(define-public ghc-svg-builder
11105 (package
11106 (name "ghc-svg-builder")
11107 (version "0.1.1")
11108 (source
11109 (origin
11110 (method url-fetch)
11111 (uri (string-append "https://hackage.haskell.org/package/"
11112 "svg-builder/svg-builder-" version ".tar.gz"))
11113 (sha256
11114 (base32
11115 "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g"))))
11116 (build-system haskell-build-system)
11117 (inputs
11118 `(("ghc-blaze-builder" ,ghc-blaze-builder)
11119 ("ghc-hashable" ,ghc-hashable)
11120 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11121 (arguments
11122 `(#:cabal-revision
11123 ("1" "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1")))
11124 (home-page "https://github.com/diagrams/svg-builder.git")
11125 (synopsis "Domain-specific language for building Scalable Vector Graphics")
11126 (description "Easy-to-write domain-specific language (DSL) for
11127building Scalable Vector Graphics (SVG).")
11128 (license license:bsd-3)))
11129
dddbc90c
RV
11130(define-public ghc-syb
11131 (package
11132 (name "ghc-syb")
07d65eef 11133 (version "0.7.1")
dddbc90c
RV
11134 (outputs '("out" "doc"))
11135 (source
11136 (origin
11137 (method url-fetch)
11138 (uri (string-append
11139 "https://hackage.haskell.org/package/syb/syb-"
11140 version
11141 ".tar.gz"))
11142 (sha256
11143 (base32
07d65eef 11144 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
11145 (build-system haskell-build-system)
11146 (inputs
11147 `(("ghc-hunit" ,ghc-hunit)))
11148 (home-page
11149 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
11150 (synopsis "Scrap Your Boilerplate")
11151 (description "This package contains the generics system described in the
11152/Scrap Your Boilerplate/ papers (see
11153@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
11154defines the @code{Data} class of types permitting folding and unfolding of
11155constructor applications, instances of this class for primitive types, and a
11156variety of traversals.")
11157 (license license:bsd-3)))
11158
11159(define-public ghc-system-fileio
11160 (package
11161 (name "ghc-system-fileio")
dcfb99d4 11162 (version "0.3.16.4")
dddbc90c
RV
11163 (source
11164 (origin
11165 (method url-fetch)
11166 (uri (string-append
11167 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11168 version ".tar.gz"))
11169 (sha256
11170 (base32
dcfb99d4 11171 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 11172 (build-system haskell-build-system)
dcfb99d4
TS
11173 (arguments
11174 `(#:phases
11175 (modify-phases %standard-phases
11176 (add-before 'configure 'update-constraints
11177 (lambda _
11178 (substitute* "system-fileio.cabal"
11179 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
11180 #t)))))
dddbc90c
RV
11181 (inputs
11182 `(("ghc-system-filepath" ,ghc-system-filepath)
11183 ("ghc-chell" ,ghc-chell)
11184 ("ghc-temporary" ,ghc-temporary)))
11185 (home-page "https://github.com/fpco/haskell-filesystem")
11186 (synopsis "Consistent file system interaction across GHC versions")
11187 (description
11188 "This is a small wrapper around the directory, unix, and Win32 packages,
11189for use with system-filepath. It provides a consistent API to the various
11190versions of these packages distributed with different versions of GHC.
11191In particular, this library supports working with POSIX files that have paths
11192which can't be decoded in the current locale encoding.")
11193 (license license:expat)))
11194
11195;; See ghc-system-filepath-bootstrap. In addition this package depends on
11196;; ghc-system-filepath.
11197(define ghc-system-fileio-bootstrap
11198 (package
11199 (name "ghc-system-fileio-bootstrap")
11200 (version "0.3.16.3")
11201 (source
11202 (origin
11203 (method url-fetch)
11204 (uri (string-append
11205 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
11206 version ".tar.gz"))
11207 (sha256
11208 (base32
11209 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
11210 (build-system haskell-build-system)
11211 (arguments
11212 `(#:tests? #f))
11213 (inputs
11214 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
11215 ("ghc-temporary" ,ghc-temporary)))
11216 (home-page "https://github.com/fpco/haskell-filesystem")
11217 (synopsis "Consistent file system interaction across GHC versions")
11218 (description
11219 "This is a small wrapper around the directory, unix, and Win32 packages,
11220for use with system-filepath. It provides a consistent API to the various
11221versions of these packages distributed with different versions of GHC.
11222In particular, this library supports working with POSIX files that have paths
11223which can't be decoded in the current locale encoding.")
11224 (license license:expat)))
11225
11226
11227(define-public ghc-system-filepath
11228 (package
11229 (name "ghc-system-filepath")
11230 (version "0.4.14")
11231 (source
11232 (origin
11233 (method url-fetch)
11234 (uri (string-append
11235 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11236 version ".tar.gz"))
11237 (sha256
11238 (base32
11239 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11240 (build-system haskell-build-system)
11241 ;; FIXME: One of the tests fails:
11242 ;; [ FAIL ] tests.validity.posix
11243 ;; note: seed=7310214548328823169
11244 ;; *** Failed! Falsifiable (after 24 tests):
11245 ;; 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"
11246 (arguments `(#:tests? #f))
11247 (inputs
11248 `(("ghc-chell" ,ghc-chell)
11249 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
11250 ("ghc-quickcheck" ,ghc-quickcheck)))
11251 (home-page "https://github.com/fpco/haskell-filesystem")
11252 (synopsis "High-level, byte-based file and directory path manipulations")
11253 (description
11254 "Provides a FilePath datatype and utility functions for operating on it.
11255Unlike the filepath package, this package does not simply reuse String,
11256increasing type safety.")
11257 (license license:expat)))
11258
11259;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
11260;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
11261;; which depends on ghc-chell and ghc-chell-quickcheck.
11262;; Therefore we bootstrap it with tests disabled.
11263(define ghc-system-filepath-bootstrap
11264 (package
11265 (name "ghc-system-filepath-bootstrap")
11266 (version "0.4.14")
11267 (source
11268 (origin
11269 (method url-fetch)
11270 (uri (string-append
11271 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
11272 version ".tar.gz"))
11273 (sha256
11274 (base32
11275 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
11276 (build-system haskell-build-system)
11277 (arguments
11278 `(#:tests? #f))
11279 (inputs
11280 `(("ghc-quickcheck" ,ghc-quickcheck)))
11281 (home-page "https://github.com/fpco/haskell-filesystem")
11282 (synopsis "High-level, byte-based file and directory path manipulations")
11283 (description
11284 "Provides a FilePath datatype and utility functions for operating on it.
11285Unlike the filepath package, this package does not simply reuse String,
11286increasing type safety.")
11287 (license license:expat)))
11288
11289
11290(define-public ghc-tagged
11291 (package
11292 (name "ghc-tagged")
f0f3756a 11293 (version "0.8.6")
dddbc90c
RV
11294 (source
11295 (origin
11296 (method url-fetch)
11297 (uri (string-append
11298 "https://hackage.haskell.org/package/tagged/tagged-"
11299 version
11300 ".tar.gz"))
11301 (sha256
11302 (base32
f0f3756a 11303 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
11304 (build-system haskell-build-system)
11305 (arguments
11306 `(#:cabal-revision
f0f3756a 11307 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
11308 (inputs
11309 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11310 (home-page "https://hackage.haskell.org/package/tagged")
11311 (synopsis "Haskell phantom types to avoid passing dummy arguments")
11312 (description "This library provides phantom types for Haskell 98, to avoid
11313having to unsafely pass dummy arguments.")
11314 (license license:bsd-3)))
11315
11316(define-public ghc-tar
11317 (package
11318 (name "ghc-tar")
ec83929f 11319 (version "0.5.1.1")
dddbc90c
RV
11320 (source
11321 (origin
11322 (method url-fetch)
11323 (uri (string-append
11324 "https://hackage.haskell.org/package/tar/tar-"
11325 version ".tar.gz"))
11326 (sha256
11327 (base32
ec83929f 11328 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
11329 (build-system haskell-build-system)
11330 ;; FIXME: 2/24 tests fail.
11331 (arguments `(#:tests? #f))
11332 (inputs
11333 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
11334 ("ghc-quickcheck" ,ghc-quickcheck)
11335 ("ghc-tasty" ,ghc-tasty)
11336 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11337 (home-page "https://hackage.haskell.org/package/tar")
11338 (synopsis "Reading, writing and manipulating \".tar\" archive files")
11339 (description
11340 "This library is for working with \\\"@.tar@\\\" archive files.
11341It can read and write a range of common variations of the tar archive format
11342including V7, POSIX USTAR and GNU formats. It provides support for packing and
11343unpacking portable archives. This makes it suitable for distribution but not
11344backup because details like file ownership and exact permissions are not
11345preserved. It also provides features for random access to archive content using
11346an index.")
11347 (license license:bsd-3)))
11348
f8d17902
TS
11349(define-public ghc-tar-conduit
11350 (package
11351 (name "ghc-tar-conduit")
11352 (version "0.3.2")
11353 (source
11354 (origin
11355 (method url-fetch)
11356 (uri (string-append "https://hackage.haskell.org/package/"
11357 "tar-conduit/tar-conduit-" version ".tar.gz"))
11358 (sha256
11359 (base32
11360 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
11361 (build-system haskell-build-system)
11362 (inputs
11363 `(("ghc-conduit" ,ghc-conduit)
11364 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
11365 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
11366 (native-inputs
11367 `(("ghc-quickcheck" ,ghc-quickcheck)
11368 ("ghc-conduit-extra" ,ghc-conduit-extra)
11369 ("ghc-hspec" ,ghc-hspec)
11370 ("ghc-hspec" ,ghc-hspec)
11371 ("ghc-weigh" ,ghc-weigh)))
11372 (home-page "https://github.com/snoyberg/tar-conduit#readme")
11373 (synopsis "Extract and create tar files using conduit for streaming")
11374 (description "This library provides a conduit-based, streaming
11375interface for extracting and creating tar files.")
11376 (license license:expat)))
11377
dddbc90c
RV
11378(define-public ghc-temporary
11379 (package
11380 (name "ghc-temporary")
11381 (version "1.3")
11382 (source
11383 (origin
11384 (method url-fetch)
11385 (uri (string-append
11386 "https://hackage.haskell.org/package/temporary/temporary-"
11387 version
11388 ".tar.gz"))
11389 (sha256
11390 (base32
11391 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
11392 (build-system haskell-build-system)
11393 (inputs
11394 `(("ghc-exceptions" ,ghc-exceptions)
11395 ("ghc-random" ,ghc-random)))
11396 (native-inputs
11397 `(("ghc-base-compat" ,ghc-base-compat)
11398 ("ghc-tasty" ,ghc-tasty)
11399 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11400 (home-page "https://www.github.com/batterseapower/temporary")
11401 (synopsis "Temporary file and directory support")
11402 (description "The functions for creating temporary files and directories
11403in the Haskelll base library are quite limited. This library just repackages
11404the Cabal implementations of its own temporary file and folder functions so
11405that you can use them without linking against Cabal or depending on it being
11406installed.")
11407 (license license:bsd-3)))
11408
11409(define-public ghc-temporary-rc
11410 (package
11411 (name "ghc-temporary-rc")
11412 (version "1.2.0.3")
11413 (source
11414 (origin
11415 (method url-fetch)
11416 (uri (string-append
11417 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
11418 version
11419 ".tar.gz"))
11420 (sha256
11421 (base32
11422 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
11423 (build-system haskell-build-system)
11424 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
11425 (home-page
11426 "https://www.github.com/feuerbach/temporary")
11427 (synopsis
11428 "Portable temporary file and directory support")
11429 (description
11430 "The functions for creating temporary files and directories in the base
11431library are quite limited. The unixutils package contains some good ones, but
11432they aren't portable to Windows. This library just repackages the Cabal
11433implementations of its own temporary file and folder functions so that you can
11434use them without linking against Cabal or depending on it being installed.
11435This is a better maintained fork of the \"temporary\" package.")
11436 (license license:bsd-3)))
11437
11438(define-public ghc-terminal-size
11439 (package
11440 (name "ghc-terminal-size")
11441 (version "0.3.2.1")
11442 (source (origin
11443 (method url-fetch)
11444 (uri (string-append
11445 "https://hackage.haskell.org/package/terminal-size/"
11446 "terminal-size-" version ".tar.gz"))
11447 (sha256
11448 (base32
11449 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
11450 (build-system haskell-build-system)
11451 (home-page "https://hackage.haskell.org/package/terminal-size")
11452 (synopsis "Get terminal window height and width")
11453 (description "Get terminal window height and width without ncurses
11454dependency.")
11455 (license license:bsd-3)))
11456
11457(define-public ghc-texmath
11458 (package
11459 (name "ghc-texmath")
7fec7e66 11460 (version "0.11.3")
dddbc90c
RV
11461 (source (origin
11462 (method url-fetch)
11463 (uri (string-append "https://hackage.haskell.org/package/"
11464 "texmath/texmath-" version ".tar.gz"))
11465 (sha256
11466 (base32
7fec7e66 11467 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
11468 (build-system haskell-build-system)
11469 (inputs
11470 `(("ghc-syb" ,ghc-syb)
11471 ("ghc-network-uri" ,ghc-network-uri)
11472 ("ghc-split" ,ghc-split)
11473 ("ghc-temporary" ,ghc-temporary)
11474 ("ghc-utf8-string" ,ghc-utf8-string)
11475 ("ghc-xml" ,ghc-xml)
11476 ("ghc-pandoc-types" ,ghc-pandoc-types)))
11477 (home-page "https://github.com/jgm/texmath")
11478 (synopsis "Conversion between formats used to represent mathematics")
11479 (description
11480 "The texmath library provides functions to read and write TeX math,
11481presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
11482Office). Support is also included for converting math formats to pandoc's
11483native format (allowing conversion, via pandoc, to a variety of different
11484markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
11485it can parse and apply LaTeX macros.")
11486 (license license:gpl2+)))
11487
11488(define-public ghc-text-binary
11489 (package
11490 (name "ghc-text-binary")
11491 (version "0.2.1.1")
11492 (source
11493 (origin
11494 (method url-fetch)
11495 (uri (string-append "https://hackage.haskell.org/package/"
11496 "text-binary/text-binary-"
11497 version ".tar.gz"))
11498 (sha256
11499 (base32
11500 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
11501 (build-system haskell-build-system)
11502 (home-page "https://github.com/kawu/text-binary")
11503 (synopsis "Binary instances for text types")
11504 (description
11505 "This package provides a compatibility layer providing @code{Binary}
11506instances for strict and lazy text types for versions older than 1.2.1 of the
11507text package.")
11508 (license license:bsd-2)))
11509
bdc877c4
TS
11510(define-public ghc-text-metrics
11511 (package
11512 (name "ghc-text-metrics")
11513 (version "0.3.0")
11514 (source
11515 (origin
11516 (method url-fetch)
11517 (uri (string-append "https://hackage.haskell.org/package/"
11518 "text-metrics/text-metrics-" version ".tar.gz"))
11519 (sha256
11520 (base32
11521 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
11522 (build-system haskell-build-system)
11523 (inputs
11524 `(("ghc-vector" ,ghc-vector)))
11525 (native-inputs
11526 `(("ghc-quickcheck" ,ghc-quickcheck)
11527 ("ghc-hspec" ,ghc-hspec)))
11528 (arguments
11529 `(#:cabal-revision
11530 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
11531 (home-page "https://github.com/mrkkrp/text-metrics")
11532 (synopsis "Calculate various string metrics efficiently")
11533 (description "This library provides tools to calculate various
11534string metrics efficiently.")
11535 (license license:bsd-3)))
11536
dddbc90c
RV
11537(define-public ghc-tf-random
11538 (package
11539 (name "ghc-tf-random")
11540 (version "0.5")
11541 (outputs '("out" "doc"))
11542 (source
11543 (origin
11544 (method url-fetch)
11545 (uri (string-append
11546 "https://hackage.haskell.org/package/tf-random/tf-random-"
11547 version
11548 ".tar.gz"))
11549 (sha256
11550 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
11551 (build-system haskell-build-system)
11552 (inputs
11553 `(("ghc-primitive" ,ghc-primitive)
11554 ("ghc-random" ,ghc-random)))
11555 (home-page "https://hackage.haskell.org/package/tf-random")
11556 (synopsis "High-quality splittable pseudorandom number generator")
11557 (description "This package contains an implementation of a high-quality
11558splittable pseudorandom number generator. The generator is based on a
11559cryptographic hash function built on top of the ThreeFish block cipher. See
11560the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
11561Hashing\" by Claessen, Pałka for details and the rationale of the design.")
11562 (license license:bsd-3)))
11563
11564(define-public ghc-th-abstraction
11565 (package
11566 (name "ghc-th-abstraction")
1188eabb 11567 (version "0.3.1.0")
dddbc90c
RV
11568 (source
11569 (origin
11570 (method url-fetch)
11571 (uri (string-append "https://hackage.haskell.org/package/"
11572 "th-abstraction/th-abstraction-"
11573 version ".tar.gz"))
11574 (sha256
11575 (base32
1188eabb 11576 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
11577 (build-system haskell-build-system)
11578 (home-page "https://github.com/glguy/th-abstraction")
11579 (synopsis "Nicer interface for reified information about data types")
11580 (description
11581 "This package normalizes variations in the interface for inspecting
11582datatype information via Template Haskell so that packages and support a
11583single, easier to use informational datatype while supporting many versions of
11584Template Haskell.")
11585 (license license:isc)))
11586
11587(define-public ghc-th-expand-syns
11588 (package
11589 (name "ghc-th-expand-syns")
8c766600 11590 (version "0.4.5.0")
dddbc90c
RV
11591 (source (origin
11592 (method url-fetch)
11593 (uri (string-append "https://hackage.haskell.org/package/"
11594 "th-expand-syns/th-expand-syns-"
11595 version ".tar.gz"))
11596 (sha256
11597 (base32
8c766600 11598 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
11599 (build-system haskell-build-system)
11600 (inputs
11601 `(("ghc-syb" ,ghc-syb)))
11602 (home-page "https://hackage.haskell.org/package/th-expand-syns")
11603 (synopsis "Expands type synonyms in Template Haskell ASTs")
11604 (description
11605 "This package enables users to expand type synonyms in Template Haskell
11606@dfn{abstract syntax trees} (ASTs).")
11607 (license license:bsd-3)))
11608
11609(define-public ghc-th-lift
11610 (package
11611 (name "ghc-th-lift")
bd76b20a 11612 (version "0.8.0.1")
dddbc90c
RV
11613 (source (origin
11614 (method url-fetch)
11615 (uri (string-append "https://hackage.haskell.org/package/"
11616 "th-lift/th-lift-" version ".tar.gz"))
11617 (sha256
11618 (base32
bd76b20a 11619 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
11620 (build-system haskell-build-system)
11621 (inputs
11622 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
11623 (home-page "https://github.com/mboes/th-lift")
11624 (synopsis "Derive Template Haskell's Lift class for datatypes")
11625 (description
11626 "This is a Haskell library to derive Template Haskell's Lift class for
11627datatypes.")
11628 (license license:bsd-3)))
11629
11630(define-public ghc-th-lift-instances
11631 (package
11632 (name "ghc-th-lift-instances")
d3db399e 11633 (version "0.1.14")
dddbc90c
RV
11634 (source
11635 (origin
11636 (method url-fetch)
11637 (uri (string-append "https://hackage.haskell.org/package/"
11638 "th-lift-instances/th-lift-instances-"
11639 version ".tar.gz"))
11640 (sha256
11641 (base32
d3db399e 11642 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
11643 (build-system haskell-build-system)
11644 (inputs
11645 `(("ghc-th-lift" ,ghc-th-lift)
11646 ("ghc-vector" ,ghc-vector)
11647 ("ghc-quickcheck" ,ghc-quickcheck)))
11648 (home-page "https://github.com/bennofs/th-lift-instances/")
11649 (synopsis "Lift instances for template-haskell for common data types.")
11650 (description "Most data types in the Haskell platform do not have Lift
11651instances. This package provides orphan instances for @code{containers},
11652@code{text}, @code{bytestring} and @code{vector}.")
11653 (license license:bsd-3)))
11654
11655(define-public ghc-th-orphans
11656 (package
11657 (name "ghc-th-orphans")
882b23e2 11658 (version "0.13.9")
dddbc90c
RV
11659 (source (origin
11660 (method url-fetch)
11661 (uri (string-append "https://hackage.haskell.org/package/"
11662 "th-orphans/th-orphans-" version ".tar.gz"))
11663 (sha256
11664 (base32
882b23e2 11665 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
11666 (build-system haskell-build-system)
11667 (inputs
11668 `(("ghc-th-lift" ,ghc-th-lift)
11669 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
11670 ("ghc-th-reify-many" ,ghc-th-reify-many)
11671 ("ghc-generic-deriving" ,ghc-generic-deriving)))
11672 (native-inputs
11673 `(("ghc-hspec" ,ghc-hspec)))
11674 (home-page "https://hackage.haskell.org/package/th-orphans")
11675 (synopsis "Orphan instances for TH datatypes")
11676 (description
11677 "This package provides orphan instances for Template Haskell datatypes. In particular,
11678instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
11679and @code{Eq} instances. These instances used to live in the haskell-src-meta
11680package, and that's where the version number started.")
11681 (license license:bsd-3)))
11682
11683(define-public ghc-threads
11684 (package
11685 (name "ghc-threads")
11686 (version "0.5.1.6")
11687 (source
11688 (origin
11689 (method url-fetch)
11690 (uri (string-append "https://hackage.haskell.org/package/"
11691 "threads/threads-" version ".tar.gz"))
11692 (sha256
11693 (base32
11694 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
11695 (build-system haskell-build-system)
11696 (native-inputs
11697 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
11698 ("ghc-hunit" ,ghc-hunit)
11699 ("ghc-test-framework" ,ghc-test-framework)
11700 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11701 (home-page "https://github.com/basvandijk/threads")
11702 (synopsis "Fork threads and wait for their result")
11703 (description "This package provides functions to fork threads and
11704wait for their result, whether it's an exception or a normal value.
11705Besides waiting for the termination of a single thread this package also
11706provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
11707package is similar to the @code{threadmanager}, @code{async} and
11708@code{spawn} packages. The advantages of this package are:
11709
dddbc90c
RV
11710@itemize
11711@item Simpler API.
11712@item More efficient in both space and time.
11713@item No space-leak when forking a large number of threads.
11714@item Correct handling of asynchronous exceptions.
11715@item GHC specific functionality like @code{forkOn} and
11716@code{forkIOWithUnmask}.
11717@end itemize")
11718 (license license:bsd-3)))
11719
11720(define-public ghc-th-reify-many
11721 (package
11722 (name "ghc-th-reify-many")
32d4a6ae 11723 (version "0.1.9")
dddbc90c
RV
11724 (source (origin
11725 (method url-fetch)
11726 (uri (string-append "https://hackage.haskell.org/package/"
11727 "th-reify-many/th-reify-many-"
11728 version ".tar.gz"))
11729 (sha256
11730 (base32
32d4a6ae 11731 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
11732 (build-system haskell-build-system)
11733 (inputs
11734 `(("ghc-safe" ,ghc-safe)
11735 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
11736 (home-page "https://github.com/mgsloan/th-reify-many")
11737 (synopsis "Recurseively reify template haskell datatype info")
11738 (description
11739 "th-reify-many provides functions for recursively reifying top level
11740declarations. The main intended use case is for enumerating the names of
11741datatypes reachable from an initial datatype, and passing these names to some
11742function which generates instances.")
11743 (license license:bsd-3)))
11744
75cfc9a2
TS
11745(define-public ghc-time-compat
11746 (package
11747 (name "ghc-time-compat")
11748 (version "1.9.2.2")
11749 (source
11750 (origin
11751 (method url-fetch)
11752 (uri (string-append "https://hackage.haskell.org/package/"
11753 "time-compat/time-compat-" version ".tar.gz"))
11754 (sha256
11755 (base32
11756 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
11757 (build-system haskell-build-system)
11758 (inputs
11759 `(("ghc-base-orphans" ,ghc-base-orphans)))
11760 (native-inputs
11761 `(("ghc-hunit" ,ghc-hunit)
11762 ("ghc-base-compat" ,ghc-base-compat)
11763 ("ghc-quickcheck" ,ghc-quickcheck)
11764 ("ghc-tagged" ,ghc-tagged)
11765 ("ghc-tasty" ,ghc-tasty)
11766 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11767 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11768 (arguments
11769 `(#:cabal-revision
11770 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
11771 (home-page "https://github.com/phadej/time-compat")
11772 (synopsis "Compatibility package for time")
a8d73e69 11773 (description "This package tries to compat as many @code{time}
75cfc9a2
TS
11774features as possible.")
11775 (license license:bsd-3)))
11776
dddbc90c
RV
11777(define-public ghc-time-locale-compat
11778 (package
11779 (name "ghc-time-locale-compat")
11780 (version "0.1.1.5")
11781 (source
11782 (origin
11783 (method url-fetch)
11784 (uri (string-append "https://hackage.haskell.org/package/"
11785 "time-locale-compat/time-locale-compat-"
11786 version ".tar.gz"))
11787 (sha256
11788 (base32
11789 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
11790 (build-system haskell-build-system)
11791 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
11792 (home-page "https://github.com/khibino/haskell-time-locale-compat")
11793 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
11794 (description "This package contains a wrapped name module for
11795@code{TimeLocale}.")
11796 (license license:bsd-3)))
11797
c022a4d4
TS
11798(define-public ghc-time-manager
11799 (package
11800 (name "ghc-time-manager")
11801 (version "0.0.0")
11802 (source
11803 (origin
11804 (method url-fetch)
11805 (uri (string-append "https://hackage.haskell.org/package/"
11806 "time-manager/time-manager-" version ".tar.gz"))
11807 (sha256
11808 (base32
11809 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
11810 (build-system haskell-build-system)
11811 (inputs
11812 `(("ghc-auto-update" ,ghc-auto-update)))
11813 (home-page "https://github.com/yesodweb/wai")
11814 (synopsis "Scalable timer")
11815 (description "This library contains scalable timer functions provided by a
11816timer manager.")
11817 (license license:expat)))
11818
7bbfa392
JS
11819(define-public ghc-timeit
11820 (package
11821 (name "ghc-timeit")
11822 (version "2.0")
11823 (source
11824 (origin
11825 (method url-fetch)
11826 (uri
11827 (string-append
11828 "https://hackage.haskell.org/package/timeit/timeit-"
11829 version ".tar.gz"))
11830 (sha256
11831 (base32
11832 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
11833 (build-system haskell-build-system)
11834 (home-page "https://github.com/merijn/timeit")
11835 (synopsis "Time monadic computations with an IO base")
11836 (description "This package provides a simple wrapper to show the
11837used CPU time of monadic computation with an IO base.")
11838 (license license:bsd-3)))
11839
2ed8bd2d
JS
11840(define-public ghc-timezone-series
11841 (package
11842 (name "ghc-timezone-series")
11843 (version "0.1.9")
11844 (source
11845 (origin
11846 (method url-fetch)
11847 (uri
11848 (string-append
11849 "mirror://hackage/package/timezone-series/timezone-series-"
11850 version ".tar.gz"))
11851 (sha256
11852 (base32
11853 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
11854 (build-system haskell-build-system)
11855 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11856 (synopsis "Enhanced timezone handling for Time")
11857 (description
11858 "This package endows @code{Data.Time}, from the time package, with several
11859data types and functions for enhanced processing of timezones. For one way to
11860create timezone series, see the ghc-timezone-olson package.")
11861 (license license:bsd-3)))
11862
ff0f5786
JS
11863(define-public ghc-timezone-olson
11864 (package
11865 (name "ghc-timezone-olson")
11866 (version "0.1.9")
11867 (source
11868 (origin
11869 (method url-fetch)
11870 (uri
11871 (string-append
11872 "mirror://hackage/package/timezone-olson/timezone-olson-"
11873 version ".tar.gz"))
11874 (sha256
11875 (base32
11876 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
11877 (build-system haskell-build-system)
11878 (inputs
11879 `(("ghc-timezone-series" ,ghc-timezone-series)
11880 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
11881 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11882 (synopsis "Parser and renderer for binary Olson timezone files")
11883 (description
11884 "A parser and renderer for binary Olson timezone files whose format
11885is specified by the tzfile(5) man page on Unix-like systems. For more
11886information about this format, see
11887@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
11888are provided for converting the parsed data into @code{TimeZoneSeries}
11889objects from the timezone-series package.")
11890 (license license:bsd-3)))
11891
dddbc90c
RV
11892(define-public ghc-tldr
11893 (package
11894 (name "ghc-tldr")
871ceb31 11895 (version "0.4.0.2")
dddbc90c
RV
11896 (source
11897 (origin
11898 (method url-fetch)
11899 (uri (string-append
11900 "https://hackage.haskell.org/package/tldr/tldr-"
11901 version
11902 ".tar.gz"))
11903 (sha256
11904 (base32
871ceb31 11905 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
11906 (build-system haskell-build-system)
11907 (inputs
11908 `(("ghc-cmark" ,ghc-cmark)
11909 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
11910 ("ghc-typed-process" ,ghc-typed-process)
11911 ("ghc-semigroups" ,ghc-semigroups)))
11912 (native-inputs
11913 `(("ghc-tasty" ,ghc-tasty)
11914 ("ghc-tasty-golden" ,ghc-tasty-golden)))
11915 (home-page "https://github.com/psibi/tldr-hs#readme")
11916 (synopsis "Haskell tldr client")
11917 (description "This package provides the @command{tldr} command and a
11918Haskell client library allowing users to update and view @code{tldr} pages
11919from a shell. The @code{tldr} pages are a community effort to simplify the
11920man pages with practical examples.")
11921 (license license:bsd-3)))
11922
11923(define-public ghc-transformers-base
11924 (package
11925 (name "ghc-transformers-base")
11926 (version "0.4.5.2")
11927 (source
11928 (origin
11929 (method url-fetch)
11930 (uri (string-append
11931 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
11932 version
11933 ".tar.gz"))
11934 (sha256
11935 (base32
11936 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
11937 (build-system haskell-build-system)
11938 (inputs
11939 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11940 (home-page
11941 "https://hackage.haskell.org/package/transformers-compat")
11942 (synopsis
11943 "Backported transformer library")
11944 (description
11945 "Backported versions of types that were added to transformers in
11946transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
11947compatibility to run on old versions of the platform.")
11948 (license license:bsd-3)))
11949
11950(define-public ghc-transformers-compat
11951 (package
11952 (name "ghc-transformers-compat")
1c9c4d58 11953 (version "0.6.5")
dddbc90c
RV
11954 (source
11955 (origin
11956 (method url-fetch)
11957 (uri (string-append
11958 "https://hackage.haskell.org/package/transformers-compat"
11959 "/transformers-compat-" version ".tar.gz"))
11960 (sha256
11961 (base32
1c9c4d58 11962 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
11963 (build-system haskell-build-system)
11964 (home-page "https://github.com/ekmett/transformers-compat/")
11965 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
11966 (description "This package includes backported versions of types that were
11967added to transformers in transformers 0.3 and 0.4 for users who need strict
11968transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
11969but also need those types.")
11970 (license license:bsd-3)))
11971
11972(define-public ghc-tree-diff
11973 (package
11974 (name "ghc-tree-diff")
b4e26067 11975 (version "0.1")
dddbc90c
RV
11976 (source
11977 (origin
11978 (method url-fetch)
11979 (uri (string-append
11980 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
11981 version
11982 ".tar.gz"))
11983 (sha256
11984 (base32
b4e26067 11985 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 11986 (build-system haskell-build-system)
dddbc90c
RV
11987 (inputs
11988 `(("ghc-aeson" ,ghc-aeson)
11989 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11990 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11991 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 11992 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 11993 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
11994 ("ghc-parsers" ,ghc-parsers)
11995 ("ghc-quickcheck" ,ghc-quickcheck)
11996 ("ghc-scientific" ,ghc-scientific)
11997 ("ghc-tagged" ,ghc-tagged)
11998 ("ghc-unordered-containers" ,ghc-unordered-containers)
11999 ("ghc-uuid-types" ,ghc-uuid-types)
12000 ("ghc-vector" ,ghc-vector)))
12001 (native-inputs
12002 `(("ghc-base-compat" ,ghc-base-compat)
12003 ("ghc-quickcheck" ,ghc-quickcheck)
12004 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12005 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12006 ("ghc-trifecta" ,ghc-trifecta)
12007 ("ghc-tasty" ,ghc-tasty)
12008 ("ghc-tasty-golden" ,ghc-tasty-golden)
12009 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12010 (home-page "https://github.com/phadej/tree-diff")
12011 (synopsis "Compute difference between (expression) trees")
12012 (description "This Haskell library provides a function for computing
12013the difference between (expression) trees. It also provides a way to
12014compute the difference between arbitrary abstract datatypes (ADTs) using
12015@code{Generics}-derivable helpers.")
12016 (license license:bsd-3)))
12017
12018(define-public ghc-trifecta
12019 (package
12020 (name "ghc-trifecta")
12021 (version "2")
12022 (source (origin
12023 (method url-fetch)
12024 (uri (string-append
12025 "https://hackage.haskell.org/package/trifecta/"
12026 "trifecta-" version ".tar.gz"))
12027 (sha256
12028 (base32
12029 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
12030 (build-system haskell-build-system)
5ffe8cfd
TS
12031 (arguments
12032 `(#:tests? #f ; doctest suite fails to build on i686
12033 #:cabal-revision
12034 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
12035 (inputs
12036 `(("ghc-reducers" ,ghc-reducers)
12037 ("ghc-semigroups" ,ghc-semigroups)
12038 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
12039 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
12040 ("ghc-blaze-builder" ,ghc-blaze-builder)
12041 ("ghc-blaze-html" ,ghc-blaze-html)
12042 ("ghc-blaze-markup" ,ghc-blaze-markup)
12043 ("ghc-charset" ,ghc-charset)
12044 ("ghc-comonad" ,ghc-comonad)
12045 ("ghc-fingertree" ,ghc-fingertree)
12046 ("ghc-hashable" ,ghc-hashable)
12047 ("ghc-lens" ,ghc-lens)
12048 ("ghc-parsers" ,ghc-parsers)
12049 ("ghc-profunctors" ,ghc-profunctors)
12050 ("ghc-unordered-containers" ,ghc-unordered-containers)
12051 ("ghc-utf8-string" ,ghc-utf8-string)))
12052 (native-inputs
12053 `(("cabal-doctest" ,cabal-doctest)
12054 ("ghc-doctest" ,ghc-doctest)
12055 ("ghc-quickcheck" ,ghc-quickcheck)))
12056 (home-page "https://github.com/ekmett/trifecta/")
12057 (synopsis "Parser combinator library with convenient diagnostics")
12058 (description "Trifecta is a modern parser combinator library for Haskell,
12059with slicing and Clang-style colored diagnostics.")
12060 (license license:bsd-3)))
12061
12062(define-public ghc-tuple-th
12063 (package
12064 (name "ghc-tuple-th")
12065 (version "0.2.5")
12066 (source
12067 (origin
12068 (method url-fetch)
12069 (uri (string-append "https://hackage.haskell.org/package/"
12070 "tuple-th-" version "/"
12071 "tuple-th-" version ".tar.gz"))
12072 (sha256
12073 (base32
12074 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
12075 (build-system haskell-build-system)
12076 (home-page "https://github.com/DanielSchuessler/tuple-th")
12077 (synopsis "Generate utility functions for tuples of statically known size
12078for Haskell")
12079 (description "This Haskell package contains Template Haskell functions for
12080generating functions similar to those in @code{Data.List} for tuples of
12081statically known size.")
12082 (license license:bsd-3)))
12083
12084(define-public ghc-typed-process
12085 (package
12086 (name "ghc-typed-process")
72fb84a5 12087 (version "0.2.6.0")
dddbc90c
RV
12088 (source
12089 (origin
12090 (method url-fetch)
12091 (uri (string-append "https://hackage.haskell.org/package/"
12092 "typed-process/typed-process-"
12093 version ".tar.gz"))
12094 (sha256
12095 (base32
72fb84a5 12096 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
12097 (build-system haskell-build-system)
12098 (inputs
72fb84a5
TS
12099 `(("ghc-async" ,ghc-async)
12100 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
12101 (native-inputs
12102 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
12103 ("ghc-hspec" ,ghc-hspec)
12104 ("hspec-discover" ,hspec-discover)
12105 ("ghc-temporary" ,ghc-temporary)))
12106 (home-page "https://haskell-lang.org/library/typed-process")
12107 (synopsis "Run external processes with strong typing of streams")
12108 (description
12109 "This library provides the ability to launch and interact with external
12110processes. It wraps around the @code{process} library, and intends to improve
12111upon it.")
12112 (license license:expat)))
12113
d392f803
AG
12114(define-public ghc-unagi-chan
12115 (package
12116 (name "ghc-unagi-chan")
12117 (version "0.4.1.2")
12118 (source
12119 (origin
12120 (method url-fetch)
12121 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
12122 "/unagi-chan-" version ".tar.gz"))
12123 (sha256
12124 (base32
12125 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
12126 (build-system haskell-build-system)
12127 (inputs
12128 `(("ghc-atomic-primops" ,ghc-atomic-primops)
12129 ("ghc-primitive" ,ghc-primitive)))
12130 (arguments
12131 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
12132 #:cabal-revision
12133 ("1"
12134 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
12135 (home-page "http://hackage.haskell.org/package/unagi-chan")
12136 (synopsis "Fast concurrent queues with a Chan-like API, and more")
12137 (description
12138 "This library provides implementations of concurrent FIFO queues (for
12139both general boxed and primitive unboxed values) that are fast, perform well
12140under contention, and offer a Chan-like interface. The library may be of
12141limited usefulness outside of x86 architectures where the fetch-and-add
12142instruction is not available.")
12143 (license license:bsd-3)))
12144
dddbc90c
RV
12145(define-public ghc-unbounded-delays
12146 (package
12147 (name "ghc-unbounded-delays")
12148 (version "0.1.1.0")
12149 (source
12150 (origin
12151 (method url-fetch)
12152 (uri (string-append
12153 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
12154 version
12155 ".tar.gz"))
12156 (sha256
12157 (base32
12158 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
12159 (build-system haskell-build-system)
12160 (home-page "https://github.com/basvandijk/unbounded-delays")
12161 (synopsis "Unbounded thread delays and timeouts")
12162 (description "The @code{threadDelay} and @code{timeout} functions from the
12163Haskell base library use the bounded @code{Int} type for specifying the delay
12164or timeout period. This package provides alternative functions which use the
12165unbounded @code{Integer} type.")
12166 (license license:bsd-3)))
12167
12168(define-public ghc-unexceptionalio
12169 (package
12170 (name "ghc-unexceptionalio")
12171 (version "0.4.0")
12172 (source
12173 (origin
12174 (method url-fetch)
12175 (uri (string-append "https://hackage.haskell.org/package/"
12176 "unexceptionalio-" version "/" "unexceptionalio-"
12177 version ".tar.gz"))
12178 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
12179 (build-system haskell-build-system)
12180 (home-page "https://github.com/singpolyma/unexceptionalio")
12181 (synopsis "IO without any non-error, synchronous exceptions")
12182 (description "When you've caught all the exceptions that can be
12183handled safely, this is what you're left with.")
12184 (license license:isc)))
12185
b69d4aa7
TS
12186(define-public ghc-unicode-transforms
12187 (package
12188 (name "ghc-unicode-transforms")
12189 (version "0.3.6")
12190 (source
12191 (origin
12192 (method url-fetch)
12193 (uri (string-append "https://hackage.haskell.org/package/"
12194 "unicode-transforms/unicode-transforms-"
12195 version ".tar.gz"))
12196 (sha256
12197 (base32
12198 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
12199 (build-system haskell-build-system)
12200 (inputs
12201 `(("ghc-bitarray" ,ghc-bitarray)))
12202 (native-inputs
12203 `(("ghc-quickcheck" ,ghc-quickcheck)
12204 ("ghc-getopt-generics" ,ghc-getopt-generics)
12205 ("ghc-split" ,ghc-split)))
12206 (home-page "https://github.com/composewell/unicode-transforms")
12207 (synopsis "Unicode normalization")
12208 (description "This library provides tools for fast Unicode 12.1.0
12209normalization in Haskell (normalization forms C, KC, D, and KD).")
12210 (license license:bsd-3)))
12211
dddbc90c
RV
12212(define-public ghc-union-find
12213 (package
12214 (name "ghc-union-find")
12215 (version "0.2")
12216 (source (origin
12217 (method url-fetch)
12218 (uri (string-append
12219 "https://hackage.haskell.org/package/union-find/union-find-"
12220 version ".tar.gz"))
12221 (sha256
12222 (base32
12223 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
12224 (build-system haskell-build-system)
12225 (home-page "https://github.com/nominolo/union-find")
12226 (synopsis "Efficient union and equivalence testing of sets")
12227 (description
12228 "The Union/Find algorithm implements these operations in (effectively)
12229constant-time:
12230@enumerate
12231@item Check whether two elements are in the same equivalence class.
12232@item Create a union of two equivalence classes.
12233@item Look up the descriptor of the equivalence class.
12234@end enumerate\n")
12235 (license license:bsd-3)))
12236
12237(define-public ghc-uniplate
12238 (package
12239 (name "ghc-uniplate")
12240 (version "1.6.12")
12241 (source
12242 (origin
12243 (method url-fetch)
12244 (uri (string-append
12245 "https://hackage.haskell.org/package/uniplate/uniplate-"
12246 version
12247 ".tar.gz"))
12248 (sha256
12249 (base32
12250 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
12251 (build-system haskell-build-system)
12252 (inputs
12253 `(("ghc-syb" ,ghc-syb)
12254 ("ghc-hashable" ,ghc-hashable)
12255 ("ghc-unordered-containers" ,ghc-unordered-containers)))
12256 (home-page "http://community.haskell.org/~ndm/uniplate/")
12257 (synopsis "Simple, concise and fast generic operations")
12258 (description "Uniplate is a library for writing simple and concise generic
12259operations. Uniplate has similar goals to the original Scrap Your Boilerplate
12260work, but is substantially simpler and faster.")
12261 (license license:bsd-3)))
12262
12263(define-public ghc-unix-compat
12264 (package
12265 (name "ghc-unix-compat")
bc82e9f5 12266 (version "0.5.2")
dddbc90c
RV
12267 (source
12268 (origin
12269 (method url-fetch)
12270 (uri (string-append
12271 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
12272 version
12273 ".tar.gz"))
12274 (sha256
12275 (base32
bc82e9f5 12276 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
12277 (build-system haskell-build-system)
12278 (home-page
12279 "https://github.com/jystic/unix-compat")
12280 (synopsis "Portable POSIX-compatibility layer")
12281 (description
12282 "This package provides portable implementations of parts of the unix
12283package. This package re-exports the unix package when available. When it
12284isn't available, portable implementations are used.")
12285 (license license:bsd-3)))
12286
12287(define-public ghc-unix-time
12288 (package
12289 (name "ghc-unix-time")
fad9cff2 12290 (version "0.4.7")
dddbc90c
RV
12291 (source
12292 (origin
12293 (method url-fetch)
12294 (uri (string-append
12295 "https://hackage.haskell.org/package/unix-time/unix-time-"
12296 version
12297 ".tar.gz"))
12298 (sha256
12299 (base32
fad9cff2 12300 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
12301 (build-system haskell-build-system)
12302 (arguments
12303 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
12304 ; is weird, that should be provided by GHC 7.10.2.
12305 (inputs
12306 `(("ghc-old-time" ,ghc-old-time)
12307 ("ghc-old-locale" ,ghc-old-locale)))
12308 (home-page "https://hackage.haskell.org/package/unix-time")
12309 (synopsis "Unix time parser/formatter and utilities")
12310 (description "This library provides fast parsing and formatting utilities
12311for Unix time in Haskell.")
12312 (license license:bsd-3)))
12313
12314(define-public ghc-unliftio
12315 (package
12316 (name "ghc-unliftio")
a4084db1 12317 (version "0.2.12")
dddbc90c
RV
12318 (source
12319 (origin
12320 (method url-fetch)
12321 (uri (string-append
12322 "https://hackage.haskell.org/package/unliftio/unliftio-"
12323 version
12324 ".tar.gz"))
12325 (sha256
12326 (base32
a4084db1 12327 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
12328 (build-system haskell-build-system)
12329 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
12330 (inputs
12331 `(("ghc-async" ,ghc-async)
12332 ("ghc-unliftio-core" ,ghc-unliftio-core)))
12333 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
12334 (home-page "https://github.com/fpco/unliftio")
12335 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
12336IO (batteries included)")
12337 (description "This Haskell package provides the core @code{MonadUnliftIO}
12338typeclass, a number of common instances, and a collection of common functions
12339working with it.")
12340 (license license:expat)))
12341
12342(define-public ghc-unliftio-core
12343 (package
12344 (name "ghc-unliftio-core")
2ae42618 12345 (version "0.1.2.0")
dddbc90c
RV
12346 (source
12347 (origin
12348 (method url-fetch)
12349 (uri (string-append "https://hackage.haskell.org/package/"
12350 "unliftio-core-" version "/"
12351 "unliftio-core-" version ".tar.gz"))
12352 (sha256
12353 (base32
2ae42618 12354 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
12355 (build-system haskell-build-system)
12356 (arguments
12357 `(#:cabal-revision
2ae42618 12358 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
12359 (home-page
12360 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
12361 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
12362 (description "This Haskell package provides the core @code{MonadUnliftIO}
12363typeclass, instances for base and transformers, and basic utility
12364functions.")
12365 (license license:expat)))
12366
12367(define-public ghc-unordered-containers
12368 (package
12369 (name "ghc-unordered-containers")
ca01f8d3 12370 (version "0.2.10.0")
dddbc90c
RV
12371 (outputs '("out" "doc"))
12372 (source
12373 (origin
12374 (method url-fetch)
12375 (uri (string-append
12376 "https://hackage.haskell.org/package/unordered-containers"
12377 "/unordered-containers-" version ".tar.gz"))
12378 (sha256
12379 (base32
ca01f8d3 12380 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
12381 (build-system haskell-build-system)
12382 (inputs
12383 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
12384 ("ghc-hunit" ,ghc-hunit)
12385 ("ghc-quickcheck" ,ghc-quickcheck)
12386 ("ghc-test-framework" ,ghc-test-framework)
12387 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12388 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12389 ("ghc-hashable" ,ghc-hashable)))
12390 (home-page
12391 "https://github.com/tibbe/unordered-containers")
12392 (synopsis
12393 "Efficient hashing-based container types")
12394 (description
12395 "Efficient hashing-based container types. The containers have been
12396optimized for performance critical use, both in terms of large data quantities
12397and high speed.")
12398 (license license:bsd-3)))
12399
12400(define-public ghc-unordered-containers-bootstrap
12401 (package
12402 (inherit ghc-unordered-containers)
12403 (name "ghc-unordered-containers-bootstrap")
12404 (arguments `(#:tests? #f))
12405 (inputs
12406 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 12407 (properties '((hidden? #t)))))
dddbc90c 12408
a52f4c57
JS
12409(define-public ghc-unsafe
12410 (package
12411 (name "ghc-unsafe")
12412 (version "0.0")
12413 (source
12414 (origin
12415 (method url-fetch)
12416 (uri
12417 (string-append
12418 "https://hackage.haskell.org/package/unsafe/unsafe-"
12419 version ".tar.gz"))
12420 (sha256
12421 (base32
12422 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
12423 (build-system haskell-build-system)
12424 (home-page "https://hackage.haskell.org/package/unsafe")
12425 (synopsis "Unified interface to unsafe functions")
12426 (description "Safe Haskell introduced the notion of safe and unsafe
12427modules. In order to make as many as possible modules ``safe'', the
12428well-known unsafe functions were moved to distinguished modules. This
12429makes it hard to write packages that work with both old and new versions
12430of GHC. This package provides a single module System.Unsafe that
12431exports the unsafe functions from the base package. It provides them in
12432a style ready for qualification, that is, you should import them by
12433@code{import qualified System.Unsafe as Unsafe}.")
12434 (license license:bsd-3)))
12435
dddbc90c
RV
12436(define-public ghc-uri-bytestring
12437 (package
12438 (name "ghc-uri-bytestring")
d35ffd39 12439 (version "0.3.2.2")
dddbc90c
RV
12440 (source
12441 (origin
12442 (method url-fetch)
12443 (uri (string-append "https://hackage.haskell.org/package/"
12444 "uri-bytestring-" version "/"
12445 "uri-bytestring-" version ".tar.gz"))
12446 (sha256
12447 (base32
d35ffd39 12448 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
12449 (build-system haskell-build-system)
12450 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
12451 ("ghc-blaze-builder" ,ghc-blaze-builder)
12452 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 12453 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
12454 ("ghc-tasty" ,ghc-tasty)
12455 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
12456 ("ghc-hedgehog" ,ghc-hedgehog)
12457 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 12458 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 12459 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 12460 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
12461 (home-page "https://github.com/Soostone/uri-bytestring")
12462 (synopsis "Haskell URI parsing as ByteStrings")
12463 (description "This Haskell package aims to be an RFC3986 compliant URI
12464parser that uses ByteStrings for parsing and representing the URI data.")
12465 (license license:bsd-3)))
12466
12467(define-public ghc-utf8-string
12468 (package
12469 (name "ghc-utf8-string")
12470 (version "1.0.1.1")
12471 (source
12472 (origin
12473 (method url-fetch)
12474 (uri (string-append
12475 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
12476 version
12477 ".tar.gz"))
12478 (sha256
12479 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
12480 (build-system haskell-build-system)
12481 (arguments
12482 `(#:cabal-revision
12483 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
12484 (home-page "https://github.com/glguy/utf8-string/")
12485 (synopsis "Support for reading and writing UTF8 Strings")
12486 (description
12487 "A UTF8 layer for Strings. The utf8-string package provides operations
12488for encoding UTF8 strings to Word8 lists and back, and for reading and writing
12489UTF8 without truncation.")
12490 (license license:bsd-3)))
12491
12492(define-public ghc-utility-ht
12493 (package
12494 (name "ghc-utility-ht")
12495 (version "0.0.14")
12496 (home-page "https://hackage.haskell.org/package/utility-ht")
12497 (source
12498 (origin
12499 (method url-fetch)
12500 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
12501 (sha256
12502 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
12503 (build-system haskell-build-system)
12504 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
12505 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
12506 (description "This package includes Hakell modules providing various
12507helper functions for Lists, Maybes, Tuples, Functions.")
12508 (license license:bsd-3)))
12509
12510(define-public ghc-uuid
12511 (package
12512 (name "ghc-uuid")
12513 (version "1.3.13")
12514 (source
12515 (origin
12516 (method url-fetch)
12517 (uri (string-append "https://hackage.haskell.org/package/"
12518 "uuid-" version "/"
12519 "uuid-" version ".tar.gz"))
12520 (sha256
12521 (base32
12522 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
12523 (build-system haskell-build-system)
12524 (arguments
12525 `(#:cabal-revision
12526 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
12527 #:phases
12528 (modify-phases %standard-phases
12529 (add-before 'configure 'strip-test-framework-constraints
12530 (lambda _
12531 (substitute* "uuid.cabal"
12532 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
12533 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
12534 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12535 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12536 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12537 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
12538 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
12539 ("ghc-entropy" ,ghc-entropy)
12540 ("ghc-network-info" ,ghc-network-info)
12541 ("ghc-random" ,ghc-random)
12542 ("ghc-uuid-types" ,ghc-uuid-types)))
12543 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12544 ("ghc-quickcheck" ,ghc-quickcheck)
12545 ("ghc-tasty" ,ghc-tasty)
12546 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12547 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12548 (home-page "https://github.com/hvr/uuid")
12549 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
12550 (description "This Haskell library provides utilities creating, comparing,
12551parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
12552 (license license:bsd-3)))
12553
12554(define-public ghc-uuid-types
12555 (package
12556 (name "ghc-uuid-types")
12557 (version "1.0.3")
12558 (source
12559 (origin
12560 (method url-fetch)
12561 (uri (string-append "https://hackage.haskell.org/package/"
12562 "uuid-types-" version "/"
12563 "uuid-types-" version ".tar.gz"))
12564 (sha256
12565 (base32
12566 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
12567 (build-system haskell-build-system)
12568 (arguments
12569 `(#:phases
12570 (modify-phases %standard-phases
12571 (add-before 'configure 'strip-test-framework-constraints
12572 (lambda _
12573 (substitute* "uuid-types.cabal"
12574 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
12575 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
12576 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12577 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12578 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12579 (inputs `(("ghc-hashable" ,ghc-hashable)
12580 ("ghc-random" ,ghc-random)))
12581 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12582 ("ghc-quickcheck" ,ghc-quickcheck)
12583 ("ghc-tasty" ,ghc-tasty)
12584 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12585 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12586 (home-page "https://github.com/hvr/uuid")
12587 (synopsis "Haskell type definitions for UUIDs")
12588 (description "This Haskell library contains type definitions for
12589@dfn{Universally Unique Identifiers} or
12590@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
12591functions.")
12592 (license license:bsd-3)))
12593
12594(define-public ghc-validation
12595 (package
12596 (name "ghc-validation")
08397fde 12597 (version "1.1")
dddbc90c
RV
12598 (source
12599 (origin
12600 (method url-fetch)
12601 (uri (string-append
12602 "mirror://hackage/package/validation/validation-"
12603 version
12604 ".tar.gz"))
12605 (sha256
12606 (base32
08397fde 12607 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
12608 (build-system haskell-build-system)
12609 (arguments
12610 `(#:cabal-revision
08397fde 12611 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
12612 (inputs
12613 `(("ghc-semigroups" ,ghc-semigroups)
12614 ("ghc-semigroupoids" ,ghc-semigroupoids)
12615 ("ghc-bifunctors" ,ghc-bifunctors)
12616 ("ghc-lens" ,ghc-lens)))
12617 (native-inputs
12618 `(("ghc-hedgehog" ,ghc-hedgehog)
12619 ("ghc-hunit" ,ghc-hunit)))
12620 (home-page "https://github.com/qfpl/validation")
12621 (synopsis
12622 "Data-type like Either but with an accumulating Applicative")
12623 (description
12624 "A data-type like Either but with differing properties and type-class
12625instances.
12626
12627Library support is provided for this different representation, including
12628@code{lens}-related functions for converting between each and abstracting over
12629their similarities.
12630
12631The @code{Validation} data type is isomorphic to @code{Either}, but has an
12632instance of @code{Applicative} that accumulates on the error side. That is to
12633say, if two (or more) errors are encountered, they are appended using a
12634@{Semigroup} operation.
12635
12636As a consequence of this @code{Applicative} instance, there is no
12637corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
12638example of, \"An applicative functor that is not a monad.\"")
12639 (license license:bsd-3)))
12640
12641(define-public ghc-validity
12642 (package
12643 (name "ghc-validity")
3f1ba75d 12644 (version "0.9.0.2")
dddbc90c
RV
12645 (source
12646 (origin
12647 (method url-fetch)
12648 (uri (string-append
12649 "https://hackage.haskell.org/package/validity/validity-"
12650 version
12651 ".tar.gz"))
12652 (sha256
12653 (base32
3f1ba75d 12654 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
12655 (build-system haskell-build-system)
12656 (native-inputs `(("ghc-hspec" ,ghc-hspec)
12657 ("hspec-discover" ,hspec-discover)))
12658 (home-page
12659 "https://github.com/NorfairKing/validity")
12660 (synopsis "Validity typeclass")
12661 (description
12662 "Values of custom types usually have invariants imposed upon them. This
12663package provides the @code{Validity} type class, which makes these invariants
12664explicit by providing a function to check whether the invariants hold.")
12665 (license license:expat)))
12666
12667(define-public ghc-vault
12668 (package
12669 (name "ghc-vault")
b40a436e 12670 (version "0.3.1.3")
dddbc90c
RV
12671 (source
12672 (origin
12673 (method url-fetch)
12674 (uri (string-append
12675 "https://hackage.haskell.org/package/vault/vault-"
12676 version
12677 ".tar.gz"))
12678 (sha256
12679 (base32
b40a436e 12680 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
12681 (build-system haskell-build-system)
12682 (inputs
12683 `(("ghc-unordered-containers" ,ghc-unordered-containers)
12684 ("ghc-hashable" ,ghc-hashable)
b40a436e 12685 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
12686 (home-page
12687 "https://github.com/HeinrichApfelmus/vault")
12688 (synopsis "Persistent store for arbitrary values")
12689 (description "This package provides vaults for Haskell. A vault is a
12690persistent store for values of arbitrary types. It's like having first-class
12691access to the storage space behind @code{IORefs}. The data structure is
12692analogous to a bank vault, where you can access different bank boxes with
12693different keys; hence the name. Also provided is a @code{locker} type,
12694representing a store for a single element.")
12695 (license license:bsd-3)))
12696
12697(define-public ghc-vector
12698 (package
12699 (name "ghc-vector")
3ad67f6b 12700 (version "0.12.0.3")
dddbc90c
RV
12701 (outputs '("out" "doc"))
12702 (source
12703 (origin
12704 (method url-fetch)
12705 (uri (string-append
12706 "https://hackage.haskell.org/package/vector/vector-"
12707 version
12708 ".tar.gz"))
12709 (sha256
12710 (base32
3ad67f6b 12711 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
12712 (build-system haskell-build-system)
12713 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
12714 ;; disabled for now.
12715 (arguments
3ad67f6b 12716 `(#:tests? #f))
dddbc90c
RV
12717 (inputs
12718 `(("ghc-primitive" ,ghc-primitive)
12719 ("ghc-random" ,ghc-random)
12720 ("ghc-quickcheck" ,ghc-quickcheck)
12721 ;; ("ghc-hunit" ,ghc-hunit)
12722 ;; ("ghc-test-framework" ,ghc-test-framework)
12723 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12724 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12725 ))
12726 (home-page "https://github.com/haskell/vector")
12727 (synopsis "Efficient Arrays")
12728 (description "This library provides an efficient implementation of
12729Int-indexed arrays (both mutable and immutable), with a powerful loop
12730optimisation framework.")
12731 (license license:bsd-3)))
12732
12733(define-public ghc-vector-algorithms
12734 (package
12735 (name "ghc-vector-algorithms")
e71f316f 12736 (version "0.8.0.1")
dddbc90c
RV
12737 (source
12738 (origin
12739 (method url-fetch)
12740 (uri (string-append "https://hackage.haskell.org/package/"
12741 "vector-algorithms-" version "/"
12742 "vector-algorithms-" version ".tar.gz"))
12743 (sha256
12744 (base32
e71f316f 12745 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
12746 (build-system haskell-build-system)
12747 (inputs
12748 `(("ghc-vector" ,ghc-vector)))
12749 (native-inputs
12750 `(("ghc-quickcheck" ,ghc-quickcheck)))
12751 (home-page "https://github.com/bos/math-functions")
12752 (synopsis "Algorithms for vector arrays in Haskell")
12753 (description "This Haskell library algorithms for vector arrays.")
12754 (license license:bsd-3)))
12755
12756(define-public ghc-vector-binary-instances
12757 (package
12758 (name "ghc-vector-binary-instances")
ca0701ef 12759 (version "0.2.5.1")
dddbc90c
RV
12760 (source
12761 (origin
12762 (method url-fetch)
12763 (uri (string-append
12764 "https://hackage.haskell.org/package/"
12765 "vector-binary-instances/vector-binary-instances-"
12766 version ".tar.gz"))
12767 (sha256
12768 (base32
ca0701ef 12769 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 12770 (build-system haskell-build-system)
dddbc90c
RV
12771 (inputs
12772 `(("ghc-vector" ,ghc-vector)))
12773 (native-inputs
12774 `(("ghc-tasty" ,ghc-tasty)
12775 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12776 (home-page "https://github.com/bos/vector-binary-instances")
12777 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
12778 (description "This library provides instances of @code{Binary} for the
12779types defined in the @code{vector} package, making it easy to serialize
12780vectors to and from disk. We use the generic interface to vectors, so all
12781vector types are supported. Specific instances are provided for unboxed,
12782boxed and storable vectors.")
12783 (license license:bsd-3)))
12784
12785(define-public ghc-vector-builder
12786 (package
12787 (name "ghc-vector-builder")
1fc05441 12788 (version "0.3.8")
dddbc90c
RV
12789 (source
12790 (origin
12791 (method url-fetch)
12792 (uri (string-append "https://hackage.haskell.org/package/"
12793 "vector-builder-" version "/"
12794 "vector-builder-" version ".tar.gz"))
12795 (sha256
12796 (base32
1fc05441 12797 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
12798 (build-system haskell-build-system)
12799 (inputs `(("ghc-vector" ,ghc-vector)
12800 ("ghc-semigroups" ,ghc-semigroups)
12801 ("ghc-base-prelude" ,ghc-base-prelude)))
12802 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12803 ("ghc-tasty" ,ghc-tasty)
12804 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12805 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
12806 ("ghc-hunit" ,ghc-hunit)
12807 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
12808 ("ghc-rerebase" ,ghc-rerebase)))
12809 (home-page "https://github.com/nikita-volkov/vector-builder")
12810 (synopsis "Vector builder for Haskell")
12811 (description "This Haskell package provides an API for constructing vectors.
12812It provides the composable @code{Builder} abstraction, which has instances of the
12813@code{Monoid} and @code{Semigroup} classes.
12814
12815You would first use the @code{Builder} abstraction to specify the structure of
12816the vector; then you can execute the builder to actually produce the
12817vector. ")
12818 (license license:expat)))
12819
12820(define-public ghc-vector-th-unbox
12821 (package
12822 (name "ghc-vector-th-unbox")
63056e61 12823 (version "0.2.1.7")
dddbc90c
RV
12824 (source
12825 (origin
12826 (method url-fetch)
12827 (uri (string-append "https://hackage.haskell.org/package/"
12828 "vector-th-unbox-" version "/"
12829 "vector-th-unbox-" version ".tar.gz"))
12830 (sha256
12831 (base32
63056e61 12832 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
12833 (build-system haskell-build-system)
12834 (inputs
12835 `(("ghc-vector" ,ghc-vector)
12836 ("ghc-data-default" ,ghc-data-default)))
12837 (home-page "https://github.com/liyang/vector-th-unbox")
12838 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
12839 (description "This Haskell library provides a Template Haskell
12840deriver for unboxed vectors, given a pair of coercion functions to
12841and from some existing type with an Unbox instance.")
12842 (license license:bsd-3)))
12843
12844(define-public ghc-void
12845 (package
12846 (name "ghc-void")
51889121 12847 (version "0.7.3")
dddbc90c
RV
12848 (source
12849 (origin
12850 (method url-fetch)
12851 (uri (string-append
12852 "https://hackage.haskell.org/package/void/void-"
12853 version
12854 ".tar.gz"))
12855 (sha256
12856 (base32
51889121 12857 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
12858 (build-system haskell-build-system)
12859 (inputs
12860 `(("ghc-semigroups" ,ghc-semigroups)
12861 ("ghc-hashable" ,ghc-hashable)))
12862 (home-page "https://github.com/ekmett/void")
12863 (synopsis
12864 "Logically uninhabited data type")
12865 (description
12866 "A Haskell 98 logically uninhabited data type, used to indicate that a
12867given term should not exist.")
12868 (license license:bsd-3)))
12869
12870(define-public ghc-wave
12871 (package
12872 (name "ghc-wave")
1631a0f7 12873 (version "0.2.0")
dddbc90c
RV
12874 (source (origin
12875 (method url-fetch)
12876 (uri (string-append
12877 "https://hackage.haskell.org/package/wave/wave-"
12878 version
12879 ".tar.gz"))
12880 (sha256
12881 (base32
1631a0f7 12882 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
12883 (build-system haskell-build-system)
12884 (arguments
12885 '(#:phases
12886 (modify-phases %standard-phases
12887 (add-before 'configure 'update-constraints
12888 (lambda _
12889 (substitute* "wave.cabal"
12890 (("temporary.* < 1\\.3")
12891 "temporary >= 1.1 && < 1.4")))))))
12892 (inputs
12893 `(("ghc-cereal" ,ghc-cereal)
12894 ("ghc-data-default-class"
12895 ,ghc-data-default-class)
12896 ("ghc-quickcheck" ,ghc-quickcheck)
12897 ("ghc-temporary" ,ghc-temporary)))
12898 (native-inputs
12899 `(("hspec-discover" ,hspec-discover)
12900 ("ghc-hspec" ,ghc-hspec)))
12901 (home-page "https://github.com/mrkkrp/wave")
12902 (synopsis "Work with WAVE and RF64 files in Haskell")
12903 (description "This package allows you to work with WAVE and RF64
12904files in Haskell.")
12905 (license license:bsd-3)))
12906
12907(define-public ghc-wcwidth
12908 (package
12909 (name "ghc-wcwidth")
12910 (version "0.0.2")
12911 (source
12912 (origin
12913 (method url-fetch)
12914 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
12915 version ".tar.gz"))
12916 (sha256
12917 (base32
12918 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
12919 (build-system haskell-build-system)
12920 (inputs
12921 `(("ghc-setlocale" ,ghc-setlocale)
12922 ("ghc-utf8-string" ,ghc-utf8-string)
12923 ("ghc-attoparsec" ,ghc-attoparsec)))
12924 (home-page "https://github.com/solidsnack/wcwidth/")
12925 (synopsis "Haskell bindings to wcwidth")
12926 (description "This package provides Haskell bindings to your system's
12927native wcwidth and a command line tool to examine the widths assigned by it.
12928The command line tool can compile a width table to Haskell code that assigns
12929widths to the Char type.")
12930 (license license:bsd-3)))
12931
12932(define-public ghc-wcwidth-bootstrap
12933 (package
12934 (inherit ghc-wcwidth)
12935 (name "ghc-wcwidth-bootstrap")
12936 (inputs
12937 `(("ghc-setlocale" ,ghc-setlocale)
12938 ("ghc-utf8-string" ,ghc-utf8-string)
12939 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 12940 (properties '((hidden? #t)))))
dddbc90c
RV
12941
12942(define-public ghc-weigh
12943 (package
12944 (name "ghc-weigh")
b6d9777f 12945 (version "0.0.14")
dddbc90c
RV
12946 (source
12947 (origin
12948 (method url-fetch)
12949 (uri (string-append "https://hackage.haskell.org/package/weigh/"
12950 "weigh-" version ".tar.gz"))
12951 (sha256
12952 (base32
b6d9777f 12953 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
12954 (build-system haskell-build-system)
12955 (inputs
12956 `(("ghc-split" ,ghc-split)
12957 ("ghc-temporary" ,ghc-temporary)))
12958 (home-page "https://github.com/fpco/weigh#readme")
12959 (synopsis "Measure allocations of a Haskell functions/values")
12960 (description "This package provides tools to measure the memory usage of a
12961Haskell value or function.")
12962 (license license:bsd-3)))
12963
12964(define-public ghc-wl-pprint
12965 (package
12966 (name "ghc-wl-pprint")
12967 (version "1.2.1")
12968 (source (origin
12969 (method url-fetch)
12970 (uri (string-append
12971 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
12972 version ".tar.gz"))
12973 (sha256
12974 (base32
12975 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
12976 (build-system haskell-build-system)
12977 (home-page "https://hackage.haskell.org/package/wl-pprint")
12978 (synopsis "Wadler/Leijen pretty printer")
12979 (description
12980 "This is a pretty printing library based on Wadler's paper @i{A Prettier
12981Printer}. This version allows the library user to declare overlapping
12982instances of the @code{Pretty} class.")
12983 (license license:bsd-3)))
12984
12985(define-public ghc-wl-pprint-annotated
12986 (package
12987 (name "ghc-wl-pprint-annotated")
12988 (version "0.1.0.1")
12989 (source
12990 (origin
12991 (method url-fetch)
12992 (uri (string-append
12993 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
12994 version
12995 ".tar.gz"))
12996 (sha256
12997 (base32
12998 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
12999 (build-system haskell-build-system)
13000 (native-inputs
13001 `(("ghc-tasty" ,ghc-tasty)
13002 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
13003 (home-page
13004 "https://github.com/minad/wl-pprint-annotated#readme")
13005 (synopsis
13006 "Wadler/Leijen pretty printer with annotation support")
13007 (description
13008 "Annotations are useful for coloring. This is a limited version of
13009@code{wl-pprint-extras} without support for point effects and without the free
13010monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
13011Compared to @code{annotated-wl-pprint} this library provides a slightly
13012modernized interface.")
13013 (license license:bsd-3)))
13014
13015(define-public ghc-wl-pprint-text
13016 (package
13017 (name "ghc-wl-pprint-text")
13018 (version "1.2.0.0")
13019 (source
13020 (origin
13021 (method url-fetch)
13022 (uri (string-append
13023 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
13024 version ".tar.gz"))
13025 (sha256
13026 (base32
13027 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
13028 (build-system haskell-build-system)
13029 (inputs
13030 `(("ghc-base-compat" ,ghc-base-compat)))
13031 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
13032 (synopsis "Wadler/Leijen Pretty Printer for Text values")
13033 (description
13034 "A clone of wl-pprint for use with the text library.")
13035 (license license:bsd-3)))
13036
13037(define-public ghc-word8
13038 (package
13039 (name "ghc-word8")
13040 (version "0.1.3")
13041 (source
13042 (origin
13043 (method url-fetch)
13044 (uri (string-append
13045 "https://hackage.haskell.org/package/word8/word8-"
13046 version
13047 ".tar.gz"))
13048 (sha256
13049 (base32
13050 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
13051 (build-system haskell-build-system)
13052 (native-inputs
13053 `(("ghc-hspec" ,ghc-hspec)
13054 ("hspec-discover" ,hspec-discover)))
13055 (home-page "https://hackage.haskell.org/package/word8")
13056 (synopsis "Word8 library for Haskell")
13057 (description "Word8 library to be used with @code{Data.ByteString}.")
13058 (license license:bsd-3)))
13059
13060(define-public ghc-x11
13061 (package
13062 (name "ghc-x11")
6c4581a3 13063 (version "1.9.1")
dddbc90c
RV
13064 (source
13065 (origin
13066 (method url-fetch)
13067 (uri (string-append "https://hackage.haskell.org/package/X11/"
13068 "X11-" version ".tar.gz"))
13069 (sha256
6c4581a3 13070 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
13071 (build-system haskell-build-system)
13072 (inputs
13073 `(("libx11" ,libx11)
13074 ("libxrandr" ,libxrandr)
13075 ("libxinerama" ,libxinerama)
13076 ("libxscrnsaver" ,libxscrnsaver)
13077 ("ghc-data-default" ,ghc-data-default)))
13078 (home-page "https://github.com/haskell-pkg-janitors/X11")
13079 (synopsis "Bindings to the X11 graphics library")
13080 (description
13081 "This package provides Haskell bindings to the X11 graphics library. The
13082bindings are a direct translation of the C bindings.")
13083 (license license:bsd-3)))
13084
13085(define-public ghc-x11-xft
13086 (package
13087 (name "ghc-x11-xft")
13088 (version "0.3.1")
13089 (source
13090 (origin
13091 (method url-fetch)
13092 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
13093 "X11-xft-" version ".tar.gz"))
13094 (sha256
13095 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
13096 (inputs
13097 `(("ghc-x11" ,ghc-x11)
13098 ("ghc-utf8-string" ,ghc-utf8-string)
13099 ("libx11" ,libx11)
13100 ("libxft" ,libxft)
13101 ("xorgproto" ,xorgproto)))
13102 (native-inputs
13103 `(("pkg-config" ,pkg-config)))
13104 (build-system haskell-build-system)
13105 (home-page "https://hackage.haskell.org/package/X11-xft")
13106 (synopsis "Bindings to Xft")
13107 (description
13108 "Bindings to the Xft, X Free Type interface library, and some Xrender
13109parts.")
13110 (license license:lgpl2.1)))
13111
13112(define-public ghc-xdg-basedir
13113 (package
13114 (name "ghc-xdg-basedir")
13115 (version "0.2.2")
13116 (source
13117 (origin
13118 (method url-fetch)
13119 (uri (string-append
13120 "https://hackage.haskell.org/package/xdg-basedir/"
13121 "xdg-basedir-" version ".tar.gz"))
13122 (sha256
13123 (base32
13124 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
13125 (build-system haskell-build-system)
13126 (home-page "http://github.com/willdonnelly/xdg-basedir")
13127 (synopsis "XDG Base Directory library for Haskell")
13128 (description "This package provides a library implementing the XDG Base Directory spec.")
13129 (license license:bsd-3)))
13130
13131(define-public ghc-xml
13132 (package
13133 (name "ghc-xml")
13134 (version "1.3.14")
13135 (source
13136 (origin
13137 (method url-fetch)
13138 (uri (string-append
13139 "https://hackage.haskell.org/package/xml/xml-"
13140 version
13141 ".tar.gz"))
13142 (sha256
13143 (base32
13144 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
13145 (build-system haskell-build-system)
13146 (home-page "http://code.galois.com")
13147 (synopsis "Simple XML library for Haskell")
13148 (description "This package provides a simple XML library for Haskell.")
13149 (license license:bsd-3)))
13150
13151(define-public ghc-xml-conduit
13152 (package
13153 (name "ghc-xml-conduit")
13154 (version "1.8.0.1")
13155 (source
13156 (origin
13157 (method url-fetch)
13158 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
13159 "xml-conduit-" version ".tar.gz"))
13160 (sha256
13161 (base32
13162 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
13163 (build-system haskell-build-system)
13164 (inputs
13165 `(("ghc-conduit" ,ghc-conduit)
13166 ("ghc-conduit-extra" ,ghc-conduit-extra)
13167 ("ghc-doctest" ,ghc-doctest)
13168 ("ghc-resourcet" ,ghc-resourcet)
13169 ("ghc-xml-types" ,ghc-xml-types)
13170 ("ghc-attoparsec" ,ghc-attoparsec)
13171 ("ghc-data-default-class" ,ghc-data-default-class)
13172 ("ghc-blaze-markup" ,ghc-blaze-markup)
13173 ("ghc-blaze-html" ,ghc-blaze-html)
13174 ("ghc-monad-control" ,ghc-monad-control)
13175 ("ghc-hspec" ,ghc-hspec)
13176 ("ghc-hunit" ,ghc-hunit)))
13177 (home-page "https://github.com/snoyberg/xml")
13178 (synopsis "Utilities for dealing with XML with the conduit package")
13179 (description
13180 "This package provides pure-Haskell utilities for dealing with XML with
13181the @code{conduit} package.")
13182 (license license:expat)))
13183
13184(define-public ghc-xml-types
13185 (package
13186 (name "ghc-xml-types")
13187 (version "0.3.6")
13188 (source
13189 (origin
13190 (method url-fetch)
13191 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
13192 "xml-types-" version ".tar.gz"))
13193 (sha256
13194 (base32
13195 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
13196 (build-system haskell-build-system)
13197 (home-page "https://john-millikin.com/software/haskell-xml/")
13198 (synopsis "Basic types for representing XML")
13199 (description "This package provides basic types for representing XML
13200documents.")
13201 (license license:expat)))
13202
13203(define-public ghc-yaml
13204 (package
13205 (name "ghc-yaml")
b58e5b84 13206 (version "0.11.1.2")
dddbc90c
RV
13207 (source (origin
13208 (method url-fetch)
13209 (uri (string-append "https://hackage.haskell.org/package/"
13210 "yaml/yaml-" version ".tar.gz"))
13211 (sha256
13212 (base32
b58e5b84 13213 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 13214 (build-system haskell-build-system)
dddbc90c
RV
13215 (inputs
13216 `(("ghc-conduit" ,ghc-conduit)
13217 ("ghc-resourcet" ,ghc-resourcet)
13218 ("ghc-aeson" ,ghc-aeson)
13219 ("ghc-unordered-containers" ,ghc-unordered-containers)
13220 ("ghc-vector" ,ghc-vector)
13221 ("ghc-attoparsec" ,ghc-attoparsec)
13222 ("ghc-scientific" ,ghc-scientific)
13223 ("ghc-semigroups" ,ghc-semigroups)
13224 ("ghc-temporary" ,ghc-temporary)
13225 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
13226 ("ghc-base-compat" ,ghc-base-compat)
13227 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
13228 (native-inputs
13229 `(("ghc-hspec" ,ghc-hspec)
13230 ("ghc-hunit" ,ghc-hunit)
13231 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
13232 ("ghc-mockery" ,ghc-mockery)
13233 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
13234 (home-page "https://github.com/snoyberg/yaml/")
13235 (synopsis "Parsing and rendering YAML documents")
13236 (description
13237 "This package provides a library to parse and render YAML documents.")
13238 (license license:bsd-3)))
13239
13240(define-public ghc-zip-archive
13241 (package
13242 (name "ghc-zip-archive")
93c1fdd3 13243 (version "0.4.1")
dddbc90c
RV
13244 (source
13245 (origin
13246 (method url-fetch)
13247 (uri (string-append
13248 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
13249 version
13250 ".tar.gz"))
13251 (sha256
13252 (base32
93c1fdd3 13253 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 13254 (build-system haskell-build-system)
93c1fdd3
TS
13255 (arguments
13256 `(#:phases
13257 (modify-phases %standard-phases
13258 (add-before 'check 'set-PATH-for-tests
13259 (lambda* (#:key inputs #:allow-other-keys)
13260 (let ((unzip (assoc-ref inputs "unzip"))
13261 (which (assoc-ref inputs "which"))
13262 (path (getenv "PATH")))
13263 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
13264 #t))))))
dddbc90c
RV
13265 (inputs
13266 `(("ghc-digest" ,ghc-digest)
13267 ("ghc-temporary" ,ghc-temporary)
13268 ("ghc-zlib" ,ghc-zlib)))
13269 (native-inputs
13270 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
13271 ("unzip" ,unzip)
13272 ("which" ,which)))
dddbc90c
RV
13273 (home-page "https://hackage.haskell.org/package/zip-archive")
13274 (synopsis "Zip archive library for Haskell")
13275 (description "The zip-archive library provides functions for creating,
13276modifying, and extracting files from zip archives in Haskell.")
13277 (license license:bsd-3)))
13278
13279(define-public ghc-zlib
13280 (package
13281 (name "ghc-zlib")
bf12089a 13282 (version "0.6.2.1")
dddbc90c
RV
13283 (outputs '("out" "doc"))
13284 (source
13285 (origin
13286 (method url-fetch)
13287 (uri (string-append
13288 "https://hackage.haskell.org/package/zlib/zlib-"
13289 version
13290 ".tar.gz"))
13291 (sha256
13292 (base32
bf12089a 13293 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
13294 (build-system haskell-build-system)
13295 (arguments
13296 `(#:phases
13297 (modify-phases %standard-phases
13298 (add-before 'configure 'strip-test-framework-constraints
13299 (lambda _
13300 (substitute* "zlib.cabal"
13301 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
13302 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
13303 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
13304 (inputs `(("zlib" ,zlib)))
13305 (native-inputs
13306 `(("ghc-quickcheck" ,ghc-quickcheck)
13307 ("ghc-tasty" ,ghc-tasty)
13308 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
13309 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
13310 (home-page "https://hackage.haskell.org/package/zlib")
13311 (synopsis
13312 "Compression and decompression in the gzip and zlib formats")
13313 (description
13314 "This package provides a pure interface for compressing and decompressing
13315streams of data represented as lazy @code{ByteString}s. It uses the zlib C
13316library so it has high performance. It supports the @code{zlib}, @code{gzip}
13317and @code{raw} compression formats. It provides a convenient high level API
13318suitable for most tasks and for the few cases where more control is needed it
13319provides access to the full zlib feature set.")
bbf8bf31 13320 (license license:bsd-3)))
14e41996
RV
13321
13322(define-public ghc-zlib-bindings
13323 (package
13324 (name "ghc-zlib-bindings")
13325 (version "0.1.1.5")
13326 (source
13327 (origin
13328 (method url-fetch)
13329 (uri (string-append "https://hackage.haskell.org/package/"
13330 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
13331 (sha256
13332 (base32
13333 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
13334 (build-system haskell-build-system)
13335 (inputs
13336 `(("ghc-zlib" ,ghc-zlib)))
13337 (native-inputs
13338 `(("ghc-hspec" ,ghc-hspec)
13339 ("ghc-quickcheck" ,ghc-quickcheck)))
13340 (arguments
13341 `(#:cabal-revision
13342 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
13343 (home-page "https://github.com/snapframework/zlib-bindings")
13344 (synopsis "Low-level bindings to the @code{zlib} package")
13345 (description "This package provides low-level bindings to the
13346@code{zlib} package.")
13347 (license license:bsd-3)))
8428e92c
TS
13348
13349(define-public ghc-zstd
13350 (package
13351 (name "ghc-zstd")
13352 (version "0.1.1.2")
13353 (source
13354 (origin
13355 (method url-fetch)
13356 (uri (string-append "https://hackage.haskell.org/package/"
13357 "zstd/zstd-" version ".tar.gz"))
13358 (sha256
13359 (base32
13360 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
13361 (build-system haskell-build-system)
13362 (native-inputs
13363 `(("ghc-quickcheck" ,ghc-quickcheck)
13364 ("ghc-test-framework" ,ghc-test-framework)
13365 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
13366 (home-page "https://github.com/luispedro/hs-zstd")
13367 (synopsis "Haskell bindings to the Zstandard compression algorithm")
13368 (description "This library provides Haskell bindings to the
13369Zstandard compression algorithm, a fast lossless compression algorithm
13370targeting real-time compression scenarios at zlib-level and better
13371compression ratios.")
13372 (license license:bsd-3)))