gnu: Add ghc-active.
[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>
6b34d01c
RV
25;;;
26;;; This file is part of GNU Guix.
27;;;
28;;; GNU Guix is free software; you can redistribute it and/or modify it
29;;; under the terms of the GNU General Public License as published by
30;;; the Free Software Foundation; either version 3 of the License, or (at
31;;; your option) any later version.
32;;;
33;;; GNU Guix is distributed in the hope that it will be useful, but
34;;; WITHOUT ANY WARRANTY; without even the implied warranty of
35;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36;;; GNU General Public License for more details.
37;;;
38;;; You should have received a copy of the GNU General Public License
39;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
40
41(define-module (gnu packages haskell-xyz)
42 #:use-module (gnu packages)
dddbc90c
RV
43 #:use-module (gnu packages base)
44 #:use-module (gnu packages compression)
45 #:use-module (gnu packages emacs)
46 #:use-module (gnu packages gcc)
47 #:use-module (gnu packages gl)
48 #:use-module (gnu packages graphviz)
49 #:use-module (gnu packages gtk)
50 #:use-module (gnu packages haskell-apps)
efb96749 51 #:use-module (gnu packages haskell-check)
dddbc90c
RV
52 #:use-module (gnu packages haskell-crypto)
53 #:use-module (gnu packages haskell-web)
54 #:use-module (gnu packages libffi)
55 #:use-module (gnu packages linux)
56 #:use-module (gnu packages lua)
57 #:use-module (gnu packages maths)
49e29df5 58 #:use-module (gnu packages ncurses)
dddbc90c
RV
59 #:use-module (gnu packages pcre)
60 #:use-module (gnu packages pkg-config)
61 #:use-module (gnu packages sdl)
0c2d6fc2 62 #:use-module (gnu packages web)
dddbc90c
RV
63 #:use-module (gnu packages xml)
64 #:use-module (gnu packages xorg)
6b34d01c
RV
65 #:use-module (guix build-system haskell)
66 #:use-module (guix download)
dddbc90c 67 #:use-module (guix git-download)
4780db2c 68 #:use-module (guix utils)
6b34d01c
RV
69 #:use-module ((guix licenses) #:prefix license:)
70 #:use-module (guix packages))
71
dddbc90c 72(define-public ghc-abstract-deque
efb96749 73 (package
dddbc90c
RV
74 (name "ghc-abstract-deque")
75 (version "0.3")
efb96749
RV
76 (source
77 (origin
78 (method url-fetch)
79 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
80 "abstract-deque-" version "/"
81 "abstract-deque-" version ".tar.gz"))
efb96749
RV
82 (sha256
83 (base32
dddbc90c 84 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 85 (build-system haskell-build-system)
dddbc90c
RV
86 (inputs `(("ghc-random" ,ghc-random)))
87 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
88 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
89 (description "This Haskell package provides an abstract interface to
90highly-parameterizable queues/deques.
91
92Background: There exists a feature space for queues that extends between:
efb96749
RV
93
94@itemize
dddbc90c
RV
95@item Simple, single-ended, non-concurrent, bounded queues
96
97@item Double-ended, thread-safe, growable queues with important points
98in between (such as the queues used for work stealing).
efb96749
RV
99@end itemize
100
dddbc90c
RV
101This package includes an interface for Deques that allows the programmer
102to use a single API for all of the above, while using the type system to
103select an efficient implementation given the requirements (using type families).
efb96749 104
dddbc90c
RV
105This package also includes a simple reference implementation based on
106@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
107 (license license:bsd-3)))
108
dddbc90c 109(define-public ghc-abstract-par
658dbc7f 110 (package
dddbc90c
RV
111 (name "ghc-abstract-par")
112 (version "0.3.3")
658dbc7f
RV
113 (source
114 (origin
115 (method url-fetch)
116 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
117 "abstract-par-" version "/"
118 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
119 (sha256
120 (base32
dddbc90c
RV
121 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
122 (build-system haskell-build-system)
123 (home-page "https://github.com/simonmar/monad-par")
124 (synopsis "Abstract parallelization interface for Haskell")
125 (description "This Haskell package is an abstract interface
126only. It provides a number of type clasess, but not an
127implementation. The type classes separate different levels
128of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
129module for more details.")
130 (license license:bsd-3)))
131
d8b88d74
TS
132(define-public ghc-active
133 (package
134 (name "ghc-active")
135 (version "0.2.0.14")
136 (source
137 (origin
138 (method url-fetch)
139 (uri (string-append "https://hackage.haskell.org/package/"
140 "active/active-" version ".tar.gz"))
141 (sha256
142 (base32
143 "0x3b4ln6csa554qls28wbxvclkbdz3yi60i1m0q5ing0cs16fifz"))))
144 (build-system haskell-build-system)
145 (inputs
146 `(("ghc-vector" ,ghc-vector)
147 ("ghc-semigroups" ,ghc-semigroups)
148 ("ghc-semigroupoids" ,ghc-semigroupoids)
149 ("ghc-lens" ,ghc-lens)
150 ("ghc-linear" ,ghc-linear)))
151 (native-inputs
152 `(("ghc-quickcheck" ,ghc-quickcheck)))
153 (home-page "https://hackage.haskell.org/package/active")
154 (synopsis "Abstractions for animation")
155 (description "This package defines an @code{Active} abstraction for
156time-varying values with finite start and end times. It is used for
157describing animations within the
158@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
159diagrams framework}.")
160 (license license:bsd-3)))
161
dddbc90c
RV
162(define-public ghc-adjunctions
163 (package
164 (name "ghc-adjunctions")
165 (version "4.4")
166 (source
167 (origin
168 (method url-fetch)
169 (uri (string-append
170 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
171 version
172 ".tar.gz"))
173 (sha256
174 (base32
175 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f 176 (build-system haskell-build-system)
a78262be
TS
177 (arguments
178 `(#:cabal-revision
179 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
658dbc7f 180 (inputs
dddbc90c
RV
181 `(("ghc-profunctors" ,ghc-profunctors)
182 ("ghc-comonad" ,ghc-comonad)
183 ("ghc-contravariant" ,ghc-contravariant)
184 ("ghc-distributive" ,ghc-distributive)
185 ("ghc-free" ,ghc-free)
186 ("ghc-tagged" ,ghc-tagged)
187 ("ghc-semigroupoids" ,ghc-semigroupoids)
188 ("ghc-semigroups" ,ghc-semigroups)
189 ("ghc-transformers-compat" ,ghc-transformers-compat)
190 ("ghc-void" ,ghc-void)))
658dbc7f 191 (native-inputs
dddbc90c
RV
192 `(("ghc-generic-deriving" ,ghc-generic-deriving)
193 ("ghc-hspec" ,ghc-hspec)
194 ("hspec-discover" ,hspec-discover)))
195 (home-page "https://github.com/ekmett/adjunctions/")
196 (synopsis "Adjunctions and representable functors")
197 (description "This library provides adjunctions and representable functors
198for Haskell.")
199 (license license:bsd-3)))
200
201(define-public ghc-aeson-compat
202 (package
203 (name "ghc-aeson-compat")
0bafb755 204 (version "0.3.9")
dddbc90c
RV
205 (source
206 (origin
207 (method url-fetch)
208 (uri (string-append "https://hackage.haskell.org/package/"
209 "aeson-compat-" version "/"
210 "aeson-compat-" version ".tar.gz"))
211 (sha256
212 (base32
0bafb755 213 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
214 (build-system haskell-build-system)
215 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
216 (inputs `(("ghc-base-compat" ,ghc-base-compat)
217 ("ghc-aeson" ,ghc-aeson)
218 ("ghc-attoparsec" ,ghc-attoparsec)
219 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
220 ("ghc-exceptions" ,ghc-exceptions)
221 ("ghc-hashable" ,ghc-hashable)
222 ("ghc-scientific" ,ghc-scientific)
223 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
224 ("ghc-unordered-containers" ,ghc-unordered-containers)
225 ("ghc-vector" ,ghc-vector)
226 ("ghc-tagged" ,ghc-tagged)
227 ("ghc-semigroups" ,ghc-semigroups)
228 ("ghc-nats" ,ghc-nats)))
229 (home-page "https://github.com/phadej/aeson-compat")
230 (synopsis "Compatibility layer for ghc-aeson")
231 (description "This Haskell package provides compatibility layer for
232ghc-aeson.")
233 (license license:bsd-3)))
234
cbc6f861
TS
235(define-public ghc-aeson-diff
236 (package
237 (name "ghc-aeson-diff")
238 (version "1.1.0.7")
239 (source
240 (origin
241 (method url-fetch)
242 (uri (string-append "https://hackage.haskell.org/package/"
243 "aeson-diff/aeson-diff-" version ".tar.gz"))
244 (sha256
245 (base32
246 "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r"))))
247 (build-system haskell-build-system)
248 (inputs
249 `(("ghc-aeson" ,ghc-aeson)
250 ("ghc-edit-distance-vector" ,ghc-edit-distance-vector)
251 ("ghc-hashable" ,ghc-hashable)
252 ("ghc-scientific" ,ghc-scientific)
253 ("ghc-unordered-containers" ,ghc-unordered-containers)
254 ("ghc-vector" ,ghc-vector)
255 ("ghc-semigroups" ,ghc-semigroups)
256 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
257 (native-inputs
258 `(("ghc-quickcheck" ,ghc-quickcheck)
259 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
260 ("ghc-glob" ,ghc-glob)
261 ("ghc-quickcheck" ,ghc-quickcheck)
262 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
263 ("ghc-quickcheck" ,ghc-quickcheck)
264 ("ghc-doctest" ,ghc-doctest)
265 ("hlint" ,hlint)))
266 (home-page "https://github.com/thsutton/aeson-diff")
267 (synopsis "Extract and apply patches to JSON documents")
268 (description "This is a small library for working with changes to JSON
269documents. It includes a library and two command-line executables in the
270style of the @command{diff} and @command{patch} commands available on many
271systems.")
272 (license license:bsd-3)))
273
dddbc90c
RV
274(define-public ghc-alex
275 (package
276 (name "ghc-alex")
277 (version "3.2.4")
278 (source
279 (origin
280 (method url-fetch)
281 (uri (string-append
282 "https://hackage.haskell.org/package/alex/alex-"
283 version
284 ".tar.gz"))
285 (sha256
286 (base32
287 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
288 (build-system haskell-build-system)
658dbc7f 289 (arguments
dddbc90c
RV
290 `(#:phases
291 (modify-phases %standard-phases
292 (add-before 'check 'set-check-variables
293 (lambda _
294 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
295 (getenv "PATH")))
296 (setenv "alex_datadir" (string-append (getcwd) "/data"))
297 #t)))))
298 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
299 (native-inputs
300 `(("which" ,which)))
301 (home-page "https://www.haskell.org/alex/")
302 (synopsis
303 "Tool for generating lexical analysers in Haskell")
304 (description
305 "Alex is a tool for generating lexical analysers in Haskell. It takes a
306description of tokens based on regular expressions and generates a Haskell
307module containing code for scanning text efficiently. It is similar to the
308tool lex or flex for C/C++.")
658dbc7f
RV
309 (license license:bsd-3)))
310
dddbc90c 311(define-public ghc-alsa-core
7b01a977 312 (package
dddbc90c
RV
313 (name "ghc-alsa-core")
314 (version "0.5.0.1")
315 (source
316 (origin
317 (method url-fetch)
318 (uri (string-append
319 "mirror://hackage/package/alsa-core/alsa-core-"
320 version
321 ".tar.gz"))
322 (sha256
323 (base32
324 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
325 (build-system haskell-build-system)
326 (inputs
327 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
328 ("alsa-lib" ,alsa-lib)))
329 (native-inputs
330 `(("pkg-config" ,pkg-config)))
331 (home-page "http://www.haskell.org/haskellwiki/ALSA")
332 (synopsis "Binding to the ALSA Library API (Exceptions)")
333 (description "This package provides access to ALSA infrastructure, that is
334needed by both alsa-seq and alsa-pcm.")
335 (license license:bsd-3)))
336
f2ed1e6d
JS
337(define-public ghc-alsa-mixer
338 (package
339 (name "ghc-alsa-mixer")
340 (version "0.3.0")
341 (source
342 (origin
343 (method url-fetch)
344 (uri
345 (string-append
346 "mirror://hackage/package/alsa-mixer/alsa-mixer-"
347 version ".tar.gz"))
348 (sha256
349 (base32
350 "00ny2p3276jilidjs44npc8zmbhynz3f2lpmlwwl6swwx5yijsnb"))))
351 (build-system haskell-build-system)
352 (inputs `(("ghc-alsa-core" ,ghc-alsa-core)))
353 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
354 (home-page "https://github.com/ttuegel/alsa-mixer")
355 (synopsis "Bindings to the ALSA simple mixer API")
356 (description
357 "This package provides bindings to the ALSA simple mixer API.")
358 (license license:bsd-3)))
359
dddbc90c
RV
360(define-public ghc-annotated-wl-pprint
361 (package
362 (name "ghc-annotated-wl-pprint")
363 (version "0.7.0")
364 (source
365 (origin
366 (method url-fetch)
367 (uri (string-append
368 "https://hackage.haskell.org/package/annotated-wl-pprint"
369 "/annotated-wl-pprint-" version
370 ".tar.gz"))
371 (sha256
372 (base32
373 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
374 (build-system haskell-build-system)
375 (home-page
376 "https://github.com/david-christiansen/annotated-wl-pprint")
377 (synopsis
378 "The Wadler/Leijen Pretty Printer, with annotation support")
379 (description "This is a modified version of wl-pprint, which was based on
380Wadler's paper \"A Prettier Printer\". This version allows the library user
381to annotate the text with semantic information, which can later be rendered in
382a variety of ways.")
383 (license license:bsd-3)))
384
385(define-public ghc-ansi-terminal
386 (package
387 (name "ghc-ansi-terminal")
f1b4a73f 388 (version "0.9.1")
dddbc90c
RV
389 (source
390 (origin
391 (method url-fetch)
392 (uri (string-append
393 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
394 version
395 ".tar.gz"))
396 (sha256
397 (base32
f1b4a73f 398 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
399 (build-system haskell-build-system)
400 (inputs
401 `(("ghc-colour" ,ghc-colour)))
402 (home-page "https://github.com/feuerbach/ansi-terminal")
403 (synopsis "ANSI terminal support for Haskell")
404 (description "This package provides ANSI terminal support for Haskell. It
405allows cursor movement, screen clearing, color output showing or hiding the
406cursor, and changing the title.")
407 (license license:bsd-3)))
408
409(define-public ghc-ansi-wl-pprint
410 (package
411 (name "ghc-ansi-wl-pprint")
c38746eb 412 (version "0.6.9")
7b01a977
RV
413 (source
414 (origin
415 (method url-fetch)
416 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 417 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
418 version ".tar.gz"))
419 (sha256
420 (base32
c38746eb 421 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
422 (build-system haskell-build-system)
423 (inputs
dddbc90c
RV
424 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
425 (home-page "https://github.com/ekmett/ansi-wl-pprint")
426 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
427 (description "This is a pretty printing library based on Wadler's paper
428\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
429colored output using the ansi-terminal package.")
430 (license license:bsd-3)))
431
432(define-public ghc-appar
433 (package
434 (name "ghc-appar")
1159d1a5 435 (version "0.1.8")
dddbc90c
RV
436 (source
437 (origin
438 (method url-fetch)
439 (uri (string-append
440 "https://hackage.haskell.org/package/appar/appar-"
441 version
442 ".tar.gz"))
443 (sha256
444 (base32
1159d1a5 445 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
446 (build-system haskell-build-system)
447 (home-page
448 "https://hackage.haskell.org/package/appar")
449 (synopsis "Simple applicative parser")
450 (description "This package provides a simple applicative parser in Parsec
451style.")
452 (license license:bsd-3)))
453
454(define-public ghc-async
455 (package
456 (name "ghc-async")
048ef066 457 (version "2.2.2")
dddbc90c
RV
458 (source
459 (origin
460 (method url-fetch)
461 (uri (string-append
462 "https://hackage.haskell.org/package/async/async-"
463 version
464 ".tar.gz"))
465 (sha256
466 (base32
048ef066 467 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
468 (build-system haskell-build-system)
469 (inputs
470 `(("ghc-hashable" ,ghc-hashable)
471 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
472 ("ghc-test-framework" ,ghc-test-framework)
473 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
474 (home-page "https://github.com/simonmar/async")
475 (synopsis "Library to run IO operations asynchronously")
476 (description "Async provides a library to run IO operations
477asynchronously, and wait for their results. It is a higher-level interface
478over threads in Haskell, in which @code{Async a} is a concurrent thread that
479will eventually deliver a value of type @code{a}.")
7b01a977
RV
480 (license license:bsd-3)))
481
9ad9ec2e
AG
482(define-public ghc-atomic-primops
483 (package
484 (name "ghc-atomic-primops")
af16c6b0 485 (version "0.8.3")
9ad9ec2e
AG
486 (source
487 (origin
488 (method url-fetch)
489 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
490 "/atomic-primops-" version ".tar.gz"))
491 (sha256
492 (base32
af16c6b0 493 "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0"))))
9ad9ec2e
AG
494 (build-system haskell-build-system)
495 (inputs `(("ghc-primitive" ,ghc-primitive)))
496 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
497 (synopsis "Safe approach to CAS and other atomic ops")
498 (description
499 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
500use safely, because pointer equality is a highly unstable property in Haskell.
501This library provides a safer method based on the concept of @code{Ticket}s.")
502 (license license:bsd-3)))
503
dddbc90c 504(define-public ghc-atomic-write
79fcc5e5 505 (package
dddbc90c 506 (name "ghc-atomic-write")
c09d1e62 507 (version "0.2.0.6")
79fcc5e5
RV
508 (source
509 (origin
510 (method url-fetch)
dddbc90c
RV
511 (uri (string-append
512 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
513 version
514 ".tar.gz"))
79fcc5e5
RV
515 (sha256
516 (base32
c09d1e62 517 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
518 (build-system haskell-build-system)
519 (inputs
520 `(("ghc-temporary" ,ghc-temporary)
521 ("ghc-unix-compat" ,ghc-unix-compat)))
522 (native-inputs
523 `(("ghc-temporary" ,ghc-temporary)
524 ("ghc-unix-compat" ,ghc-unix-compat)
525 ("ghc-hspec" ,ghc-hspec)
526 ("hspec-discover" ,hspec-discover)))
527 (home-page "https://github.com/stackbuilders/atomic-write")
528 (synopsis "Atomically write to a file")
529 (description
530 "Atomically write to a file on POSIX-compliant systems while preserving
531permissions. @code{mv} is an atomic operation. This makes it simple to write
532to a file atomically just by using the @code{mv} operation. However, this
533will destroy the permissions on the original file. This library preserves
534permissions while atomically writing to a file.")
535 (license license:expat)))
536
537(define-public ghc-attoparsec
538 (package
539 (name "ghc-attoparsec")
511c3204 540 (version "0.13.2.3")
dddbc90c
RV
541 (source
542 (origin
543 (method url-fetch)
544 (uri (string-append
545 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
546 version
547 ".tar.gz"))
548 (sha256
549 (base32
511c3204 550 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 551 (build-system haskell-build-system)
79fcc5e5 552 (arguments
dddbc90c
RV
553 `(#:phases
554 (modify-phases %standard-phases
555 (add-after 'unpack 'patch-for-newer-quickcheck
556 (lambda _
557 (substitute* "attoparsec.cabal"
558 (("QuickCheck >= 2\\.7 && < 2\\.10")
559 "QuickCheck >= 2.7 && < 2.12"))
560 ;; This test fails because of the newer QuickCheck:
561 ;; <https://github.com/bos/attoparsec/issues/134>.
562 (substitute* "tests/QC/ByteString.hs"
563 ((", testProperty \"satisfyWith\" satisfyWith")
564 "")))))))
565 (inputs
566 `(("ghc-scientific" ,ghc-scientific)))
567 (native-inputs
568 `(("ghc-tasty" ,ghc-tasty)
569 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
570 ("ghc-quickcheck" ,ghc-quickcheck)
571 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
572 ("ghc-vector" ,ghc-vector)))
573 (home-page "https://github.com/bos/attoparsec")
574 (synopsis "Fast combinator parsing for bytestrings and text")
575 (description "This library provides a fast parser combinator library,
576aimed particularly at dealing efficiently with network protocols and
577complicated text/binary file formats.")
79fcc5e5
RV
578 (license license:bsd-3)))
579
dddbc90c 580(define-public ghc-attoparsec-bootstrap
6b34d01c 581 (package
dddbc90c
RV
582 (inherit ghc-attoparsec)
583 (name "ghc-attoparsec-bootstrap")
584 (arguments `(#:tests? #f))
585 (inputs
586 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
587 (native-inputs '())
799d8d3c 588 (properties '((hidden? #t)))))
dddbc90c
RV
589
590(define-public ghc-attoparsec-iso8601
591 (package
592 (name "ghc-attoparsec-iso8601")
97f267c8 593 (version "1.0.1.0")
6b34d01c
RV
594 (source
595 (origin
596 (method url-fetch)
597 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
598 "attoparsec-iso8601-" version "/"
599 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
600 (sha256
601 (base32
97f267c8 602 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 603 (build-system haskell-build-system)
dddbc90c
RV
604 (arguments
605 `(#:cabal-revision
97f267c8 606 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
607 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
608 ("ghc-base-compat" ,ghc-base-compat)))
609 (home-page "https://github.com/bos/aeson")
610 (synopsis "Parse ISO 8601 dates")
611 (description "Haskell library for parsing of ISO 8601 dates, originally
612from aeson.")
6b34d01c 613 (license license:bsd-3)))
b57e99f5 614
dddbc90c 615(define-public ghc-auto-update
b57e99f5 616 (package
dddbc90c 617 (name "ghc-auto-update")
11b1b6cd 618 (version "0.1.6")
dddbc90c
RV
619 (source
620 (origin
621 (method url-fetch)
622 (uri (string-append
623 "https://hackage.haskell.org/package/auto-update/auto-update-"
624 version
625 ".tar.gz"))
626 (sha256
627 (base32
11b1b6cd 628 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 629 (build-system haskell-build-system)
11b1b6cd
TS
630 (native-inputs
631 `(("ghc-hspec" ,ghc-hspec)
632 ("ghc-hunit" ,ghc-hunit)
633 ("ghc-retry" ,ghc-retry)
634 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
635 (home-page "https://github.com/yesodweb/wai")
636 (synopsis "Efficiently run periodic, on-demand actions")
637 (description "This library provides mechanisms to efficiently run
638periodic, on-demand actions in Haskell.")
639 (license license:expat)))
640
641(define-public ghc-aws
642 (package
643 (name "ghc-aws")
644 (version "0.20")
b57e99f5
RV
645 (source
646 (origin
647 (method url-fetch)
648 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
649 "aws-" version "/aws-" version ".tar.gz"))
650 (sha256 (base32
651 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
652 (build-system haskell-build-system)
653 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
654 (inputs
655 `(("ghc-aeson" ,ghc-aeson)
656 ("ghc-attoparsec" ,ghc-attoparsec)
657 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
658 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
659 ("ghc-blaze-builder" ,ghc-blaze-builder)
660 ("ghc-byteable" ,ghc-byteable)
661 ("ghc-case-insensitive" ,ghc-case-insensitive)
662 ("ghc-cereal" ,ghc-cereal)
663 ("ghc-conduit" ,ghc-conduit)
664 ("ghc-conduit-extra" ,ghc-conduit-extra)
665 ("ghc-cryptonite" ,ghc-cryptonite)
666 ("ghc-data-default" ,ghc-data-default)
667 ("ghc-http-conduit" ,ghc-http-conduit)
668 ("ghc-http-types" ,ghc-http-types)
669 ("ghc-lifted-base" ,ghc-lifted-base)
670 ("ghc-monad-control" ,ghc-monad-control)
671 ("ghc-network" ,ghc-network)
672 ("ghc-old-locale" ,ghc-old-locale)
673 ("ghc-safe" ,ghc-safe)
674 ("ghc-scientific" ,ghc-scientific)
675 ("ghc-tagged" ,ghc-tagged)
676 ("ghc-unordered-containers" ,ghc-unordered-containers)
677 ("ghc-utf8-string" ,ghc-utf8-string)
678 ("ghc-vector" ,ghc-vector)
679 ("ghc-xml-conduit" ,ghc-xml-conduit)))
680 (native-inputs
681 `(("ghc-quickcheck" ,ghc-quickcheck)
682 ("ghc-errors" ,ghc-errors)
683 ("ghc-http-client" ,ghc-http-client)
684 ("ghc-http-client-tls" ,ghc-http-client-tls)
685 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
686 ("ghc-tasty" ,ghc-tasty)
687 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
688 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
689 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
690 (home-page "https://github.com/aristidb/aws")
691 (synopsis "Amazon Web Services for Haskell")
692 (description "This package attempts to provide support for using
693Amazon Web Services like S3 (storage), SQS (queuing) and others to
694Haskell programmers. The ultimate goal is to support all Amazon
695Web Services.")
696 (license license:bsd-3)))
697
698(define-public ghc-base16-bytestring
699 (package
700 (name "ghc-base16-bytestring")
701 (version "0.1.1.6")
702 (source
703 (origin
704 (method url-fetch)
705 (uri (string-append
706 "https://hackage.haskell.org/package/base16-bytestring/"
707 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
708 (sha256
709 (base32
dddbc90c 710 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 711 (build-system haskell-build-system)
dddbc90c
RV
712 (home-page "https://github.com/bos/base16-bytestring")
713 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
714 (description
715 "This package provides a Haskell library for working with base16-encoded
716data quickly and efficiently, using the ByteString type.")
b57e99f5 717 (license license:bsd-3)))
bbf8bf31 718
dddbc90c 719(define-public ghc-base64-bytestring
bbf8bf31 720 (package
dddbc90c
RV
721 (name "ghc-base64-bytestring")
722 (version "1.0.0.2")
bbf8bf31
RV
723 (source
724 (origin
725 (method url-fetch)
dddbc90c
RV
726 (uri (string-append
727 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
728 version
729 ".tar.gz"))
730 (sha256
731 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
732 (build-system haskell-build-system)
733 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
734 (home-page "https://github.com/bos/base64-bytestring")
735 (synopsis "Base64 encoding and decoding for ByteStrings")
736 (description "This library provides fast base64 encoding and decoding for
737Haskell @code{ByteString}s.")
738 (license license:bsd-3)))
739
740(define-public ghc-base-compat
741 (package
742 (name "ghc-base-compat")
4daaa371 743 (version "0.10.5")
dddbc90c
RV
744 (source
745 (origin
746 (method url-fetch)
747 (uri (string-append
748 "https://hackage.haskell.org/package/base-compat/base-compat-"
749 version
750 ".tar.gz"))
bbf8bf31
RV
751 (sha256
752 (base32
4daaa371 753 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
754 (build-system haskell-build-system)
755 (native-inputs
dddbc90c
RV
756 `(("ghc-quickcheck" ,ghc-quickcheck)
757 ("ghc-hspec" ,ghc-hspec)
758 ("hspec-discover" ,hspec-discover)))
759 (home-page "https://hackage.haskell.org/package/base-compat")
760 (synopsis "Haskell compiler compatibility library")
761 (description "This library provides functions available in later versions
762of base to a wider range of compilers, without requiring the use of CPP
763pragmas in your code.")
764 (license license:bsd-3)))
765
f9d78c7f
TS
766(define-public ghc-base-compat-batteries
767 (package
768 (name "ghc-base-compat-batteries")
769 (version "0.10.5")
770 (source
771 (origin
772 (method url-fetch)
773 (uri (string-append "https://hackage.haskell.org/package/"
774 "base-compat-batteries/base-compat-batteries-"
775 version ".tar.gz"))
776 (sha256
777 (base32
778 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
779 (build-system haskell-build-system)
780 (inputs
781 `(("ghc-base-compat" ,ghc-base-compat)))
782 (native-inputs
783 `(("ghc-hspec" ,ghc-hspec)
784 ("ghc-quickcheck" ,ghc-quickcheck)
785 ("hspec-discover" ,hspec-discover)))
786 (arguments
787 `(#:cabal-revision
788 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
789 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
790 (synopsis "base-compat with extra batteries")
791 (description "This library provides functions available in later
792versions of @code{base} to a wider range of compilers, without requiring
793you to use CPP pragmas in your code. This package provides the same API
794as the @code{base-compat} library, but depends on compatibility
795packages (such as @code{semigroups}) to offer a wider support window
796than @code{base-compat}, which has no dependencies.")
797 (license license:expat)))
798
dddbc90c
RV
799(define-public ghc-basement
800 (package
801 (name "ghc-basement")
8b56c1fd 802 (version "0.0.11")
dddbc90c
RV
803 (source
804 (origin
805 (method url-fetch)
806 (uri (string-append "https://hackage.haskell.org/package/"
807 "basement/basement-" version ".tar.gz"))
808 (sha256
809 (base32
8b56c1fd 810 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
811 (build-system haskell-build-system)
812 (home-page "https://github.com/haskell-foundation/foundation")
813 (synopsis "Basic primitives for Foundation starter pack")
814 (description
815 "This package contains basic primitives for the Foundation set of
816packages.")
817 (license license:bsd-3)))
818
819(define-public ghc-base-orphans
820 (package
821 (name "ghc-base-orphans")
780477fb 822 (version "0.8.1")
dddbc90c
RV
823 (source
824 (origin
825 (method url-fetch)
826 (uri (string-append
827 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
828 version
829 ".tar.gz"))
830 (sha256
831 (base32
780477fb 832 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
833 (build-system haskell-build-system)
834 (native-inputs
835 `(("ghc-quickcheck" ,ghc-quickcheck)
836 ("ghc-hspec" ,ghc-hspec)
837 ("hspec-discover" ,hspec-discover)))
838 (home-page "https://hackage.haskell.org/package/base-orphans")
839 (synopsis "Orphan instances for backwards compatibility")
840 (description "This package defines orphan instances that mimic instances
841available in later versions of base to a wider (older) range of compilers.")
842 (license license:bsd-3)))
843
844(define-public ghc-base-prelude
845 (package
846 (name "ghc-base-prelude")
847 (version "1.3")
848 (source
849 (origin
850 (method url-fetch)
851 (uri (string-append "https://hackage.haskell.org/package/"
852 "base-prelude-" version "/"
853 "base-prelude-" version ".tar.gz"))
854 (sha256
855 (base32
856 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
857 (build-system haskell-build-system)
858 (home-page "https://github.com/nikita-volkov/base-prelude")
859 (synopsis "The most complete prelude formed solely from the Haskell's base
860package")
861 (description "This Haskell package aims to reexport all the non-conflicting
862and most general definitions from the \"base\" package.
863
864This includes APIs for applicatives, arrows, monoids, foldables, traversables,
865exceptions, generics, ST, MVars and STM.
866
867This package will never have any dependencies other than \"base\".
868
869Versioning policy:
870
871The versioning policy of this package deviates from PVP in the sense
872that its exports in part are transitively determined by the version of \"base\".
873Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
874the bounds of \"base\" as well.")
875 (license license:expat)))
876
877(define-public ghc-base-unicode-symbols
878 (package
879 (name "ghc-base-unicode-symbols")
880 (version "0.2.3")
881 (source
882 (origin
883 (method url-fetch)
884 (uri (string-append
885 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
886 version
887 ".tar.gz"))
888 (sha256
889 (base32
890 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
891 (build-system haskell-build-system)
892 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
893 (synopsis "Unicode alternatives for common functions and operators")
894 (description "This package defines new symbols for a number of functions,
895operators and types in the base package. All symbols are documented with
896their actual definition and information regarding their Unicode code point.
897They should be completely interchangeable with their definitions. For
898further Unicode goodness you can enable the @code{UnicodeSyntax}
899@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
900language extension}. This extension enables Unicode characters to be used to
901stand for certain ASCII character sequences, i.e. → instead of @code{->},
902∀ instead of @code{forall} and many others.")
903 (license license:bsd-3)))
904
905(define-public ghc-bifunctors
906 (package
907 (name "ghc-bifunctors")
0beaec66 908 (version "5.5.5")
dddbc90c
RV
909 (source
910 (origin
911 (method url-fetch)
912 (uri (string-append
913 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
914 version
915 ".tar.gz"))
916 (sha256
917 (base32
0beaec66 918 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
919 (build-system haskell-build-system)
920 (inputs
921 `(("ghc-base-orphans" ,ghc-base-orphans)
922 ("ghc-comonad" ,ghc-comonad)
923 ("ghc-th-abstraction" ,ghc-th-abstraction)
924 ("ghc-transformers-compat" ,ghc-transformers-compat)
925 ("ghc-tagged" ,ghc-tagged)
926 ("ghc-semigroups" ,ghc-semigroups)))
927 (native-inputs
928 `(("ghc-hspec" ,ghc-hspec)
929 ("hspec-discover" ,hspec-discover)
930 ("ghc-quickcheck" ,ghc-quickcheck)))
931 (home-page "https://github.com/ekmett/bifunctors/")
932 (synopsis "Bifunctors for Haskell")
933 (description "This package provides bifunctors for Haskell.")
934 (license license:bsd-3)))
935
936(define-public ghc-bindings-dsl
937 (package
938 (name "ghc-bindings-dsl")
939 (version "1.0.25")
940 (source
941 (origin
942 (method url-fetch)
943 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
944 "bindings-DSL-" version ".tar.gz"))
945 (sha256
946 (base32
947 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
948 (build-system haskell-build-system)
949 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
950 (synopsis "FFI domain specific language, on top of hsc2hs")
951 (description
952 "This is a set of macros to be used when writing Haskell FFI. They were
953designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
954extract from them all Haskell code needed to mimic such interfaces. All
955Haskell names used are automatically derived from C names, structures are
956mapped to Haskell instances of @code{Storable}, and there are also macros you
957can use with C code to help write bindings to inline functions or macro
958functions.")
959 (license license:bsd-3)))
960
64f42786
TS
961(define-public ghc-bitarray
962 (package
963 (name "ghc-bitarray")
964 (version "0.0.1.1")
965 (source
966 (origin
967 (method url-fetch)
968 (uri (string-append "https://hackage.haskell.org/package/"
969 "bitarray/bitarray-" version ".tar.gz"))
970 (sha256
971 (base32
972 "00nqd62cbh42qqqvcl6iv1i9kbv0f0mkiygv4j70wfh5cl86yzxj"))))
973 (build-system haskell-build-system)
974 (arguments
975 `(#:cabal-revision
976 ("1" "10fk92v9afjqk43zi621jxl0n8kci0xjj32lz3vqa9xbh67zjz45")))
977 (home-page "https://hackage.haskell.org/package/bitarray")
978 (synopsis "Mutable and immutable bit arrays")
979 (description "The package provides mutable and immutable bit arrays.")
980 (license license:bsd-3)))
981
dddbc90c
RV
982(define-public ghc-blaze-builder
983 (package
984 (name "ghc-blaze-builder")
985 (version "0.4.1.0")
986 (source
987 (origin
988 (method url-fetch)
989 (uri (string-append
990 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
991 version
992 ".tar.gz"))
993 (sha256
994 (base32
995 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
996 (build-system haskell-build-system)
997 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
998 (inputs
999 `(("ghc-utf8-string" ,ghc-utf8-string)))
1000 (home-page "https://github.com/lpsmith/blaze-builder")
1001 (synopsis "Efficient buffered output")
1002 (description "This library provides an implementation of the older
1003@code{blaze-builder} interface in terms of the new builder that shipped with
1004@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
1005bridge to the new builder, so that code that uses the old interface can
1006interoperate with code that uses the new implementation.")
1007 (license license:bsd-3)))
1008
1009(define-public ghc-blaze-markup
1010 (package
1011 (name "ghc-blaze-markup")
7d30fcf3 1012 (version "0.8.2.3")
dddbc90c
RV
1013 (source
1014 (origin
1015 (method url-fetch)
1016 (uri (string-append "https://hackage.haskell.org/package/"
1017 "blaze-markup/blaze-markup-"
1018 version ".tar.gz"))
1019 (sha256
1020 (base32
7d30fcf3 1021 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
1022 (build-system haskell-build-system)
1023 (arguments
1024 `(#:phases
1025 (modify-phases %standard-phases
1026 (add-before 'configure 'update-constraints
1027 (lambda _
1028 (substitute* "blaze-markup.cabal"
1029 (("tasty >= 1\\.0 && < 1\\.1")
1030 "tasty >= 1.0 && < 1.2")))))))
1031 (inputs
1032 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
1033 (native-inputs
1034 `(("ghc-hunit" ,ghc-hunit)
1035 ("ghc-quickcheck" ,ghc-quickcheck)
1036 ("ghc-tasty" ,ghc-tasty)
1037 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
1038 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1039 (home-page "https://jaspervdj.be/blaze")
1040 (synopsis "Fast markup combinator library for Haskell")
1041 (description "This library provides core modules of a markup combinator
1042library for Haskell.")
1043 (license license:bsd-3)))
1044
1045(define-public ghc-bloomfilter
1046 (package
1047 (name "ghc-bloomfilter")
1048 (version "2.0.1.0")
1049 (source
1050 (origin
1051 (method url-fetch)
1052 (uri (string-append "https://hackage.haskell.org/package/"
1053 "bloomfilter/bloomfilter-" version ".tar.gz"))
1054 (sha256
1055 (base32
1056 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
1057 (build-system haskell-build-system)
1058 (native-inputs
1059 `(("ghc-quickcheck" ,ghc-quickcheck)
1060 ("ghc-random" ,ghc-random)
1061 ("ghc-test-framework" ,ghc-test-framework)
1062 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1063 (home-page "https://github.com/bos/bloomfilter")
1064 (synopsis "Pure and impure Bloom filter implementations")
1065 (description "This package provides both mutable and immutable Bloom
1066filter data types, along with a family of hash functions and an easy-to-use
1067interface.")
1068 (license license:bsd-3)))
1069
1070(define-public ghc-boxes
1071 (package
1072 (name "ghc-boxes")
1073 (version "0.1.5")
1074 (source
1075 (origin
1076 (method url-fetch)
1077 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
1078 version ".tar.gz"))
1079 (sha256
1080 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
1081 (build-system haskell-build-system)
1082 (inputs
1083 `(("ghc-split" ,ghc-split)
1084 ("ghc-quickcheck" ,ghc-quickcheck)))
1085 (home-page "https://hackage.haskell.org/package/boxes")
1086 (synopsis "2D text pretty-printing library")
1087 (description
1088 "Boxes is a pretty-printing library for laying out text in two dimensions,
1089using a simple box model.")
1090 (license license:bsd-3)))
1091
1092(define-public ghc-byteable
1093 (package
1094 (name "ghc-byteable")
1095 (version "0.1.1")
1096 (source (origin
1097 (method url-fetch)
1098 (uri (string-append "https://hackage.haskell.org/package/"
1099 "byteable/byteable-" version ".tar.gz"))
1100 (sha256
1101 (base32
1102 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
1103 (build-system haskell-build-system)
1104 (home-page "https://github.com/vincenthz/hs-byteable")
1105 (synopsis "Type class for sequence of bytes")
1106 (description
1107 "This package provides an abstract class to manipulate sequence of bytes.
1108The use case of this class is abstracting manipulation of types that are just
1109wrapping a bytestring with stronger and more meaniful name.")
1110 (license license:bsd-3)))
1111
1112(define-public ghc-byteorder
1113 (package
1114 (name "ghc-byteorder")
1115 (version "1.0.4")
1116 (source
1117 (origin
1118 (method url-fetch)
1119 (uri (string-append
1120 "https://hackage.haskell.org/package/byteorder/byteorder-"
1121 version
1122 ".tar.gz"))
1123 (sha256
1124 (base32
1125 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1126 (build-system haskell-build-system)
1127 (home-page
1128 "http://community.haskell.org/~aslatter/code/byteorder")
1129 (synopsis
1130 "Exposes the native endianness of the system")
1131 (description
1132 "This package is for working with the native byte-ordering of the
1133system.")
1134 (license license:bsd-3)))
1135
1136(define-public ghc-bytes
1137 (package
1138 (name "ghc-bytes")
1139 (version "0.15.5")
1140 (source
1141 (origin
1142 (method url-fetch)
1143 (uri
1144 (string-append "https://hackage.haskell.org/package/bytes-"
1145 version "/bytes-"
1146 version ".tar.gz"))
1147 (file-name (string-append name "-" version ".tar.gz"))
1148 (sha256
1149 (base32
1150 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1151 (build-system haskell-build-system)
1152 (inputs `(("ghc-cereal" ,ghc-cereal)
1153 ("cabal-doctest" ,cabal-doctest)
1154 ("ghc-doctest" ,ghc-doctest)
1155 ("ghc-scientific" ,ghc-scientific)
1156 ("ghc-transformers-compat" ,ghc-transformers-compat)
1157 ("ghc-unordered-containers" ,ghc-unordered-containers)
1158 ("ghc-void" ,ghc-void)
1159 ("ghc-vector" ,ghc-vector)))
1160 (synopsis "Serialization between @code{binary} and @code{cereal}")
1161 (description "This package provides a simple compatibility shim that lets
1162you work with both @code{binary} and @code{cereal} with one chunk of
1163serialization code.")
1164 (home-page "https://hackage.haskell.org/package/bytes")
1165 (license license:bsd-3)))
1166
1167(define-public ghc-bytestring-builder
1168 (package
1169 (name "ghc-bytestring-builder")
13ac8a7f 1170 (version "0.10.8.2.0")
dddbc90c
RV
1171 (source
1172 (origin
1173 (method url-fetch)
1174 (uri (string-append
1175 "https://hackage.haskell.org/package/bytestring-builder"
1176 "/bytestring-builder-" version ".tar.gz"))
1177 (sha256
1178 (base32
13ac8a7f 1179 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1180 (build-system haskell-build-system)
1181 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1182 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1183 (synopsis "The new bytestring builder, packaged outside of GHC")
1184 (description "This package provides the bytestring builder that is
1185debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1186Compatibility package for older packages.")
1187 (license license:bsd-3)))
1188
1189(define-public ghc-bytestring-handle
1190 (package
1191 (name "ghc-bytestring-handle")
1192 (version "0.1.0.6")
1193 (source
1194 (origin
1195 (method url-fetch)
1196 (uri (string-append
1197 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1198 version ".tar.gz"))
1199 (sha256
1200 (base32
1201 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1202 (build-system haskell-build-system)
1203 (arguments
853748c4
TS
1204 `(#:cabal-revision
1205 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1206 #:phases
dddbc90c
RV
1207 (modify-phases %standard-phases
1208 (add-before 'configure 'update-constraints
1209 (lambda _
1210 (substitute* "bytestring-handle.cabal"
1211 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1212 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1213 (inputs
1214 `(("ghc-hunit" ,ghc-hunit)
1215 ("ghc-quickcheck" ,ghc-quickcheck)
1216 ("ghc-test-framework" ,ghc-test-framework)
1217 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1218 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1219 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1220 (synopsis "ByteString-backed Handles")
1221 (description "ByteString-backed Handles") ; There is no description
1222 (license license:bsd-3)))
1223
1224(define-public ghc-bytestring-lexing
1225 (package
1226 (name "ghc-bytestring-lexing")
1227 (version "0.5.0.2")
1228 (source
1229 (origin
1230 (method url-fetch)
1231 (uri (string-append "https://hackage.haskell.org/package/"
1232 "bytestring-lexing/bytestring-lexing-"
1233 version ".tar.gz"))
1234 (sha256
1235 (base32
1236 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1237 (build-system haskell-build-system)
1238 (home-page "http://code.haskell.org/~wren/")
1239 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1240 (description
1241 "This package provides tools to parse and produce literals efficiently
1242from strict or lazy bytestrings.")
1243 (license license:bsd-2)))
1244
1245(define-public ghc-bzlib-conduit
1246 (package
1247 (name "ghc-bzlib-conduit")
5fba8d6d 1248 (version "0.3.0.2")
dddbc90c
RV
1249 (source
1250 (origin
1251 (method url-fetch)
1252 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1253 "bzlib-conduit-" version ".tar.gz"))
1254 (sha256
1255 (base32
5fba8d6d 1256 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1257 (build-system haskell-build-system)
1258 (inputs
1259 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1260 ("ghc-conduit" ,ghc-conduit)
1261 ("ghc-data-default-class" ,ghc-data-default-class)
1262 ("ghc-resourcet" ,ghc-resourcet)))
1263 (native-inputs
1264 `(("ghc-hspec" ,ghc-hspec)
1265 ("ghc-random" ,ghc-random)))
1266 (home-page "https://github.com/snoyberg/bzlib-conduit")
1267 (synopsis "Streaming compression/decompression via conduits")
1268 (description
1269 "This package provides Haskell bindings to bzlib and Conduit support for
1270streaming compression and decompression.")
1271 (license license:bsd-3)))
1272
1273(define-public ghc-c2hs
1274 (package
1275 (name "ghc-c2hs")
1276 (version "0.28.6")
1277 (source
1278 (origin
1279 (method url-fetch)
1280 (uri (string-append
1281 "https://hackage.haskell.org/package/c2hs/c2hs-"
1282 version
1283 ".tar.gz"))
1284 (sha256
1285 (base32
1286 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1287 (build-system haskell-build-system)
1288 (inputs
1289 `(("ghc-language-c" ,ghc-language-c)
1290 ("ghc-dlist" ,ghc-dlist)))
1291 (native-inputs
1292 `(("ghc-test-framework" ,ghc-test-framework)
1293 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1294 ("ghc-hunit" ,ghc-hunit)
1295 ("ghc-shelly" ,ghc-shelly)
1296 ("gcc" ,gcc)))
1297 (arguments
1298 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1299 ;; of glibc 2.28.
1300 #:tests? #f
1301
1302 #:phases
1303 (modify-phases %standard-phases
1304 (add-before 'check 'set-cc
1305 ;; add a cc executable in the path, needed for some tests to pass
1306 (lambda* (#:key inputs #:allow-other-keys)
1307 (let ((gcc (assoc-ref inputs "gcc"))
1308 (tmpbin (tmpnam))
1309 (curpath (getenv "PATH")))
1310 (mkdir-p tmpbin)
1311 (symlink (which "gcc") (string-append tmpbin "/cc"))
1312 (setenv "PATH" (string-append tmpbin ":" curpath)))
1313 #t))
1314 (add-after 'check 'remove-cc
1315 ;; clean the tmp dir made in 'set-cc
1316 (lambda _
1317 (let* ((cc-path (which "cc"))
1318 (cc-dir (dirname cc-path)))
1319 (delete-file-recursively cc-dir)
1320 #t))))))
1321 (home-page "https://github.com/haskell/c2hs")
1322 (synopsis "Create Haskell bindings to C libraries")
1323 (description "C->Haskell assists in the development of Haskell bindings to
1324C libraries. It extracts interface information from C header files and
1325generates Haskell code with foreign imports and marshaling. Unlike writing
1326foreign imports by hand (or using hsc2hs), this ensures that C functions are
1327imported with the correct Haskell types.")
1328 (license license:gpl2)))
1329
1330(define-public ghc-cairo
1331 (package
1332 (name "ghc-cairo")
1333 (version "0.13.5.0")
1334 (source
1335 (origin
1336 (method url-fetch)
1337 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1338 "cairo-" version ".tar.gz"))
1339 (sha256
1340 (base32
1341 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1342 (build-system haskell-build-system)
1343 (arguments
1344 `(#:modules ((guix build haskell-build-system)
1345 (guix build utils)
1346 (ice-9 match)
1347 (srfi srfi-26))
1348 #:phases
1349 (modify-phases %standard-phases
1350 ;; FIXME: This is a copy of the standard configure phase with a tiny
1351 ;; difference: this package needs the -package-db flag to be passed
1352 ;; to "runhaskell" in addition to the "configure" action, because it
1353 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1354 ;; this option the Setup.hs file cannot be evaluated. The
1355 ;; haskell-build-system should be changed to pass "-package-db" to
1356 ;; "runhaskell" in any case.
1357 (replace 'configure
1358 (lambda* (#:key outputs inputs tests? (configure-flags '())
1359 #:allow-other-keys)
1360 (let* ((out (assoc-ref outputs "out"))
1361 (name-version (strip-store-file-name out))
1362 (input-dirs (match inputs
1363 (((_ . dir) ...)
1364 dir)
1365 (_ '())))
1366 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1367 (params (append `(,(string-append "--prefix=" out))
1368 `(,(string-append "--libdir=" out "/lib"))
1369 `(,(string-append "--bindir=" out "/bin"))
1370 `(,(string-append
1371 "--docdir=" out
1372 "/share/doc/" name-version))
1373 '("--libsubdir=$compiler/$pkg-$version")
1374 '("--package-db=../package.conf.d")
1375 '("--global")
1376 `(,@(map
1377 (cut string-append "--extra-include-dirs=" <>)
1378 (search-path-as-list '("include") input-dirs)))
1379 `(,@(map
1380 (cut string-append "--extra-lib-dirs=" <>)
1381 (search-path-as-list '("lib") input-dirs)))
1382 (if tests?
1383 '("--enable-tests")
1384 '())
1385 configure-flags)))
1386 (unsetenv "GHC_PACKAGE_PATH")
1387 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1388 "Setup.hs" "configure" params)
1389 (setenv "GHC_PACKAGE_PATH" ghc-path)
1390 #t))))))
1391 (inputs
1392 `(("ghc-utf8-string" ,ghc-utf8-string)
1393 ("cairo" ,cairo)))
1394 (native-inputs
1395 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1396 ("pkg-config" ,pkg-config)))
1397 (home-page "http://projects.haskell.org/gtk2hs/")
1398 (synopsis "Haskell bindings to the Cairo vector graphics library")
1399 (description
1400 "Cairo is a library to render high quality vector graphics. There exist
1401various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1402documents, amongst others.")
1403 (license license:bsd-3)))
1404
1405(define-public ghc-call-stack
1406 (package
1407 (name "ghc-call-stack")
1408 (version "0.1.0")
1409 (source
1410 (origin
1411 (method url-fetch)
1412 (uri (string-append "https://hackage.haskell.org/package/"
1413 "call-stack/call-stack-"
1414 version ".tar.gz"))
1415 (sha256
1416 (base32
1417 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1418 (build-system haskell-build-system)
1419 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1420 (home-page "https://github.com/sol/call-stack#readme")
1421 (synopsis "Use GHC call-stacks in a backward compatible way")
1422 (description "This package provides a compatibility layer for using GHC
1423call stacks with different versions of the compiler.")
1424 (license license:expat)))
1425
1426;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1427;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1428(define-public ghc-call-stack-boot
1429 (hidden-package
1430 (package
1431 (inherit ghc-call-stack)
1432 (arguments '(#:tests? #f))
1433 (inputs '()))))
1434
1435(define-public ghc-case-insensitive
1436 (package
1437 (name "ghc-case-insensitive")
1438 (version "1.2.0.11")
1439 (outputs '("out" "doc"))
1440 (source
1441 (origin
1442 (method url-fetch)
1443 (uri (string-append
1444 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1445 version
1446 ".tar.gz"))
1447 (sha256
1448 (base32
1449 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1450 (build-system haskell-build-system)
1451 ;; these inputs are necessary to use this library
1452 (inputs
1453 `(("ghc-hashable" ,ghc-hashable)))
1454 (arguments
1455 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1456 (home-page
1457 "https://github.com/basvandijk/case-insensitive")
1458 (synopsis "Case insensitive string comparison")
1459 (description
1460 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1461constructor which can be parameterised by a string-like type like:
1462@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1463the resulting type will be insensitive to cases.")
1464 (license license:bsd-3)))
1465
1466(define-public ghc-cereal
1467 (package
1468 (name "ghc-cereal")
bd95427e 1469 (version "0.5.8.1")
dddbc90c
RV
1470 (source
1471 (origin
1472 (method url-fetch)
1473 (uri (string-append
1474 "https://hackage.haskell.org/package/cereal/cereal-"
1475 version
1476 ".tar.gz"))
1477 (sha256
1478 (base32
bd95427e 1479 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1480 (build-system haskell-build-system)
1481 (native-inputs
1482 `(("ghc-quickcheck" ,ghc-quickcheck)
1483 ("ghc-fail" ,ghc-fail)
1484 ("ghc-test-framework" ,ghc-test-framework)
1485 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1486 (home-page "https://hackage.haskell.org/package/cereal")
1487 (synopsis "Binary serialization library")
1488 (description "This package provides a binary serialization library,
1489similar to @code{binary}, that introduces an @code{isolate} primitive for
1490parser isolation, and labeled blocks for better error messages.")
1491 (license license:bsd-3)))
1492
1493(define-public ghc-cereal-conduit
1494 (package
1495 (name "ghc-cereal-conduit")
1496 (version "0.8.0")
1497 (source
1498 (origin
1499 (method url-fetch)
1500 (uri (string-append "https://hackage.haskell.org/package/"
1501 "cereal-conduit/cereal-conduit-"
1502 version ".tar.gz"))
1503 (sha256
1504 (base32
1505 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1506 (build-system haskell-build-system)
1507 (inputs
1508 `(("ghc-conduit" ,ghc-conduit)
1509 ("ghc-resourcet" ,ghc-resourcet)
1510 ("ghc-cereal" ,ghc-cereal)))
1511 (native-inputs
1512 `(("ghc-hunit" ,ghc-hunit)))
1513 (home-page "https://github.com/snoyberg/conduit")
1514 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1515 (description
1516 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1517@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1518 (license license:bsd-3)))
1519
1520(define-public ghc-cgi
1521 (package
1522 (name "ghc-cgi")
b6b2c218 1523 (version "3001.4.0.0")
dddbc90c
RV
1524 (source
1525 (origin
1526 (method url-fetch)
1527 (uri (string-append
1528 "https://hackage.haskell.org/package/cgi/cgi-"
1529 version
1530 ".tar.gz"))
1531 (sha256
1532 (base32
b6b2c218 1533 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1534 (build-system haskell-build-system)
dddbc90c
RV
1535 (inputs
1536 `(("ghc-exceptions" ,ghc-exceptions)
1537 ("ghc-multipart" ,ghc-multipart)
1538 ("ghc-network-uri" ,ghc-network-uri)
1539 ("ghc-network" ,ghc-network)))
1540 (native-inputs
1541 `(("ghc-doctest" ,ghc-doctest)
1542 ("ghc-quickcheck" ,ghc-quickcheck)))
1543 (home-page
1544 "https://github.com/cheecheeo/haskell-cgi")
1545 (synopsis "Library for writing CGI programs")
1546 (description
1547 "This is a Haskell library for writing CGI programs.")
1548 (license license:bsd-3)))
1549
1550(define-public ghc-charset
1551 (package
1552 (name "ghc-charset")
1553 (version "0.3.7.1")
1554 (source
1555 (origin
1556 (method url-fetch)
1557 (uri (string-append
1558 "https://hackage.haskell.org/package/charset/charset-"
1559 version
1560 ".tar.gz"))
1561 (sha256
1562 (base32
1563 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1564 (build-system haskell-build-system)
35ee173c
TS
1565 (arguments
1566 `(#:cabal-revision
1567 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1568 (inputs
1569 `(("ghc-semigroups" ,ghc-semigroups)
1570 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1571 (home-page "https://github.com/ekmett/charset")
1572 (synopsis "Fast unicode character sets for Haskell")
1573 (description "This package provides fast unicode character sets for
1574Haskell, based on complemented PATRICIA tries.")
1575 (license license:bsd-3)))
1576
1577(define-public ghc-chart
1578 (package
1579 (name "ghc-chart")
6cd84b98 1580 (version "1.9.1")
dddbc90c
RV
1581 (source
1582 (origin
1583 (method url-fetch)
1584 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1585 "Chart-" version ".tar.gz"))
1586 (sha256
1587 (base32
6cd84b98 1588 "1pn735k9ifxlb9mdh8xy7wi22cxni8xyr28n8zx9w0j6vprcg89l"))))
dddbc90c
RV
1589 (build-system haskell-build-system)
1590 (inputs
1591 `(("ghc-old-locale" ,ghc-old-locale)
1592 ("ghc-lens" ,ghc-lens)
1593 ("ghc-colour" ,ghc-colour)
1594 ("ghc-data-default-class" ,ghc-data-default-class)
1595 ("ghc-operational" ,ghc-operational)
1596 ("ghc-vector" ,ghc-vector)))
1597 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1598 (synopsis "Library for generating 2D charts and plots")
1599 (description
1600 "This package provides a library for generating 2D charts and plots, with
1601backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1602 (license license:bsd-3)))
1603
1604(define-public ghc-chart-cairo
1605 (package
1606 (name "ghc-chart-cairo")
5cf9264d 1607 (version "1.9.1")
dddbc90c
RV
1608 (source
1609 (origin
1610 (method url-fetch)
1611 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1612 "Chart-cairo-" version ".tar.gz"))
1613 (sha256
1614 (base32
5cf9264d 1615 "0hknj4rsjf2m8p5pyq5zff8ai7v80yvmxb5c6n0bkgxs4317nbl9"))))
dddbc90c
RV
1616 (build-system haskell-build-system)
1617 (inputs
1618 `(("ghc-old-locale" ,ghc-old-locale)
1619 ("ghc-cairo" ,ghc-cairo)
1620 ("ghc-colour" ,ghc-colour)
1621 ("ghc-data-default-class" ,ghc-data-default-class)
1622 ("ghc-operational" ,ghc-operational)
1623 ("ghc-lens" ,ghc-lens)
1624 ("ghc-chart" ,ghc-chart)))
1625 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1626 (synopsis "Cairo backend for Charts")
1627 (description "This package provides a Cairo vector graphics rendering
1628backend for the Charts library.")
1629 (license license:bsd-3)))
1630
1631(define-public ghc-chasingbottoms
1632 (package
1633 (name "ghc-chasingbottoms")
1f67853e 1634 (version "1.3.1.7")
dddbc90c
RV
1635 (source
1636 (origin
1637 (method url-fetch)
1638 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1639 "ChasingBottoms-" version ".tar.gz"))
1640 (sha256
1641 (base32
1f67853e 1642 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1643 (build-system haskell-build-system)
1644 (inputs
1645 `(("ghc-quickcheck" ,ghc-quickcheck)
1646 ("ghc-random" ,ghc-random)
1647 ("ghc-syb" ,ghc-syb)))
1648 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1649 (synopsis "Testing of partial and infinite values in Haskell")
1650 (description
1651 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1652 ;; rendered properly.
1653 "This is a library for testing code involving bottoms or infinite values.
1654For the underlying theory and a larger example involving use of QuickCheck,
1655see the article
1656@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1657\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1658Partial and Infinite Values\"}.")
1659 (license license:expat)))
1660
1661(define-public ghc-cheapskate
1662 (package
1663 (name "ghc-cheapskate")
5e18bb9e 1664 (version "0.1.1.1")
dddbc90c
RV
1665 (source
1666 (origin
1667 (method url-fetch)
1668 (uri (string-append
1669 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1670 version
1671 ".tar.gz"))
1672 (sha256
1673 (base32
5e18bb9e 1674 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1675 (build-system haskell-build-system)
1676 (inputs
1677 `(("ghc-blaze-html" ,ghc-blaze-html)
1678 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1679 ("ghc-data-default" ,ghc-data-default)
1680 ("ghc-syb" ,ghc-syb)
1681 ("ghc-uniplate" ,ghc-uniplate)))
1682 (home-page "https://github.com/jgm/cheapskate")
1683 (synopsis "Experimental markdown processor")
1684 (description "Cheapskate is an experimental Markdown processor in pure
1685Haskell. It aims to process Markdown efficiently and in the most forgiving
1686possible way. It is designed to deal with any input, including garbage, with
1687linear performance. Output is sanitized by default for protection against
1688cross-site scripting (@dfn{XSS}) attacks.")
1689 (license license:bsd-3)))
1690
1691(define-public ghc-chell
1692 (package
1693 (name "ghc-chell")
acdd03be 1694 (version "0.5")
dddbc90c
RV
1695 (source
1696 (origin
1697 (method url-fetch)
1698 (uri (string-append
1699 "https://hackage.haskell.org/package/chell/chell-"
1700 version ".tar.gz"))
1701 (sha256
1702 (base32
acdd03be 1703 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1704 (build-system haskell-build-system)
acdd03be
TS
1705 (arguments
1706 `(#:cabal-revision
1707 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1708 (inputs
1709 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1710 ("ghc-patience" ,ghc-patience)
1711 ("ghc-random" ,ghc-random)
1712 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1713 (home-page "https://john-millikin.com/software/chell/")
1714 (synopsis "Simple and intuitive library for automated testing")
1715 (description
1716 "Chell is a simple and intuitive library for automated testing.
1717It natively supports assertion-based testing, and can use companion
1718libraries such as @code{chell-quickcheck} to support more complex
1719testing strategies.")
1720 (license license:expat)))
1721
1722(define-public ghc-chell-quickcheck
1723 (package
1724 (name "ghc-chell-quickcheck")
e0e21831 1725 (version "0.2.5.2")
dddbc90c
RV
1726 (source
1727 (origin
1728 (method url-fetch)
1729 (uri (string-append
1730 "https://hackage.haskell.org/package/chell-quickcheck/"
1731 "chell-quickcheck-" version ".tar.gz"))
1732 (sha256
1733 (base32
e0e21831 1734 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1735 (build-system haskell-build-system)
1736 (arguments
1737 `(#:phases
1738 (modify-phases %standard-phases
1739 (add-before 'configure 'update-constraints
1740 (lambda _
1741 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1742 (("QuickCheck >= 2\\.3 && < 2\\.13")
1743 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1744 (inputs
1745 `(("ghc-chell" ,ghc-chell)
1746 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1747 ("ghc-random" ,ghc-random)
1748 ("ghc-quickcheck" ,ghc-quickcheck)))
1749 (home-page "https://john-millikin.com/software/chell/")
1750 (synopsis "QuickCheck support for the Chell testing library")
1751 (description "More complex tests for @code{chell}.")
1752 (license license:expat)))
1753
1754(define ghc-chell-quickcheck-bootstrap
1755 (package
1756 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1757 (version "0.2.5.2")
dddbc90c
RV
1758 (source
1759 (origin
1760 (method url-fetch)
1761 (uri (string-append
1762 "https://hackage.haskell.org/package/chell-quickcheck/"
1763 "chell-quickcheck-" version ".tar.gz"))
1764 (sha256
1765 (base32
e0e21831 1766 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1767 (build-system haskell-build-system)
1768 (inputs
1769 `(("ghc-chell" ,ghc-chell)
1770 ("ghc-random" ,ghc-random)
1771 ("ghc-quickcheck" ,ghc-quickcheck)))
1772 (arguments
1773 `(#:tests? #f
1774 #:phases
1775 (modify-phases %standard-phases
1776 (add-before 'configure 'update-constraints
1777 (lambda _
1778 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1779 (("QuickCheck >= 2\\.3 && < 2\\.13")
1780 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1781 (home-page "https://john-millikin.com/software/chell/")
1782 (synopsis "QuickCheck support for the Chell testing library")
1783 (description "More complex tests for @code{chell}.")
1784 (license license:expat)))
1785
1786(define-public ghc-chunked-data
1787 (package
1788 (name "ghc-chunked-data")
1789 (version "0.3.1")
1790 (source
1791 (origin
1792 (method url-fetch)
1793 (uri (string-append "https://hackage.haskell.org/package/"
1794 "chunked-data-" version "/"
1795 "chunked-data-" version ".tar.gz"))
1796 (sha256
1797 (base32
1798 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1799 (build-system haskell-build-system)
1800 (inputs `(("ghc-vector" ,ghc-vector)
1801 ("ghc-semigroups" ,ghc-semigroups)))
1802 (home-page "https://github.com/snoyberg/mono-traversable")
1803 (synopsis "Typeclasses for dealing with various chunked data
1804representations for Haskell")
1805 (description "This Haskell package was originally present in
1806classy-prelude.")
1807 (license license:expat)))
1808
1809(define-public ghc-clock
1810 (package
1811 (name "ghc-clock")
0841b6f2 1812 (version "0.8")
dddbc90c
RV
1813 (source
1814 (origin
1815 (method url-fetch)
1816 (uri (string-append
1817 "https://hackage.haskell.org/package/"
1818 "clock/"
1819 "clock-" version ".tar.gz"))
1820 (sha256
0841b6f2 1821 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1822 (build-system haskell-build-system)
1823 (inputs
1824 `(("ghc-tasty" ,ghc-tasty)
1825 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1826 (home-page "https://hackage.haskell.org/package/clock")
1827 (synopsis "High-resolution clock for Haskell")
1828 (description "A package for convenient access to high-resolution clock and
1829timer functions of different operating systems via a unified API.")
1830 (license license:bsd-3)))
1831
1832;; This package builds `clock` without tests, since the tests rely on tasty
1833;; and tasty-quickcheck, which in turn require clock to build.
1834(define-public ghc-clock-bootstrap
1835 (package
1836 (inherit ghc-clock)
1837 (name "ghc-clock-bootstrap")
1838 (arguments '(#:tests? #f))
1839 (inputs '())
1840 (properties '((hidden? #t)))))
1841
1842(define-public ghc-cmark
1843 (package
1844 (name "ghc-cmark")
6bdd36c0 1845 (version "0.6")
dddbc90c
RV
1846 (source (origin
1847 (method url-fetch)
6bdd36c0 1848 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1849 ;; See cbits/cmark_version.h.
1850 (uri (string-append "https://hackage.haskell.org/package/"
1851 "cmark/cmark-" version ".tar.gz"))
1852 (sha256
1853 (base32
6bdd36c0 1854 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1855 (build-system haskell-build-system)
1856 (native-inputs
1857 `(("ghc-hunit" ,ghc-hunit)))
1858 (home-page "https://github.com/jgm/commonmark-hs")
1859 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1860 (description
1861 "This package provides Haskell bindings for
1862@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1863CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1864sources, and does not require prior installation of the C library.")
1865 (license license:bsd-3)))
1866
1867(define-public ghc-cmark-gfm
1868 (package
1869 (name "ghc-cmark-gfm")
24fc8dae 1870 (version "0.2.0")
dddbc90c
RV
1871 (source
1872 (origin
1873 (method url-fetch)
1874 (uri (string-append "https://hackage.haskell.org/package/"
1875 "cmark-gfm/cmark-gfm-"
1876 version ".tar.gz"))
1877 (sha256
1878 (base32
24fc8dae 1879 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1880 (build-system haskell-build-system)
1881 (native-inputs
1882 `(("ghc-hunit" ,ghc-hunit)))
1883 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1884 (synopsis
1885 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1886 (description
1887 "This package provides Haskell bindings for libcmark-gfm, the reference
1888parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1889It includes sources for libcmark-gfm and does not require prior installation
1890of the C library.")
1891 (license license:bsd-3)))
1892
1893(define-public ghc-cmdargs
1894 (package
1895 (name "ghc-cmdargs")
1896 (version "0.10.20")
1897 (source
1898 (origin
1899 (method url-fetch)
1900 (uri (string-append
1901 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1902 version ".tar.gz"))
1903 (sha256
1904 (base32
1905 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1906 (build-system haskell-build-system)
1907 (home-page
1908 "http://community.haskell.org/~ndm/cmdargs/")
1909 (synopsis "Command line argument processing")
1910 (description
1911 "This library provides an easy way to define command line parsers.")
1912 (license license:bsd-3)))
1913
1914(define-public ghc-code-page
1915 (package
1916 (name "ghc-code-page")
f6bb6519 1917 (version "0.2")
dddbc90c
RV
1918 (source
1919 (origin
1920 (method url-fetch)
1921 (uri (string-append
1922 "https://hackage.haskell.org/package/code-page/code-page-"
1923 version ".tar.gz"))
1924 (sha256
1925 (base32
f6bb6519 1926 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1927 (build-system haskell-build-system)
1928 (home-page "https://github.com/RyanGlScott/code-page")
1929 (synopsis "Windows code page library for Haskell")
1930 (description "A cross-platform library with functions for adjusting
1931code pages on Windows. On all other operating systems, the library does
1932nothing.")
1933 (license license:bsd-3)))
1934
1935(define-public ghc-colour
1936(package
1937 (name "ghc-colour")
bc9d1af9 1938 (version "2.3.5")
dddbc90c
RV
1939 (source
1940 (origin
1941 (method url-fetch)
1942 (uri (string-append
1943 "https://hackage.haskell.org/package/colour/colour-"
1944 version ".tar.gz"))
1945 (sha256
1946 (base32
bc9d1af9 1947 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1948 (arguments
1949 ;; The tests for this package have the following dependency cycle:
1950 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1951 `(#:tests? #f))
1952 (build-system haskell-build-system)
1953 (home-page "https://www.haskell.org/haskellwiki/Colour")
1954 (synopsis "Model for human colour perception")
1955 (description
1956 "This package provides a data type for colours and transparency.
1957Colours can be blended and composed. Various colour spaces are
1958supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1959 (license license:expat)))
1960
1961(define-public ghc-comonad
1962 (package
1963 (name "ghc-comonad")
1a825512 1964 (version "5.0.5")
dddbc90c
RV
1965 (source
1966 (origin
1967 (method url-fetch)
1968 (uri (string-append
1969 "https://hackage.haskell.org/package/comonad/comonad-"
1970 version
1971 ".tar.gz"))
1972 (sha256
1973 (base32
1a825512 1974 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
1975 (build-system haskell-build-system)
1976 (native-inputs
1977 `(("cabal-doctest" ,cabal-doctest)
1978 ("ghc-doctest" ,ghc-doctest)))
1979 (inputs
1980 `(("ghc-contravariant" ,ghc-contravariant)
1981 ("ghc-distributive" ,ghc-distributive)
1982 ("ghc-semigroups" ,ghc-semigroups)
1983 ("ghc-tagged" ,ghc-tagged)
1984 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1985 (home-page "https://github.com/ekmett/comonad/")
1986 (synopsis "Comonads for Haskell")
1987 (description "This library provides @code{Comonad}s for Haskell.")
1988 (license license:bsd-3)))
1989
1990(define-public ghc-concatenative
1991 (package
1992 (name "ghc-concatenative")
1993 (version "1.0.1")
1994 (source (origin
1995 (method url-fetch)
1996 (uri (string-append
1997 "https://hackage.haskell.org/package/concatenative/concatenative-"
1998 version ".tar.gz"))
1999 (sha256
2000 (base32
2001 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
2002 (build-system haskell-build-system)
2003 (home-page
2004 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
2005 (synopsis "Library for postfix control flow")
2006 (description
2007 "Concatenative gives Haskell Factor-style combinators and arrows for
2008postfix notation. For more information on stack based languages, see
2009@uref{https://concatenative.org}.")
2010 (license license:bsd-3)))
2011
2012(define-public ghc-concurrent-extra
2013 (package
2014 (name "ghc-concurrent-extra")
2015 (version "0.7.0.12")
2016 (source
2017 (origin
2018 (method url-fetch)
2019 (uri (string-append "https://hackage.haskell.org/package/"
2020 "concurrent-extra/concurrent-extra-"
2021 version ".tar.gz"))
2022 (sha256
2023 (base32
2024 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
2025 (build-system haskell-build-system)
2026 (arguments
2027 ;; XXX: The ReadWriteLock 'stressTest' fails.
2028 `(#:tests? #f))
2029 (inputs
2030 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
2031 (native-inputs
2032 `(("ghc-async" ,ghc-async)
2033 ("ghc-hunit" ,ghc-hunit)
2034 ("ghc-random" ,ghc-random)
2035 ("ghc-test-framework" ,ghc-test-framework)
2036 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2037 (home-page "https://github.com/basvandijk/concurrent-extra")
2038 (synopsis "Extra concurrency primitives")
2039 (description "This Haskell library offers (among other things) the
2040following selection of synchronisation primitives:
2041
2042@itemize
2043@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
2044@item @code{Event}: Wake multiple threads by signalling an event.
2045@item @code{Lock}: Enforce exclusive access to a resource. Also known
2046as a binary semaphore or mutex. The package additionally provides an
2047alternative that works in the STM monad.
2048@item @code{RLock}: A lock which can be acquired multiple times by the
2049same thread. Also known as a reentrant mutex.
2050@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
2051to protect shared resources which may be concurrently read, but only
2052sequentially written.
2053@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
2054@end itemize
2055
2056Please consult the API documentation of the individual modules for more
2057detailed information.
2058
2059This package was inspired by the concurrency libraries of Java and
2060Python.")
2061 (license license:bsd-3)))
2062
2063(define-public ghc-concurrent-output
2064 (package
2065 (name "ghc-concurrent-output")
4fce0a4a 2066 (version "1.10.11")
dddbc90c
RV
2067 (source
2068 (origin
2069 (method url-fetch)
2070 (uri (string-append
2071 "mirror://hackage/package/concurrent-output/concurrent-output-"
2072 version
2073 ".tar.gz"))
2074 (sha256
2075 (base32
4fce0a4a 2076 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
2077 (build-system haskell-build-system)
2078 (inputs
2079 `(("ghc-async" ,ghc-async)
2080 ("ghc-exceptions" ,ghc-exceptions)
2081 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
2082 ("ghc-terminal-size" ,ghc-terminal-size)))
2083 (home-page
2084 "https://hackage.haskell.org/package/concurrent-output")
2085 (synopsis
2086 "Ungarble output from several threads or commands")
2087 (description
2088 "Lets multiple threads and external processes concurrently output to the
2089console, without it getting all garbled up.
2090
2091Built on top of that is a way of defining multiple output regions, which are
2092automatically laid out on the screen and can be individually updated by
2093concurrent threads. Can be used for progress displays etc.")
2094 (license license:bsd-2)))
2095
2096(define-public ghc-conduit
2097 (package
2098 (name "ghc-conduit")
1ac981d4 2099 (version "1.3.1.1")
dddbc90c
RV
2100 (source (origin
2101 (method url-fetch)
2102 (uri (string-append "https://hackage.haskell.org/package/"
2103 "conduit/conduit-" version ".tar.gz"))
2104 (sha256
2105 (base32
1ac981d4 2106 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
2107 (build-system haskell-build-system)
2108 (inputs
2109 `(("ghc-exceptions" ,ghc-exceptions)
2110 ("ghc-lifted-base" ,ghc-lifted-base)
2111 ("ghc-mono-traversable" ,ghc-mono-traversable)
2112 ("ghc-mmorph" ,ghc-mmorph)
2113 ("ghc-resourcet" ,ghc-resourcet)
2114 ("ghc-silently" ,ghc-silently)
2115 ("ghc-transformers-base" ,ghc-transformers-base)
2116 ("ghc-unliftio" ,ghc-unliftio)
2117 ("ghc-unliftio-core" ,ghc-unliftio-core)
2118 ("ghc-vector" ,ghc-vector)
2119 ("ghc-void" ,ghc-void)))
2120 (native-inputs
2121 `(("ghc-quickcheck" ,ghc-quickcheck)
2122 ("ghc-hspec" ,ghc-hspec)
2123 ("ghc-safe" ,ghc-safe)
2124 ("ghc-split" ,ghc-split)))
2125 (home-page "https://github.com/snoyberg/conduit")
2126 (synopsis "Streaming data library ")
2127 (description
2128 "The conduit package is a solution to the streaming data problem,
2129allowing for production, transformation, and consumption of streams of data
2130in constant memory. It is an alternative to lazy I/O which guarantees
2131deterministic resource handling, and fits in the same general solution
2132space as enumerator/iteratee and pipes.")
2133 (license license:expat)))
2134
2135(define-public ghc-conduit-algorithms
2136 (package
2137 (name "ghc-conduit-algorithms")
503b74ae 2138 (version "0.0.11.0")
dddbc90c
RV
2139 (source
2140 (origin
2141 (method url-fetch)
2142 (uri (string-append "https://hackage.haskell.org/package/"
2143 "conduit-algorithms/conduit-algorithms-"
2144 version ".tar.gz"))
2145 (sha256
2146 (base32
503b74ae 2147 "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i"))))
dddbc90c
RV
2148 (build-system haskell-build-system)
2149 (inputs
2150 `(("ghc-async" ,ghc-async)
2151 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2152 ("ghc-conduit" ,ghc-conduit)
2153 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2154 ("ghc-conduit-extra" ,ghc-conduit-extra)
503b74ae 2155 ("ghc-conduit-zstd" ,ghc-conduit-zstd)
dddbc90c
RV
2156 ("ghc-exceptions" ,ghc-exceptions)
2157 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2158 ("ghc-monad-control" ,ghc-monad-control)
2159 ("ghc-pqueue" ,ghc-pqueue)
2160 ("ghc-resourcet" ,ghc-resourcet)
2161 ("ghc-stm-conduit" ,ghc-stm-conduit)
2162 ("ghc-streaming-commons" ,ghc-streaming-commons)
2163 ("ghc-unliftio-core" ,ghc-unliftio-core)
2164 ("ghc-vector" ,ghc-vector)))
2165 (native-inputs
2166 `(("ghc-hunit" ,ghc-hunit)
2167 ("ghc-test-framework" ,ghc-test-framework)
2168 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2169 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2170 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2171 (synopsis "Conduit-based algorithms")
2172 (description
2173 "This package provides algorithms on @code{Conduits}, including higher
2174level asynchronous processing and some other utilities.")
2175 (license license:expat)))
2176
2177(define-public ghc-conduit-combinators
2178 (package
2179 (name "ghc-conduit-combinators")
2180 (version "1.3.0")
2181 (source
2182 (origin
2183 (method url-fetch)
2184 (uri (string-append "https://hackage.haskell.org/package/"
2185 "conduit-combinators-" version "/"
2186 "conduit-combinators-" version ".tar.gz"))
2187 (sha256
2188 (base32
2189 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2190 (build-system haskell-build-system)
2191 (inputs `(("ghc-conduit" ,ghc-conduit)
2192 ("ghc-conduit-extra" ,ghc-conduit-extra)
2193 ("ghc-transformers-base" ,ghc-transformers-base)
2194 ("ghc-primitive" ,ghc-primitive)
2195 ("ghc-vector" ,ghc-vector)
2196 ("ghc-void" ,ghc-void)
2197 ("ghc-mwc-random" ,ghc-mwc-random)
2198 ("ghc-unix-compat" ,ghc-unix-compat)
2199 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2200 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2201 ("ghc-resourcet" ,ghc-resourcet)
2202 ("ghc-monad-control" ,ghc-monad-control)
2203 ("ghc-chunked-data" ,ghc-chunked-data)
2204 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2205 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2206 ("ghc-silently" ,ghc-silently)
2207 ("ghc-safe" ,ghc-safe)
2208 ("ghc-quickcheck" ,ghc-quickcheck)))
2209 (home-page "https://github.com/snoyberg/mono-traversable")
2210 (synopsis "Commonly used conduit functions, for both chunked and
2211unchunked data")
2212 (description "This Haskell package provides a replacement for Data.Conduit.List,
2213as well as a convenient Conduit module.")
2214 (license license:expat)))
2215
2216(define-public ghc-conduit-extra
2217 (package
2218 (name "ghc-conduit-extra")
151774d9 2219 (version "1.3.4")
dddbc90c
RV
2220 (source
2221 (origin
2222 (method url-fetch)
2223 (uri (string-append "https://hackage.haskell.org/package/"
2224 "conduit-extra/conduit-extra-"
2225 version ".tar.gz"))
2226 (sha256
2227 (base32
151774d9 2228 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2229 (build-system haskell-build-system)
2230 (inputs
2231 `(("ghc-conduit" ,ghc-conduit)
2232 ("ghc-exceptions" ,ghc-exceptions)
2233 ("ghc-monad-control" ,ghc-monad-control)
2234 ("ghc-transformers-base" ,ghc-transformers-base)
2235 ("ghc-typed-process" ,ghc-typed-process)
2236 ("ghc-async" ,ghc-async)
2237 ("ghc-attoparsec" ,ghc-attoparsec)
2238 ("ghc-blaze-builder" ,ghc-blaze-builder)
2239 ("ghc-network" ,ghc-network)
2240 ("ghc-primitive" ,ghc-primitive)
2241 ("ghc-resourcet" ,ghc-resourcet)
2242 ("ghc-streaming-commons" ,ghc-streaming-commons)
2243 ("ghc-hspec" ,ghc-hspec)
2244 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2245 ("ghc-quickcheck" ,ghc-quickcheck)))
2246 (native-inputs
2247 `(("hspec-discover" ,hspec-discover)))
2248 (home-page "https://github.com/snoyberg/conduit")
2249 (synopsis "Conduit adapters for common libraries")
2250 (description
2251 "The @code{conduit} package itself maintains relative small dependencies.
2252The purpose of this package is to collect commonly used utility functions
2253wrapping other library dependencies, without depending on heavier-weight
2254dependencies. The basic idea is that this package should only depend on
2255@code{haskell-platform} packages and @code{conduit}.")
2256 (license license:expat)))
2257
b59c3518
TS
2258(define-public ghc-conduit-zstd
2259 (package
2260 (name "ghc-conduit-zstd")
2261 (version "0.0.1.1")
2262 (source
2263 (origin
2264 (method url-fetch)
2265 (uri (string-append "https://hackage.haskell.org/package/"
2266 "conduit-zstd/conduit-zstd-" version ".tar.gz"))
2267 (sha256
2268 (base32
2269 "04h7w2903hgw4gjcx2pg29yinnmfapawvc19hd3r57rr12fzb0c6"))))
2270 (build-system haskell-build-system)
2271 (inputs
2272 `(("ghc-conduit" ,ghc-conduit)
2273 ("ghc-zstd" ,ghc-zstd)))
2274 (native-inputs
2275 `(("ghc-hunit" ,ghc-hunit)
2276 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2277 ("ghc-conduit-extra" ,ghc-conduit-extra)
2278 ("ghc-test-framework" ,ghc-test-framework)
2279 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2280 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2281 (home-page "https://github.com/luispedro/conduit-zstd#readme")
2282 (synopsis "Conduit-based ZStd Compression")
2283 (description "Zstandard compression packaged as a conduit. This is
2284a very thin wrapper around the
2285@url{https://github.com/facebookexperimental/hs-zstd/, official hs-zstd
2286interface}.")
2287 (license license:expat)))
2288
dddbc90c
RV
2289(define-public ghc-configurator
2290 (package
2291 (name "ghc-configurator")
2292 (version "0.3.0.0")
2293 (source
2294 (origin
2295 (method url-fetch)
2296 (uri (string-append "https://hackage.haskell.org/package/"
2297 "configurator/configurator-"
2298 version ".tar.gz"))
2299 (sha256
2300 (base32
2301 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2302 (build-system haskell-build-system)
2303 (inputs
2304 `(("ghc-attoparsec" ,ghc-attoparsec)
2305 ("ghc-hashable" ,ghc-hashable)
2306 ("ghc-unix-compat" ,ghc-unix-compat)
2307 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2308 (native-inputs
2309 `(("ghc-hunit" ,ghc-hunit)
2310 ("ghc-test-framework" ,ghc-test-framework)
2311 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2312 (home-page "http://github.com/bos/configurator")
2313 (synopsis "Configuration management")
2314 (description
2315 "This package provides a configuration management library for programs
2316and daemons. The features include:
2317
2318@enumerate
2319@item Automatic, dynamic reloading in response to modifications to
2320 configuration files.
2321@item A simple, but flexible, configuration language, supporting several of
2322 the most commonly needed types of data, along with interpolation of strings
2323 from the configuration or the system environment (e.g. @code{$(HOME)}).
2324@item Subscription-based notification of changes to configuration properties.
2325@item An @code{import} directive allows the configuration of a complex
2326 application to be split across several smaller files, or common configuration
2327 data to be shared across several applications.
2328@end enumerate\n")
2329 (license license:bsd-3)))
2330
2331(define-public ghc-connection
2332 (package
2333 (name "ghc-connection")
6ee0d258 2334 (version "0.3.1")
dddbc90c
RV
2335 (source (origin
2336 (method url-fetch)
2337 (uri (string-append "https://hackage.haskell.org/package/"
2338 "connection/connection-"
2339 version ".tar.gz"))
2340 (sha256
2341 (base32
6ee0d258 2342 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2343 (build-system haskell-build-system)
2344 (inputs
2345 `(("ghc-byteable" ,ghc-byteable)
2346 ("ghc-data-default-class" ,ghc-data-default-class)
2347 ("ghc-network" ,ghc-network)
2348 ("ghc-tls" ,ghc-tls)
2349 ("ghc-socks" ,ghc-socks)
2350 ("ghc-x509" ,ghc-x509)
2351 ("ghc-x509-store" ,ghc-x509-store)
2352 ("ghc-x509-system" ,ghc-x509-system)
2353 ("ghc-x509-validation" ,ghc-x509-validation)))
2354 (home-page "https://github.com/vincenthz/hs-connection")
2355 (synopsis "Simple and easy network connections API")
2356 (description
2357 "This package provides a simple network library for all your connection
2358needs. It provides a very simple API to create sockets to a destination with
2359the choice of SSL/TLS, and SOCKS.")
2360 (license license:bsd-3)))
2361
2362(define-public ghc-constraints
2363 (package
2364 (name "ghc-constraints")
2365 (version "0.10.1")
2366 (source
2367 (origin
2368 (method url-fetch)
2369 (uri (string-append
2370 "https://hackage.haskell.org/package/constraints/constraints-"
2371 version ".tar.gz"))
2372 (sha256
2373 (base32
2374 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2375 (build-system haskell-build-system)
2376 (inputs
2377 `(("ghc-hashable" ,ghc-hashable)
2378 ("ghc-semigroups" ,ghc-semigroups)
2379 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2380 (native-inputs
2381 `(("ghc-hspec" ,ghc-hspec)
2382 ("hspec-discover" ,hspec-discover)))
2383 (home-page "https://github.com/ekmett/constraints/")
2384 (synopsis "Constraint manipulation")
2385 (description
2386 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2387They stopped crashing the compiler in GHC 7.6. This package provides
2388a vocabulary for working with them.")
2389 (license license:bsd-3)))
2390
2391(define-public ghc-contravariant
2392 (package
2393 (name "ghc-contravariant")
e7b35ff0 2394 (version "1.5.2")
dddbc90c
RV
2395 (source
2396 (origin
2397 (method url-fetch)
2398 (uri (string-append
2399 "https://hackage.haskell.org/package/contravariant/contravariant-"
2400 version
2401 ".tar.gz"))
2402 (sha256
2403 (base32
e7b35ff0 2404 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2405 (build-system haskell-build-system)
2406 (inputs
2407 `(("ghc-void" ,ghc-void)
2408 ("ghc-transformers-compat" ,ghc-transformers-compat)
2409 ("ghc-statevar" ,ghc-statevar)
2410 ("ghc-semigroups" ,ghc-semigroups)))
2411 (home-page
2412 "https://github.com/ekmett/contravariant/")
2413 (synopsis "Contravariant functors")
2414 (description "Contravariant functors for Haskell.")
2415 (license license:bsd-3)))
2416
2417(define-public ghc-contravariant-extras
2418 (package
2419 (name "ghc-contravariant-extras")
2420 (version "0.3.4")
2421 (source
2422 (origin
2423 (method url-fetch)
2424 (uri (string-append "https://hackage.haskell.org/package/"
2425 "contravariant-extras-" version "/"
2426 "contravariant-extras-" version ".tar.gz"))
2427 (sha256
2428 (base32
2429 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2430 (build-system haskell-build-system)
f3aca086
TS
2431 (arguments
2432 `(#:cabal-revision
2433 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2434 (inputs
2435 `(("ghc-tuple-th" ,ghc-tuple-th)
2436 ("ghc-contravariant" ,ghc-contravariant)
2437 ("ghc-base-prelude" ,ghc-base-prelude)
2438 ("ghc-semigroups" ,ghc-semigroups)))
2439 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2440 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2441 (description "This Haskell package provides extras for the
2442@code{ghc-contravariant} package.")
2443 (license license:expat)))
2444
2445(define-public ghc-convertible
2446 (package
2447 (name "ghc-convertible")
2448 (version "1.1.1.0")
2449 (source
2450 (origin
2451 (method url-fetch)
2452 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2453 "convertible-" version ".tar.gz"))
2454 (sha256
2455 (base32
2456 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2457 (build-system haskell-build-system)
2458 (inputs
2459 `(("ghc-old-time" ,ghc-old-time)
2460 ("ghc-old-locale" ,ghc-old-locale)))
2461 (home-page "https://hackage.haskell.org/package/convertible")
2462 (synopsis "Typeclasses and instances for converting between types")
2463 (description
2464 "This package provides a typeclass with a single function that is
2465designed to help convert between different types: numeric values, dates and
2466times, and the like. The conversions perform bounds checking and return a
2467pure @code{Either} value. This means that you need not remember which specific
2468function performs the conversion you desire.")
2469 (license license:bsd-3)))
2470
2471(define-public ghc-data-accessor
2472 (package
2473 (name "ghc-data-accessor")
6dcca515 2474 (version "0.2.2.8")
dddbc90c
RV
2475 (source
2476 (origin
2477 (method url-fetch)
2478 (uri (string-append
2479 "mirror://hackage/package/data-accessor/data-accessor-"
2480 version ".tar.gz"))
2481 (sha256
6dcca515 2482 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2483 (build-system haskell-build-system)
2484 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2485 (synopsis
2486 "Haskell utilities for accessing and manipulating fields of records")
2487 (description "This package provides Haskell modules for accessing and
2488manipulating fields of records.")
2489 (license license:bsd-3)))
2490
2491(define-public ghc-data-accessor-transformers
2492 (package
2493 (name "ghc-data-accessor-transformers")
2494 (version "0.2.1.7")
2495 (source
2496 (origin
2497 (method url-fetch)
2498 (uri (string-append
2499 "mirror://hackage/package/data-accessor-transformers/"
2500 "data-accessor-transformers-" version ".tar.gz"))
2501 (sha256
2502 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2503 (build-system haskell-build-system)
2504 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2505 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2506 (synopsis "Use Accessor to access state in transformers State monad")
2507 (description "This package provides Haskell modules to allow use of
2508Accessor to access state in transformers State monad.")
2509 (license license:bsd-3)))
2510
2511(define-public ghc-data-default
2512 (package
2513 (name "ghc-data-default")
2514 (version "0.7.1.1")
2515 (source
2516 (origin
2517 (method url-fetch)
2518 (uri (string-append
2519 "https://hackage.haskell.org/package/data-default/data-default-"
2520 version
2521 ".tar.gz"))
2522 (sha256
2523 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2524 (build-system haskell-build-system)
2525 (inputs
2526 `(("ghc-data-default-class"
2527 ,ghc-data-default-class)
2528 ("ghc-data-default-instances-base"
2529 ,ghc-data-default-instances-base)
2530 ("ghc-data-default-instances-containers"
2531 ,ghc-data-default-instances-containers)
2532 ("ghc-data-default-instances-dlist"
2533 ,ghc-data-default-instances-dlist)
2534 ("ghc-data-default-instances-old-locale"
2535 ,ghc-data-default-instances-old-locale)))
2536 (home-page "https://hackage.haskell.org/package/data-default")
2537 (synopsis "Types with default values")
2538 (description
2539 "This package defines a class for types with a default value, and
2540provides instances for types from the base, containers, dlist and old-locale
2541packages.")
2542 (license license:bsd-3)))
2543
2544(define-public ghc-data-default-class
2545 (package
2546 (name "ghc-data-default-class")
2547 (version "0.1.2.0")
2548 (source
2549 (origin
2550 (method url-fetch)
2551 (uri (string-append
2552 "https://hackage.haskell.org/package/data-default-class/"
2553 "data-default-class-" version ".tar.gz"))
2554 (sha256
2555 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2556 (build-system haskell-build-system)
2557 (home-page "https://hackage.haskell.org/package/data-default-class")
2558 (synopsis "Types with default values")
2559 (description
2560 "This package defines a class for types with default values.")
2561 (license license:bsd-3)))
2562
2563(define-public ghc-data-default-instances-base
2564 (package
2565 (name "ghc-data-default-instances-base")
2566 (version "0.1.0.1")
2567 (source
2568 (origin
2569 (method url-fetch)
2570 (uri (string-append
2571 "https://hackage.haskell.org/package/"
2572 "data-default-instances-base/"
2573 "data-default-instances-base-" version ".tar.gz"))
2574 (sha256
2575 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2576 (build-system haskell-build-system)
2577 (inputs
2578 `(("ghc-data-default-class" ,ghc-data-default-class)))
2579 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2580 (synopsis "Default instances for types in base")
2581 (description
2582 "This package provides default instances for types from the base
2583package.")
2584 (license license:bsd-3)))
2585
2586(define-public ghc-data-default-instances-containers
2587 (package
2588 (name "ghc-data-default-instances-containers")
2589 (version "0.0.1")
2590 (source
2591 (origin
2592 (method url-fetch)
2593 (uri (string-append
2594 "https://hackage.haskell.org/package/"
2595 "data-default-instances-containers/"
2596 "data-default-instances-containers-" version ".tar.gz"))
2597 (sha256
2598 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2599 (build-system haskell-build-system)
2600 (inputs
2601 `(("ghc-data-default-class" ,ghc-data-default-class)))
2602 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2603 (synopsis "Default instances for types in containers")
2604 (description "Provides default instances for types from the containers
2605package.")
2606 (license license:bsd-3)))
2607
2608(define-public ghc-data-default-instances-dlist
2609 (package
2610 (name "ghc-data-default-instances-dlist")
2611 (version "0.0.1")
2612 (source
2613 (origin
2614 (method url-fetch)
2615 (uri (string-append
2616 "https://hackage.haskell.org/package/"
2617 "data-default-instances-dlist/"
2618 "data-default-instances-dlist-" version ".tar.gz"))
2619 (sha256
2620 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2621 (build-system haskell-build-system)
2622 (inputs
2623 `(("ghc-data-default-class" ,ghc-data-default-class)
2624 ("ghc-dlist" ,ghc-dlist)))
2625 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2626 (synopsis "Default instances for types in dlist")
2627 (description "Provides default instances for types from the dlist
2628package.")
2629 (license license:bsd-3)))
2630
2631(define-public ghc-data-default-instances-old-locale
2632 (package
2633 (name "ghc-data-default-instances-old-locale")
2634 (version "0.0.1")
2635 (source
2636 (origin
2637 (method url-fetch)
2638 (uri (string-append
2639 "https://hackage.haskell.org/package/"
2640 "data-default-instances-old-locale/"
2641 "data-default-instances-old-locale-" version ".tar.gz"))
2642 (sha256
2643 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2644 (build-system haskell-build-system)
2645 (inputs
2646 `(("ghc-data-default-class" ,ghc-data-default-class)
2647 ("ghc-old-locale" ,ghc-old-locale)))
2648 (home-page
2649 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2650 (synopsis "Default instances for types in old-locale")
2651 (description "Provides Default instances for types from the old-locale
2652 package.")
2653 (license license:bsd-3)))
2654
2655(define-public ghc-data-hash
2656 (package
2657 (name "ghc-data-hash")
2658 (version "0.2.0.1")
2659 (source
2660 (origin
2661 (method url-fetch)
2662 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2663 "/data-hash-" version ".tar.gz"))
2664 (sha256
2665 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2666 (build-system haskell-build-system)
2667 (inputs
2668 `(("ghc-quickcheck" ,ghc-quickcheck)
2669 ("ghc-test-framework" ,ghc-test-framework)
2670 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2671 (home-page "https://hackage.haskell.org/package/data-hash")
2672 (synopsis "Combinators for building fast hashing functions")
2673 (description
2674 "This package provides combinators for building fast hashing functions.
2675It includes hashing functions for all basic Haskell98 types.")
2676 (license license:bsd-3)))
2677
2678(define-public ghc-data-ordlist
2679 (package
2680 (name "ghc-data-ordlist")
2681 (version "0.4.7.0")
2682 (source
2683 (origin
2684 (method url-fetch)
2685 (uri (string-append
2686 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2687 version ".tar.gz"))
2688 (sha256
2689 (base32
2690 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2691 (build-system haskell-build-system)
2692 (home-page "https://hackage.haskell.org/package/data-ordlist")
2693 (synopsis "Set and bag operations on ordered lists")
2694 (description
2695 "This module provides set and multiset operations on ordered lists.")
2696 (license license:bsd-3)))
2697
d05f32d6
JS
2698(define-public ghc-dbus
2699 (package
2700 (name "ghc-dbus")
2701 (version "1.2.7")
2702 (source
2703 (origin
2704 (method url-fetch)
2705 (uri
2706 (string-append
2707 "mirror://hackage/package/dbus/dbus-"
2708 version ".tar.gz"))
2709 (sha256
2710 (base32
2711 "0ypkjlw9fn65g7p28kb3p82glk7qs7p7vyffccw7qxa3z57s12w5"))))
2712 (build-system haskell-build-system)
2713 (inputs
2714 `(("ghc-cereal" ,ghc-cereal)
2715 ("ghc-conduit" ,ghc-conduit)
2716 ("ghc-exceptions" ,ghc-exceptions)
2717 ("ghc-lens" ,ghc-lens)
2718 ("ghc-network" ,ghc-network)
2719 ("ghc-random" ,ghc-random)
2720 ("ghc-split" ,ghc-split)
2721 ("ghc-th-lift" ,ghc-th-lift)
2722 ("ghc-vector" ,ghc-vector)
2723 ("ghc-xml-conduit" ,ghc-xml-conduit)
2724 ("ghc-xml-types" ,ghc-xml-types)))
2725 (native-inputs
2726 `(("ghc-extra" ,ghc-extra)
2727 ("ghc-quickcheck" ,ghc-quickcheck)
2728 ("ghc-resourcet" ,ghc-resourcet)
2729 ("ghc-tasty" ,ghc-tasty)
2730 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
2731 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
2732 ;; FIXME - Some tests try to talk to network.
2733 (arguments `(#:tests? #f))
2734 (home-page "https://github.com/rblaze/haskell-dbus")
2735 (synopsis "Client library for the D-Bus IPC system")
2736 (description
2737 "D-Bus is a simple, message-based protocol for inter-process
2738communication, which allows applications to interact with other parts
2739of the machine and the user's session using remote procedure
2740calls. D-Bus is a essential part of the modern Linux desktop, where
2741it replaces earlier protocols such as CORBA and DCOP. This library
2742is an implementation of the D-Bus protocol in Haskell. It can be used
2743to add D-Bus support to Haskell applications, without the awkward
2744interfaces common to foreign bindings.")
2745 (license license:asl2.0)))
2746
dddbc90c
RV
2747(define-public ghc-deepseq-generics
2748 (package
2749 (name "ghc-deepseq-generics")
2750 (version "0.2.0.0")
2751 (source (origin
2752 (method url-fetch)
2753 (uri (string-append "https://hackage.haskell.org/package/"
2754 "deepseq-generics/deepseq-generics-"
2755 version ".tar.gz"))
2756 (sha256
2757 (base32
2758 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2759 (build-system haskell-build-system)
2760 (arguments
2761 `(#:cabal-revision
490ceae4 2762 ("4" "0928s2qnbqsjzrm94x88rvmvbigfmhcyp4m73gw6asinp2qg1kii")))
dddbc90c
RV
2763 (native-inputs
2764 `(("ghc-hunit" ,ghc-hunit)
2765 ("ghc-test-framework" ,ghc-test-framework)
2766 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2767 (home-page "https://github.com/hvr/deepseq-generics")
2768 (synopsis "Generic RNF implementation")
2769 (description
2770 "This package provides a @code{GHC.Generics}-based
2771@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2772providing an @code{rnf} implementation.")
2773 (license license:bsd-3)))
2774
e924e17e
TS
2775(define-public ghc-dense-linear-algebra
2776 (package
2777 (name "ghc-dense-linear-algebra")
2778 (version "0.1.0.0")
2779 (source
2780 (origin
2781 (method url-fetch)
2782 (uri (string-append "https://hackage.haskell.org/package/"
2783 "dense-linear-algebra/dense-linear-algebra-"
2784 version ".tar.gz"))
2785 (sha256
2786 (base32
2787 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2788 (build-system haskell-build-system)
2789 (inputs
2790 `(("ghc-math-functions" ,ghc-math-functions)
2791 ("ghc-primitive" ,ghc-primitive)
2792 ("ghc-vector" ,ghc-vector)
2793 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2794 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2795 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2796 (native-inputs
2797 `(("ghc-hspec" ,ghc-hspec)
2798 ("ghc-quickcheck" ,ghc-quickcheck)))
2799 (home-page "http://hackage.haskell.org/package/dense-linear-algebra")
2800 (synopsis "Simple and incomplete implementation of linear algebra")
2801 (description "This library is simply a collection of linear-algebra
2802related modules split from the statistics library.")
2803 (license license:bsd-2)))
2804
dddbc90c
RV
2805(define-public ghc-descriptive
2806 (package
2807 (name "ghc-descriptive")
2808 (version "0.9.5")
2809 (source
2810 (origin
2811 (method url-fetch)
2812 (uri (string-append
2813 "https://hackage.haskell.org/package/descriptive/descriptive-"
2814 version
2815 ".tar.gz"))
2816 (sha256
2817 (base32
2818 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2819 (build-system haskell-build-system)
2820 (inputs
2821 `(("ghc-aeson" ,ghc-aeson)
2822 ("ghc-bifunctors" ,ghc-bifunctors)
2823 ("ghc-scientific" ,ghc-scientific)
2824 ("ghc-vector" ,ghc-vector)))
2825 (native-inputs
2826 `(("ghc-hunit" ,ghc-hunit)
2827 ("ghc-hspec" ,ghc-hspec)))
2828 (home-page
2829 "https://github.com/chrisdone/descriptive")
2830 (synopsis
2831 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2832 (description
2833 "This package provides datatypes and functions for creating consumers
2834and parsers with useful semantics.")
2835 (license license:bsd-3)))
2836
1859c94a
TS
2837(define-public ghc-diagrams-core
2838 (package
2839 (name "ghc-diagrams-core")
2840 (version "1.4.2")
2841 (source
2842 (origin
2843 (method url-fetch)
2844 (uri (string-append "https://hackage.haskell.org/package/"
2845 "diagrams-core/diagrams-core-" version ".tar.gz"))
2846 (sha256
2847 (base32
2848 "0qgb43vy23g4fxh3nmxfq6jyp34imqvkhgflaa6rz0iq6d60gl43"))))
2849 (build-system haskell-build-system)
2850 (inputs
2851 `(("ghc-unordered-containers" ,ghc-unordered-containers)
2852 ("ghc-semigroups" ,ghc-semigroups)
2853 ("ghc-monoid-extras" ,ghc-monoid-extras)
2854 ("ghc-dual-tree" ,ghc-dual-tree)
2855 ("ghc-lens" ,ghc-lens)
2856 ("ghc-linear" ,ghc-linear)
2857 ("ghc-adjunctions" ,ghc-adjunctions)
2858 ("ghc-distributive" ,ghc-distributive)
2859 ("ghc-profunctors" ,ghc-profunctors)))
2860 (home-page "https://archives.haskell.org/projects.haskell.org/diagrams/")
2861 (synopsis "Core libraries for diagrams embedded domain-specific language")
2862 (description "This package provides the core modules underlying
2863diagrams, an embedded domain-specific language for compositional,
2864declarative drawing.")
2865 (license license:bsd-3)))
2866
4eb9a167
TS
2867(define-public ghc-dictionary-sharing
2868 (package
2869 (name "ghc-dictionary-sharing")
2870 (version "0.1.0.0")
2871 (source
2872 (origin
2873 (method url-fetch)
2874 (uri (string-append "https://hackage.haskell.org/package/"
2875 "dictionary-sharing/dictionary-sharing-"
2876 version ".tar.gz"))
2877 (sha256
2878 (base32
2879 "00aspv943qdqhlk39mbk00kb1dsa5r0caj8sslrn81fnsn252fwc"))))
2880 (build-system haskell-build-system)
2881 (arguments
2882 `(#:cabal-revision
2883 ("3" "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439")))
2884 (home-page "https://hackage.haskell.org/package/dictionary-sharing")
2885 (synopsis "Sharing/memoization of class members")
2886 (description "This library provides tools for ensuring that class
2887members are shared.")
2888 (license license:bsd-3)))
2889
dddbc90c
RV
2890(define-public ghc-diff
2891 (package
2892 (name "ghc-diff")
2893 (version "0.3.4")
2894 (source (origin
2895 (method url-fetch)
2896 (uri (string-append "https://hackage.haskell.org/package/"
2897 "Diff/Diff-" version ".tar.gz"))
a531ff94 2898 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
2899 (sha256
2900 (base32
2901 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2902 (build-system haskell-build-system)
2903 (native-inputs
2904 `(("ghc-quickcheck" ,ghc-quickcheck)
2905 ("ghc-test-framework" ,ghc-test-framework)
2906 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2907 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2908 (synopsis "O(ND) diff algorithm in Haskell")
2909 (description
2910 "This package provides an implementation of the standard diff algorithm,
2911and utilities for pretty printing.")
2912 (license license:bsd-3)))
2913
2914(define-public ghc-disk-free-space
2915 (package
2916 (name "ghc-disk-free-space")
2917 (version "0.1.0.1")
2918 (source
2919 (origin
2920 (method url-fetch)
2921 (uri (string-append "https://hackage.haskell.org/package/"
2922 "disk-free-space/disk-free-space-"
2923 version ".tar.gz"))
2924 (sha256
2925 (base32
2926 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2927 (build-system haskell-build-system)
2928 (home-page "https://github.com/redneb/disk-free-space")
2929 (synopsis "Retrieve information about disk space usage")
2930 (description "A cross-platform library for retrieving information about
2931disk space usage.")
2932 (license license:bsd-3)))
2933
2934(define-public ghc-distributive
2935 (package
2936 (name "ghc-distributive")
e4c92f28 2937 (version "0.6.1")
dddbc90c
RV
2938 (source
2939 (origin
2940 (method url-fetch)
2941 (uri (string-append
2942 "https://hackage.haskell.org/package/distributive/distributive-"
2943 version
2944 ".tar.gz"))
2945 (sha256
2946 (base32
e4c92f28 2947 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 2948 (build-system haskell-build-system)
dddbc90c
RV
2949 (inputs
2950 `(("ghc-tagged" ,ghc-tagged)
2951 ("ghc-base-orphans" ,ghc-base-orphans)
2952 ("ghc-transformers-compat" ,ghc-transformers-compat)
2953 ("ghc-semigroups" ,ghc-semigroups)
2954 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2955 (native-inputs
2956 `(("cabal-doctest" ,cabal-doctest)
2957 ("ghc-doctest" ,ghc-doctest)
2958 ("ghc-hspec" ,ghc-hspec)
2959 ("hspec-discover" ,hspec-discover)))
2960 (home-page "https://github.com/ekmett/distributive/")
2961 (synopsis "Distributive functors for Haskell")
2962 (description "This package provides distributive functors for Haskell.
2963Dual to @code{Traversable}.")
2964 (license license:bsd-3)))
2965
2966(define-public ghc-dlist
2967 (package
2968 (name "ghc-dlist")
197ddf33 2969 (version "0.8.0.7")
dddbc90c
RV
2970 (source
2971 (origin
2972 (method url-fetch)
2973 (uri (string-append
2974 "https://hackage.haskell.org/package/dlist/dlist-"
2975 version
2976 ".tar.gz"))
2977 (sha256
197ddf33 2978 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
2979 (build-system haskell-build-system)
2980 (inputs
2981 `(("ghc-quickcheck" ,ghc-quickcheck)))
2982 (home-page "https://github.com/spl/dlist")
2983 (synopsis "Difference lists")
2984 (description
2985 "Difference lists are a list-like type supporting O(1) append. This is
2986particularly useful for efficient logging and pretty printing (e.g. with the
2987Writer monad), where list append quickly becomes too expensive.")
2988 (license license:bsd-3)))
2989
2990(define-public ghc-doctemplates
2991 (package
2992 (name "ghc-doctemplates")
2993 (version "0.2.2.1")
2994 (source
2995 (origin
2996 (method url-fetch)
2997 (uri (string-append "https://hackage.haskell.org/package/"
2998 "doctemplates/doctemplates-"
2999 version ".tar.gz"))
3000 (sha256
3001 (base32
3002 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
3003 (build-system haskell-build-system)
3004 (inputs
3005 `(("ghc-aeson" ,ghc-aeson)
3006 ("ghc-blaze-markup" ,ghc-blaze-markup)
3007 ("ghc-blaze-html" ,ghc-blaze-html)
3008 ("ghc-vector" ,ghc-vector)
3009 ("ghc-unordered-containers" ,ghc-unordered-containers)
3010 ("ghc-scientific" ,ghc-scientific)))
3011 (native-inputs
3012 `(("ghc-hspec" ,ghc-hspec)))
3013 (home-page "https://github.com/jgm/doctemplates#readme")
3014 (synopsis "Pandoc-style document templates")
3015 (description
3016 "This package provides a simple text templating system used by pandoc.")
3017 (license license:bsd-3)))
3018
3019(define-public ghc-doctest
3020 (package
3021 (name "ghc-doctest")
19c14a0f 3022 (version "0.16.2")
dddbc90c
RV
3023 (source
3024 (origin
3025 (method url-fetch)
3026 (uri (string-append
3027 "https://hackage.haskell.org/package/doctest/doctest-"
3028 version
3029 ".tar.gz"))
3030 (sha256
3031 (base32
19c14a0f 3032 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
3033 (build-system haskell-build-system)
3034 (arguments `(#:tests? #f)) ; FIXME: missing test framework
3035 (inputs
3036 `(("ghc-syb" ,ghc-syb)
3037 ("ghc-paths" ,ghc-paths)
3038 ("ghc-base-compat" ,ghc-base-compat)
3039 ("ghc-code-page" ,ghc-code-page)
3040 ("ghc-hunit" ,ghc-hunit)
3041 ("ghc-hspec" ,ghc-hspec)
3042 ("ghc-quickcheck" ,ghc-quickcheck)
3043 ("ghc-stringbuilder" ,ghc-stringbuilder)
3044 ("ghc-silently" ,ghc-silently)
3045 ("ghc-setenv" ,ghc-setenv)))
3046 (home-page
3047 "https://github.com/sol/doctest#readme")
3048 (synopsis "Test interactive Haskell examples")
3049 (description "The doctest program checks examples in source code comments.
3050It is modeled after doctest for Python, see
3051@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
3052 (license license:expat)))
3053
3054(define-public ghc-double-conversion
3055 (package
3056 (name "ghc-double-conversion")
3057 (version "2.0.2.0")
3058 (source
3059 (origin
3060 (method url-fetch)
3061 (uri (string-append "https://hackage.haskell.org/package/"
3062 "double-conversion/double-conversion-"
3063 version ".tar.gz"))
3064 (sha256
3065 (base32
3066 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
3067 (build-system haskell-build-system)
3068 (native-inputs
3069 `(("ghc-hunit" ,ghc-hunit)
3070 ("ghc-test-framework" ,ghc-test-framework)
3071 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3072 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3073 (home-page "https://github.com/bos/double-conversion")
3074 (synopsis "Fast conversion between double precision floating point and text")
3075 (description
3076 "This package provides a library that performs fast, accurate conversion
3077between double precision floating point and text.")
3078 (license license:bsd-3)))
3079
577a78b7
TS
3080(define-public ghc-dual-tree
3081 (package
3082 (name "ghc-dual-tree")
3083 (version "0.2.2.1")
3084 (source
3085 (origin
3086 (method url-fetch)
3087 (uri (string-append "https://hackage.haskell.org/package/"
3088 "dual-tree/dual-tree-" version ".tar.gz"))
3089 (sha256
3090 (base32
3091 "17kdfnf0df0z5pkiifxrlmyd1xd7hjjaazd2kzyajl0gd00vbszx"))))
3092 (build-system haskell-build-system)
3093 (inputs
3094 `(("ghc-semigroups" ,ghc-semigroups)
3095 ("ghc-newtype-generics" ,ghc-newtype-generics)
3096 ("ghc-monoid-extras" ,ghc-monoid-extras)))
3097 (native-inputs
3098 `(("ghc-quickcheck" ,ghc-quickcheck)
3099 ("ghc-testing-feat" ,ghc-testing-feat)))
3100 (home-page "https://hackage.haskell.org/package/dual-tree")
3101 (synopsis "Rose trees with cached and accumulating monoidal annotations")
3102 (description "Rose (@math{n}-ary) trees with both upwards- (i.e.
3103cached) and downwards-traveling (i.e. accumulating) monoidal
3104annotations. This is used as the core data structure underlying the
3105@url{https://archives.haskell.org/projects.haskell.org/diagrams/,
3106diagrams framework}, but potentially has other applications as well.")
3107 (license license:bsd-3)))
3108
dddbc90c
RV
3109(define-public ghc-easy-file
3110 (package
3111 (name "ghc-easy-file")
3112 (version "0.2.2")
3113 (source
3114 (origin
3115 (method url-fetch)
3116 (uri (string-append
3117 "https://hackage.haskell.org/package/easy-file/easy-file-"
3118 version
3119 ".tar.gz"))
3120 (sha256
3121 (base32
3122 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
3123 (build-system haskell-build-system)
3124 (home-page
3125 "https://github.com/kazu-yamamoto/easy-file")
3126 (synopsis "File handling library for Haskell")
3127 (description "This library provides file handling utilities for Haskell.")
3128 (license license:bsd-3)))
3129
3130(define-public ghc-easyplot
3131 (package
3132 (name "ghc-easyplot")
3133 (version "1.0")
3134 (source
3135 (origin
3136 (method url-fetch)
3137 (uri (string-append
3138 "https://hackage.haskell.org/package/easyplot/easyplot-"
3139 version ".tar.gz"))
3140 (sha256
3141 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
3142 (build-system haskell-build-system)
3143 (propagated-inputs `(("gnuplot" ,gnuplot)))
3144 (arguments
3145 `(#:phases (modify-phases %standard-phases
3146 (add-after 'unpack 'fix-setup-suffix
3147 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
3148 (home-page "https://hub.darcs.net/scravy/easyplot")
3149 (synopsis "Haskell plotting library based on gnuplot")
3150 (description "This package provides a plotting library for
3151Haskell, using gnuplot for rendering.")
3152 (license license:expat)))
3153
3154(define-public ghc-echo
3155 (package
3156 (name "ghc-echo")
3157 (version "0.1.3")
3158 (source
3159 (origin
3160 (method url-fetch)
3161 (uri (string-append
3162 "https://hackage.haskell.org/package/echo/echo-"
3163 version ".tar.gz"))
3164 (sha256
3165 (base32
3166 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
3167 (build-system haskell-build-system)
3168 (arguments
3169 `(#:cabal-revision
3170 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
3171 (home-page "https://github.com/RyanGlScott/echo")
3172 (synopsis "Echo terminal input portably")
3173 (description "The @code{base} library exposes the @code{hGetEcho} and
3174@code{hSetEcho} functions for querying and setting echo status, but
3175unfortunately, neither function works with MinTTY consoles on Windows.
3176This library provides an alternative interface which works with both
3177MinTTY and other consoles.")
3178 (license license:bsd-3)))
3179
3180(define-public ghc-edisonapi
3181 (package
3182 (name "ghc-edisonapi")
3183 (version "1.3.1")
3184 (source
3185 (origin
3186 (method url-fetch)
3187 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
3188 "/EdisonAPI-" version ".tar.gz"))
3189 (sha256
3190 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
3191 (build-system haskell-build-system)
3192 (home-page "http://rwd.rdockins.name/edison/home/")
3193 (synopsis "Library of efficient, purely-functional data structures (API)")
3194 (description
3195 "Edison is a library of purely functional data structures written by
3196Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
3197value EDiSon (Efficient Data Structures). Edison provides several families of
3198abstractions, each with multiple implementations. The main abstractions
3199provided by Edison are: Sequences such as stacks, queues, and dequeues;
3200Collections such as sets, bags and heaps; and Associative Collections such as
3201finite maps and priority queues where the priority and element are distinct.")
3202 (license license:expat)))
3203
3204(define-public ghc-edisoncore
3205 (package
3206 (name "ghc-edisoncore")
3207 (version "1.3.2.1")
3208 (source
3209 (origin
3210 (method url-fetch)
3211 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
3212 "/EdisonCore-" version ".tar.gz"))
3213 (sha256
3214 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
3215 (build-system haskell-build-system)
3216 (inputs
3217 `(("ghc-quickcheck" ,ghc-quickcheck)
3218 ("ghc-edisonapi" ,ghc-edisonapi)))
3219 (home-page "http://rwd.rdockins.name/edison/home/")
3220 (synopsis "Library of efficient, purely-functional data structures")
3221 (description
3222 "This package provides the core Edison data structure implementations,
3223including multiple sequence, set, bag, and finite map concrete implementations
3224with various performance characteristics.")
3225 (license license:expat)))
3226
3227(define-public ghc-edit-distance
3228 (package
3229 (name "ghc-edit-distance")
3230 (version "0.2.2.1")
3231 (source
3232 (origin
3233 (method url-fetch)
3234 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
3235 "/edit-distance-" version ".tar.gz"))
3236 (sha256
3237 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
3238 (build-system haskell-build-system)
3239 (arguments
3240 `(#:phases
3241 (modify-phases %standard-phases
3242 (add-before 'configure 'update-constraints
3243 (lambda _
3244 (substitute* "edit-distance.cabal"
3245 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 3246 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
3247 (inputs
3248 `(("ghc-random" ,ghc-random)
3249 ("ghc-test-framework" ,ghc-test-framework)
3250 ("ghc-quickcheck" ,ghc-quickcheck)
3251 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3252 (home-page "https://github.com/phadej/edit-distance")
3253 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
3254 (description
3255 "This package provides optimized functions to determine the edit
3256distances for fuzzy matching, including Levenshtein and restricted
3257Damerau-Levenshtein algorithms.")
3258 (license license:bsd-3)))
3259
3ebae41f
TS
3260(define-public ghc-edit-distance-vector
3261 (package
3262 (name "ghc-edit-distance-vector")
3263 (version "1.0.0.4")
3264 (source
3265 (origin
3266 (method url-fetch)
3267 (uri (string-append "https://hackage.haskell.org/package/"
3268 "edit-distance-vector/edit-distance-vector-"
3269 version ".tar.gz"))
3270 (sha256
3271 (base32
3272 "07qgc8dyi9kkzkd3xcd78wdlljy0xwhz65b4r2qg2piidpcdvpxp"))))
3273 (build-system haskell-build-system)
3274 (inputs
3275 `(("ghc-vector" ,ghc-vector)))
3276 (native-inputs
3277 `(("ghc-quickcheck" ,ghc-quickcheck)
3278 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
3279 (home-page "https://github.com/thsutton/edit-distance-vector")
3280 (synopsis "Calculate edit distances and edit scripts between vectors")
3281 (description "This package provides implementation of the
3282Wagner-Fischer dynamic programming algorithm to find the optimal edit
3283script and cost between two sequences. The implementation in this
3284package is specialised to sequences represented with @code{Data.Vector}
3285but is otherwise agnostic to:
3286@itemize
3287@item The type of values in the vectors;
3288@item The type representing edit operations; and
3289@item The type representing the cost of operations.
3290@end itemize")
3291 (license license:bsd-3)) )
3292
dddbc90c
RV
3293(define-public ghc-either
3294 (package
3295 (name "ghc-either")
a3fd4dc7 3296 (version "5.0.1.1")
dddbc90c
RV
3297 (source
3298 (origin
3299 (method url-fetch)
3300 (uri (string-append "https://hackage.haskell.org/package/"
3301 "either-" version "/"
3302 "either-" version ".tar.gz"))
3303 (sha256
3304 (base32
a3fd4dc7 3305 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
3306 (build-system haskell-build-system)
3307 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
3308 ("ghc-exceptions" ,ghc-exceptions)
3309 ("ghc-free" ,ghc-free)
3310 ("ghc-monad-control" ,ghc-monad-control)
3311 ("ghc-manodrandom" ,ghc-monadrandom)
3312 ("ghc-mmorph" ,ghc-mmorph)
3313 ("ghc-profunctors" ,ghc-profunctors)
3314 ("ghc-semigroups" ,ghc-semigroups)
3315 ("ghc-semigroupoids" ,ghc-semigroupoids)
3316 ("ghc-transformers-base" ,ghc-transformers-base)))
3317 (native-inputs
3318 `(("ghc-quickcheck" ,ghc-quickcheck)
3319 ("ghc-test-framework" ,ghc-test-framework)
3320 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3321 (home-page "https://github.com/ekmett/either")
3322 (synopsis "Provides an either monad transformer for Haskell")
3323 (description "This Haskell package provides an either monad transformer.")
3324 (license license:bsd-3)))
3325
3326(define-public ghc-email-validate
3327 (package
3328 (name "ghc-email-validate")
a4fe1c64 3329 (version "2.3.2.12")
dddbc90c
RV
3330 (source
3331 (origin
3332 (method url-fetch)
3333 (uri (string-append
3334 "https://hackage.haskell.org/package/"
3335 "email-validate/email-validate-"
3336 version
3337 ".tar.gz"))
3338 (sha256
3339 (base32
a4fe1c64 3340 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3341 (build-system haskell-build-system)
3342 (inputs
3343 `(("ghc-attoparsec" ,ghc-attoparsec)
3344 ("ghc-hspec" ,ghc-hspec)
3345 ("ghc-quickcheck" ,ghc-quickcheck)
3346 ("ghc-doctest" ,ghc-doctest)))
3347 (home-page
3348 "https://github.com/Porges/email-validate-hs")
3349 (synopsis "Email address validator for Haskell")
3350 (description
3351 "This Haskell package provides a validator that can validate an email
3352address string against RFC 5322.")
3353 (license license:bsd-3)))
3354
3355(define-public ghc-enclosed-exceptions
3356 (package
3357 (name "ghc-enclosed-exceptions")
3358 (version "1.0.3")
3359 (source (origin
3360 (method url-fetch)
3361 (uri (string-append "https://hackage.haskell.org/package/"
3362 "enclosed-exceptions/enclosed-exceptions-"
3363 version ".tar.gz"))
3364 (sha256
3365 (base32
3366 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3367 (build-system haskell-build-system)
3368 ;; FIXME: one of the tests blocks forever:
3369 ;; "thread blocked indefinitely in an MVar operation"
3370 (arguments '(#:tests? #f))
3371 (inputs
3372 `(("ghc-lifted-base" ,ghc-lifted-base)
3373 ("ghc-monad-control" ,ghc-monad-control)
3374 ("ghc-async" ,ghc-async)
3375 ("ghc-transformers-base" ,ghc-transformers-base)))
3376 (native-inputs
3377 `(("ghc-hspec" ,ghc-hspec)
3378 ("ghc-quickcheck" ,ghc-quickcheck)))
3379 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3380 (synopsis "Catch all exceptions from within an enclosed computation")
3381 (description
3382 "This library implements a technique to catch all exceptions raised
3383within an enclosed computation, while remaining responsive to (external)
3384asynchronous exceptions.")
3385 (license license:expat)))
3386
3387(define-public ghc-equivalence
3388 (package
3389 (name "ghc-equivalence")
801cf5b1 3390 (version "0.3.5")
dddbc90c
RV
3391 (source
3392 (origin
3393 (method url-fetch)
3394 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3395 "/equivalence-" version ".tar.gz"))
3396 (sha256
801cf5b1 3397 (base32 "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp"))))
dddbc90c
RV
3398 (build-system haskell-build-system)
3399 (inputs
3400 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3401 ("ghc-transformers-compat" ,ghc-transformers-compat)
801cf5b1
TS
3402 ("ghc-fail" ,ghc-fail)
3403 ("ghc-quickcheck" ,ghc-quickcheck)))
dddbc90c
RV
3404 (home-page "https://github.com/pa-ba/equivalence")
3405 (synopsis "Maintaining an equivalence relation implemented as union-find")
3406 (description
3407 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3408Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
340922(2), 1975) in order to maintain an equivalence relation. This
3410implementation is a port of the @code{union-find} package using the @code{ST}
3411monad transformer (instead of the IO monad).")
3412 (license license:bsd-3)))
3413
3414(define-public ghc-erf
3415 (package
3416 (name "ghc-erf")
3417 (version "2.0.0.0")
3418 (source
3419 (origin
3420 (method url-fetch)
3421 (uri (string-append "https://hackage.haskell.org/package/"
3422 "erf-" version "/"
3423 "erf-" version ".tar.gz"))
3424 (sha256
3425 (base32
3426 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3427 (build-system haskell-build-system)
3428 (home-page "https://hackage.haskell.org/package/erf")
3429 (synopsis "The error function, erf, and related functions for Haskell")
3430 (description "This Haskell library provides a type class for the
3431error function, erf, and related functions. Instances for Float and
3432Double.")
3433 (license license:bsd-3)))
3434
3435(define-public ghc-errorcall-eq-instance
3436 (package
3437 (name "ghc-errorcall-eq-instance")
3438 (version "0.3.0")
3439 (source
3440 (origin
3441 (method url-fetch)
3442 (uri (string-append "https://hackage.haskell.org/package/"
3443 "errorcall-eq-instance/errorcall-eq-instance-"
3444 version ".tar.gz"))
3445 (sha256
3446 (base32
3447 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3448 (build-system haskell-build-system)
3449 (inputs
3450 `(("ghc-base-orphans" ,ghc-base-orphans)))
3451 (native-inputs
3452 `(("ghc-quickcheck" ,ghc-quickcheck)
3453 ("ghc-hspec" ,ghc-hspec)
3454 ("hspec-discover" ,hspec-discover)))
3455 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3456 (synopsis "Orphan Eq instance for ErrorCall")
3457 (description
3458 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3459This package provides an orphan instance.")
3460 (license license:expat)))
3461
3462(define-public ghc-errors
3463 (package
3464 (name "ghc-errors")
3465 (version "2.3.0")
3466 (source
3467 (origin
3468 (method url-fetch)
3469 (uri (string-append "https://hackage.haskell.org/package/"
3470 "errors-" version "/"
3471 "errors-" version ".tar.gz"))
3472 (sha256
3473 (base32
3474 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3475 (build-system haskell-build-system)
3476 (inputs
3477 `(("ghc-exceptions" ,ghc-exceptions)
3478 ("ghc-transformers-compat" ,ghc-transformers-compat)
3479 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3480 ("ghc-safe" ,ghc-safe)))
3481 (home-page "https://github.com/gabriel439/haskell-errors-library")
3482 (synopsis "Error handling library for Haskell")
3483 (description "This library encourages an error-handling style that
3484directly uses the type system, rather than out-of-band exceptions.")
3485 (license license:bsd-3)))
3486
3487(define-public ghc-esqueleto
2648b604
TS
3488 (package
3489 (name "ghc-esqueleto")
3490 (version "3.0.0")
3491 (source
3492 (origin
3493 (method url-fetch)
3494 (uri (string-append "https://hackage.haskell.org/package/"
3495 "esqueleto/esqueleto-" version ".tar.gz"))
3496 (sha256
3497 (base32
3498 "187c098h2xyf2nhifkdy2bqfl6iap7a93mzwd2kirl5yyicpc9zy"))))
3499 (build-system haskell-build-system)
3500 (arguments
3501 `(#:haddock? #f ; Haddock reports an internal error.
3502 #:phases
3503 (modify-phases %standard-phases
3504 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3505 ;; SQLite backends. Since we only have Haskell packages for
3506 ;; SQLite, we remove the other two test suites. FIXME: Add the
3507 ;; other backends and run all three test suites.
3508 (add-before 'configure 'remove-non-sqlite-test-suites
3509 (lambda _
3510 (use-modules (ice-9 rdelim))
3511 (with-atomic-file-replacement "esqueleto.cabal"
3512 (lambda (in out)
3513 (let loop ((line (read-line in 'concat)) (deleting? #f))
3514 (cond
3515 ((eof-object? line) #t)
3516 ((string-every char-set:whitespace line)
3517 (unless deleting? (display line out))
3518 (loop (read-line in 'concat) #f))
3519 ((member line '("test-suite mysql\n"
3520 "test-suite postgresql\n"))
3521 (loop (read-line in 'concat) #t))
3522 (else
3523 (unless deleting? (display line out))
3524 (loop (read-line in 'concat) deleting?)))))))))))
3525 (inputs
3526 `(("ghc-blaze-html" ,ghc-blaze-html)
3527 ("ghc-conduit" ,ghc-conduit)
3528 ("ghc-monad-logger" ,ghc-monad-logger)
3529 ("ghc-persistent" ,ghc-persistent)
3530 ("ghc-resourcet" ,ghc-resourcet)
3531 ("ghc-tagged" ,ghc-tagged)
3532 ("ghc-unliftio" ,ghc-unliftio)
3533 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3534 (native-inputs
3535 `(("ghc-hspec" ,ghc-hspec)
3536 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3537 ("ghc-persistent-template" ,ghc-persistent-template)))
3538 (home-page "https://github.com/bitemyapp/esqueleto")
3539 (synopsis "Type-safe embedded domain specific language for SQL queries")
3540 (description "This library provides a type-safe embedded domain specific
dddbc90c
RV
3541language (EDSL) for SQL queries that works with SQL backends as provided by
3542@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3543to learn new concepts, just new syntax, and it's fairly easy to predict the
3544generated SQL and optimize it for your backend.")
2648b604 3545 (license license:bsd-3)))
dddbc90c
RV
3546
3547(define-public ghc-exactprint
3548 (package
3549 (name "ghc-exactprint")
50614014 3550 (version "0.6.1")
dddbc90c
RV
3551 (source
3552 (origin
3553 (method url-fetch)
3554 (uri (string-append
3555 "https://hackage.haskell.org/package/"
3556 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3557 (sha256
3558 (base32
50614014 3559 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3560 (build-system haskell-build-system)
3561 (inputs
3562 `(("ghc-paths" ,ghc-paths)
3563 ("ghc-syb" ,ghc-syb)
3564 ("ghc-free" ,ghc-free)))
3565 (native-inputs
3566 `(("ghc-hunit" ,ghc-hunit)
3567 ("ghc-diff" ,ghc-diff)
3568 ("ghc-silently" ,ghc-silently)
3569 ("ghc-filemanip" ,ghc-filemanip)))
3570 (home-page
3571 "http://hackage.haskell.org/package/ghc-exactprint")
3572 (synopsis "ExactPrint for GHC")
3573 (description
3574 "Using the API Annotations available from GHC 7.10.2, this library
3575provides a means to round-trip any code that can be compiled by GHC, currently
3576excluding @file{.lhs} files.")
3577 (license license:bsd-3)))
3578
3579(define-public ghc-exceptions
3580 (package
3581 (name "ghc-exceptions")
46d3e65b 3582 (version "0.10.3")
dddbc90c
RV
3583 (source
3584 (origin
3585 (method url-fetch)
3586 (uri (string-append
3587 "https://hackage.haskell.org/package/exceptions/exceptions-"
3588 version
3589 ".tar.gz"))
3590 (sha256
3591 (base32
46d3e65b 3592 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3593 (build-system haskell-build-system)
3594 (native-inputs
3595 `(("ghc-quickcheck" ,ghc-quickcheck)
3596 ("ghc-test-framework" ,ghc-test-framework)
3597 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3598 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3599 (inputs
3600 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3601 (home-page "https://github.com/ekmett/exceptions/")
3602 (synopsis "Extensible optionally-pure exceptions")
3603 (description "This library provides extensible optionally-pure exceptions
3604for Haskell.")
3605 (license license:bsd-3)))
3606
3607(define-public ghc-executable-path
3608 (package
3609 (name "ghc-executable-path")
3610 (version "0.0.3.1")
3611 (source (origin
3612 (method url-fetch)
3613 (uri (string-append "https://hackage.haskell.org/package/"
3614 "executable-path/executable-path-"
3615 version ".tar.gz"))
3616 (sha256
3617 (base32
3618 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3619 (build-system haskell-build-system)
3620 (home-page "https://hackage.haskell.org/package/executable-path")
3621 (synopsis "Find out the full path of the executable")
3622 (description
3623 "The documentation of @code{System.Environment.getProgName} says that
3624\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3625instead, for maximum portability, we just return the leafname of the program
3626as invoked.\" This library tries to provide the missing path.")
3627 (license license:public-domain)))
3628
3629(define-public ghc-extensible-exceptions
3630 (package
3631 (name "ghc-extensible-exceptions")
3632 (version "0.1.1.4")
3633 (source
3634 (origin
3635 (method url-fetch)
3636 (uri (string-append "https://hackage.haskell.org/package/"
3637 "extensible-exceptions/extensible-exceptions-"
3638 version ".tar.gz"))
3639 (sha256
3640 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3641 (build-system haskell-build-system)
3642 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3643 (synopsis "Extensible exceptions for Haskell")
3644 (description
3645 "This package provides extensible exceptions for both new and old
3646versions of GHC (i.e., < 6.10).")
3647 (license license:bsd-3)))
3648
3649(define-public ghc-extra
3650 (package
3651 (name "ghc-extra")
10650c44 3652 (version "1.6.18")
dddbc90c
RV
3653 (source
3654 (origin
3655 (method url-fetch)
3656 (uri (string-append
3657 "https://hackage.haskell.org/package/extra/extra-"
3658 version
3659 ".tar.gz"))
3660 (sha256
3661 (base32
10650c44 3662 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3663 (build-system haskell-build-system)
3664 (inputs
3665 `(("ghc-clock" ,ghc-clock)
10650c44 3666 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3667 ("ghc-quickcheck" ,ghc-quickcheck)))
3668 (home-page "https://github.com/ndmitchell/extra")
3669 (synopsis "Extra Haskell functions")
3670 (description "This library provides extra functions for the standard
3671Haskell libraries. Most functions are simple additions, filling out missing
3672functionality. A few functions are available in later versions of GHC, but
3673this package makes them available back to GHC 7.2.")
3674 (license license:bsd-3)))
3675
3676(define-public ghc-fail
3677 (package
3678 (name "ghc-fail")
3679 (version "4.9.0.0")
3680 (source
3681 (origin
3682 (method url-fetch)
3683 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3684 version ".tar.gz"))
3685 (sha256
3686 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3687 (build-system haskell-build-system)
3688 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3689 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3690 (synopsis "Forward-compatible MonadFail class")
3691 (description
3692 "This package contains the @code{Control.Monad.Fail} module providing the
3693@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3694class that became available in
3695@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3696older @code{base} package versions. This package turns into an empty package
3697when used with GHC versions which already provide the
3698@code{Control.Monad.Fail} module.")
3699 (license license:bsd-3)))
3700
3701(define-public ghc-fast-logger
3702 (package
3703 (name "ghc-fast-logger")
d443a52a 3704 (version "2.4.17")
dddbc90c
RV
3705 (source
3706 (origin
3707 (method url-fetch)
3708 (uri (string-append
3709 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3710 version
3711 ".tar.gz"))
3712 (sha256
3713 (base32
d443a52a 3714 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3715 (build-system haskell-build-system)
3716 (inputs
3717 `(("ghc-auto-update" ,ghc-auto-update)
3718 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3719 ("ghc-unix-time" ,ghc-unix-time)
3720 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3721 (native-inputs
3722 `(("hspec-discover" ,hspec-discover)
3723 ("ghc-hspec" ,ghc-hspec)))
3724 (home-page "https://hackage.haskell.org/package/fast-logger")
3725 (synopsis "Fast logging system")
3726 (description "This library provides a fast logging system for Haskell.")
3727 (license license:bsd-3)))
3728
3729(define-public ghc-feed
3730 (package
3731 (name "ghc-feed")
a41c16dc 3732 (version "1.2.0.1")
dddbc90c
RV
3733 (source
3734 (origin
3735 (method url-fetch)
3736 (uri (string-append "https://hackage.haskell.org/package/"
3737 "feed/feed-" version ".tar.gz"))
3738 (sha256
3739 (base32
a41c16dc 3740 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 3741 (build-system haskell-build-system)
dddbc90c
RV
3742 (inputs
3743 `(("ghc-base-compat" ,ghc-base-compat)
3744 ("ghc-old-locale" ,ghc-old-locale)
3745 ("ghc-old-time" ,ghc-old-time)
3746 ("ghc-safe" ,ghc-safe)
3747 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3748 ("ghc-utf8-string" ,ghc-utf8-string)
3749 ("ghc-xml-conduit" ,ghc-xml-conduit)
3750 ("ghc-xml-types" ,ghc-xml-types)))
3751 (native-inputs
3752 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 3753 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
3754 ("ghc-test-framework" ,ghc-test-framework)
3755 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3756 (home-page "https://github.com/bergmark/feed")
3757 (synopsis "Haskell package for handling various syndication formats")
3758 (description "This Haskell package includes tools for generating and
3759consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3760 (license license:bsd-3)))
3761
3762(define-public ghc-fgl
3763 (package
3764 (name "ghc-fgl")
17482b26 3765 (version "5.7.0.1")
dddbc90c
RV
3766 (outputs '("out" "doc"))
3767 (source
3768 (origin
3769 (method url-fetch)
3770 (uri (string-append
3771 "https://hackage.haskell.org/package/fgl/fgl-"
3772 version
3773 ".tar.gz"))
3774 (sha256
3775 (base32
17482b26 3776 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3777 (build-system haskell-build-system)
3778 (arguments
3779 `(#:phases
3780 (modify-phases %standard-phases
3781 (add-before 'configure 'update-constraints
3782 (lambda _
3783 (substitute* "fgl.cabal"
17482b26
TS
3784 (("QuickCheck >= 2\\.8 && < 2\\.13")
3785 "QuickCheck >= 2.8 && < 2.14")
3786 (("hspec >= 2\\.1 && < 2\\.7")
3787 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3788 (inputs
3789 `(("ghc-hspec" ,ghc-hspec)
3790 ("ghc-quickcheck" ,ghc-quickcheck)))
3791 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3792 (synopsis
3793 "Martin Erwig's Functional Graph Library")
3794 (description "The functional graph library, FGL, is a collection of type
3795and function definitions to address graph problems. The basis of the library
3796is an inductive definition of graphs in the style of algebraic data types that
3797encourages inductive, recursive definitions of graph algorithms.")
3798 (license license:bsd-3)))
3799
3800(define-public ghc-fgl-arbitrary
3801 (package
3802 (name "ghc-fgl-arbitrary")
3803 (version "0.2.0.3")
3804 (source
3805 (origin
3806 (method url-fetch)
3807 (uri (string-append
3808 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3809 version ".tar.gz"))
3810 (sha256
3811 (base32
3812 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3813 (build-system haskell-build-system)
3814 (arguments
3815 `(#:phases
3816 (modify-phases %standard-phases
3817 (add-before 'configure 'update-constraints
3818 (lambda _
3819 (substitute* "fgl-arbitrary.cabal"
3820 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3821 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3822 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3823 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3824 (inputs
3825 `(("ghc-fgl" ,ghc-fgl)
3826 ("ghc-quickcheck" ,ghc-quickcheck)
3827 ("ghc-hspec" ,ghc-hspec)))
3828 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3829 (synopsis "QuickCheck support for fgl")
3830 (description
3831 "Provides Arbitrary instances for fgl graphs to avoid adding a
3832QuickCheck dependency for fgl whilst still making the instances
3833available to others. Also available are non-fgl-specific functions
3834for generating graph-like data structures.")
3835 (license license:bsd-3)))
3836
3837(define-public ghc-file-embed
3838 (package
3839 (name "ghc-file-embed")
b5920d50 3840 (version "0.0.11")
dddbc90c
RV
3841 (source
3842 (origin
3843 (method url-fetch)
3844 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3845 "file-embed-" version ".tar.gz"))
3846 (sha256
3847 (base32
b5920d50 3848 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3849 (build-system haskell-build-system)
3850 (home-page "https://github.com/snoyberg/file-embed")
3851 (synopsis "Use Template Haskell to embed file contents directly")
3852 (description
3853 "This package allows you to use Template Haskell to read a file or all
3854the files in a directory, and turn them into @code{(path, bytestring)} pairs
3855embedded in your Haskell code.")
3856 (license license:bsd-3)))
3857
3858(define-public ghc-filemanip
3859 (package
3860 (name "ghc-filemanip")
3861 (version "0.3.6.3")
3862 (source (origin
3863 (method url-fetch)
3864 (uri (string-append "https://hackage.haskell.org/package/"
3865 "filemanip/filemanip-" version ".tar.gz"))
3866 (sha256
3867 (base32
3868 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3869 (build-system haskell-build-system)
3870 (inputs
3871 `(("ghc-unix-compat" ,ghc-unix-compat)))
3872 (home-page "https://github.com/bos/filemanip")
3873 (synopsis "File and directory manipulation for Haskell")
3874 (description
3875 "This package provides a Haskell library for working with files and
3876directories. It includes code for pattern matching, finding files, modifying
3877file contents, and more.")
3878 (license license:bsd-3)))
3879
3880(define-public ghc-findbin
3881 (package
3882 (name "ghc-findbin")
3883 (version "0.0.5")
3884 (source
3885 (origin
3886 (method url-fetch)
3887 (uri (string-append
3888 "https://hackage.haskell.org/package/FindBin/FindBin-"
3889 version ".tar.gz"))
3890 (sha256
3891 (base32
3892 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3893 (build-system haskell-build-system)
3894 (home-page "https://github.com/audreyt/findbin")
3895 (synopsis "Get the absolute path of the running program")
3896 (description
3897 "This module locates the full directory of the running program, to allow
3898the use of paths relative to it. FindBin supports invocation of Haskell
3899programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3900an executable.")
3901 (license license:bsd-3)))
3902
3903(define-public ghc-fingertree
3904 (package
3905 (name "ghc-fingertree")
aac14fdc 3906 (version "0.1.4.2")
dddbc90c
RV
3907 (source
3908 (origin
3909 (method url-fetch)
3910 (uri (string-append
3911 "https://hackage.haskell.org/package/fingertree/fingertree-"
3912 version ".tar.gz"))
3913 (sha256
3914 (base32
aac14fdc 3915 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
3916 (build-system haskell-build-system)
3917 (native-inputs
3918 `(("ghc-hunit" ,ghc-hunit)
3919 ("ghc-quickcheck" ,ghc-quickcheck)
3920 ("ghc-test-framework" ,ghc-test-framework)
3921 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3922 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3923 (home-page "https://hackage.haskell.org/package/fingertree")
3924 (synopsis "Generic finger-tree structure")
3925 (description "This library provides finger trees, a general sequence
3926representation with arbitrary annotations, for use as a base for
3927implementations of various collection types. It includes examples, as
3928described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3929simple general-purpose data structure\".")
3930 (license license:bsd-3)))
3931
3932(define-public ghc-fixed
3933 (package
3934 (name "ghc-fixed")
099dda5b 3935 (version "0.3")
dddbc90c
RV
3936 (source
3937 (origin
3938 (method url-fetch)
3939 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3940 version ".tar.gz"))
3941 (sha256
3942 (base32
099dda5b 3943 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3944 (build-system haskell-build-system)
3945 (home-page "https://github.com/ekmett/fixed")
3946 (synopsis "Signed 15.16 precision fixed point arithmetic")
3947 (description
3948 "This package provides functions for signed 15.16 precision fixed point
3949arithmetic.")
3950 (license license:bsd-3)))
3951
f169f713
JS
3952(define-public ghc-fmlist
3953 (package
3954 (name "ghc-fmlist")
fe9b83a6 3955 (version "0.9.3")
f169f713
JS
3956 (source
3957 (origin
3958 (method url-fetch)
3959 (uri
3960 (string-append
3961 "https://hackage.haskell.org/package/fmlist/fmlist-"
3962 version ".tar.gz"))
3963 (sha256
3964 (base32
fe9b83a6 3965 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3966 (build-system haskell-build-system)
3967 (home-page "https://github.com/sjoerdvisscher/fmlist")
3968 (synopsis "FoldMap lists")
3969 (description "FoldMap lists are lists represented by their
3970@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3971append, just like DLists, but other operations might have favorable
3972performance characteristics as well. These wild claims are still
3973completely unverified though.")
3974 (license license:bsd-3)))
3975
dddbc90c
RV
3976(define-public ghc-foldl
3977 (package
3978 (name "ghc-foldl")
26c4104f 3979 (version "1.4.5")
dddbc90c
RV
3980 (source
3981 (origin
3982 (method url-fetch)
3983 (uri (string-append "https://hackage.haskell.org/package/"
3984 "foldl-" version "/"
3985 "foldl-" version ".tar.gz"))
3986 (sha256
3987 (base32
26c4104f 3988 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
3989 (build-system haskell-build-system)
3990 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3991 ("ghc-primitive" ,ghc-primitive)
3992 ("ghc-vector" ,ghc-vector)
3993 ("ghc-unordered-containers" ,ghc-unordered-containers)
3994 ("ghc-hashable" ,ghc-hashable)
3995 ("ghc-contravariant" ,ghc-contravariant)
3996 ("ghc-semigroups" ,ghc-semigroups)
3997 ("ghc-profunctors" ,ghc-profunctors)
3998 ("ghc-semigroupoids" ,ghc-semigroupoids)
3999 ("ghc-comonad" ,ghc-comonad)
4000 ("ghc-vector-builder" ,ghc-vector-builder)))
4001 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
4002 (synopsis "Composable, streaming, and efficient left folds for Haskell")
4003 (description "This Haskell library provides strict left folds that stream
4004in constant memory, and you can combine folds using @code{Applicative} style
4005to derive new folds. Derived folds still traverse the container just once
4006and are often as efficient as hand-written folds.")
4007 (license license:bsd-3)))
4008
4009(define-public ghc-foundation
4010 (package
4011 (name "ghc-foundation")
0a702df9 4012 (version "0.0.25")
dddbc90c
RV
4013 (source
4014 (origin
4015 (method url-fetch)
4016 (uri (string-append "https://hackage.haskell.org/package/"
4017 "foundation/foundation-" version ".tar.gz"))
4018 (sha256
4019 (base32
0a702df9 4020 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c
RV
4021 (build-system haskell-build-system)
4022 (inputs `(("ghc-basement" ,ghc-basement)))
4023 (home-page "https://github.com/haskell-foundation/foundation")
4024 (synopsis "Alternative prelude with batteries and no dependencies")
4025 (description
4026 "This package provides a custom prelude with no dependencies apart from
4027the base package.
4028
4029Foundation has the following goals:
4030
4031@enumerate
4032@item provide a base like sets of modules that provide a consistent set of
4033 features and bugfixes across multiple versions of GHC (unlike base).
4034@item provide a better and more efficient prelude than base's prelude.
4035@item be self-sufficient: no external dependencies apart from base;
4036@item provide better data-types: packed unicode string by default, arrays;
4037@item Numerical classes that better represent mathematical things (no more
4038 all-in-one @code{Num});
4039@item I/O system with less lazy IO.
4040@end enumerate\n")
4041 (license license:bsd-3)))
4042
4043(define-public ghc-free
4044 (package
4045 (name "ghc-free")
4081565d 4046 (version "5.1.2")
dddbc90c
RV
4047 (source
4048 (origin
4049 (method url-fetch)
4050 (uri (string-append
4051 "https://hackage.haskell.org/package/free/free-"
4052 version
4053 ".tar.gz"))
4054 (sha256
4055 (base32
4081565d 4056 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
4057 (build-system haskell-build-system)
4058 (inputs
4059 `(("ghc-prelude-extras" ,ghc-prelude-extras)
4060 ("ghc-profunctors" ,ghc-profunctors)
4061 ("ghc-exceptions" ,ghc-exceptions)
4062 ("ghc-bifunctors" ,ghc-bifunctors)
4063 ("ghc-comonad" ,ghc-comonad)
4064 ("ghc-distributive" ,ghc-distributive)
4065 ("ghc-semigroupoids" ,ghc-semigroupoids)
4066 ("ghc-semigroups" ,ghc-semigroups)
4067 ("ghc-transformers-base" ,ghc-transformers-base)
4068 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4069 (home-page "https://github.com/ekmett/free/")
4070 (synopsis "Unrestricted monads for Haskell")
4071 (description "This library provides free monads, which are useful for many
4072tree-like structures and domain specific languages. If @code{f} is a
4073@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
4074whose nodes are labeled with the constructors of @code{f}. The word \"free\"
4075is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
4076f} makes no constraining assumptions beyond those given by @code{f} and the
4077definition of @code{Monad}.")
4078 (license license:bsd-3)))
4079
4080(define-public ghc-fsnotify
4081 (package
4082 (name "ghc-fsnotify")
4083 (version "0.3.0.1")
4084 (source (origin
4085 (method url-fetch)
4086 (uri (string-append
4087 "https://hackage.haskell.org/package/fsnotify/"
4088 "fsnotify-" version ".tar.gz"))
4089 (sha256
4090 (base32
4091 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
4092 (build-system haskell-build-system)
4093 (inputs
4094 `(("ghc-async" ,ghc-async)
4095 ("ghc-unix-compat" ,ghc-unix-compat)
4096 ("ghc-hinotify" ,ghc-hinotify)
4097 ("ghc-tasty" ,ghc-tasty)
4098 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4099 ("ghc-random" ,ghc-random)
4100 ("ghc-shelly" ,ghc-shelly)
4101 ("ghc-temporary" ,ghc-temporary)))
4102 (home-page "https://github.com/haskell-fswatch/hfsnotify")
4103 (synopsis "Cross platform library for file change notification.")
4104 (description "Cross platform library for file creation, modification, and
4105deletion notification. This library builds upon existing libraries for platform
4106specific Windows, Mac, and Linux file system event notification.")
4107 (license license:bsd-3)))
4108
4109(define-public ghc-generic-deriving
4110 (package
4111 (name "ghc-generic-deriving")
55c1e6be 4112 (version "1.12.4")
dddbc90c
RV
4113 (source
4114 (origin
4115 (method url-fetch)
4116 (uri (string-append
4117 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
4118 version
4119 ".tar.gz"))
4120 (sha256
4121 (base32
55c1e6be 4122 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
4123 (build-system haskell-build-system)
4124 (inputs
4125 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
4126 (native-inputs
4127 `(("ghc-hspec" ,ghc-hspec)
4128 ("hspec-discover" ,hspec-discover)))
4129 (home-page "https://hackage.haskell.org/package/generic-deriving")
4130 (synopsis "Generalise the deriving mechanism to arbitrary classes")
4131 (description "This package provides functionality for generalising the
4132deriving mechanism in Haskell to arbitrary classes.")
4133 (license license:bsd-3)))
4134
4135(define-public ghc-generics-sop
4136 (package
4137 (name "ghc-generics-sop")
3ed40e10 4138 (version "0.4.0.1")
dddbc90c
RV
4139 (source
4140 (origin
4141 (method url-fetch)
4142 (uri (string-append "https://hackage.haskell.org/package/"
4143 "generics-sop-" version "/"
4144 "generics-sop-" version ".tar.gz"))
4145 (sha256
4146 (base32
3ed40e10 4147 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 4148 (build-system haskell-build-system)
3ed40e10
TS
4149 (inputs
4150 `(("ghc-sop-core" ,ghc-sop-core)
4151 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
4152 (home-page "https://github.com/well-typed/generics-sop")
4153 (synopsis "Generic Programming using True Sums of Products for Haskell")
4154 (description "This Haskell package supports the definition of generic
4155functions. Datatypes are viewed in a uniform, structured way: the choice
4156between constructors is represented using an n-ary sum, and the arguments of
4157each constructor are represented using an n-ary product.")
4158 (license license:bsd-3)))
4159
4160(define-public ghc-geniplate-mirror
4161 (package
4162 (name "ghc-geniplate-mirror")
4163 (version "0.7.6")
4164 (source
4165 (origin
4166 (method url-fetch)
4167 (uri (string-append "https://hackage.haskell.org/package"
4168 "/geniplate-mirror"
4169 "/geniplate-mirror-" version ".tar.gz"))
4170 (sha256
4171 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
4172 (build-system haskell-build-system)
74a7dd7f
TS
4173 (arguments
4174 `(#:cabal-revision
4175 ("2" "03fg4vfm1wgq4mylggawdx0bfvbbjmdn700sqx7v3hk1bx0kjfzh")))
dddbc90c
RV
4176 (home-page "https://github.com/danr/geniplate")
4177 (synopsis "Use Template Haskell to generate Uniplate-like functions")
4178 (description
4179 "Use Template Haskell to generate Uniplate-like functions. This is a
4180maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
4181geniplate} package, written by Lennart Augustsson.")
4182 (license license:bsd-3)))
4183
4184(define-public ghc-genvalidity
4185 (package
4186 (name "ghc-genvalidity")
920f44a1 4187 (version "0.8.0.0")
dddbc90c
RV
4188 (source
4189 (origin
4190 (method url-fetch)
4191 (uri (string-append
4192 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
4193 version
4194 ".tar.gz"))
4195 (sha256
4196 (base32
920f44a1 4197 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
4198 (build-system haskell-build-system)
4199 (inputs
4200 `(("ghc-quickcheck" ,ghc-quickcheck)
4201 ("ghc-validity" ,ghc-validity)))
4202 (native-inputs
4203 `(("ghc-hspec" ,ghc-hspec)
4204 ("hspec-discover" ,hspec-discover)
4205 ("ghc-hspec-core" ,ghc-hspec-core)))
4206 (home-page
4207 "https://github.com/NorfairKing/validity")
4208 (synopsis
4209 "Testing utilities for the @code{validity} library")
4210 (description
4211 "This package provides testing utilities that are useful in conjunction
4212with the @code{Validity} typeclass.")
4213 (license license:expat)))
4214
4215(define-public ghc-genvalidity-property
4216 (package
4217 (name "ghc-genvalidity-property")
e4ede35b 4218 (version "0.4.0.0")
dddbc90c
RV
4219 (source
4220 (origin
4221 (method url-fetch)
4222 (uri (string-append
4223 "https://hackage.haskell.org/package/"
4224 "genvalidity-property/genvalidity-property-"
4225 version
4226 ".tar.gz"))
4227 (sha256
4228 (base32
e4ede35b 4229 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
4230 (build-system haskell-build-system)
4231 (inputs
4232 `(("ghc-quickcheck" ,ghc-quickcheck)
4233 ("ghc-genvalidity" ,ghc-genvalidity)
4234 ("ghc-hspec" ,ghc-hspec)
4235 ("hspec-discover" ,hspec-discover)
4236 ("ghc-validity" ,ghc-validity)))
4237 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
4238 (home-page
4239 "https://github.com/NorfairKing/validity")
4240 (synopsis
4241 "Standard properties for functions on @code{Validity} types")
4242 (description
4243 "This package supplements the @code{Validity} typeclass with standard
4244properties for functions operating on them.")
4245 (license license:expat)))
4246
e71fb573
TS
4247(define-public ghc-getopt-generics
4248 (package
4249 (name "ghc-getopt-generics")
4250 (version "0.13.0.4")
4251 (source
4252 (origin
4253 (method url-fetch)
4254 (uri (string-append "https://hackage.haskell.org/package/"
4255 "getopt-generics/getopt-generics-"
4256 version ".tar.gz"))
4257 (sha256
4258 (base32
4259 "1rszkcn1rg38wf35538ljk5bbqjc57y9sb3a0al7qxm82gy8yigr"))))
4260 (build-system haskell-build-system)
4261 (inputs
4262 `(("ghc-base-compat" ,ghc-base-compat)
4263 ("ghc-base-orphans" ,ghc-base-orphans)
4264 ("ghc-generics-sop" ,ghc-generics-sop)
4265 ("ghc-tagged" ,ghc-tagged)))
4266 (native-inputs
4267 `(("ghc-quickcheck" ,ghc-quickcheck)
4268 ("ghc-hspec" ,ghc-hspec)
4269 ("ghc-safe" ,ghc-safe)
4270 ("ghc-silently" ,ghc-silently)
4271 ("hspec-discover" ,hspec-discover)))
4272 (home-page "https://github.com/soenkehahn/getopt-generics")
4273 (synopsis "Create command line interfaces with ease")
4274 (description "This library provides tools to create command line
4275interfaces with ease.")
4276 (license license:bsd-3)))
4277
dddbc90c
RV
4278(define-public ghc-gitrev
4279 (package
4280 (name "ghc-gitrev")
4281 (version "1.3.1")
4282 (source
4283 (origin
4284 (method url-fetch)
4285 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
4286 version ".tar.gz"))
4287 (sha256
4288 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
4289 (build-system haskell-build-system)
4290 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
4291 (home-page "https://github.com/acfoltzer/gitrev")
4292 (synopsis "Compile git revision info into Haskell projects")
4293 (description
4294 "This package provides some handy Template Haskell splices for including
4295the current git hash and branch in the code of your project. This is useful
4296for including in panic messages, @command{--version} output, or diagnostic
4297info for more informative bug reports.")
4298 (license license:bsd-3)))
4299
4300(define-public ghc-glob
4301 (package
4302 (name "ghc-glob")
b900f486 4303 (version "0.10.0")
dddbc90c
RV
4304 (source
4305 (origin
4306 (method url-fetch)
4307 (uri (string-append "https://hackage.haskell.org/package/"
4308 "Glob-" version "/"
4309 "Glob-" version ".tar.gz"))
4310 (sha256
4311 (base32
b900f486 4312 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
4313 (build-system haskell-build-system)
4314 (inputs
4315 `(("ghc-dlist" ,ghc-dlist)
4316 ("ghc-semigroups" ,ghc-semigroups)
4317 ("ghc-transformers-compat" ,ghc-transformers-compat)))
4318 (native-inputs
4319 `(("ghc-hunit" ,ghc-hunit)
4320 ("ghc-quickcheck" ,ghc-quickcheck)
4321 ("ghc-test-framework" ,ghc-test-framework)
4322 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4323 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
4324 (home-page "http://iki.fi/matti.niemenmaa/glob/")
4325 (synopsis "Haskell library matching glob patterns against file paths")
4326 (description "This package provides a Haskell library for @dfn{globbing}:
4327matching patterns against file paths.")
4328 (license license:bsd-3)))
4329
4330(define-public ghc-gluraw
4331 (package
4332 (name "ghc-gluraw")
4333 (version "2.0.0.4")
4334 (source
4335 (origin
4336 (method url-fetch)
4337 (uri (string-append
4338 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4339 version
4340 ".tar.gz"))
4341 (sha256
4342 (base32
4343 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4344 (build-system haskell-build-system)
4345 (inputs
4346 `(("ghc-openglraw" ,ghc-openglraw)))
4347 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4348 (synopsis "Raw Haskell bindings GLU")
4349 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4350utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4351basis for a nicer interface.")
4352 (license license:bsd-3)))
4353
4354(define-public ghc-glut
4355 (package
4356 (name "ghc-glut")
8284bd09 4357 (version "2.7.0.15")
dddbc90c
RV
4358 (source
4359 (origin
4360 (method url-fetch)
4361 (uri (string-append
4362 "https://hackage.haskell.org/package/GLUT/GLUT-"
4363 version
4364 ".tar.gz"))
4365 (sha256
4366 (base32
8284bd09 4367 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4368 (build-system haskell-build-system)
4369 (inputs
4370 `(("ghc-statevar" ,ghc-statevar)
4371 ("ghc-opengl" ,ghc-opengl)
4372 ("ghc-openglraw" ,ghc-openglraw)
4373 ("freeglut" ,freeglut)))
4374 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4375 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4376 (description "This library provides Haskell bindings for the OpenGL
4377Utility Toolkit, a window system-independent toolkit for writing OpenGL
4378programs.")
4379 (license license:bsd-3)))
4380
4381(define-public ghc-gnuplot
4382 (package
4383 (name "ghc-gnuplot")
d34860c7 4384 (version "0.5.6")
dddbc90c
RV
4385 (source
4386 (origin
4387 (method url-fetch)
4388 (uri (string-append
4389 "mirror://hackage/package/gnuplot/gnuplot-"
4390 version ".tar.gz"))
4391 (sha256
d34860c7 4392 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4393 (build-system haskell-build-system)
4394 (inputs
4395 `(("ghc-temporary" ,ghc-temporary)
4396 ("ghc-utility-ht" ,ghc-utility-ht)
4397 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4398 ("ghc-data-accessor" ,ghc-data-accessor)
4399 ("ghc-semigroups" ,ghc-semigroups)
4400 ("gnuplot" ,gnuplot)))
4401 (arguments
4402 `(#:phases
4403 (modify-phases %standard-phases
4404 (add-before 'configure 'fix-path-to-gnuplot
4405 (lambda* (#:key inputs #:allow-other-keys)
4406 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4407 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4408 (("(gnuplotName = ).*$" all cmd)
4409 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4410 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4411 (synopsis "2D and 3D plots using gnuplot")
4412 (description "This package provides a Haskell module for creating 2D and
44133D plots using gnuplot.")
4414 (license license:bsd-3)))
4415
4416(define-public ghc-graphviz
4417 (package
4418 (name "ghc-graphviz")
c264bd42 4419 (version "2999.20.0.3")
dddbc90c
RV
4420 (source (origin
4421 (method url-fetch)
4422 (uri (string-append "https://hackage.haskell.org/package/"
4423 "graphviz/graphviz-" version ".tar.gz"))
4424 (sha256
4425 (base32
c264bd42 4426 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4427 (build-system haskell-build-system)
c264bd42
TS
4428 (arguments
4429 `(#:phases
4430 (modify-phases %standard-phases
4431 (add-before 'configure 'update-constraints
4432 (lambda _
4433 (substitute* "graphviz.cabal"
4434 (("QuickCheck >= 2\\.3 && < 2\\.13")
4435 "QuickCheck >= 2.3 && < 2.14")
4436 (("hspec >= 2\\.1 && < 2\\.7")
4437 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4438 (inputs
4439 `(("ghc-quickcheck" ,ghc-quickcheck)
4440 ("ghc-colour" ,ghc-colour)
4441 ("ghc-dlist" ,ghc-dlist)
4442 ("ghc-fgl" ,ghc-fgl)
4443 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4444 ("ghc-polyparse" ,ghc-polyparse)
4445 ("ghc-temporary" ,ghc-temporary)
4446 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4447 (native-inputs
4448 `(("ghc-hspec" ,ghc-hspec)
4449 ("graphviz" ,graphviz)
4450 ("hspec-discover" ,hspec-discover)))
4451 (home-page "https://hackage.haskell.org/package/graphviz")
4452 (synopsis "Bindings to Graphviz for graph visualisation")
4453 (description
4454 "This library provides bindings for the Dot language used by
4455the @uref{https://graphviz.org/, Graphviz} suite of programs for
4456visualising graphs, as well as functions to call those programs.
4457Main features of the graphviz library include:
4458
4459@enumerate
4460@item Almost complete coverage of all Graphviz attributes and syntax
4461@item Support for specifying clusters
4462@item The ability to use a custom node type
4463@item Functions for running a Graphviz layout tool with all specified output types
4464@item Generate and parse Dot code with two options: strict and liberal
4465@item Functions to convert FGL graphs and other graph-like data structures
4466@item Round-trip support for passing an FGL graph through Graphviz to augment node
4467and edge labels with positional information, etc.
4468@end enumerate\n")
4469 (license license:bsd-3)))
4470
f3e18645
TS
4471(define-public ghc-groups
4472 (package
4473 (name "ghc-groups")
4474 (version "0.4.1.0")
4475 (source
4476 (origin
4477 (method url-fetch)
4478 (uri (string-append "https://hackage.haskell.org/package/"
4479 "groups/groups-" version ".tar.gz"))
4480 (sha256
4481 (base32
4482 "0ggkygkyxw5ga4cza82bjvdraavl294k0h6b62d2px7z3nvqhifx"))))
4483 (build-system haskell-build-system)
4484 (home-page "https://hackage.haskell.org/package/groups")
4485 (synopsis "Haskell 98 groups")
4486 (description "This package provides Haskell 98 groups. A group is a
4487monoid with invertibility.")
4488 (license license:bsd-3)))
4489
dddbc90c
RV
4490(define-public ghc-gtk2hs-buildtools
4491 (package
4492 (name "ghc-gtk2hs-buildtools")
b79b43d4 4493 (version "0.13.5.4")
dddbc90c
RV
4494 (source
4495 (origin
4496 (method url-fetch)
4497 (uri (string-append "https://hackage.haskell.org/package/"
4498 "gtk2hs-buildtools/gtk2hs-buildtools-"
4499 version ".tar.gz"))
4500 (sha256
4501 (base32
b79b43d4 4502 "1flxsacxwmabzzalhn8558kmj95z01c0lmikrn56nxh7p62nxm25"))))
dddbc90c
RV
4503 (build-system haskell-build-system)
4504 (inputs
4505 `(("ghc-random" ,ghc-random)
4506 ("ghc-hashtables" ,ghc-hashtables)))
4507 (native-inputs
4508 `(("ghc-alex" ,ghc-alex)
4509 ("ghc-happy" ,ghc-happy)))
4510 (home-page "http://projects.haskell.org/gtk2hs/")
4511 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4512 (description
4513 "This package provides a set of helper programs necessary to build the
4514Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4515that is used to generate FFI declarations, a tool to build a type hierarchy
4516that mirrors the C type hierarchy of GObjects found in glib, and a generator
4517for signal declarations that are used to call back from C to Haskell. These
4518tools are not needed to actually run Gtk2Hs programs.")
4519 (license license:gpl2)))
4520
4521(define-public ghc-hackage-security
4522 (package
4523 (name "ghc-hackage-security")
4524 (version "0.5.3.0")
4525 (source
4526 (origin
4527 (method url-fetch)
4528 (uri (string-append "https://hackage.haskell.org/package/"
4529 "hackage-security/hackage-security-"
4530 version ".tar.gz"))
4531 (sha256
4532 (base32
4533 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4534 (build-system haskell-build-system)
4535 (arguments
034380f3
TS
4536 `(#:cabal-revision
4537 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4538 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4539 (inputs
4540 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4541 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4542 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4543 ("ghc-ed25519" ,ghc-ed25519)
4544 ("ghc-network" ,ghc-network)
4545 ("ghc-network-uri" ,ghc-network-uri)
4546 ("ghc-tar" ,ghc-tar)
4547 ("ghc-zlib" ,ghc-zlib)))
4548 (native-inputs
4549 `(("ghc-network-uri" ,ghc-network-uri)
4550 ("ghc-quickcheck" ,ghc-quickcheck)
4551 ("ghc-tar" ,ghc-tar)
4552 ("ghc-tasty" ,ghc-tasty)
4553 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4554 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4555 ("ghc-temporary" ,ghc-temporary)
4556 ("ghc-zlib" ,ghc-zlib)))
4557 (home-page "https://github.com/haskell/hackage-security")
4558 (synopsis "Hackage security library")
4559 (description "This Hackage security library provides both server and
4560client utilities for securing @uref{http://hackage.haskell.org/, the
4561Hackage package server}. It is based on
4562@uref{http://theupdateframework.com/, The Update Framework}, a set of
4563recommendations developed by security researchers at various universities
4564in the US as well as developers on the @uref{https://www.torproject.org/,
4565Tor project}.")
4566 (license license:bsd-3)))
4567
4568(define-public ghc-haddock
4569 (package
4570 (name "ghc-haddock")
4571 (version "2.19.0.1")
4572 (source
4573 (origin
4574 (method url-fetch)
4575 (uri (string-append
4576 "https://hackage.haskell.org/package/haddock/haddock-"
4577 version
4578 ".tar.gz"))
4579 (sha256
4580 (base32
4581 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4582 (build-system haskell-build-system)
4583 (arguments
4584 `(#:phases
4585 (modify-phases %standard-phases
4586 ;; There are four test suites that require the ghc-haddock-test
4587 ;; package, which no longer builds with GHC 8.4.3. This phase
4588 ;; removes these four test suites from the Cabal file, so that we
4589 ;; do not need ghc-haddock-test as an input.
4590 (add-before 'configure 'remove-haddock-test-test-suites
4591 (lambda _
4592 (use-modules (ice-9 rdelim))
4593 (with-atomic-file-replacement "haddock.cabal"
4594 (lambda (in out)
4595 (let loop ((line (read-line in 'concat)) (deleting? #f))
4596 (cond
4597 ((eof-object? line) #t)
4598 ((string-every char-set:whitespace line)
4599 (unless deleting? (display line out))
4600 (loop (read-line in 'concat) #f))
4601 ((member line '("test-suite html-test\n"
4602 "test-suite hypsrc-test\n"
4603 "test-suite latex-test\n"
4604 "test-suite hoogle-test\n"))
4605 (loop (read-line in 'concat) #t))
4606 (else
4607 (unless deleting? (display line out))
4608 (loop (read-line in 'concat) deleting?)))))))))))
4609 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4610 (native-inputs
4611 `(("ghc-hspec" ,ghc-hspec)))
4612 (home-page "https://www.haskell.org/haddock/")
4613 (synopsis
4614 "Documentation-generation tool for Haskell libraries")
4615 (description
4616 "Haddock is a documentation-generation tool for Haskell libraries.")
4617 (license license:bsd-3)))
4618
4619(define-public ghc-haddock-api
4620 (package
4621 (name "ghc-haddock-api")
4622 (version "2.19.0.1")
4623 (source
4624 (origin
4625 (method url-fetch)
4626 (uri (string-append
4627 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4628 version
4629 ".tar.gz"))
4630 (sha256
4631 (base32
4632 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4633 (build-system haskell-build-system)
4634 (arguments
4635 `(#:phases
4636 (modify-phases %standard-phases
4637 (add-before 'configure 'update-constraints
4638 (lambda _
4639 (substitute* "haddock-api.cabal"
4640 (("Cabal \\^>= 2\\.0\\.0")
4641 "Cabal ^>= 2.2.0")
4642 (("hspec \\^>= 2\\.4\\.4")
4643 "hspec >= 2.4.4 && < 2.6")))))))
4644 (inputs
4645 `(("ghc-paths" ,ghc-paths)
4646 ("ghc-haddock-library" ,ghc-haddock-library)))
4647 (native-inputs
4648 `(("ghc-quickcheck" ,ghc-quickcheck)
4649 ("ghc-hspec" ,ghc-hspec)
4650 ("hspec-discover" ,hspec-discover)))
4651 (home-page "https://www.haskell.org/haddock/")
4652 (synopsis "API for documentation-generation tool Haddock")
4653 (description "This package provides an API to Haddock, the
4654documentation-generation tool for Haskell libraries.")
4655 (license license:bsd-3)))
4656
4657(define-public ghc-haddock-library
4658 (package
4659 (name "ghc-haddock-library")
10707d57 4660 (version "1.7.0")
dddbc90c
RV
4661 (source
4662 (origin
4663 (method url-fetch)
4664 (uri (string-append
4665 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4666 version
4667 ".tar.gz"))
4668 (sha256
4669 (base32
10707d57 4670 "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7"))))
dddbc90c
RV
4671 (build-system haskell-build-system)
4672 (arguments
4673 `(#:phases
4674 (modify-phases %standard-phases
10707d57
TS
4675 ;; Since there is no revised Cabal file upstream, we have to
4676 ;; patch it manually.
dddbc90c
RV
4677 (add-before 'configure 'relax-test-suite-dependencies
4678 (lambda _
4679 (substitute* "haddock-library.cabal"
10707d57
TS
4680 (("hspec\\s*>= 2.4.4 && < 2.6") "hspec")
4681 (("QuickCheck\\s*\\^>= 2.11") "QuickCheck"))
dddbc90c
RV
4682 #t)))))
4683 (native-inputs
4684 `(("ghc-base-compat" ,ghc-base-compat)
4685 ("ghc-hspec" ,ghc-hspec)
4686 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4687 ("ghc-quickcheck" ,ghc-quickcheck)
4688 ("ghc-tree-diff" ,ghc-tree-diff)
4689 ("hspec-discover" ,hspec-discover)))
4690 (home-page "https://www.haskell.org/haddock/")
4691 (synopsis "Library exposing some functionality of Haddock")
4692 (description
4693 "Haddock is a documentation-generation tool for Haskell libraries. These
4694modules expose some functionality of it without pulling in the GHC dependency.
4695Please note that the API is likely to change so specify upper bounds in your
4696project if you can't release often. For interacting with Haddock itself, see
4697the ‘haddock’ package.")
4698 (license license:bsd-3)))
4699
4700(define-public ghc-half
4701 (package
4702 (name "ghc-half")
4703 (version "0.3")
4704 (source
4705 (origin
4706 (method url-fetch)
4707 (uri (string-append
4708 "https://hackage.haskell.org/package/half/half-"
4709 version ".tar.gz"))
4710 (sha256
4711 (base32
4712 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4713 (build-system haskell-build-system)
4714 (native-inputs
4715 `(("ghc-hspec" ,ghc-hspec)
4716 ("ghc-quickcheck" ,ghc-quickcheck)))
4717 (home-page "https://github.com/ekmett/half")
4718 (synopsis "Half-precision floating-point computations")
4719 (description "This library provides a half-precision floating-point
4720computation library for Haskell.")
4721 (license license:bsd-3)))
4722
4723(define-public ghc-happy
4724 (package
4725 (name "ghc-happy")
90e7b0e4 4726 (version "1.19.12")
dddbc90c
RV
4727 (source
4728 (origin
4729 (method url-fetch)
4730 (uri (string-append
4731 "https://hackage.haskell.org/package/happy/happy-"
4732 version
4733 ".tar.gz"))
4734 (sha256
4735 (base32
90e7b0e4 4736 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4737 (build-system haskell-build-system)
4738 (arguments
4739 `(#:phases
4740 (modify-phases %standard-phases
4741 (add-after 'unpack 'skip-test-issue93
4742 (lambda _
4743 ;; Tests run out of memory on a system with 2GB of available RAM,
4744 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4745 (substitute* "tests/Makefile"
4746 ((" issue93.y ") " "))
4747 #t)))))
4748 (home-page "https://hackage.haskell.org/package/happy")
4749 (synopsis "Parser generator for Haskell")
4750 (description "Happy is a parser generator for Haskell. Given a grammar
4751specification in BNF, Happy generates Haskell code to parse the grammar.
4752Happy works in a similar way to the yacc tool for C.")
4753 (license license:bsd-3)))
4754
4755(define-public ghc-hashable
4756 (package
4757 (name "ghc-hashable")
4758 (version "1.2.7.0")
4759 (outputs '("out" "doc"))
4760 (source
4761 (origin
4762 (method url-fetch)
4763 (uri (string-append
4764 "https://hackage.haskell.org/package/hashable/hashable-"
4765 version
4766 ".tar.gz"))
4767 (sha256
4768 (base32
4769 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4770 (build-system haskell-build-system)
65a16a45
TS
4771 (arguments
4772 `(#:cabal-revision
4773 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4774 (inputs
4775 `(("ghc-random" ,ghc-random)))
4776 (native-inputs
4777 `(("ghc-test-framework" ,ghc-test-framework)
4778 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4779 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4780 ("ghc-hunit" ,ghc-hunit)
4781 ("ghc-quickcheck" ,ghc-quickcheck)))
4782 (home-page "https://github.com/tibbe/hashable")
4783 (synopsis "Class for types that can be converted to a hash value")
4784 (description
4785 "This package defines a class, @code{Hashable}, for types that can be
4786converted to a hash value. This class exists for the benefit of hashing-based
4787data structures. The package provides instances for basic types and a way to
4788combine hash values.")
4789 (license license:bsd-3)))
4790
4791(define-public ghc-hashable-bootstrap
4792 (package
4793 (inherit ghc-hashable)
4794 (name "ghc-hashable-bootstrap")
65a16a45
TS
4795 (arguments
4796 `(#:tests? #f
4797 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4798 (native-inputs '())
4799 (properties '((hidden? #t)))))
4800
4801(define-public ghc-hashable-time
4802 (package
4803 (name "ghc-hashable-time")
f5051e31 4804 (version "0.2.0.2")
dddbc90c
RV
4805 (source
4806 (origin
4807 (method url-fetch)
4808 (uri (string-append
4809 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4810 version
4811 ".tar.gz"))
4812 (sha256
4813 (base32
f5051e31 4814 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4815 (build-system haskell-build-system)
4816 (arguments
4817 `(#:cabal-revision
f5051e31 4818 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4819 (inputs `(("ghc-hashable" ,ghc-hashable)))
4820 (home-page "http://hackage.haskell.org/package/hashable-time")
4821 (synopsis "Hashable instances for Data.Time")
4822 (description
4823 "This package provides @code{Hashable} instances for types in
4824@code{Data.Time}.")
4825 (license license:bsd-3)))
4826
4827(define-public ghc-hashtables
4828 (package
4829 (name "ghc-hashtables")
19edf0d0 4830 (version "1.2.3.4")
dddbc90c
RV
4831 (source
4832 (origin
4833 (method url-fetch)
4834 (uri (string-append
4835 "https://hackage.haskell.org/package/hashtables/hashtables-"
4836 version ".tar.gz"))
4837 (sha256
19edf0d0 4838 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
4839 (build-system haskell-build-system)
4840 (inputs
4841 `(("ghc-hashable" ,ghc-hashable)
4842 ("ghc-primitive" ,ghc-primitive)
4843 ("ghc-vector" ,ghc-vector)))
4844 (home-page "https://github.com/gregorycollins/hashtables")
4845 (synopsis "Haskell Mutable hash tables in the ST monad")
4846 (description "This package provides a Haskell library including a
4847couple of different implementations of mutable hash tables in the ST
4848monad, as well as a typeclass abstracting their common operations, and
4849a set of wrappers to use the hash tables in the IO monad.")
4850 (license license:bsd-3)))
4851
4852(define-public ghc-haskell-lexer
4853 (package
4854 (name "ghc-haskell-lexer")
4855 (version "1.0.2")
4856 (source
4857 (origin
4858 (method url-fetch)
4859 (uri (string-append
4860 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4861 version ".tar.gz"))
4862 (sha256
4863 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4864 (build-system haskell-build-system)
4865 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4866 (synopsis "Fully compliant Haskell 98 lexer")
4867 (description
4868 "This package provides a fully compliant Haskell 98 lexer.")
4869 (license license:bsd-3)))
4870
4871(define-public ghc-haskell-src
4872 (package
4873 (name "ghc-haskell-src")
4874 (version "1.0.3.0")
4875 (source
4876 (origin
4877 (method url-fetch)
4878 (uri (string-append
4879 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4880 version
4881 ".tar.gz"))
4882 (sha256
4883 (base32
4884 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4885 (build-system haskell-build-system)
4886 (inputs
4887 `(("ghc-happy" ,ghc-happy)
4888 ("ghc-syb" ,ghc-syb)))
4889 (home-page
4890 "https://hackage.haskell.org/package/haskell-src")
4891 (synopsis
4892 "Support for manipulating Haskell source code")
4893 (description
4894 "The @code{haskell-src} package provides support for manipulating Haskell
4895source code. The package provides a lexer, parser and pretty-printer, and a
4896definition of a Haskell abstract syntax tree (AST). Common uses of this
4897package are to parse or generate Haskell 98 code.")
4898 (license license:bsd-3)))
4899
4900(define-public ghc-haskell-src-exts
4901 (package
4902 (name "ghc-haskell-src-exts")
37a05591 4903 (version "1.21.1")
dddbc90c
RV
4904 (source
4905 (origin
4906 (method url-fetch)
4907 (uri (string-append
4908 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4909 version
4910 ".tar.gz"))
4911 (sha256
4912 (base32
37a05591 4913 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
4914 (build-system haskell-build-system)
4915 (inputs
4916 `(("cpphs" ,cpphs)
4917 ("ghc-happy" ,ghc-happy)
4918 ("ghc-pretty-show" ,ghc-pretty-show)))
4919 (native-inputs
4920 `(("ghc-smallcheck" ,ghc-smallcheck)
4921 ("ghc-tasty" ,ghc-tasty)
4922 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4923 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4924 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4925 (synopsis "Library for manipulating Haskell source")
4926 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4927extension of the standard @code{haskell-src} package, and handles most
4928registered syntactic extensions to Haskell. All extensions implemented in GHC
4929are supported. Apart from these standard extensions, it also handles regular
4930patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4931 (license license:bsd-3)))
4932
4933(define-public ghc-haskell-src-exts-util
4934 (package
4935 (name "ghc-haskell-src-exts-util")
77355bdf 4936 (version "0.2.5")
dddbc90c
RV
4937 (source
4938 (origin
4939 (method url-fetch)
4940 (uri (string-append "https://hackage.haskell.org/package/"
4941 "haskell-src-exts-util/haskell-src-exts-util-"
4942 version ".tar.gz"))
4943 (sha256
4944 (base32
77355bdf 4945 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
4946 (build-system haskell-build-system)
4947 (inputs
4948 `(("ghc-data-default" ,ghc-data-default)
4949 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4950 ("ghc-semigroups" ,ghc-semigroups)
4951 ("ghc-uniplate" ,ghc-uniplate)))
4952 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4953 (synopsis "Helper functions for working with haskell-src-exts trees")
4954 (description
4955 "This package provides helper functions for working with
4956@code{haskell-src-exts} trees.")
4957 (license license:bsd-3)))
4958
4959(define-public ghc-haskell-src-meta
4960 (package
4961 (name "ghc-haskell-src-meta")
e94b3c72 4962 (version "0.8.3")
dddbc90c
RV
4963 (source (origin
4964 (method url-fetch)
4965 (uri (string-append "https://hackage.haskell.org/package/"
4966 "haskell-src-meta/haskell-src-meta-"
4967 version ".tar.gz"))
4968 (sha256
4969 (base32
e94b3c72 4970 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
4971 (build-system haskell-build-system)
4972 (inputs
4973 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4974 ("ghc-syb" ,ghc-syb)
4975 ("ghc-th-orphans" ,ghc-th-orphans)))
4976 (native-inputs
4977 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
4978 ("ghc-tasty" ,ghc-tasty)
4979 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
4980 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4981 (synopsis "Parse source to template-haskell abstract syntax")
4982 (description
4983 "This package provides tools to parse Haskell sources to the
4984template-haskell abstract syntax.")
4985 (license license:bsd-3)))
4986
4987(define-public ghc-hasktags
4988 (package
4989 (name "ghc-hasktags")
4990 (version "0.71.2")
4991 (source
4992 (origin
4993 (method url-fetch)
4994 (uri (string-append
4995 "https://hackage.haskell.org/package/hasktags/hasktags-"
4996 version
4997 ".tar.gz"))
4998 (sha256
4999 (base32
5000 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
5001 (build-system haskell-build-system)
5002 (inputs
5003 `(("ghc-system-filepath" ,ghc-system-filepath)
5004 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5005 (native-inputs
5006 `(("ghc-json" ,ghc-json)
5007 ("ghc-utf8-string" ,ghc-utf8-string)
5008 ("ghc-microlens-platform" ,ghc-microlens-platform)
5009 ("ghc-hunit" ,ghc-hunit)))
5010 (home-page "http://github.com/MarcWeber/hasktags")
5011 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
5012 (description
5013 "This package provides a means of generating tag files for Emacs and
5014Vim.")
5015 (license license:bsd-3)))
5016
5017(define-public ghc-hex
5018 (package
5019 (name "ghc-hex")
5020 (version "0.1.2")
5021 (source
5022 (origin
5023 (method url-fetch)
5024 (uri (string-append "https://hackage.haskell.org/package/"
5025 "hex-" version "/"
5026 "hex-" version ".tar.gz"))
5027 (sha256
5028 (base32
5029 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
5030 (build-system haskell-build-system)
5031 (home-page "https://hackage.haskell.org/package/hex")
5032 (synopsis "Convert strings into hexadecimal and back")
5033 (description "This package provides conversion functions between
5034bytestrings and their hexademical representation.")
5035 (license license:bsd-3)))
5036
5037(define-public ghc-highlighting-kate
5038 (package
5039 (name "ghc-highlighting-kate")
5040 (version "0.6.4")
5041 (source (origin
5042 (method url-fetch)
5043 (uri (string-append "https://hackage.haskell.org/package/"
5044 "highlighting-kate/highlighting-kate-"
5045 version ".tar.gz"))
5046 (sha256
5047 (base32
5048 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
5049 (build-system haskell-build-system)
5050 (inputs
5051 `(("ghc-diff" ,ghc-diff)
5052 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
5053 (native-inputs
5054 `(("ghc-blaze-html" ,ghc-blaze-html)
5055 ("ghc-utf8-string" ,ghc-utf8-string)))
5056 (home-page "https://github.com/jgm/highlighting-kate")
5057 (synopsis "Syntax highlighting library")
5058 (description
5059 "Highlighting-kate is a syntax highlighting library with support for
5060nearly one hundred languages. The syntax parsers are automatically generated
5061from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
5062supported by Kate can be added. An (optional) command-line program is
5063provided, along with a utility for generating new parsers from Kate XML syntax
5064descriptions.")
5065 (license license:gpl2+)))
5066
5067(define-public ghc-hindent
5068 (package
5069 (name "ghc-hindent")
f545f894 5070 (version "5.3.1")
dddbc90c
RV
5071 (source
5072 (origin
5073 (method url-fetch)
5074 (uri (string-append
5075 "https://hackage.haskell.org/package/hindent/hindent-"
5076 version
5077 ".tar.gz"))
5078 (sha256
5079 (base32
f545f894 5080 "008s8zm9qs972b7v5kkmr8l3i9kc6zm7yj33mkw6dv69b7h3c01l"))))
dddbc90c
RV
5081 (build-system haskell-build-system)
5082 (arguments
5083 `(#:modules ((guix build haskell-build-system)
5084 (guix build utils)
5085 (guix build emacs-utils))
5086 #:imported-modules (,@%haskell-build-system-modules
5087 (guix build emacs-utils))
5088 #:phases
5089 (modify-phases %standard-phases
5090 (add-after 'install 'emacs-install
5091 (lambda* (#:key inputs outputs #:allow-other-keys)
5092 (let* ((out (assoc-ref outputs "out"))
5093 (elisp-file "elisp/hindent.el")
5094 (dest (string-append out "/share/emacs/site-lisp"
5095 "/guix.d/hindent-" ,version))
5096 (emacs (string-append (assoc-ref inputs "emacs")
5097 "/bin/emacs")))
5098 (make-file-writable elisp-file)
5099 (emacs-substitute-variables elisp-file
5100 ("hindent-process-path"
5101 (string-append out "/bin/hindent")))
5102 (install-file elisp-file dest)
5103 (emacs-generate-autoloads "hindent" dest)))))))
5104 (inputs
5105 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
5106 ("ghc-monad-loops" ,ghc-monad-loops)
5107 ("ghc-utf8-string" ,ghc-utf8-string)
5108 ("ghc-exceptions" ,ghc-exceptions)
5109 ("ghc-yaml" ,ghc-yaml)
5110 ("ghc-unix-compat" ,ghc-unix-compat)
5111 ("ghc-path" ,ghc-path)
5112 ("ghc-path-io" ,ghc-path-io)
5113 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
5114 (native-inputs
5115 `(("ghc-hspec" ,ghc-hspec)
5116 ("ghc-diff" ,ghc-diff)
5117 ("emacs" ,emacs-minimal)))
5118 (home-page
5119 "https://github.com/commercialhaskell/hindent")
5120 (synopsis "Extensible Haskell pretty printer")
5121 (description
5122 "This package provides automatic formatting for Haskell files. Both a
5123library and an executable.")
5124 (license license:bsd-3)))
5125
5126(define-public ghc-hinotify
5127 (package
5128 (name "ghc-hinotify")
c2342abb 5129 (version "0.4")
dddbc90c
RV
5130 (source (origin
5131 (method url-fetch)
5132 (uri (string-append
5133 "https://hackage.haskell.org/package/hinotify/"
5134 "hinotify-" version ".tar.gz"))
5135 (sha256
5136 (base32
c2342abb 5137 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
5138 (build-system haskell-build-system)
5139 (inputs
5140 `(("ghc-async" ,ghc-async)))
5141 (home-page "https://github.com/kolmodin/hinotify.git")
5142 (synopsis "Haskell binding to inotify")
5143 (description "This library provides a wrapper to the Linux kernel's inotify
5144feature, allowing applications to subscribe to notifications when a file is
5145accessed or modified.")
5146 (license license:bsd-3)))
5147
5148(define-public ghc-hmatrix
5149 (package
5150 (name "ghc-hmatrix")
65e29ed1 5151 (version "0.20.0.0")
dddbc90c
RV
5152 (source
5153 (origin
5154 (method url-fetch)
5155 (uri (string-append
5156 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
5157 version ".tar.gz"))
5158 (sha256
65e29ed1 5159 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
5160 (build-system haskell-build-system)
5161 (inputs
5162 `(("ghc-random" ,ghc-random)
5163 ("ghc-split" ,ghc-split)
5164 ("ghc-storable-complex" ,ghc-storable-complex)
5165 ("ghc-semigroups" ,ghc-semigroups)
5166 ("ghc-vector" ,ghc-vector)
5167 ;;("openblas" ,openblas)
5168 ("lapack" ,lapack)))
5169 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
5170 ;; disables inclusion of the LAPACK functions.
5171 ;; (arguments `(#:configure-flags '("--flags=openblas")))
5172 (home-page "https://github.com/albertoruiz/hmatrix")
5173 (synopsis "Haskell numeric linear algebra library")
5174 (description "The HMatrix package provices a Haskell library for
5175dealing with linear systems, matrix decompositions, and other
5176numerical computations based on BLAS and LAPACK.")
5177 (license license:bsd-3)))
5178
5179(define-public ghc-hmatrix-gsl
5180 (package
5181 (name "ghc-hmatrix-gsl")
5182 (version "0.19.0.1")
5183 (source
5184 (origin
5185 (method url-fetch)
5186 (uri (string-append
5187 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
5188 version ".tar.gz"))
5189 (sha256
5190 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
5191 (build-system haskell-build-system)
5192 (inputs
5193 `(("ghc-hmatrix" ,ghc-hmatrix)
5194 ("ghc-vector" ,ghc-vector)
5195 ("ghc-random" ,ghc-random)
5196 ("gsl" ,gsl)))
5197 (native-inputs `(("pkg-config" ,pkg-config)))
5198 (home-page "https://github.com/albertoruiz/hmatrix")
5199 (synopsis "Haskell GSL binding")
5200 (description "This Haskell library provides a purely functional
5201interface to selected numerical computations, internally implemented
5202using GSL.")
5203 (license license:gpl3+)))
5204
5205(define-public ghc-hmatrix-gsl-stats
5206 (package
5207 (name "ghc-hmatrix-gsl-stats")
e9b359f5 5208 (version "0.4.1.8")
dddbc90c
RV
5209 (source
5210 (origin
5211 (method url-fetch)
5212 (uri
5213 (string-append
5214 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
5215 version ".tar.gz"))
5216 (sha256
e9b359f5 5217 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
5218 (build-system haskell-build-system)
5219 (inputs
5220 `(("ghc-vector" ,ghc-vector)
5221 ("ghc-storable-complex" ,ghc-storable-complex)
5222 ("ghc-hmatrix" ,ghc-hmatrix)
5223 ("gsl" ,gsl)))
5224 (native-inputs `(("pkg-config" ,pkg-config)))
5225 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
5226 (synopsis "GSL Statistics interface for Haskell")
5227 (description "This Haskell library provides a purely functional
5228interface for statistics based on hmatrix and GSL.")
5229 (license license:bsd-3)))
5230
5231(define-public ghc-hmatrix-special
5232 (package
5233 (name "ghc-hmatrix-special")
5234 (version "0.19.0.0")
5235 (source
5236 (origin
5237 (method url-fetch)
5238 (uri
5239 (string-append
5240 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
5241 version ".tar.gz"))
5242 (sha256
5243 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
5244 (build-system haskell-build-system)
5245 (inputs
5246 `(("ghc-hmatrix" ,ghc-hmatrix)
5247 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
5248 (home-page "https://github.com/albertoruiz/hmatrix")
5249 (synopsis "Haskell interface to GSL special functions")
5250 (description "This library provides an interface to GSL special
5251functions for Haskell.")
5252 (license license:gpl3+)))
5253
5254(define-public ghc-hostname
5255 (package
5256 (name "ghc-hostname")
5257 (version "1.0")
5258 (source
5259 (origin
5260 (method url-fetch)
5261 (uri (string-append "https://hackage.haskell.org/package/hostname/"
5262 "hostname-" version ".tar.gz"))
5263 (sha256
5264 (base32
5265 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
5266 (build-system haskell-build-system)
5267 (home-page "https://hackage.haskell.org/package/hostname")
5268 (synopsis "Hostname in Haskell")
5269 (description "Network.HostName is a simple package providing a means to
5270determine the hostname.")
5271 (license license:bsd-3)))
5272
5273(define-public ghc-hourglass
5274 (package
5275 (name "ghc-hourglass")
5276 (version "0.2.12")
5277 (source (origin
5278 (method url-fetch)
5279 (uri (string-append "https://hackage.haskell.org/package/"
5280 "hourglass/hourglass-" version ".tar.gz"))
5281 (sha256
5282 (base32
5283 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
5284 (build-system haskell-build-system)
5285 (inputs
5286 `(("ghc-old-locale" ,ghc-old-locale)))
5287 (native-inputs
5288 `(("ghc-tasty" ,ghc-tasty)
5289 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5290 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5291 (home-page "https://github.com/vincenthz/hs-hourglass")
5292 (synopsis "Simple time-related library for Haskell")
5293 (description
5294 "This is a simple time library providing a simple but powerful and
5295performant API. The backbone of the library are the @code{Timeable} and
5296@code{Time} type classes. Each @code{Timeable} instances can be converted to
5297a type that has a @code{Time} instances, and thus are different
5298representations of current time.")
5299 (license license:bsd-3)))
5300
5301(define-public ghc-hpack
5302 (package
5303 (name "ghc-hpack")
06344a3a 5304 (version "0.31.2")
dddbc90c
RV
5305 (source
5306 (origin
5307 (method url-fetch)
5308 (uri (string-append "https://hackage.haskell.org/package/hpack/"
5309 "hpack-" version ".tar.gz"))
06344a3a 5310 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
5311 (sha256
5312 (base32
06344a3a 5313 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
5314 (build-system haskell-build-system)
5315 (inputs
5316 `(("ghc-aeson" ,ghc-aeson)
5317 ("ghc-bifunctors" ,ghc-bifunctors)
5318 ("ghc-cryptonite" ,ghc-cryptonite)
5319 ("ghc-glob" ,ghc-glob)
5320 ("ghc-http-client" ,ghc-http-client)
5321 ("ghc-http-client-tls" ,ghc-http-client-tls)
5322 ("ghc-http-types" ,ghc-http-types)
06344a3a 5323 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
5324 ("ghc-scientific" ,ghc-scientific)
5325 ("ghc-unordered-containers" ,ghc-unordered-containers)
5326 ("ghc-vector" ,ghc-vector)
5327 ("ghc-yaml" ,ghc-yaml)))
5328 (native-inputs
5329 `(("ghc-hspec" ,ghc-hspec)
5330 ("ghc-hunit" ,ghc-hunit)
5331 ("ghc-interpolate" ,ghc-interpolate)
5332 ("ghc-mockery" ,ghc-mockery)
5333 ("ghc-quickcheck" ,ghc-quickcheck)
5334 ("ghc-temporary" ,ghc-temporary)
5335 ("hspec-discover" ,hspec-discover)))
5336 (home-page "https://github.com/sol/hpack")
5337 (synopsis "Tools for an alternative Haskell package format")
5338 (description
5339 "Hpack is a format for Haskell packages. It is an alternative to the
5340Cabal package format and follows different design principles. Hpack packages
5341are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
5342@code{stack} support @code{package.yaml} natively. For other build tools the
5343@code{hpack} executable can be used to generate a @code{.cabal} file from
5344@code{package.yaml}.")
5345 (license license:expat)))
5346
5347(define-public ghc-hs-bibutils
5348 (package
5349 (name "ghc-hs-bibutils")
ebcb4f23 5350 (version "6.7.0.0")
dddbc90c
RV
5351 (source
5352 (origin
5353 (method url-fetch)
5354 (uri (string-append
5355 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5356 version ".tar.gz"))
5357 (sha256
5358 (base32
ebcb4f23 5359 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5360 (build-system haskell-build-system)
5361 (inputs `(("ghc-syb" ,ghc-syb)))
5362 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5363 (synopsis "Haskell bindings to bibutils")
5364 (description
5365 "This package provides Haskell bindings to @code{bibutils}, a library
5366that interconverts between various bibliography formats using a common
5367MODS-format XML intermediate.")
5368 (license license:gpl2+)))
5369
5370(define-public ghc-hslogger
5371 (package
5372 (name "ghc-hslogger")
e5ccc5f7 5373 (version "1.2.12")
dddbc90c
RV
5374 (source
5375 (origin
5376 (method url-fetch)
5377 (uri (string-append "https://hackage.haskell.org/package/"
5378 "hslogger-" version "/" "hslogger-"
5379 version ".tar.gz"))
5380 (sha256 (base32
e5ccc5f7 5381 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5382 (build-system haskell-build-system)
5383 (inputs
5384 `(("ghc-network" ,ghc-network)
5385 ("ghc-old-locale" ,ghc-old-locale)))
5386 (native-inputs
5387 `(("ghc-hunit" ,ghc-hunit)))
5388 (home-page "https://software.complete.org/hslogger")
5389 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5390 (description "Hslogger lets each log message have a priority and source be
5391associated with it. The programmer can then define global handlers that route
5392or filter messages based on the priority and source. It also has a syslog
5393handler built in.")
5394 (license license:bsd-3)))
5395
5396(define-public ghc-hslua
5397 (package
5398 (name "ghc-hslua")
cc784d7b 5399 (version "1.0.3.2")
dddbc90c
RV
5400 (source (origin
5401 (method url-fetch)
5402 (uri (string-append "https://hackage.haskell.org/package/"
5403 "hslua/hslua-" version ".tar.gz"))
5404 (sha256
5405 (base32
cc784d7b 5406 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5407 (build-system haskell-build-system)
5408 (arguments
5409 `(#:configure-flags '("-fsystem-lua")))
5410 (inputs
5411 `(("lua" ,lua)
5412 ("ghc-exceptions" ,ghc-exceptions)
5413 ("ghc-fail" ,ghc-fail)))
5414 (native-inputs
5415 `(("ghc-tasty" ,ghc-tasty)
5416 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5417 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5418 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5419 ("ghc-quickcheck" ,ghc-quickcheck)
5420 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5421 (home-page "https://hackage.haskell.org/package/hslua")
5422 (synopsis "Lua language interpreter embedding in Haskell")
5423 (description
5424 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5425described in @url{https://www.lua.org/}.")
5426 (license license:expat)))
5427
ff303e4e
TS
5428(define-public ghc-hslua-module-system
5429 (package
5430 (name "ghc-hslua-module-system")
5431 (version "0.2.1")
5432 (source
5433 (origin
5434 (method url-fetch)
5435 (uri (string-append "https://hackage.haskell.org/package/"
5436 "hslua-module-system/hslua-module-system-"
5437 version ".tar.gz"))
5438 (sha256
5439 (base32
5440 "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh"))))
5441 (build-system haskell-build-system)
5442 (inputs
5443 `(("ghc-exceptions" ,ghc-exceptions)
5444 ("ghc-hslua" ,ghc-hslua)
5445 ("ghc-temporary" ,ghc-temporary)))
5446 (native-inputs
5447 `(("ghc-tasty" ,ghc-tasty)
5448 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5449 (home-page "https://github.com/hslua/hslua-module-system")
5450 (synopsis "Lua module wrapper around Haskell's System module")
5451 (description "This library provides access to system information and
5452functionality to Lua scripts via Haskell's @code{System} module. Intended
5453usage for this package is to preload it by adding the loader function to
5454@code{package.preload}. Note that the Lua @code{package} library must have
5455already been loaded before the loader can be added.")
5456 (license license:expat)))
5457
dddbc90c
RV
5458(define-public ghc-hslua-module-text
5459 (package
5460 (name "ghc-hslua-module-text")
ecaf0b0c 5461 (version "0.2.1")
dddbc90c
RV
5462 (source
5463 (origin
5464 (method url-fetch)
5465 (uri (string-append "https://hackage.haskell.org/package/"
5466 "hslua-module-text/hslua-module-text-"
5467 version ".tar.gz"))
5468 (sha256
5469 (base32
ecaf0b0c 5470 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5471 (build-system haskell-build-system)
dddbc90c
RV
5472 (inputs
5473 `(("ghc-hslua" ,ghc-hslua)))
5474 (native-inputs
5475 `(("ghc-tasty" ,ghc-tasty)
5476 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5477 (home-page "https://github.com/hslua/hslua-module-text")
5478 (synopsis "Lua module for text")
5479 (description
5480 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5481for Haskell. The functions provided by this module are @code{upper},
5482@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5483 (license license:expat)))
5484
fac520bf
TS
5485(define-public ghc-hsyaml
5486 (package
5487 (name "ghc-hsyaml")
5488 (version "0.1.2.0")
5489 (source
5490 (origin
5491 (method url-fetch)
5492 (uri (string-append "https://hackage.haskell.org/package/"
5493 "HsYAML/HsYAML-" version ".tar.gz"))
5494 (sha256
5495 (base32
5496 "1pajfhj16559v64ixm8j7bvxdqmxg6c3c0z3wz7in8ckswgzfp54"))))
5497 (build-system haskell-build-system)
5498 (arguments
5499 `(#:cabal-revision
5500 ("1" "0j6qmmcz5yqh89hs2cq453maix50q61vl2h0ahj5lg02bygn42cf")))
5501 (home-page "https://github.com/haskell-hvr/HsYAML")
5502 (synopsis "Pure Haskell YAML 1.2 parser")
5503 (description "This library provides a
5504@url{http://yaml.org/spec/1.2/spec.html, YAML 1.2} parser implementation
5505for Haskell. Its features include:
5506
5507@itemize
5508@item Pure Haskell implementation with small dependency footprint and
5509emphasis on strict compliance with the YAML 1.2 specification.
5510
5511@item Direct decoding to native Haskell types via (aeson-inspired)
5512typeclass-based API (see @code{Data.YAML}).
5513
5514@item Support for constructing custom YAML node graph
5515representation (including support for cyclic YAML data structures).
5516
5517@item Support for the standard (untyped) @emph{Failsafe}, (strict)
5518@emph{JSON}, and (flexible) @emph{Core} ``schemas'' providing implicit
5519typing rules as defined in the YAML 1.2 specification (including support
5520for user-defined custom schemas).
5521
5522@item Event-based API resembling LibYAML's Event-based API (see
5523@code{Data.YAML.Event}).
5524
5525@item Low-level API access to lexical token-based scanner (see
5526@code{Data.YAML.Token}).
5527@end itemize")
5528 (license license:gpl2+)))
5529
dddbc90c
RV
5530(define-public ghc-http-api-data
5531 (package
5532 (name "ghc-http-api-data")
a57236eb 5533 (version "0.4.1")
dddbc90c
RV
5534 (source
5535 (origin
5536 (method url-fetch)
5537 (uri (string-append "https://hackage.haskell.org/package/"
5538 "http-api-data-" version "/"
5539 "http-api-data-" version ".tar.gz"))
5540 (sha256
5541 (base32
a57236eb 5542 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5543 (build-system haskell-build-system)
dddbc90c
RV
5544 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5545 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 5546 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
5547 ("ghc-hashable" ,ghc-hashable)
5548 ("ghc-http-types" ,ghc-http-types)
a57236eb 5549 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 5550 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 5551 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
5552 (native-inputs
5553 `(("cabal-doctest" ,cabal-doctest)
5554 ("ghc-nats" ,ghc-nats)
5555 ("ghc-hunit" ,ghc-hunit)
5556 ("ghc-hspec" ,ghc-hspec)
5557 ("ghc-quickcheck" ,ghc-quickcheck)
5558 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5559 ("ghc-doctest" ,ghc-doctest)
5560 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
5561 (home-page "https://github.com/fizruk/http-api-data")
5562 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5563query parameters")
5564 (description "This Haskell package defines typeclasses used for converting
5565Haskell data types to and from HTTP API data.")
5566 (license license:bsd-3)))
5567
5568(define-public ghc-ieee754
5569 (package
5570 (name "ghc-ieee754")
5571 (version "0.8.0")
5572 (source (origin
5573 (method url-fetch)
5574 (uri (string-append
5575 "https://hackage.haskell.org/package/ieee754/"
5576 "ieee754-" version ".tar.gz"))
5577 (sha256
5578 (base32
5579 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5580 (build-system haskell-build-system)
5581 (home-page "https://github.com/patperry/hs-ieee754")
5582 (synopsis "Utilities for dealing with IEEE floating point numbers")
5583 (description "Utilities for dealing with IEEE floating point numbers,
5584ported from the Tango math library; approximate and exact equality comparisons
5585for general types.")
5586 (license license:bsd-3)))
5587
5588(define-public ghc-ifelse
5589 (package
5590 (name "ghc-ifelse")
5591 (version "0.85")
5592 (source
5593 (origin
5594 (method url-fetch)
5595 (uri (string-append "https://hackage.haskell.org/package/"
5596 "IfElse/IfElse-" version ".tar.gz"))
5597 (sha256
5598 (base32
5599 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5600 (build-system haskell-build-system)
5601 (home-page "http://hackage.haskell.org/package/IfElse")
5602 (synopsis "Monadic control flow with anaphoric variants")
5603 (description "This library provides functions for control flow inside of
5604monads with anaphoric variants on @code{if} and @code{when} and a C-like
5605@code{switch} function.")
5606 (license license:bsd-3)))
5607
5608(define-public ghc-indents
5609 (package
5610 (name "ghc-indents")
d66473fb 5611 (version "0.5.0.1")
dddbc90c
RV
5612 (source (origin
5613 (method url-fetch)
5614 (uri (string-append
5615 "https://hackage.haskell.org/package/indents/indents-"
5616 version ".tar.gz"))
5617 (sha256
5618 (base32
d66473fb 5619 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5620 (build-system haskell-build-system)
5621 ;; This package needs an older version of tasty.
5622 (arguments '(#:tests? #f))
5623 (inputs
5624 `(("ghc-concatenative" ,ghc-concatenative)))
5625 (native-inputs
5626 `(("ghc-tasty" ,ghc-tasty)
5627 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5628 (home-page "http://patch-tag.com/r/salazar/indents")
5629 (synopsis "Indentation sensitive parser-combinators for parsec")
5630 (description
5631 "This library provides functions for use in parsing indentation sensitive
5632contexts. It parses blocks of lines all indented to the same level as well as
5633lines continued at an indented level below.")
5634 (license license:bsd-3)))
5635
1f656b17
TS
5636(define-public ghc-infer-license
5637 (package
5638 (name "ghc-infer-license")
5639 (version "0.2.0")
5640 (source
5641 (origin
5642 (method url-fetch)
5643 (uri (string-append "https://hackage.haskell.org/package/"
5644 "infer-license/infer-license-" version ".tar.gz"))
5645 (sha256
5646 (base32
5647 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5648 (build-system haskell-build-system)
5649 (inputs
5650 `(("ghc-text-metrics" ,ghc-text-metrics)))
5651 (native-inputs
5652 `(("ghc-hspec" ,ghc-hspec)
5653 ("hspec-discover" ,hspec-discover)))
5654 (home-page "http://hackage.haskell.org/package/infer-license")
5655 (synopsis "Infer software license from a given license file")
5656 (description "This library provides tools to infer a software
5657license from a given license file.")
5658 (license license:expat)))
5659
dddbc90c
RV
5660(define-public ghc-inline-c
5661 (package
5662 (name "ghc-inline-c")
55ec98f2 5663 (version "0.7.0.1")
dddbc90c
RV
5664 (source
5665 (origin
5666 (method url-fetch)
5667 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5668 "inline-c-" version ".tar.gz"))
5669 (sha256
5670 (base32
55ec98f2 5671 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
5672 (build-system haskell-build-system)
5673 (inputs
5674 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5675 ("ghc-cryptohash" ,ghc-cryptohash)
5676 ("ghc-hashable" ,ghc-hashable)
5677 ("ghc-parsers" ,ghc-parsers)
5678 ("ghc-unordered-containers" ,ghc-unordered-containers)
5679 ("ghc-vector" ,ghc-vector)))
5680 (native-inputs
5681 `(("ghc-quickcheck" ,ghc-quickcheck)
5682 ("ghc-hspec" ,ghc-hspec)
5683 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5684 ("ghc-regex-posix" ,ghc-regex-posix)))
5685 (home-page "http://hackage.haskell.org/package/inline-c")
5686 (synopsis "Write Haskell source files including C code inline")
5687 (description
5688 "inline-c lets you seamlessly call C libraries and embed high-performance
5689inline C code in Haskell modules. Haskell and C can be freely intermixed in
5690the same source file, and data passed to and from code in either language with
5691minimal overhead. No FFI required.")
5692 (license license:expat)))
5693
5694(define-public ghc-inline-c-cpp
5695 (package
5696 (name "ghc-inline-c-cpp")
cae58e56 5697 (version "0.3.0.3")
dddbc90c
RV
5698 (source
5699 (origin
5700 (method url-fetch)
5701 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5702 "inline-c-cpp-" version ".tar.gz"))
5703 (sha256
5704 (base32
cae58e56 5705 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
5706 (build-system haskell-build-system)
5707 (inputs
5708 `(("ghc-inline-c" ,ghc-inline-c)
5709 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5710 (native-inputs
5711 `(("ghc-hspec" ,ghc-hspec)))
5712 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5713 (synopsis "Lets you embed C++ code into Haskell")
5714 (description
5715 "This package provides utilities to inline C++ code into Haskell using
5716@code{inline-c}.")
5717 (license license:expat)))
5718
5719(define-public ghc-integer-logarithms
5720 (package
5721 (name "ghc-integer-logarithms")
86a704db 5722 (version "1.0.3")
dddbc90c
RV
5723 (source
5724 (origin
5725 (method url-fetch)
5726 (uri (string-append "https://hackage.haskell.org/package/"
5727 "integer-logarithms/integer-logarithms-"
5728 version ".tar.gz"))
5729 (sha256
5730 (base32
86a704db 5731 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5732 (build-system haskell-build-system)
5733 (arguments
5734 `(#:phases
5735 (modify-phases %standard-phases
5736 (add-before 'configure 'update-constraints
5737 (lambda _
5738 (substitute* "integer-logarithms.cabal"
5739 (("tasty >= 0\\.10 && < 1\\.1")
5740 "tasty >= 0.10 && < 1.2")))))))
5741 (native-inputs
5742 `(("ghc-quickcheck" ,ghc-quickcheck)
5743 ("ghc-smallcheck" ,ghc-smallcheck)
5744 ("ghc-tasty" ,ghc-tasty)
5745 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5746 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5747 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5748 (home-page "https://github.com/Bodigrim/integer-logarithms")
5749 (synopsis "Integer logarithms")
5750 (description
5751 "This package provides the following modules:
5752@code{Math.NumberTheory.Logarithms} and
5753@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5754@code{GHC.Integer.Logarithms.Compat} and
5755@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5756in migrated modules.")
5757 (license license:expat)))
5758
5759(define-public ghc-integer-logarithms-bootstrap
5760 (package
5761 (inherit ghc-integer-logarithms)
5762 (name "ghc-integer-logarithms-bootstrap")
5763 (arguments `(#:tests? #f))
5764 (native-inputs '())
799d8d3c 5765 (properties '((hidden? #t)))))
dddbc90c
RV
5766
5767(define-public ghc-interpolate
5768 (package
5769 (name "ghc-interpolate")
5770 (version "0.2.0")
5771 (source
5772 (origin
5773 (method url-fetch)
5774 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5775 "interpolate-" version ".tar.gz"))
5776 (sha256
5777 (base32
5778 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5779 (build-system haskell-build-system)
5780 (inputs
5781 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5782 (native-inputs
5783 `(("ghc-base-compat" ,ghc-base-compat)
5784 ("ghc-hspec" ,ghc-hspec)
5785 ("ghc-quickcheck" ,ghc-quickcheck)
5786 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5787 ("hspec-discover" ,hspec-discover)))
5788 (home-page "https://github.com/sol/interpolate")
5789 (synopsis "String interpolation library")
5790 (description "This package provides a string interpolation library for
5791Haskell.")
5792 (license license:expat)))
5793
5794(define-public ghc-intervalmap
5795 (package
5796 (name "ghc-intervalmap")
e4946e32 5797 (version "0.6.1.1")
dddbc90c
RV
5798 (source
5799 (origin
5800 (method url-fetch)
5801 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5802 "IntervalMap-" version ".tar.gz"))
5803 (sha256
5804 (base32
e4946e32 5805 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5806 (build-system haskell-build-system)
5807 (native-inputs
5808 `(("ghc-quickcheck" ,ghc-quickcheck)))
5809 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5810 (synopsis "Containers for intervals, with efficient search")
5811 (description
5812 "This package provides ordered containers of intervals, with efficient
5813search for all keys containing a point or overlapping an interval. See the
5814example code on the home page for a quick introduction.")
5815 (license license:bsd-3)))
5816
f7ca1fa8
TS
5817(define-public ghc-intervals
5818 (package
5819 (name "ghc-intervals")
5820 (version "0.8.1")
5821 (source
5822 (origin
5823 (method url-fetch)
5824 (uri (string-append "https://hackage.haskell.org/package/"
5825 "intervals/intervals-" version ".tar.gz"))
5826 (sha256
5827 (base32
5828 "00vyxf3ba9d7aas3npfapr53w71fslgh69fczjb25axr66fvzqww"))))
5829 (build-system haskell-build-system)
5830 (inputs
5831 `(("ghc-distributive" ,ghc-distributive)))
5832 (native-inputs
5833 `(("cabal-doctest" ,cabal-doctest)
5834 ("ghc-doctest" ,ghc-doctest)
5835 ("ghc-quickcheck" ,ghc-quickcheck)))
5836 (arguments
5837 `(#:cabal-revision
5838 ("4" "1qx3q0v13l1zaln9zdk8chxpxhshbz5x0vqm0qda7d1kpv7h6a7r")))
5839 (home-page "https://github.com/ekmett/intervals")
5840 (synopsis "Interval arithmetic")
5841 (description "This library provides
5842@code{Numeric.Interval.Interval}, which represets a closed, convex set
5843of floating point values.")
5844 (license license:bsd-3)))
5845
dddbc90c
RV
5846(define-public ghc-invariant
5847 (package
5848 (name "ghc-invariant")
d3a0e0b4 5849 (version "0.5.3")
dddbc90c
RV
5850 (source
5851 (origin
5852 (method url-fetch)
5853 (uri (string-append
5854 "https://hackage.haskell.org/package/invariant/invariant-"
5855 version ".tar.gz"))
5856 (sha256
5857 (base32
d3a0e0b4 5858 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
5859 (build-system haskell-build-system)
5860 (inputs
5861 `(("ghc-bifunctors" ,ghc-bifunctors)
5862 ("ghc-comonad" ,ghc-comonad)
5863 ("ghc-contravariant" ,ghc-contravariant)
5864 ("ghc-profunctors" ,ghc-profunctors)
5865 ("ghc-semigroups" ,ghc-semigroups)
5866 ("ghc-statevar" ,ghc-statevar)
5867 ("ghc-tagged" ,ghc-tagged)
5868 ("ghc-th-abstraction" ,ghc-th-abstraction)
5869 ("ghc-transformers-compat" ,ghc-transformers-compat)
5870 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5871 (native-inputs
5872 `(("ghc-hspec" ,ghc-hspec)
5873 ("ghc-quickcheck" ,ghc-quickcheck)
5874 ("hspec-discover" ,hspec-discover)))
5875 (home-page "https://github.com/nfrisby/invariant-functors")
5876 (synopsis "Haskell98 invariant functors")
5877 (description "Haskell98 invariant functors (also known as exponential
5878functors). For more information, see Edward Kmett's article
5879@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5880 (license license:bsd-2)))
5881
5882(define-public ghc-io-streams
5883 (package
5884 (name "ghc-io-streams")
59e98d75 5885 (version "1.5.1.0")
dddbc90c
RV
5886 (source
5887 (origin
5888 (method url-fetch)
5889 (uri (string-append "https://hackage.haskell.org/package/"
5890 "io-streams/io-streams-" version ".tar.gz"))
5891 (sha256
5892 (base32
59e98d75 5893 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
5894 (build-system haskell-build-system)
5895 (inputs
5896 `(("ghc-attoparsec" ,ghc-attoparsec)
5897 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5898 ("ghc-network" ,ghc-network)
5899 ("ghc-primitive" ,ghc-primitive)
5900 ("ghc-vector" ,ghc-vector)
5901 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5902 (native-inputs
5903 `(("ghc-hunit" ,ghc-hunit)
5904 ("ghc-quickcheck" ,ghc-quickcheck)
5905 ("ghc-test-framework" ,ghc-test-framework)
5906 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5907 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5908 ("ghc-zlib" ,ghc-zlib)))
dddbc90c
RV
5909 (home-page "http://hackage.haskell.org/package/io-streams")
5910 (synopsis "Simple and composable stream I/O")
5911 (description "This library contains simple and easy-to-use
5912primitives for I/O using streams.")
5913 (license license:bsd-3)))
5914
5915(define-public ghc-io-streams-haproxy
5916 (package
5917 (name "ghc-io-streams-haproxy")
1a4fbc36 5918 (version "1.0.1.0")
dddbc90c
RV
5919 (source
5920 (origin
5921 (method url-fetch)
5922 (uri (string-append "https://hackage.haskell.org/package/"
5923 "io-streams-haproxy/io-streams-haproxy-"
5924 version ".tar.gz"))
5925 (sha256
5926 (base32
1a4fbc36 5927 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
5928 (build-system haskell-build-system)
5929 (inputs
5930 `(("ghc-attoparsec" ,ghc-attoparsec)
5931 ("ghc-io-streams" ,ghc-io-streams)
5932 ("ghc-network" ,ghc-network)))
5933 (native-inputs
5934 `(("ghc-hunit" ,ghc-hunit)
5935 ("ghc-test-framework" ,ghc-test-framework)
5936 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
5937 (home-page "http://snapframework.com/")
5938 (synopsis "HAProxy protocol 1.5 support for io-streams")
5939 (description "HAProxy protocol version 1.5 support
5940(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5941for applications using io-streams. The proxy protocol allows information
5942about a networked peer (like remote address and port) to be propagated
5943through a forwarding proxy that is configured to speak this protocol.")
5944 (license license:bsd-3)))
5945
5946(define-public ghc-iproute
5947 (package
5948 (name "ghc-iproute")
ec25d536 5949 (version "1.7.7")
dddbc90c
RV
5950 (source
5951 (origin
5952 (method url-fetch)
5953 (uri (string-append
5954 "https://hackage.haskell.org/package/iproute/iproute-"
5955 version
5956 ".tar.gz"))
5957 (sha256
5958 (base32
ec25d536 5959 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
5960 (build-system haskell-build-system)
5961 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5962 ; exported by ghc-byteorder. Doctest issue.
5963 (inputs
5964 `(("ghc-appar" ,ghc-appar)
5965 ("ghc-byteorder" ,ghc-byteorder)
5966 ("ghc-network" ,ghc-network)
5967 ("ghc-safe" ,ghc-safe)))
5968 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5969 (synopsis "IP routing table")
5970 (description "IP Routing Table is a tree of IP ranges to search one of
5971them on the longest match base. It is a kind of TRIE with one way branching
5972removed. Both IPv4 and IPv6 are supported.")
5973 (license license:bsd-3)))
5974
4828e54e
TS
5975(define-public ghc-ipynb
5976 (package
5977 (name "ghc-ipynb")
5978 (version "0.1")
5979 (source
5980 (origin
5981 (method url-fetch)
5982 (uri (string-append "https://hackage.haskell.org/package/"
5983 "ipynb/ipynb-" version ".tar.gz"))
5984 (sha256
5985 (base32
5986 "0daadhzil4q573mqb0rpvjzm0vpkzgzqcimw480qpvlh6rhppwj5"))))
5987 (build-system haskell-build-system)
5988 (inputs
5989 `(("ghc-unordered-containers" ,ghc-unordered-containers)
5990 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
5991 ("ghc-aeson" ,ghc-aeson)
5992 ("ghc-semigroups" ,ghc-semigroups)))
5993 (native-inputs
5994 `(("ghc-tasty" ,ghc-tasty)
5995 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5996 ("ghc-aeson-diff" ,ghc-aeson-diff)
5997 ("ghc-microlens-aeson" ,ghc-microlens-aeson)
5998 ("ghc-microlens" ,ghc-microlens)
5999 ("ghc-vector" ,ghc-vector)))
6000 (home-page "https://hackage.haskell.org/package/ipynb")
6001 (synopsis "Data structure for working with Jupyter notebooks")
6002 (description "This library defines a data structure for representing
6003Jupyter notebooks, along with @code{ToJSON} and @code{FromJSON}
6004instances for conversion to and from JSON .ipynb files.")
6005 (license license:bsd-3)))
6006
dddbc90c
RV
6007(define-public ghc-iwlib
6008 (package
6009 (name "ghc-iwlib")
6010 (version "0.1.0")
6011 (source
6012 (origin
6013 (method url-fetch)
6014 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
6015 version ".tar.gz"))
6016 (sha256
6017 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
6018 (build-system haskell-build-system)
6019 (inputs
6020 `(("wireless-tools" ,wireless-tools)))
6021 (home-page "https://github.com/jaor/iwlib")
6022 (synopsis "Haskell binding to the iw wireless networking library")
6023 (description
6024 "IWlib is a thin Haskell binding to the iw C library. It provides
6025information about the current wireless network connections, and adapters on
6026supported systems.")
6027 (license license:bsd-3)))
6028
6029(define-public ghc-json
6030 (package
6031 (name "ghc-json")
0ad3d574 6032 (version "0.9.3")
dddbc90c
RV
6033 (source
6034 (origin
6035 (method url-fetch)
6036 (uri (string-append "https://hackage.haskell.org/package/json/"
6037 "json-" version ".tar.gz"))
6038 (sha256
6039 (base32
0ad3d574 6040 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
6041 (build-system haskell-build-system)
6042 (inputs
6043 `(("ghc-syb" ,ghc-syb)))
6044 (home-page "https://hackage.haskell.org/package/json")
6045 (synopsis "Serializes Haskell data to and from JSON")
6046 (description "This package provides a parser and pretty printer for
6047converting between Haskell values and JSON.
6048JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
6049 (license license:bsd-3)))
6050
6051(define-public ghc-juicypixels
6052 (package
6053 (name "ghc-juicypixels")
b50b6004 6054 (version "3.3.4")
dddbc90c
RV
6055 (source (origin
6056 (method url-fetch)
6057 (uri (string-append "https://hackage.haskell.org/package/"
6058 "JuicyPixels/JuicyPixels-"
6059 version ".tar.gz"))
6060 (sha256
6061 (base32
b50b6004 6062 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
6063 (build-system haskell-build-system)
6064 (inputs
6065 `(("ghc-zlib" ,ghc-zlib)
6066 ("ghc-vector" ,ghc-vector)
6067 ("ghc-primitive" ,ghc-primitive)
6068 ("ghc-mmap" ,ghc-mmap)))
6069 (home-page "https://github.com/Twinside/Juicy.Pixels")
6070 (synopsis "Picture loading and serialization library")
6071 (description
6072 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
6073TIFF and GIF formats.")
6074 (license license:bsd-3)))
6075
6076(define-public ghc-kan-extensions
6077 (package
6078 (name "ghc-kan-extensions")
6079 (version "5.2")
6080 (source
6081 (origin
6082 (method url-fetch)
6083 (uri (string-append
6084 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
6085 version
6086 ".tar.gz"))
6087 (sha256
6088 (base32
6089 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
6090 (build-system haskell-build-system)
6091 (inputs
6092 `(("ghc-adjunctions" ,ghc-adjunctions)
6093 ("ghc-comonad" ,ghc-comonad)
6094 ("ghc-contravariant" ,ghc-contravariant)
6095 ("ghc-distributive" ,ghc-distributive)
6096 ("ghc-free" ,ghc-free)
6097 ("ghc-invariant" ,ghc-invariant)
6098 ("ghc-semigroupoids" ,ghc-semigroupoids)
6099 ("ghc-tagged" ,ghc-tagged)
6100 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6101 (home-page "https://github.com/ekmett/kan-extensions/")
6102 (synopsis "Kan extensions library")
6103 (description "This library provides Kan extensions, Kan lifts, various
6104forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
6105 (license license:bsd-3)))
6106
6107(define-public ghc-language-c
6108 (package
6109 (name "ghc-language-c")
4e1cf651 6110 (version "0.8.3")
dddbc90c
RV
6111 (source
6112 (origin
6113 (method url-fetch)
6114 (uri (string-append "https://hackage.haskell.org/package/"
6115 "language-c/language-c-" version ".tar.gz"))
6116 (sha256
6117 (base32
4e1cf651 6118 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
6119 (build-system haskell-build-system)
6120 (inputs `(("ghc-syb" ,ghc-syb)))
6121 (native-inputs
6122 `(("ghc-happy" ,ghc-happy)
6123 ("ghc-alex" ,ghc-alex)))
6124 (home-page "https://visq.github.io/language-c/")
6125 (synopsis "Analysis and generation of C code")
6126 (description
6127 "Language C is a Haskell library for the analysis and generation of C code.
6128It features a complete, well-tested parser and pretty printer for all of C99
6129and a large set of GNU extensions.")
6130 (license license:bsd-3)))
6131
6132(define-public ghc-language-glsl
6133 (package
6134 (name "ghc-language-glsl")
6135 (version "0.3.0")
6136 (source
6137 (origin
6138 (method url-fetch)
6139 (uri (string-append "https://hackage.haskell.org/package/"
6140 "language-glsl/language-glsl-" version ".tar.gz"))
6141 (sha256
6142 (base32
6143 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
6144 (build-system haskell-build-system)
6145 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
6146 (arguments
6147 `(#:tests? #f
6148 #:cabal-revision
6149 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
6150 (home-page "http://hackage.haskell.org/package/language-glsl")
6151 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
6152 (description "This package is a Haskell library for the
6153representation, parsing, and pretty-printing of GLSL 1.50 code.")
6154 (license license:bsd-3)))
6155
6156(define-public ghc-language-haskell-extract
6157 (package
6158 (name "ghc-language-haskell-extract")
6159 (version "0.2.4")
6160 (source
6161 (origin
6162 (method url-fetch)
6163 (uri (string-append "https://hackage.haskell.org/package/"
6164 "language-haskell-extract-" version "/"
6165 "language-haskell-extract-" version ".tar.gz"))
6166 (sha256
6167 (base32
6168 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
6169 (build-system haskell-build-system)
6170 (inputs
6171 `(("ghc-regex-posix" ,ghc-regex-posix)))
6172 (home-page "https://github.com/finnsson/template-helper")
6173 (synopsis "Haskell module to automatically extract functions from
6174the local code")
6175 (description "This package contains helper functions on top of
6176Template Haskell.
6177
6178For example, @code{functionExtractor} extracts all functions after a
6179regexp-pattern, which can be useful if you wish to extract all functions
6180beginning with @code{test} (for a test framework) or all functions beginning
6181with @code{wc} (for a web service).")
6182 (license license:bsd-3)))
6183
6184(define-public ghc-lens
6185 (package
6186 (name "ghc-lens")
262e6323 6187 (version "4.17.1")
dddbc90c
RV
6188 (source
6189 (origin
6190 (method url-fetch)
6191 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
6192 version ".tar.gz"))
6193 (sha256
6194 (base32
262e6323 6195 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 6196 (build-system haskell-build-system)
dddbc90c
RV
6197 (inputs
6198 `(("ghc-base-orphans" ,ghc-base-orphans)
6199 ("ghc-bifunctors" ,ghc-bifunctors)
6200 ("ghc-distributive" ,ghc-distributive)
6201 ("ghc-exceptions" ,ghc-exceptions)
6202 ("ghc-free" ,ghc-free)
6203 ("ghc-kan-extensions" ,ghc-kan-extensions)
6204 ("ghc-parallel" ,ghc-parallel)
6205 ("ghc-reflection" ,ghc-reflection)
6206 ("ghc-semigroupoids" ,ghc-semigroupoids)
6207 ("ghc-vector" ,ghc-vector)
6208 ("ghc-call-stack" ,ghc-call-stack)
6209 ("ghc-comonad" ,ghc-comonad)
6210 ("ghc-contravariant" ,ghc-contravariant)
6211 ("ghc-hashable" ,ghc-hashable)
6212 ("ghc-profunctors" ,ghc-profunctors)
6213 ("ghc-semigroups" ,ghc-semigroups)
6214 ("ghc-tagged" ,ghc-tagged)
6215 ("ghc-transformers-compat" ,ghc-transformers-compat)
6216 ("ghc-unordered-containers" ,ghc-unordered-containers)
6217 ("ghc-void" ,ghc-void)
6218 ("ghc-generic-deriving" ,ghc-generic-deriving)
6219 ("ghc-nats" ,ghc-nats)
6220 ("ghc-simple-reflect" ,ghc-simple-reflect)
6221 ("hlint" ,hlint)))
6222 (native-inputs
6223 `(("cabal-doctest" ,cabal-doctest)
6224 ("ghc-doctest" ,ghc-doctest)
6225 ("ghc-hunit" ,ghc-hunit)
6226 ("ghc-test-framework" ,ghc-test-framework)
6227 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6228 ("ghc-test-framework-th" ,ghc-test-framework-th)
6229 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6230 ("ghc-quickcheck" ,ghc-quickcheck)))
6231 (home-page "https://github.com/ekmett/lens/")
6232 (synopsis "Lenses, Folds and Traversals")
6233 (description "This library provides @code{Control.Lens}. The combinators
6234in @code{Control.Lens} provide a highly generic toolbox for composing families
6235of getters, folds, isomorphisms, traversals, setters and lenses and their
6236indexed variants.")
6237 (license license:bsd-3)))
6238
6239(define-public ghc-libffi
6240 (package
6241 (name "ghc-libffi")
6242 (version "0.1")
6243 (source
6244 (origin
6245 (method url-fetch)
6246 (uri (string-append "https://hackage.haskell.org/package/"
6247 "libffi/libffi-" version ".tar.gz"))
6248 (sha256
6249 (base32
6250 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
6251 (build-system haskell-build-system)
6252 (native-inputs `(("pkg-config" ,pkg-config)))
6253 (inputs `(("libffi" ,libffi)))
6254 (home-page "http://hackage.haskell.org/package/libffi")
6255 (synopsis "Haskell binding to libffi")
6256 (description
6257 "A binding to libffi, allowing C functions of types only known at runtime
6258to be called from Haskell.")
6259 (license license:bsd-3)))
6260
6261(define-public ghc-libmpd
6262 (package
6263 (name "ghc-libmpd")
bbf9845f 6264 (version "0.9.0.10")
dddbc90c
RV
6265 (source
6266 (origin
6267 (method url-fetch)
6268 (uri (string-append
6269 "mirror://hackage/package/libmpd/libmpd-"
6270 version
6271 ".tar.gz"))
6272 (sha256
6273 (base32
bbf9845f 6274 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
6275 (build-system haskell-build-system)
6276 ;; Tests fail on i686.
6277 ;; See https://github.com/vimus/libmpd-haskell/issues/112
6278 (arguments `(#:tests? #f))
6279 (inputs
6280 `(("ghc-attoparsec" ,ghc-attoparsec)
6281 ("ghc-old-locale" ,ghc-old-locale)
6282 ("ghc-data-default-class" ,ghc-data-default-class)
6283 ("ghc-network" ,ghc-network)
bbf9845f 6284 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
6285 ("ghc-utf8-string" ,ghc-utf8-string)))
6286 (native-inputs
6287 `(("ghc-quickcheck" ,ghc-quickcheck)
6288 ("ghc-hspec" ,ghc-hspec)
6289 ("hspec-discover" ,hspec-discover)))
6290 (home-page "https://github.com/vimus/libmpd-haskell")
6291 (synopsis "Haskell client library for the Music Player Daemon")
6292 (description "This package provides a pure Haskell client library for the
6293Music Player Daemon.")
6294 (license license:expat)))
6295
e34df1c3
TS
6296(define-public ghc-lib-parser
6297 (package
6298 (name "ghc-lib-parser")
6299 (version "8.8.0.20190424")
6300 (source
6301 (origin
6302 (method url-fetch)
6303 (uri (string-append "https://hackage.haskell.org/package/"
6304 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
6305 (sha256
6306 (base32
6307 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
6308 (build-system haskell-build-system)
6309 (native-inputs
6310 `(("ghc-alex" ,ghc-alex)
6311 ("ghc-happy" ,ghc-happy)))
6312 (home-page "https://github.com/digital-asset/ghc-lib")
6313 (synopsis "The GHC API, decoupled from GHC versions")
6314 (description "This library implements the GHC API. It is like the
6315compiler-provided @code{ghc} package, but it can be loaded on many
6316compiler versions.")
6317 (license license:bsd-3)))
6318
dddbc90c
RV
6319(define-public ghc-libxml
6320 (package
6321 (name "ghc-libxml")
6322 (version "0.1.1")
6323 (source
6324 (origin
6325 (method url-fetch)
6326 (uri (string-append "https://hackage.haskell.org/package/libxml/"
6327 "libxml-" version ".tar.gz"))
6328 (sha256
6329 (base32
6330 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
6331 (build-system haskell-build-system)
6332 (inputs
6333 `(("libxml2" ,libxml2)))
6334 (arguments
6335 `(#:configure-flags
6336 `(,(string-append "--extra-include-dirs="
6337 (assoc-ref %build-inputs "libxml2")
6338 "/include/libxml2"))))
6339 (home-page "https://hackage.haskell.org/package/libxml")
6340 (synopsis "Haskell bindings to libxml2")
6341 (description
6342 "This library provides minimal Haskell binding to libxml2.")
6343 (license license:bsd-3)))
6344
0c2d6fc2
TS
6345(define-public ghc-libyaml
6346 (package
6347 (name "ghc-libyaml")
6348 (version "0.1.1.0")
6349 (source
6350 (origin
6351 (method url-fetch)
6352 (uri (string-append "https://hackage.haskell.org/package/"
6353 "libyaml/libyaml-" version ".tar.gz"))
6354 (sha256
6355 (base32
6356 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
6357 (modules '((guix build utils)))
6358 (snippet
6359 ;; Delete bundled LibYAML.
6360 '(begin
6361 (delete-file-recursively "libyaml_src")
6362 #t))))
6363 (build-system haskell-build-system)
6364 (arguments
6365 `(#:configure-flags `("--flags=system-libyaml")))
6366 (inputs
6367 `(("ghc-conduit" ,ghc-conduit)
6368 ("ghc-resourcet" ,ghc-resourcet)
6369 ("libyaml" ,libyaml-2.1)))
6370 (home-page "https://github.com/snoyberg/yaml#readme")
6371 (synopsis "Low-level, streaming YAML interface.")
6372 (description "This package provides a Haskell wrapper over the
6373LibYAML C library.")
6374 (license license:bsd-3)))
6375
dddbc90c
RV
6376(define-public ghc-lifted-async
6377 (package
6378 (name "ghc-lifted-async")
b5b6d7ea 6379 (version "0.10.0.4")
dddbc90c
RV
6380 (source
6381 (origin
6382 (method url-fetch)
6383 (uri (string-append
6384 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
6385 version ".tar.gz"))
6386 (sha256
6387 (base32
b5b6d7ea 6388 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
6389 (build-system haskell-build-system)
6390 (inputs
6391 `(("ghc-async" ,ghc-async)
6392 ("ghc-lifted-base" ,ghc-lifted-base)
6393 ("ghc-transformers-base" ,ghc-transformers-base)
6394 ("ghc-monad-control" ,ghc-monad-control)
6395 ("ghc-constraints" ,ghc-constraints)
6396 ("ghc-hunit" ,ghc-hunit)
6397 ("ghc-tasty" ,ghc-tasty)
6398 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
6399 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6400 ("ghc-tasty-th" ,ghc-tasty-th)))
6401 (home-page "https://github.com/maoe/lifted-async")
6402 (synopsis "Run lifted IO operations asynchronously and wait for their results")
6403 (description
6404 "This package provides IO operations from @code{async} package lifted to any
6405instance of @code{MonadBase} or @code{MonadBaseControl}.")
6406 (license license:bsd-3)))
6407
6408(define-public ghc-lifted-base
6409 (package
6410 (name "ghc-lifted-base")
6411 (version "0.2.3.12")
6412 (source
6413 (origin
6414 (method url-fetch)
6415 (uri (string-append
6416 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
6417 version
6418 ".tar.gz"))
6419 (sha256
6420 (base32
6421 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
6422 (build-system haskell-build-system)
6423 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
6424 (inputs
6425 `(("ghc-transformers-base" ,ghc-transformers-base)
6426 ("ghc-monad-control" ,ghc-monad-control)
6427 ("ghc-transformers-compat" ,ghc-transformers-compat)
6428 ("ghc-hunit" ,ghc-hunit)))
6429 (home-page "https://github.com/basvandijk/lifted-base")
6430 (synopsis "Lifted IO operations from the base library")
6431 (description "Lifted-base exports IO operations from the @code{base}
6432library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
6433Note that not all modules from @code{base} are converted yet. The package
6434includes a copy of the @code{monad-peel} test suite written by Anders
6435Kaseorg.")
6436 (license license:bsd-3)))
6437
6438(define-public ghc-linear
6439 (package
6440 (name "ghc-linear")
86526f37 6441 (version "1.20.9")
dddbc90c
RV
6442 (source
6443 (origin
6444 (method url-fetch)
6445 (uri (string-append "https://hackage.haskell.org/package/linear/"
6446 "linear-" version ".tar.gz"))
6447 (sha256
6448 (base32
86526f37 6449 "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5"))))
dddbc90c
RV
6450 (build-system haskell-build-system)
6451 (inputs
6452 `(("ghc-adjunctions" ,ghc-adjunctions)
6453 ("ghc-base-orphans" ,ghc-base-orphans)
6454 ("ghc-bytes" ,ghc-bytes)
6455 ("ghc-cereal" ,ghc-cereal)
6456 ("ghc-distributive" ,ghc-distributive)
6457 ("ghc-hashable" ,ghc-hashable)
6458 ("ghc-lens" ,ghc-lens)
6459 ("ghc-reflection" ,ghc-reflection)
6460 ("ghc-semigroups" ,ghc-semigroups)
6461 ("ghc-semigroupoids" ,ghc-semigroupoids)
6462 ("ghc-tagged" ,ghc-tagged)
6463 ("ghc-transformers-compat" ,ghc-transformers-compat)
6464 ("ghc-unordered-containers" ,ghc-unordered-containers)
6465 ("ghc-vector" ,ghc-vector)
6466 ("ghc-void" ,ghc-void)))
6467 (native-inputs
6468 `(("cabal-doctest" ,cabal-doctest)
6469 ("ghc-doctest" ,ghc-doctest)
6470 ("ghc-simple-reflect" ,ghc-simple-reflect)
6471 ("ghc-test-framework" ,ghc-test-framework)
6472 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6473 ("ghc-hunit" ,ghc-hunit)))
6474 (home-page "http://github.com/ekmett/linear/")
6475 (synopsis "Linear algebra library for Haskell")
6476 (description
6477 "This package provides types and combinators for linear algebra on free
6478vector spaces.")
6479 (license license:bsd-3)))
1307e4c7
JS
6480
6481(define-public ghc-listlike
6482 (package
6483 (name "ghc-listlike")
6484 (version "4.6.2")
6485 (source
6486 (origin
6487 (method url-fetch)
6488 (uri
6489 (string-append
6490 "https://hackage.haskell.org/package/ListLike/ListLike-"
6491 version ".tar.gz"))
6492 (sha256
6493 (base32
6494 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6495 (build-system haskell-build-system)
6496 (inputs
6497 `(("ghc-vector" ,ghc-vector)
6498 ("ghc-dlist" ,ghc-dlist)
6499 ("ghc-fmlist" ,ghc-fmlist)
6500 ("ghc-hunit" ,ghc-hunit)
6501 ("ghc-quickcheck" ,ghc-quickcheck)
6502 ("ghc-random" ,ghc-random)
6503 ("ghc-utf8-string" ,ghc-utf8-string)))
6504 (home-page "https://github.com/JohnLato/listlike")
6505 (synopsis "Generic support for list-like structures")
6506 (description "The ListLike module provides a common interface to the
6507various Haskell types that are list-like. Predefined interfaces include
6508standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6509Custom types can easily be made ListLike instances as well.
6510
6511ListLike also provides for String-like types, such as String and
6512ByteString, for types that support input and output, and for types that
6513can handle infinite lists.")
6514 (license license:bsd-3)))
dddbc90c
RV
6515
6516(define-public ghc-logging-facade
6517 (package
6518 (name "ghc-logging-facade")
6519 (version "0.3.0")
6520 (source (origin
6521 (method url-fetch)
6522 (uri (string-append "https://hackage.haskell.org/package/"
6523 "logging-facade/logging-facade-"
6524 version ".tar.gz"))
6525 (sha256
6526 (base32
6527 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6528 (build-system haskell-build-system)
6529 (native-inputs
6530 `(("ghc-hspec" ,ghc-hspec)
6531 ("hspec-discover" ,hspec-discover)))
6532 (home-page "https://hackage.haskell.org/package/logging-facade")
6533 (synopsis "Simple logging abstraction that allows multiple back-ends")
6534 (description
6535 "This package provides a simple logging abstraction that allows multiple
6536back-ends.")
6537 (license license:expat)))
6538
6539(define-public ghc-logict
6540 (package
6541 (name "ghc-logict")
79d9326f 6542 (version "0.7.0.2")
dddbc90c
RV
6543 (source
6544 (origin
6545 (method url-fetch)
6546 (uri (string-append
6547 "https://hackage.haskell.org/package/logict/logict-"
6548 version
6549 ".tar.gz"))
6550 (sha256
6551 (base32
79d9326f 6552 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 6553 (build-system haskell-build-system)
79d9326f
TS
6554 (native-inputs
6555 `(("ghc-tasty" ,ghc-tasty)
6556 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
6557 (home-page "http://code.haskell.org/~dolio/")
6558 (synopsis "Backtracking logic-programming monad")
6559 (description "This library provides a continuation-based, backtracking,
6560logic programming monad. An adaptation of the two-continuation implementation
6561found in the paper \"Backtracking, Interleaving, and Terminating Monad
6562Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6563online}.")
6564 (license license:bsd-3)))
6565
6566(define-public ghc-lzma
6567 (package
6568 (name "ghc-lzma")
6569 (version "0.0.0.3")
6570 (source
6571 (origin
6572 (method url-fetch)
6573 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6574 "lzma-" version ".tar.gz"))
6575 (sha256
6576 (base32
6577 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6578 (build-system haskell-build-system)
6579 (arguments
6580 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6581 #:cabal-revision
6582 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6583 (native-inputs
6584 `(("ghc-hunit" ,ghc-hunit)
6585 ("ghc-quickcheck" ,ghc-quickcheck)
6586 ("ghc-tasty" ,ghc-tasty)
6587 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6588 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6589 (home-page "https://github.com/hvr/lzma")
6590 (synopsis "LZMA/XZ compression and decompression")
6591 (description
6592 "This package provides a pure interface for compressing and
6593decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6594monadic incremental interface is provided as well.")
6595 (license license:bsd-3)))
6596
6597(define-public ghc-lzma-conduit
6598 (package
6599 (name "ghc-lzma-conduit")
6600 (version "1.2.1")
6601 (source
6602 (origin
6603 (method url-fetch)
6604 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6605 "lzma-conduit-" version ".tar.gz"))
6606 (sha256
6607 (base32
6608 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6609 (build-system haskell-build-system)
6610 (inputs
6611 `(("ghc-conduit" ,ghc-conduit)
6612 ("ghc-lzma" ,ghc-lzma)
6613 ("ghc-resourcet" ,ghc-resourcet)))
6614 (native-inputs
6615 `(("ghc-base-compat" ,ghc-base-compat)
6616 ("ghc-test-framework" ,ghc-test-framework)
6617 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6618 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6619 ("ghc-hunit" ,ghc-hunit)
6620 ("ghc-quickcheck" ,ghc-quickcheck)))
6621 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6622 (synopsis "Conduit interface for lzma/xz compression")
6623 (description
6624 "This package provides a @code{Conduit} interface for the LZMA
6625compression algorithm used in the @code{.xz} file format.")
6626 (license license:bsd-3)))
6627
e405912c
KM
6628(define-public ghc-magic
6629 (package
6630 (name "ghc-magic")
6631 (version "1.1")
6632 (source
6633 (origin
6634 (method url-fetch)
6635 (uri (string-append
6636 "https://hackage.haskell.org/package/magic/magic-"
6637 version ".tar.gz"))
6638 (sha256
6639 (base32
6640 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6641 (build-system haskell-build-system)
6642 (home-page "http://hackage.haskell.org/package/magic")
6643 (synopsis "Interface to C file/magic library")
6644 (description
6645 "This package provides a full-featured binding to the C libmagic library.
6646With it, you can determine the type of a file by examining its contents rather
6647than its name.")
6648 (license license:bsd-3)))
6649
dddbc90c
RV
6650(define-public ghc-markdown-unlit
6651 (package
6652 (name "ghc-markdown-unlit")
6653 (version "0.5.0")
6654 (source (origin
6655 (method url-fetch)
6656 (uri (string-append
6657 "mirror://hackage/package/markdown-unlit/"
6658 "markdown-unlit-" version ".tar.gz"))
6659 (sha256
6660 (base32
6661 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6662 (build-system haskell-build-system)
6663 (inputs
6664 `(("ghc-base-compat" ,ghc-base-compat)
6665 ("ghc-hspec" ,ghc-hspec)
6666 ("ghc-quickcheck" ,ghc-quickcheck)
6667 ("ghc-silently" ,ghc-silently)
6668 ("ghc-stringbuilder" ,ghc-stringbuilder)
6669 ("ghc-temporary" ,ghc-temporary)
6670 ("hspec-discover" ,hspec-discover)))
6671 (home-page "https://github.com/sol/markdown-unlit#readme")
6672 (synopsis "Literate Haskell support for Markdown")
6673 (description "This package allows you to have a README.md that at the
6674same time is a literate Haskell program.")
6675 (license license:expat)))
6676
6677(define-public ghc-math-functions
6678 (package
6679 (name "ghc-math-functions")
b45de2bf 6680 (version "0.3.3.0")
dddbc90c
RV
6681 (source
6682 (origin
6683 (method url-fetch)
6684 (uri (string-append "https://hackage.haskell.org/package/"
6685 "math-functions-" version "/"
6686 "math-functions-" version ".tar.gz"))
6687 (sha256
6688 (base32
b45de2bf 6689 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6690 (build-system haskell-build-system)
6691 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6692 (inputs
b45de2bf
TS
6693 `(("ghc-data-default-class" ,ghc-data-default-class)
6694 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6695 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6696 (native-inputs
6697 `(("ghc-hunit" ,ghc-hunit)
6698 ("ghc-quickcheck" ,ghc-quickcheck)
6699 ("ghc-erf" ,ghc-erf)
6700 ("ghc-test-framework" ,ghc-test-framework)
6701 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6702 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6703 (home-page "https://github.com/bos/math-functions")
6704 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6705 (description "This Haskell library provides implementations of
6706special mathematical functions and Chebyshev polynomials. These
6707functions are often useful in statistical and numerical computing.")
6708 (license license:bsd-3)))
6709
6710(define-public ghc-megaparsec
6711 (package
6712 (name "ghc-megaparsec")
03b0c92e 6713 (version "7.0.5")
dddbc90c
RV
6714 (source
6715 (origin
6716 (method url-fetch)
6717 (uri (string-append "https://hackage.haskell.org/package/"
6718 "megaparsec/megaparsec-"
6719 version ".tar.gz"))
6720 (sha256
6721 (base32
03b0c92e 6722 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 6723 (build-system haskell-build-system)
dddbc90c
RV
6724 (inputs
6725 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6726 ("ghc-parser-combinators" ,ghc-parser-combinators)
6727 ("ghc-scientific" ,ghc-scientific)))
6728 (native-inputs
6729 `(("ghc-quickcheck" ,ghc-quickcheck)
6730 ("ghc-hspec" ,ghc-hspec)
6731 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6732 ("hspec-discover" ,hspec-discover)))
6733 (home-page "https://github.com/mrkkrp/megaparsec")
6734 (synopsis "Monadic parser combinators")
6735 (description
6736 "This is an industrial-strength monadic parser combinator library.
6737Megaparsec is a feature-rich package that strikes a nice balance between
6738speed, flexibility, and quality of parse errors.")
6739 (license license:bsd-2)))
6740
6741(define-public ghc-memory
6742 (package
6743 (name "ghc-memory")
d2c7d336 6744 (version "0.14.18")
dddbc90c
RV
6745 (source (origin
6746 (method url-fetch)
6747 (uri (string-append "https://hackage.haskell.org/package/"
6748 "memory/memory-" version ".tar.gz"))
6749 (sha256
6750 (base32
d2c7d336 6751 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6752 (build-system haskell-build-system)
6753 (inputs
6754 `(("ghc-basement" ,ghc-basement)
6755 ("ghc-foundation" ,ghc-foundation)))
6756 (native-inputs
6757 `(("ghc-tasty" ,ghc-tasty)
6758 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6759 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6760 (home-page "https://github.com/vincenthz/hs-memory")
6761 (synopsis "Memory abstractions for Haskell")
6762 (description
6763 "This package provides memory abstractions, such as chunk of memory,
6764polymorphic byte array management and manipulation functions. It contains a
6765polymorphic byte array abstraction and functions similar to strict ByteString,
6766different type of byte array abstraction, raw memory IO operations (memory
6767set, memory copy, ..) and more")
6768 (license license:bsd-3)))
6769
6770(define-public ghc-memotrie
6771 (package
6772 (name "ghc-memotrie")
6773 (version "0.6.9")
6774 (source
6775 (origin
6776 (method url-fetch)
6777 (uri (string-append
6778 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6779 version
6780 ".tar.gz"))
6781 (sha256
6782 (base32
6783 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6784 (build-system haskell-build-system)
6785 (inputs
6786 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6787 (home-page "https://github.com/conal/MemoTrie")
6788 (synopsis "Trie-based memo functions")
6789 (description "This package provides a functional library for creating
6790efficient memo functions using tries.")
6791 (license license:bsd-3)))
6792
6793(define-public ghc-microlens
6794 (package
6795 (name "ghc-microlens")
82478c58 6796 (version "0.4.10")
dddbc90c
RV
6797 (source
6798 (origin
6799 (method url-fetch)
6800 (uri (string-append "https://hackage.haskell.org/package/"
6801 "microlens-" version "/"
6802 "microlens-" version ".tar.gz"))
6803 (sha256
6804 (base32
82478c58 6805 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6806 (build-system haskell-build-system)
6807 (home-page
6808 "https://github.com/aelve/microlens")
6809 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6810 (description "This Haskell package provides a lens library, just like
6811@code{ghc-lens}, but smaller. It provides essential lenses and
6812traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6813nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6814combinators (like @code{failing} and @code{singular}), but everything else is
6815stripped. As the result, this package has no dependencies.")
6816 (license license:bsd-3)))
6817
1cd3333e
TS
6818(define-public ghc-microlens-aeson
6819 (package
6820 (name "ghc-microlens-aeson")
6821 (version "2.3.0.4")
6822 (source
6823 (origin
6824 (method url-fetch)
6825 (uri (string-append "https://hackage.haskell.org/package/"
6826 "microlens-aeson/microlens-aeson-"
6827 version ".tar.gz"))
b4a00fec 6828 (patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
1cd3333e
TS
6829 (sha256
6830 (base32
6831 "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))
6832 (build-system haskell-build-system)
6833 (inputs
6834 `(("ghc-aeson" ,ghc-aeson)
6835 ("ghc-attoparsec" ,ghc-attoparsec)
6836 ("ghc-hashable" ,ghc-hashable)
6837 ("ghc-microlens" ,ghc-microlens)
6838 ("ghc-scientific" ,ghc-scientific)
6839 ("ghc-unordered-containers" ,ghc-unordered-containers)
6840 ("ghc-vector" ,ghc-vector)))
6841 (native-inputs
6842 `(("ghc-tasty" ,ghc-tasty)
6843 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6844 (home-page "https://github.com/fosskers/microlens-aeson")
6845 (synopsis "Law-abiding lenses for Aeson, using microlens")
6846 (description "This library provides law-abiding lenses for Aeson, using
6847microlens.")
6848 (license license:expat)))
6849
dddbc90c
RV
6850(define-public ghc-microlens-ghc
6851 (package
6852 (name "ghc-microlens-ghc")
027beb55 6853 (version "0.4.10")
dddbc90c
RV
6854 (source
6855 (origin
6856 (method url-fetch)
6857 (uri (string-append
6858 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6859 version
6860 ".tar.gz"))
6861 (sha256
6862 (base32
027beb55 6863 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6864 (build-system haskell-build-system)
6865 (inputs `(("ghc-microlens" ,ghc-microlens)))
6866 (home-page "https://github.com/monadfix/microlens")
6867 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6868 (description "This library provides everything that @code{microlens}
6869provides plus instances to make @code{each}, @code{at}, and @code{ix}
6870usable with arrays, @code{ByteString}, and containers. This package is
6871a part of the @uref{http://hackage.haskell.org/package/microlens,
6872microlens} family; see the readme
6873@uref{https://github.com/aelve/microlens#readme, on Github}.")
6874 (license license:bsd-3)))
6875
6876(define-public ghc-microlens-mtl
6877 (package
6878 (name "ghc-microlens-mtl")
6879 (version "0.1.11.1")
6880 (source
6881 (origin
6882 (method url-fetch)
6883 (uri (string-append
6884 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6885 version
6886 ".tar.gz"))
6887 (sha256
6888 (base32
6889 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6890 (build-system haskell-build-system)
6891 (inputs
6892 `(("ghc-microlens" ,ghc-microlens)
6893 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6894 (home-page "https://github.com/monadfix/microlens")
6895 (synopsis
6896 "@code{microlens} support for Reader/Writer/State from mtl")
6897 (description
6898 "This package contains functions (like @code{view} or @code{+=}) which
6899work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6900mtl package. This package is a part of the
6901@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6902readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6903 (license license:bsd-3)))
6904
6905(define-public ghc-microlens-platform
6906 (package
6907 (name "ghc-microlens-platform")
85decc1f 6908 (version "0.3.11")
dddbc90c
RV
6909 (source
6910 (origin
6911 (method url-fetch)
6912 (uri (string-append
6913 "https://hackage.haskell.org/package/"
6914 "microlens-platform/microlens-platform-" version ".tar.gz"))
6915 (sha256
6916 (base32
85decc1f 6917 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6918 (build-system haskell-build-system)
6919 (inputs
6920 `(("ghc-hashable" ,ghc-hashable)
6921 ("ghc-microlens" ,ghc-microlens)
6922 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6923 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6924 ("ghc-microlens-th" ,ghc-microlens-th)
6925 ("ghc-unordered-containers" ,ghc-unordered-containers)
6926 ("ghc-vector" ,ghc-vector)))
6927 (home-page "https://github.com/monadfix/microlens")
6928 (synopsis "Feature-complete microlens")
6929 (description
6930 "This package exports a module which is the recommended starting point
6931for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6932you aren't trying to keep your dependencies minimal. By importing
6933@code{Lens.Micro.Platform} you get all functions and instances from
6934@uref{http://hackage.haskell.org/package/microlens, microlens},
6935@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6936@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6937@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6938well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6939minor and major versions of @code{microlens-platform} are incremented whenever
6940the minor and major versions of any other @code{microlens} package are
6941incremented, so you can depend on the exact version of
6942@code{microlens-platform} without specifying the version of @code{microlens}
6943you need. This package is a part of the
6944@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6945readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6946 (license license:bsd-3)))
6947
6948(define-public ghc-microlens-th
6949 (package
6950 (name "ghc-microlens-th")
7ae52867 6951 (version "0.4.2.3")
dddbc90c
RV
6952 (source
6953 (origin
6954 (method url-fetch)
6955 (uri (string-append "https://hackage.haskell.org/package/"
6956 "microlens-th-" version "/"
6957 "microlens-th-" version ".tar.gz"))
6958 (sha256
6959 (base32
7ae52867 6960 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6961 (build-system haskell-build-system)
7ae52867
TS
6962 (arguments
6963 `(#:cabal-revision
6964 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6965 (inputs `(("ghc-microlens" ,ghc-microlens)
6966 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6967 (home-page
6968 "https://github.com/aelve/microlens")
6969 (synopsis "Automatic generation of record lenses for
6970@code{ghc-microlens}")
6971 (description "This Haskell package lets you automatically generate lenses
6972for data types; code was extracted from the lens package, and therefore
6973generated lenses are fully compatible with ones generated by lens (and can be
6974used both from lens and microlens).")
6975 (license license:bsd-3)))
6976
6977(define-public ghc-missingh
6978 (package
6979 (name "ghc-missingh")
641207cb 6980 (version "1.4.1.0")
dddbc90c
RV
6981 (source
6982 (origin
6983 (method url-fetch)
6984 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6985 "MissingH-" version ".tar.gz"))
6986 (sha256
6987 (base32
641207cb 6988 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
6989 (build-system haskell-build-system)
6990 ;; Tests require the unmaintained testpack package, which depends on the
6991 ;; outdated QuickCheck version 2.7, which can no longer be built with
6992 ;; recent versions of GHC and Haskell libraries.
6993 (arguments '(#:tests? #f))
6994 (inputs
6995 `(("ghc-network" ,ghc-network)
6996 ("ghc-hunit" ,ghc-hunit)
6997 ("ghc-regex-compat" ,ghc-regex-compat)
6998 ("ghc-hslogger" ,ghc-hslogger)
6999 ("ghc-random" ,ghc-random)
7000 ("ghc-old-time" ,ghc-old-time)
7001 ("ghc-old-locale" ,ghc-old-locale)))
7002 (native-inputs
7003 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
7004 ("ghc-quickcheck" ,ghc-quickcheck)
7005 ("ghc-hunit" ,ghc-hunit)))
7006 (home-page "http://software.complete.org/missingh")
7007 (synopsis "Large utility library")
7008 (description
7009 "MissingH is a library of all sorts of utility functions for Haskell
7010programmers. It is written in pure Haskell and thus should be extremely
7011portable and easy to use.")
7012 (license license:bsd-3)))
7013
7014(define-public ghc-mmap
7015 (package
7016 (name "ghc-mmap")
7017 (version "0.5.9")
7018 (source (origin
7019 (method url-fetch)
7020 (uri (string-append "https://hackage.haskell.org/package/"
7021 "mmap/mmap-" version ".tar.gz"))
7022 (sha256
7023 (base32
7024 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
7025 (build-system haskell-build-system)
7026 (home-page "https://hackage.haskell.org/package/mmap")
7027 (synopsis "Memory mapped files for Haskell")
7028 (description
7029 "This library provides a wrapper to @code{mmap}, allowing files or
7030devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
7031@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
7032do on-demand loading.")
7033 (license license:bsd-3)))
7034
7035(define-public ghc-mmorph
7036 (package
7037 (name "ghc-mmorph")
e0389704 7038 (version "1.1.3")
dddbc90c
RV
7039 (source
7040 (origin
7041 (method url-fetch)
7042 (uri (string-append
7043 "https://hackage.haskell.org/package/mmorph/mmorph-"
7044 version
7045 ".tar.gz"))
7046 (sha256
7047 (base32
e0389704 7048 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
7049 (build-system haskell-build-system)
7050 (inputs
7051 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
7052 (home-page "https://hackage.haskell.org/package/mmorph")
7053 (synopsis "Monad morphisms")
7054 (description
7055 "This library provides monad morphism utilities, most commonly used for
7056manipulating monad transformer stacks.")
7057 (license license:bsd-3)))
7058
7059(define-public ghc-mockery
7060 (package
7061 (name "ghc-mockery")
7062 (version "0.3.5")
7063 (source (origin
7064 (method url-fetch)
7065 (uri (string-append "https://hackage.haskell.org/package/"
7066 "mockery/mockery-" version ".tar.gz"))
7067 (sha256
7068 (base32
7069 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
7070 (build-system haskell-build-system)
7071 (inputs
7072 `(("ghc-temporary" ,ghc-temporary)
7073 ("ghc-logging-facade" ,ghc-logging-facade)
7074 ("ghc-base-compat" ,ghc-base-compat)))
7075 (native-inputs
7076 `(("ghc-hspec" ,ghc-hspec)
7077 ("hspec-discover" ,hspec-discover)))
7078 (home-page "https://hackage.haskell.org/package/mockery")
7079 (synopsis "Support functions for automated testing")
7080 (description
7081 "The mockery package provides support functions for automated testing.")
7082 (license license:expat)))
7083
7084(define-public ghc-monad-control
7085 (package
7086 (name "ghc-monad-control")
7087 (version "1.0.2.3")
7088 (source
7089 (origin
7090 (method url-fetch)
7091 (uri (string-append
7092 "https://hackage.haskell.org/package/monad-control"
7093 "/monad-control-" version ".tar.gz"))
7094 (sha256
7095 (base32
7096 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
7097 (build-system haskell-build-system)
7098 (inputs
7099 `(("ghc-transformers-base" ,ghc-transformers-base)
7100 ("ghc-transformers-compat" ,ghc-transformers-compat)))
7101 (home-page "https://github.com/basvandijk/monad-control")
7102 (synopsis "Monad transformers to lift control operations like exception
7103catching")
7104 (description "This package defines the type class @code{MonadBaseControl},
7105a subset of @code{MonadBase} into which generic control operations such as
7106@code{catch} can be lifted from @code{IO} or any other base monad.")
7107 (license license:bsd-3)))
7108
7109(define-public ghc-monad-logger
7110 (package
7111 (name "ghc-monad-logger")
26980aae 7112 (version "0.3.30")
dddbc90c
RV
7113 (source
7114 (origin
7115 (method url-fetch)
7116 (uri (string-append "https://hackage.haskell.org/package/"
7117 "monad-logger-" version "/"
7118 "monad-logger-" version ".tar.gz"))
7119 (sha256
7120 (base32
26980aae 7121 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
7122 (build-system haskell-build-system)
7123 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7124 ("ghc-stm-chans" ,ghc-stm-chans)
7125 ("ghc-lifted-base" ,ghc-lifted-base)
7126 ("ghc-resourcet" ,ghc-resourcet)
7127 ("ghc-conduit" ,ghc-conduit)
7128 ("ghc-conduit-extra" ,ghc-conduit-extra)
7129 ("ghc-fast-logger" ,ghc-fast-logger)
7130 ("ghc-transformers-base" ,ghc-transformers-base)
7131 ("ghc-monad-control" ,ghc-monad-control)
7132 ("ghc-monad-loops" ,ghc-monad-loops)
7133 ("ghc-blaze-builder" ,ghc-blaze-builder)
7134 ("ghc-exceptions" ,ghc-exceptions)))
7135 (home-page "https://github.com/kazu-yamamoto/logger")
7136 (synopsis "Provides a class of monads which can log messages for Haskell")
7137 (description "This Haskell package uses a monad transformer approach
7138for logging.
7139
7140This package provides Template Haskell functions for determining source
7141code locations of messages.")
7142 (license license:expat)))
7143
7144(define-public ghc-monad-loops
7145 (package
7146 (name "ghc-monad-loops")
7147 (version "0.4.3")
7148 (source
7149 (origin
7150 (method url-fetch)
7151 (uri (string-append "https://hackage.haskell.org/package/"
7152 "monad-loops-" version "/"
7153 "monad-loops-" version ".tar.gz"))
7154 (sha256
7155 (base32
7156 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
7157 (build-system haskell-build-system)
7158 (native-inputs `(("ghc-tasty" ,ghc-tasty)
7159 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
7160 (home-page "https://github.com/mokus0/monad-loops")
7161 (synopsis "Monadic loops for Haskell")
7162 (description "This Haskell package provides some useful control
7163operators for looping.")
7164 (license license:public-domain)))
7165
7166(define-public ghc-monad-par
7167 (package
7168 (name "ghc-monad-par")
7169 (version "0.3.4.8")
7170 (source
7171 (origin
7172 (method url-fetch)
7173 (uri (string-append "https://hackage.haskell.org/package/"
7174 "monad-par-" version "/"
7175 "monad-par-" version ".tar.gz"))
faac56f3 7176 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
7177 (sha256
7178 (base32
7179 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
7180 (build-system haskell-build-system)
7181 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7182 ("ghc-abstract-deque" ,ghc-abstract-deque)
7183 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
7184 ("ghc-mwc-random" ,ghc-mwc-random)
7185 ("ghc-parallel" ,ghc-parallel)))
7186 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
7187 ("ghc-hunit" ,ghc-hunit)
7188 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7189 ("ghc-test-framework-quickcheck2"
7190 ,ghc-test-framework-quickcheck2)
7191 ("ghc-test-framework" ,ghc-test-framework)
7192 ("ghc-test-framework-th" ,ghc-test-framework-th)))
7193 (home-page "https://github.com/simonmar/monad-par")
7194 (synopsis "Haskell library for parallel programming based on a monad")
7195 (description "The @code{Par} monad offers an API for parallel
7196programming. The library works for parallelising both pure and @code{IO}
7197computations, although only the pure version is deterministic. The default
7198implementation provides a work-stealing scheduler and supports forking tasks
7199that are much lighter weight than IO-threads.")
7200 (license license:bsd-3)))
7201
7202(define-public ghc-monad-par-extras
7203 (package
7204 (name "ghc-monad-par-extras")
7205 (version "0.3.3")
7206 (source
7207 (origin
7208 (method url-fetch)
7209 (uri (string-append "https://hackage.haskell.org/package/"
7210 "monad-par-extras-" version "/"
7211 "monad-par-extras-" version ".tar.gz"))
7212 (sha256
7213 (base32
7214 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
7215 (build-system haskell-build-system)
7216 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
7217 ("ghc-cereal" ,ghc-cereal)
7218 ("ghc-random" ,ghc-random)))
7219 (home-page "https://github.com/simonmar/monad-par")
7220 (synopsis "Combinators and extra features for Par monads for Haskell")
7221 (description "This Haskell package provides additional data structures,
7222and other added capabilities layered on top of the @code{Par} monad.")
7223 (license license:bsd-3)))
7224
dddbc90c
RV
7225(define-public ghc-monadrandom
7226 (package
7227 (name "ghc-monadrandom")
7228 (version "0.5.1.1")
7229 (source
7230 (origin
7231 (method url-fetch)
7232 (uri (string-append "https://hackage.haskell.org/package/"
7233 "MonadRandom-" version "/"
7234 "MonadRandom-" version ".tar.gz"))
7235 (sha256
7236 (base32
7237 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
7238 (build-system haskell-build-system)
7239 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
7240 ("ghc-primitive" ,ghc-primitive)
7241 ("ghc-fail" ,ghc-fail)
7242 ("ghc-random" ,ghc-random)))
7243 (home-page "https://github.com/byorgey/MonadRandom")
7244 (synopsis "Random-number generation monad for Haskell")
7245 (description "This Haskell package provides support for computations
7246which consume random values.")
7247 (license license:bsd-3)))
7248
7249(define-public ghc-monads-tf
7250 (package
7251 (name "ghc-monads-tf")
7252 (version "0.1.0.3")
7253 (source
7254 (origin
7255 (method url-fetch)
7256 (uri (string-append
7257 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
7258 version ".tar.gz"))
7259 (sha256
7260 (base32
7261 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
7262 (build-system haskell-build-system)
7263 (home-page "https://hackage.haskell.org/package/monads-tf")
7264 (synopsis "Monad classes, using type families")
7265 (description
7266 "Monad classes using type families, with instances for various monad transformers,
7267inspired by the paper 'Functional Programming with Overloading and Higher-Order
7268Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
7269the @code{mtl-tf} package.")
7270 (license license:bsd-3)))
7271
7272(define-public ghc-mono-traversable
7273 (package
7274 (name "ghc-mono-traversable")
23bb445b 7275 (version "1.0.13.0")
dddbc90c
RV
7276 (source
7277 (origin
7278 (method url-fetch)
7279 (uri (string-append "https://hackage.haskell.org/package/"
7280 "mono-traversable-" version "/"
7281 "mono-traversable-" version ".tar.gz"))
7282 (sha256
7283 (base32
23bb445b 7284 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
7285 (build-system haskell-build-system)
7286 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
7287 ("ghc-hashable" ,ghc-hashable)
7288 ("ghc-vector" ,ghc-vector)
7289 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
7290 ("ghc-split" ,ghc-split)))
7291 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7292 ("ghc-hunit" ,ghc-hunit)
7293 ("ghc-quickcheck" ,ghc-quickcheck)
7294 ("ghc-semigroups" ,ghc-semigroups)
7295 ("ghc-foldl" ,ghc-foldl)))
7296 (home-page "https://github.com/snoyberg/mono-traversable")
7297 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
7298containers")
7299 (description "This Haskell package provides Monomorphic variants of the
7300Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
7301basic typeclasses, you understand mono-traversable. In addition to what
7302you are used to, it adds on an IsSequence typeclass and has code for marking
7303data structures as non-empty.")
7304 (license license:expat)))
7305
471e77cf
TS
7306(define-public ghc-monoid-extras
7307 (package
7308 (name "ghc-monoid-extras")
7309 (version "0.5.1")
7310 (source
7311 (origin
7312 (method url-fetch)
7313 (uri (string-append "https://hackage.haskell.org/package/"
7314 "monoid-extras/monoid-extras-" version ".tar.gz"))
7315 (sha256
7316 (base32
7317 "0xfrkgqn9d31z54l617m3w3kkd5m9vjb4yl247r3zzql3mpb1f37"))))
7318 (build-system haskell-build-system)
7319 (inputs
7320 `(("ghc-groups" ,ghc-groups)
7321 ("ghc-semigroups" ,ghc-semigroups)
7322 ("ghc-semigroupoids" ,ghc-semigroupoids)))
7323 (arguments
7324 `(#:cabal-revision
7325 ("1" "0b8x5d6vh7mpigvjvcd8f38a1nyzn1vfdqypslw7z9fgsr742913")))
7326 (home-page "https://hackage.haskell.org/package/monoid-extras")
7327 (synopsis "Various extra monoid-related definitions and utilities")
7328 (description "This package provides various extra monoid-related
7329definitions and utilities, such as monoid actions, monoid coproducts,
7330semi-direct products, \"deletable\" monoids, \"split\" monoids, and
7331\"cut\" monoids.")
7332 (license license:bsd-3)))
7333
dddbc90c
RV
7334(define-public ghc-murmur-hash
7335 (package
7336 (name "ghc-murmur-hash")
7337 (version "0.1.0.9")
7338 (source
7339 (origin
7340 (method url-fetch)
7341 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
7342 "/murmur-hash-" version ".tar.gz"))
7343 (sha256
7344 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
7345 (build-system haskell-build-system)
7346 (home-page "https://github.com/nominolo/murmur-hash")
7347 (synopsis "MurmurHash2 implementation for Haskell")
7348 (description
7349 "This package provides an implementation of MurmurHash2, a good, fast,
7350general-purpose, non-cryptographic hashing function. See
7351@url{https://sites.google.com/site/murmurhash/} for details. This
7352implementation is pure Haskell, so it might be a bit slower than a C FFI
7353binding.")
7354 (license license:bsd-3)))
7355
7356(define-public ghc-mwc-random
7357 (package
7358 (name "ghc-mwc-random")
33268e2c 7359 (version "0.14.0.0")
dddbc90c
RV
7360 (source
7361 (origin
7362 (method url-fetch)
7363 (uri (string-append "https://hackage.haskell.org/package/"
7364 "mwc-random-" version "/"
7365 "mwc-random-" version ".tar.gz"))
7366 (sha256
7367 (base32
33268e2c 7368 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
7369 (build-system haskell-build-system)
7370 (inputs
7371 `(("ghc-primitive" ,ghc-primitive)
7372 ("ghc-vector" ,ghc-vector)
7373 ("ghc-math-functions" ,ghc-math-functions)))
7374 (arguments
7375 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
7376 (native-inputs
7377 `(("ghc-hunit" ,ghc-hunit)
7378 ("ghc-quickcheck" ,ghc-quickcheck)
7379 ("ghc-test-framework" ,ghc-test-framework)
7380 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7381 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
7382 (home-page "https://github.com/bos/mwc-random")
7383 (synopsis "Random number generation library for Haskell")
7384 (description "This Haskell package contains code for generating
7385high quality random numbers that follow either a uniform or normal
7386distribution. The generated numbers are suitable for use in
7387statistical applications.
7388
7389The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
7390multiply-with-carry generator, which has a period of 2^{8222} and
7391fares well in tests of randomness. It is also extremely fast,
7392between 2 and 3 times faster than the Mersenne Twister.")
7393 (license license:bsd-3)))
7394
7395(define-public ghc-nats
7396 (package
7397 (name "ghc-nats")
7398 (version "1.1.2")
7399 (source
7400 (origin
7401 (method url-fetch)
7402 (uri (string-append
7403 "https://hackage.haskell.org/package/nats/nats-"
7404 version
7405 ".tar.gz"))
7406 (sha256
7407 (base32
7408 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
7409 (build-system haskell-build-system)
7410 (arguments `(#:haddock? #f))
7411 (inputs
7412 `(("ghc-hashable" ,ghc-hashable)))
7413 (home-page "https://hackage.haskell.org/package/nats")
7414 (synopsis "Natural numbers")
7415 (description "This library provides the natural numbers for Haskell.")
7416 (license license:bsd-3)))
7417
7418(define-public ghc-nats-bootstrap
7419 (package
7420 (inherit ghc-nats)
7421 (name "ghc-nats-bootstrap")
7422 (inputs
7423 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
7424 (properties '((hidden? #t)))))
7425
52915062
EF
7426(define-public ghc-ncurses
7427 (package
7428 (name "ghc-ncurses")
7429 (version "0.2.16")
7430 (source
7431 (origin
7432 (method url-fetch)
7433 (uri (string-append
7434 "https://hackage.haskell.org/package/ncurses/ncurses-"
7435 version ".tar.gz"))
7436 (sha256
7437 (base32
7438 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
7439 (build-system haskell-build-system)
7440 (arguments
7441 '(#:phases
7442 (modify-phases %standard-phases
7443 (add-before 'build 'fix-includes
7444 (lambda _
7445 (substitute* '("cbits/hsncurses-shim.h"
7446 "lib/UI/NCurses.chs"
7447 "lib/UI/NCurses/Enums.chs"
7448 "lib/UI/NCurses/Panel.chs")
7449 (("<ncursesw/") "<"))
7450 #t)))
7451 #:cabal-revision
7452 ("1"
7453 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
7454 (inputs `(("ncurses" ,ncurses)))
7455 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
7456 (home-page "https://john-millikin.com/software/haskell-ncurses/")
7457 (synopsis "Modernised bindings to GNU ncurses")
7458 (description "GNU ncurses is a library for creating command-line application
7459with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
7460ncurses.")
7461 (license license:gpl3)))
7462
dddbc90c
RV
7463(define-public ghc-network
7464 (package
7465 (name "ghc-network")
d4473202 7466 (version "2.8.0.1")
dddbc90c
RV
7467 (outputs '("out" "doc"))
7468 (source
7469 (origin
7470 (method url-fetch)
7471 (uri (string-append
7472 "https://hackage.haskell.org/package/network/network-"
7473 version
7474 ".tar.gz"))
7475 (sha256
7476 (base32
d4473202 7477 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
7478 (build-system haskell-build-system)
7479 ;; The regression tests depend on an unpublished module.
7480 (arguments `(#:tests? #f))
7481 (native-inputs
7482 `(("ghc-hunit" ,ghc-hunit)
7483 ("ghc-doctest" ,ghc-doctest)
7484 ("ghc-test-framework" ,ghc-test-framework)
7485 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
7486 (home-page "https://github.com/haskell/network")
7487 (synopsis "Low-level networking interface")
7488 (description
7489 "This package provides a low-level networking interface.")
7490 (license license:bsd-3)))
4780db2c 7491
30eebbe6
TS
7492(define-public ghc-network-bsd
7493 (package
7494 (name "ghc-network-bsd")
7495 (version "2.8.0.0")
7496 (source
7497 (origin
7498 (method url-fetch)
7499 (uri (string-append "https://hackage.haskell.org/package/"
7500 "network-bsd/network-bsd-" version ".tar.gz"))
7501 (sha256
7502 (base32
7503 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
7504 (build-system haskell-build-system)
7505 (inputs
7506 `(("ghc-network" ,ghc-network)))
7507 (home-page "https://github.com/haskell/network-bsd")
7508 (synopsis "POSIX network database (<netdb.h>) API")
7509 (description "This package provides Haskell bindings to the the POSIX
7510network database (<netdb.h>) API.")
7511 (license license:bsd-3)))
7512
096781a1
TS
7513(define-public ghc-network-byte-order
7514 (package
7515 (name "ghc-network-byte-order")
7516 (version "0.1.1.1")
7517 (source
7518 (origin
7519 (method url-fetch)
7520 (uri (string-append "https://hackage.haskell.org/package/"
7521 "network-byte-order/network-byte-order-"
7522 version ".tar.gz"))
7523 (sha256
7524 (base32
7525 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7526 (build-system haskell-build-system)
7527 (native-inputs
7528 `(("ghc-doctest" ,ghc-doctest)))
7529 (home-page "http://hackage.haskell.org/package/network-byte-order")
7530 (synopsis "Network byte order utilities")
7531 (description "This library provides peek and poke functions for network
7532byte order.")
7533 (license license:bsd-3)))
7534
dddbc90c
RV
7535(define-public ghc-network-info
7536 (package
7537 (name "ghc-network-info")
7538 (version "0.2.0.10")
7539 (source
7540 (origin
7541 (method url-fetch)
7542 (uri (string-append "https://hackage.haskell.org/package/"
7543 "network-info-" version "/"
7544 "network-info-" version ".tar.gz"))
7545 (sha256
7546 (base32
7547 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7548 (build-system haskell-build-system)
7549 (home-page "https://github.com/jystic/network-info")
7550 (synopsis "Access the local computer's basic network configuration")
7551 (description "This Haskell library provides simple read-only access to the
7552local computer's networking configuration. It is currently capable of
7553getting a list of all the network interfaces and their respective
7554IPv4, IPv6 and MAC addresses.")
7555 (license license:bsd-3)))
7556
7557(define-public ghc-network-uri
7558 (package
7559 (name "ghc-network-uri")
7560 (version "2.6.1.0")
7561 (outputs '("out" "doc"))
7562 (source
7563 (origin
7564 (method url-fetch)
7565 (uri (string-append
7566 "https://hackage.haskell.org/package/network-uri/network-uri-"
7567 version
7568 ".tar.gz"))
7569 (sha256
7570 (base32
7571 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7572 (build-system haskell-build-system)
7573 (arguments
7574 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7575 (inputs
7576 `(("ghc-network" ,ghc-network)))
7577 (native-inputs
7578 `(("ghc-hunit" ,ghc-hunit)))
7579 (home-page
7580 "https://github.com/haskell/network-uri")
7581 (synopsis "Library for URI manipulation")
7582 (description "This package provides an URI manipulation interface. In
7583@code{network-2.6} the @code{Network.URI} module was split off from the
7584@code{network} package into this package.")
7585 (license license:bsd-3)))
7586
7587(define-public ghc-newtype-generics
7588 (package
7589 (name "ghc-newtype-generics")
c07e16dd 7590 (version "0.5.4")
dddbc90c
RV
7591 (source
7592 (origin
7593 (method url-fetch)
7594 (uri (string-append "https://hackage.haskell.org/package/"
7595 "newtype-generics/newtype-generics-"
7596 version ".tar.gz"))
7597 (sha256
7598 (base32
c07e16dd 7599 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
7600 (build-system haskell-build-system)
7601 (native-inputs
7602 `(("ghc-hspec" ,ghc-hspec)
7603 ("hspec-discover" ,hspec-discover)))
7604 (home-page "http://github.com/sjakobi/newtype-generics")
7605 (synopsis "Typeclass and set of functions for working with newtypes")
7606 (description "The @code{Newtype} typeclass represents the packing and
7607unpacking of a newtype, and allows you to operate under that newtype with
7608functions such as @code{ala}. Generics support was added in version 0.4,
7609making this package a full replacement for the original newtype package,
7610and an alternative to newtype-th.")
7611 (license license:bsd-3)))
7612
6b652f5a
JS
7613(define-public ghc-non-negative
7614 (package
7615 (name "ghc-non-negative")
7616 (version "0.1.2")
7617 (source
7618 (origin
7619 (method url-fetch)
7620 (uri
7621 (string-append
7622 "https://hackage.haskell.org/package/non-negative/non-negative-"
7623 version ".tar.gz"))
7624 (sha256
7625 (base32
7626 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7627 (build-system haskell-build-system)
7628 (inputs
7629 `(("ghc-semigroups" ,ghc-semigroups)
7630 ("ghc-utility-ht" ,ghc-utility-ht)
7631 ("ghc-quickcheck" ,ghc-quickcheck)))
7632 (home-page "https://hackage.haskell.org/package/non-negative")
7633 (synopsis "Non-negative numbers class")
7634 (description "This library provides a class for non-negative numbers,
7635a wrapper which can turn any ordered numeric type into a member of that
7636class, and a lazy number type for non-negative numbers (a generalization
7637of Peano numbers).")
7638 (license license:gpl3+)))
7639
194a82e6
TS
7640(define-public ghc-numeric-extras
7641 (package
7642 (name "ghc-numeric-extras")
7643 (version "0.1")
7644 (source
7645 (origin
7646 (method url-fetch)
7647 (uri (string-append "https://hackage.haskell.org/package/"
7648 "numeric-extras/numeric-extras-"
7649 version ".tar.gz"))
7650 (sha256
7651 (base32
7652 "1mk11c0gz1yjy5b8dvq6czfny57pln0bs7x28fz38qyr44872067"))))
7653 (build-system haskell-build-system)
7654 (home-page "https://github.com/ekmett/numeric-extras")
7655 (synopsis "Useful tools from the C standard library")
7656 (description "This library provides some useful tools from the C
7657standard library.")
7658 (license license:bsd-3)))
7659
dddbc90c
RV
7660(define-public ghc-objectname
7661 (package
7662 (name "ghc-objectname")
7663 (version "1.1.0.1")
7664 (source
7665 (origin
7666 (method url-fetch)
7667 (uri (string-append
7668 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7669 version
7670 ".tar.gz"))
7671 (sha256
7672 (base32
7673 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7674 (build-system haskell-build-system)
7675 (home-page "https://hackage.haskell.org/package/ObjectName")
7676 (synopsis "Helper library for Haskell OpenGL")
7677 (description "This tiny package contains the class ObjectName, which
7678corresponds to the general notion of explicitly handled identifiers for API
7679objects, e.g. a texture object name in OpenGL or a buffer object name in
7680OpenAL.")
7681 (license license:bsd-3)))
7682
7683(define-public ghc-old-locale
7684 (package
7685 (name "ghc-old-locale")
7686 (version "1.0.0.7")
7687 (source
7688 (origin
7689 (method url-fetch)
7690 (uri (string-append
7691 "https://hackage.haskell.org/package/old-locale/old-locale-"
7692 version
7693 ".tar.gz"))
7694 (sha256
7695 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7696 (build-system haskell-build-system)
7697 (arguments
7698 `(#:cabal-revision
7699 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7700 (home-page "https://hackage.haskell.org/package/old-locale")
7701 (synopsis "Adapt to locale conventions")
7702 (description
7703 "This package provides the ability to adapt to locale conventions such as
7704date and time formats.")
7705 (license license:bsd-3)))
7706
7707(define-public ghc-old-time
7708 (package
7709 (name "ghc-old-time")
7710 (version "1.1.0.3")
7711 (source
7712 (origin
7713 (method url-fetch)
7714 (uri (string-append
7715 "https://hackage.haskell.org/package/old-time/old-time-"
7716 version
7717 ".tar.gz"))
7718 (sha256
7719 (base32
7720 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7721 (build-system haskell-build-system)
7722 (arguments
7723 `(#:cabal-revision
7724 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7725 (inputs
7726 `(("ghc-old-locale" ,ghc-old-locale)))
7727 (home-page "https://hackage.haskell.org/package/old-time")
7728 (synopsis "Time compatibility library for Haskell")
7729 (description "Old-time is a package for backwards compatibility with the
7730old @code{time} library. For new projects, the newer
7731@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7732 (license license:bsd-3)))
7733
7734(define-public ghc-opengl
7735 (package
7736 (name "ghc-opengl")
79a06910 7737 (version "3.0.3.0")
dddbc90c
RV
7738 (source
7739 (origin
7740 (method url-fetch)
7741 (uri (string-append
7742 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7743 version
7744 ".tar.gz"))
7745 (sha256
7746 (base32
79a06910 7747 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 7748 (build-system haskell-build-system)
79a06910
TS
7749 (arguments
7750 `(#:cabal-revision
7751 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
7752 (inputs
7753 `(("ghc-objectname" ,ghc-objectname)
7754 ("ghc-gluraw" ,ghc-gluraw)
7755 ("ghc-statevar" ,ghc-statevar)
7756 ("ghc-openglraw" ,ghc-openglraw)))
7757 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7758 (synopsis "Haskell bindings for the OpenGL graphics system")
7759 (description "This package provides Haskell bindings for the OpenGL
7760graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7761version 1.3).")
7762 (license license:bsd-3)))
7763
7764(define-public ghc-openglraw
7765 (package
7766 (name "ghc-openglraw")
15ebc815 7767 (version "3.3.3.0")
dddbc90c
RV
7768 (source
7769 (origin
7770 (method url-fetch)
7771 (uri (string-append
7772 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7773 version
7774 ".tar.gz"))
7775 (sha256
7776 (base32
15ebc815 7777 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7778 (build-system haskell-build-system)
7779 (inputs
7780 `(("ghc-half" ,ghc-half)
7781 ("ghc-fixed" ,ghc-fixed)
7782 ("glu" ,glu)))
7783 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7784 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7785 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7786graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7787of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7788offers access to all necessary functions, tokens and types plus a general
7789facility for loading extension entries. The module hierarchy closely mirrors
7790the naming structure of the OpenGL extensions, making it easy to find the
7791right module to import. All API entries are loaded dynamically, so no special
7792C header files are needed for building this package. If an API entry is not
7793found at runtime, a userError is thrown.")
7794 (license license:bsd-3)))
7795
7796(define-public ghc-operational
7797 (package
7798 (name "ghc-operational")
7799 (version "0.2.3.5")
7800 (source
7801 (origin
7802 (method url-fetch)
7803 (uri (string-append "https://hackage.haskell.org/package/operational/"
7804 "operational-" version ".tar.gz"))
7805 (sha256
7806 (base32
7807 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7808 (build-system haskell-build-system)
7809 (inputs
7810 `(("ghc-random" ,ghc-random)))
7811 (home-page "http://wiki.haskell.org/Operational")
7812 (synopsis "Implementation of difficult monads made easy with operational semantics")
7813 (description
7814 "This library makes it easy to implement monads with tricky control
7815flow. This is useful for: writing web applications in a sequential style,
7816programming games with a uniform interface for human and AI players and easy
7817replay capababilities, implementing fast parser monads, designing monadic
7818DSLs, etc.")
7819 (license license:bsd-3)))
7820
7821(define-public ghc-options
7822 (package
7823 (name "ghc-options")
7824 (version "1.2.1.1")
7825 (source
7826 (origin
7827 (method url-fetch)
7828 (uri (string-append
7829 "https://hackage.haskell.org/package/options/options-"
7830 version ".tar.gz"))
7831 (sha256
7832 (base32
7833 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7834 (build-system haskell-build-system)
24cf2a8b
TS
7835 (arguments
7836 `(#:phases
7837 (modify-phases %standard-phases
7838 (add-before 'configure 'update-constraints
7839 (lambda _
7840 (substitute* "options.cabal"
7841 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4 && < 0.6"))
7842 #t)))))
dddbc90c
RV
7843 (inputs
7844 `(("ghc-monads-tf" ,ghc-monads-tf)
7845 ("ghc-chell" ,ghc-chell)
7846 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7847 (home-page "https://john-millikin.com/software/haskell-options/")
7848 (synopsis "Powerful and easy-to-use command-line option parser")
7849 (description
7850 "The @code{options} package lets library and application developers
7851easily work with command-line options.")
7852 (license license:expat)))
7853
7854;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7855(define ghc-options-bootstrap
7856 (package
7857 (name "ghc-options-bootstrap")
7858 (version "1.2.1.1")
7859 (source
7860 (origin
7861 (method url-fetch)
7862 (uri (string-append
7863 "https://hackage.haskell.org/package/options/options-"
7864 version ".tar.gz"))
7865 (sha256
7866 (base32
7867 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7868 (build-system haskell-build-system)
7869 (arguments
7870 `(#:tests? #f))
7871 (inputs
7872 `(("ghc-monads-tf" ,ghc-monads-tf)))
7873 (home-page "https://john-millikin.com/software/haskell-options/")
7874 (synopsis "Powerful and easy-to-use command-line option parser")
7875 (description
7876 "The @code{options} package lets library and application developers
7877easily work with command-line options.")
7878 (license license:expat)))
7879
7880
7881(define-public ghc-optparse-applicative
7882 (package
7883 (name "ghc-optparse-applicative")
74bf6965 7884 (version "0.14.3.0")
dddbc90c
RV
7885 (source
7886 (origin
7887 (method url-fetch)
7888 (uri (string-append
7889 "https://hackage.haskell.org/package/optparse-applicative"
7890 "/optparse-applicative-" version ".tar.gz"))
7891 (sha256
7892 (base32
74bf6965 7893 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7894 (build-system haskell-build-system)
74bf6965
TS
7895 (arguments
7896 `(#:cabal-revision
7897 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7898 (inputs
7899 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7900 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7901 (native-inputs
7902 `(("ghc-quickcheck" ,ghc-quickcheck)))
7903 (home-page "https://github.com/pcapriotti/optparse-applicative")
7904 (synopsis "Utilities and combinators for parsing command line options")
7905 (description "This package provides utilities and combinators for parsing
7906command line options in Haskell.")
7907 (license license:bsd-3)))
7908
7909(define-public ghc-pandoc
7910 (package
7911 (name "ghc-pandoc")
d9b1567a 7912 (version "2.7.3")
dddbc90c
RV
7913 (source
7914 (origin
7915 (method url-fetch)
7916 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7917 version ".tar.gz"))
d9b1567a
TS
7918 (patches (search-patches "ghc-pandoc-fix-html-tests.patch"
7919 "ghc-pandoc-fix-latex-test.patch"))
dddbc90c
RV
7920 (sha256
7921 (base32
d9b1567a 7922 "0dpjrr40h54cljzhvixyym07z792a9izg6b9dmqpjlgcg4rj0xx8"))))
dddbc90c 7923 (build-system haskell-build-system)
dddbc90c
RV
7924 (inputs
7925 `(("ghc-aeson" ,ghc-aeson)
7926 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7927 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7928 ("ghc-blaze-html" ,ghc-blaze-html)
7929 ("ghc-blaze-markup" ,ghc-blaze-markup)
7930 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7931 ("ghc-data-default" ,ghc-data-default)
dddbc90c
RV
7932 ("ghc-diff" ,ghc-diff)
7933 ("ghc-doctemplates" ,ghc-doctemplates)
7934 ("ghc-executable-path" ,ghc-executable-path)
7935 ("ghc-glob" ,ghc-glob)
7936 ("ghc-haddock-library" ,ghc-haddock-library)
7937 ("ghc-hslua" ,ghc-hslua)
d9b1567a 7938 ("ghc-hslua-module-system" ,ghc-hslua-module-system)
dddbc90c 7939 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
d9b1567a 7940 ("ghc-hsyaml" ,ghc-hsyaml)
dddbc90c
RV
7941 ("ghc-http" ,ghc-http)
7942 ("ghc-http-client" ,ghc-http-client)
7943 ("ghc-http-client-tls" ,ghc-http-client-tls)
7944 ("ghc-http-types" ,ghc-http-types)
d9b1567a 7945 ("ghc-ipynb" ,ghc-ipynb)
dddbc90c
RV
7946 ("ghc-juicypixels" ,ghc-juicypixels)
7947 ("ghc-network" ,ghc-network)
7948 ("ghc-network-uri" ,ghc-network-uri)
dddbc90c
RV
7949 ("ghc-pandoc-types" ,ghc-pandoc-types)
7950 ("ghc-random" ,ghc-random)
7951 ("ghc-scientific" ,ghc-scientific)
7952 ("ghc-sha" ,ghc-sha)
7953 ("ghc-skylighting" ,ghc-skylighting)
7954 ("ghc-split" ,ghc-split)
7955 ("ghc-syb" ,ghc-syb)
7956 ("ghc-tagsoup" ,ghc-tagsoup)
7957 ("ghc-temporary" ,ghc-temporary)
7958 ("ghc-texmath" ,ghc-texmath)
d9b1567a 7959 ("ghc-unicode-transforms" ,ghc-unicode-transforms)
dddbc90c
RV
7960 ("ghc-unordered-containers" ,ghc-unordered-containers)
7961 ("ghc-vector" ,ghc-vector)
7962 ("ghc-xml" ,ghc-xml)
dddbc90c
RV
7963 ("ghc-zip-archive" ,ghc-zip-archive)
7964 ("ghc-zlib" ,ghc-zlib)))
7965 (native-inputs
7966 `(("ghc-tasty" ,ghc-tasty)
7967 ("ghc-tasty-golden" ,ghc-tasty-golden)
7968 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d9b1567a 7969 ("ghc-tasty-lua" ,ghc-tasty-lua)
dddbc90c
RV
7970 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7971 ("ghc-quickcheck" ,ghc-quickcheck)
7972 ("ghc-hunit" ,ghc-hunit)))
7973 (home-page "https://pandoc.org")
7974 (synopsis "Conversion between markup formats")
7975 (description
7976 "Pandoc is a Haskell library for converting from one markup format to
7977another, and a command-line tool that uses this library. It can read and
7978write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7979LaTeX, DocBook, and many more.
7980
7981Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7982definition lists, tables, and other features. A compatibility mode is
7983provided for those who need a drop-in replacement for Markdown.pl.")
7984 (license license:gpl2+)))
7985
7986(define-public ghc-pandoc-citeproc
7987 (package
7988 (name "ghc-pandoc-citeproc")
2da02d09 7989 (version "0.16.2")
dddbc90c
RV
7990 (source
7991 (origin
7992 (method url-fetch)
7993 (uri (string-append "https://hackage.haskell.org/package/"
7994 "pandoc-citeproc/pandoc-citeproc-"
7995 version ".tar.gz"))
7996 (sha256
7997 (base32
2da02d09 7998 "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv"))))
dddbc90c
RV
7999 (build-system haskell-build-system)
8000 (arguments
8001 `(#:phases
8002 (modify-phases %standard-phases
8003 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
8004 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
8005 (add-before 'configure 'patch-tests
8006 (lambda _
8007 (substitute* "tests/test-pandoc-citeproc.hs"
8008 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
8009 "let allTests = citeprocTests"))))
8010 ;; Tests need to be run after installation.
8011 (delete 'check)
8012 (add-after 'install 'post-install-check
8013 (assoc-ref %standard-phases 'check)))))
8014 (inputs
8015 `(("ghc-pandoc-types" ,ghc-pandoc-types)
8016 ("ghc-pandoc" ,ghc-pandoc)
8017 ("ghc-tagsoup" ,ghc-tagsoup)
8018 ("ghc-aeson" ,ghc-aeson)
8019 ("ghc-vector" ,ghc-vector)
8020 ("ghc-xml-conduit" ,ghc-xml-conduit)
8021 ("ghc-unordered-containers" ,ghc-unordered-containers)
8022 ("ghc-data-default" ,ghc-data-default)
8023 ("ghc-setenv" ,ghc-setenv)
8024 ("ghc-split" ,ghc-split)
8025 ("ghc-yaml" ,ghc-yaml)
8026 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
8027 ("ghc-rfc5051" ,ghc-rfc5051)
8028 ("ghc-syb" ,ghc-syb)
8029 ("ghc-old-locale" ,ghc-old-locale)
8030 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
8031 ("ghc-attoparsec" ,ghc-attoparsec)
8032 ("ghc-temporary" ,ghc-temporary)))
8033 (home-page "https://github.com/jgm/pandoc-citeproc")
8034 (synopsis "Library for using pandoc with citeproc")
8035 (description
8036 "The @code{pandoc-citeproc} library exports functions for using the
8037citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
8038rendering bibliographic reference citations into a variety of styles using a
8039macro language called @dfn{Citation Style Language} (CSL). This package also
8040contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
8041and also has a mode for converting bibliographic databases a YAML format
8042suitable for inclusion in pandoc YAML metadata.")
8043 (license license:bsd-3)))
8044
8045(define-public ghc-pandoc-types
8046 (package
8047 (name "ghc-pandoc-types")
0eaa88c8 8048 (version "1.17.6.1")
dddbc90c
RV
8049 (source (origin
8050 (method url-fetch)
8051 (uri (string-append "https://hackage.haskell.org/package/"
8052 "pandoc-types/pandoc-types-"
8053 version ".tar.gz"))
8054 (sha256
8055 (base32
0eaa88c8 8056 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
8057 (build-system haskell-build-system)
8058 (inputs
8059 `(("ghc-syb" ,ghc-syb)
8060 ("ghc-aeson" ,ghc-aeson)
8061 ("ghc-string-qq" ,ghc-string-qq)))
8062 (native-inputs
8063 `(("ghc-quickcheck" ,ghc-quickcheck)
8064 ("ghc-test-framework" ,ghc-test-framework)
8065 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8066 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
8067 ("ghc-hunit" ,ghc-hunit)))
8068 (home-page "http://johnmacfarlane.net/pandoc")
8069 (synopsis "Types for representing a structured document")
8070 (description
8071 "This module defines the @code{Pandoc} data structure, which is used by
8072pandoc to represent structured documents. It also provides functions for
8073building up, manipulating and serialising @code{Pandoc} structures.")
8074 (license license:bsd-3)))
8075
8076(define-public ghc-parallel
8077 (package
8078 (name "ghc-parallel")
8079 (version "3.2.2.0")
8080 (outputs '("out" "doc"))
8081 (source
8082 (origin
8083 (method url-fetch)
8084 (uri (string-append
8085 "https://hackage.haskell.org/package/parallel/parallel-"
8086 version
8087 ".tar.gz"))
8088 (sha256
8089 (base32
8090 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
8091 (build-system haskell-build-system)
8092 (home-page "https://hackage.haskell.org/package/parallel")
8093 (synopsis "Parallel programming library")
8094 (description
8095 "This package provides a library for parallel programming.")
8096 (license license:bsd-3)))
8097
8098(define-public ghc-parsec-numbers
8099 (package
8100 (name "ghc-parsec-numbers")
8101 (version "0.1.0")
8102 (source
8103 (origin
8104 (method url-fetch)
8105 (uri (string-append "https://hackage.haskell.org/package/"
8106 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
8107 (sha256
8108 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
8109 (build-system haskell-build-system)
8110 (home-page "https://hackage.haskell.org/package/parsec-numbers")
8111 (synopsis "Utilities for parsing numbers from strings")
8112 (description
8113 "This package provides the number parsers without the need to use a large
8114(and unportable) token parser.")
8115 (license license:bsd-3)))
8116
8117(define-public ghc-parser-combinators
8118 (package
8119 (name "ghc-parser-combinators")
2f173160 8120 (version "1.1.0")
dddbc90c
RV
8121 (source
8122 (origin
8123 (method url-fetch)
8124 (uri (string-append "https://hackage.haskell.org/package/"
8125 "parser-combinators/parser-combinators-"
8126 version ".tar.gz"))
8127 (sha256
8128 (base32
2f173160 8129 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
8130 (build-system haskell-build-system)
8131 (home-page "https://github.com/mrkkrp/parser-combinators")
8132 (synopsis "Commonly useful parser combinators")
8133 (description
8134 "This is a lightweight package providing commonly useful parser
8135combinators.")
8136 (license license:bsd-3)))
8137
8138(define-public ghc-parsers
8139 (package
8140 (name "ghc-parsers")
6818f970 8141 (version "0.12.10")
dddbc90c
RV
8142 (source
8143 (origin
8144 (method url-fetch)
8145 (uri (string-append
8146 "https://hackage.haskell.org/package/parsers/parsers-"
8147 version
8148 ".tar.gz"))
8149 (sha256
8150 (base32
6818f970 8151 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
8152 (build-system haskell-build-system)
8153 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
8154 ; -package attoparsec-0.13.0.1"
8155 (inputs
8156 `(("ghc-base-orphans" ,ghc-base-orphans)
8157 ("ghc-attoparsec" ,ghc-attoparsec)
8158 ("ghc-scientific" ,ghc-scientific)
8159 ("ghc-charset" ,ghc-charset)
8160 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8161 (home-page "https://github.com/ekmett/parsers/")
8162 (synopsis "Parsing combinators")
8163 (description "This library provides convenient combinators for working
8164with and building parsing combinator libraries. Given a few simple instances,
8165you get access to a large number of canned definitions. Instances exist for
8166the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
8167@code{Text.Read}.")
8168 (license license:bsd-3)))
8169
8170(define-public ghc-path
8171 (package
8172 (name "ghc-path")
8173 (version "0.6.1")
8174 (source
8175 (origin
8176 (method url-fetch)
8177 (uri (string-append
8178 "https://hackage.haskell.org/package/path/path-"
8179 version
8180 ".tar.gz"))
8181 (sha256
8182 (base32
8183 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
8184 (build-system haskell-build-system)
8185 (arguments
8186 ;; TODO: There are some Windows-related tests and modules that need to be
8187 ;; danced around.
8188 `(#:tests? #f
8189 #:cabal-revision
8190 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
8191 (inputs
8192 `(("ghc-aeson" ,ghc-aeson)
8193 ("ghc-exceptions" ,ghc-exceptions)
8194 ("ghc-hashable" ,ghc-hashable)))
8195 (native-inputs
8196 `(("ghc-hspec" ,ghc-hspec)
8197 ("ghc-quickcheck" ,ghc-quickcheck)
8198 ("ghc-genvalidity" ,ghc-genvalidity)
8199 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
8200 ("ghc-hspec" ,ghc-hspec)
8201 ("ghc-validity" ,ghc-validity)))
8202 (home-page
8203 "http://hackage.haskell.org/package/path")
8204 (synopsis "Support for well-typed paths")
8205 (description "This package introduces a type for paths upholding useful
8206invariants.")
8207 (license license:bsd-3)))
8208
8209(define-public ghc-path-io
8210 (package
8211 (name "ghc-path-io")
a06613ea 8212 (version "1.4.2")
dddbc90c
RV
8213 (source
8214 (origin
8215 (method url-fetch)
8216 (uri (string-append
8217 "https://hackage.haskell.org/package/path-io/path-io-"
8218 version
8219 ".tar.gz"))
8220 (sha256
8221 (base32
a06613ea 8222 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
8223 (build-system haskell-build-system)
8224 (inputs
8225 `(("ghc-dlist" ,ghc-dlist)
8226 ("ghc-exceptions" ,ghc-exceptions)
8227 ("ghc-path" ,ghc-path)
8228 ("ghc-transformers-base" ,ghc-transformers-base)
8229 ("ghc-unix-compat" ,ghc-unix-compat)
8230 ("ghc-temporary" ,ghc-temporary)))
8231 (native-inputs
8232 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
8233 (home-page
8234 "https://github.com/mrkkrp/path-io")
8235 (synopsis "Functions for manipulating well-typed paths")
8236 (description "This package provides an interface to the @code{directory}
8237package for users of @code{path}. It also implements some missing stuff like
8238recursive scanning and copying of directories, working with temporary
8239files/directories, and more.")
8240 (license license:bsd-3)))
8241
8242(define-public ghc-paths
8243 (package
8244 (name "ghc-paths")
9a8adeb1 8245 (version "0.1.0.12")
dddbc90c
RV
8246 (outputs '("out" "doc"))
8247 (source
8248 (origin
8249 (method url-fetch)
8250 (uri (string-append
8251 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
8252 version
8253 ".tar.gz"))
8254 (sha256
8255 (base32
9a8adeb1 8256 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
8257 (build-system haskell-build-system)
8258 (home-page "https://github.com/simonmar/ghc-paths")
8259 (synopsis
8260 "Knowledge of GHC's installation directories")
8261 (description
8262 "Knowledge of GHC's installation directories.")
8263 (license license:bsd-3)))
8264
8265(define-public ghc-patience
8266 (package
8267 (name "ghc-patience")
484476f3 8268 (version "0.3")
dddbc90c
RV
8269 (source
8270 (origin
8271 (method url-fetch)
8272 (uri (string-append
8273 "https://hackage.haskell.org/package/patience/patience-"
8274 version ".tar.gz"))
8275 (sha256
8276 (base32
484476f3 8277 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
8278 (build-system haskell-build-system)
8279 (home-page "https://hackage.haskell.org/package/patience")
8280 (synopsis "Patience diff and longest increasing subsequence")
8281 (description
8282 "This library implements the 'patience diff' algorithm, as well as the
8283patience algorithm for the longest increasing subsequence problem.
8284Patience diff computes the difference between two lists, for example the lines
8285of two versions of a source file. It provides a good balance between
8286performance, nice output for humans, and simplicity of implementation.")
8287 (license license:bsd-3)))
8288
8289(define-public ghc-pcre-light
8290 (package
8291 (name "ghc-pcre-light")
8292 (version "0.4.0.4")
8293 (source
8294 (origin
8295 (method url-fetch)
8296 (uri (string-append
8297 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
8298 version
8299 ".tar.gz"))
8300 (sha256
8301 (base32
8302 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
8303 (build-system haskell-build-system)
8304 (inputs
8305 `(("pcre" ,pcre)))
8306 (native-inputs
8307 `(("pkg-config" ,pkg-config)))
8308 (home-page "https://github.com/Daniel-Diaz/pcre-light")
8309 (synopsis "Haskell library for Perl 5 compatible regular expressions")
8310 (description "This package provides a small, efficient, and portable regex
8311library for Perl 5 compatible regular expressions. The PCRE library is a set
8312of functions that implement regular expression pattern matching using the same
8313syntax and semantics as Perl 5.")
8314 (license license:bsd-3)))
8315
8316(define-public ghc-persistent
8317 (package
8318 (name "ghc-persistent")
18a38da5 8319 (version "2.9.2")
dddbc90c
RV
8320 (source
8321 (origin
8322 (method url-fetch)
8323 (uri (string-append "https://hackage.haskell.org/package/"
8324 "persistent-" version "/"
8325 "persistent-" version ".tar.gz"))
8326 (sha256
8327 (base32
18a38da5 8328 "1wsa3kn427v88a6r0vwr6mz23snik2krbsgc8zqp18xajqn5szj9"))))
dddbc90c
RV
8329 (build-system haskell-build-system)
8330 (inputs `(("ghc-old-locale" ,ghc-old-locale)
8331 ("ghc-conduit" ,ghc-conduit)
8332 ("ghc-resourcet" ,ghc-resourcet)
8333 ("ghc-exceptions" ,ghc-exceptions)
8334 ("ghc-monad-control" ,ghc-monad-control)
8335 ("ghc-lifted-base" ,ghc-lifted-base)
8336 ("ghc-resource-pool" ,ghc-resource-pool)
8337 ("ghc-path-pieces" ,ghc-path-pieces)
8338 ("ghc-http-api-data" ,ghc-http-api-data)
8339 ("ghc-aeson" ,ghc-aeson)
8340 ("ghc-monad-logger" ,ghc-monad-logger)
8341 ("ghc-transformers-base" ,ghc-transformers-base)
8342 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
8343 ("ghc-unordered-containers" ,ghc-unordered-containers)
8344 ("ghc-vector" ,ghc-vector)
8345 ("ghc-attoparsec" ,ghc-attoparsec)
8346 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
8347 ("ghc-blaze-html" ,ghc-blaze-html)
8348 ("ghc-blaze-markup" ,ghc-blaze-markup)
8349 ("ghc-silently" ,ghc-silently)
8350 ("ghc-fast-logger" ,ghc-fast-logger)
8351 ("ghc-scientific" ,ghc-scientific)
8352 ("ghc-tagged" ,ghc-tagged)
8353 ("ghc-void" ,ghc-void)))
8354 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
8355 (home-page "https://www.yesodweb.com/book/persistent")
8356 (synopsis "Type-safe, multi-backend data serialization for Haskell")
8357 (description "This Haskell package allows Haskell programs to access data
8358storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
8359way.")
8360 (license license:expat)))
8361
8362(define-public ghc-persistent-sqlite
8363 (package
8364 (name "ghc-persistent-sqlite")
801fbd7e 8365 (version "2.9.3")
dddbc90c
RV
8366 (source
8367 (origin
8368 (method url-fetch)
8369 (uri (string-append "https://hackage.haskell.org/package/"
8370 "persistent-sqlite-" version "/"
8371 "persistent-sqlite-" version ".tar.gz"))
8372 (sha256
8373 (base32
801fbd7e 8374 "13wbn88ixv4d4dfjl1gabm1q60fbcnygbmixz57pi3z84drrynwq"))))
dddbc90c
RV
8375 (build-system haskell-build-system)
8376 (inputs `(("ghc-persistent" ,ghc-persistent)
8377 ("ghc-unliftio-core" ,ghc-unliftio-core)
8378 ("ghc-aeson" ,ghc-aeson)
8379 ("ghc-conduit" ,ghc-conduit)
8380 ("ghc-monad-logger" ,ghc-monad-logger)
8381 ("ghc-microlens-th" ,ghc-microlens-th)
8382 ("ghc-resourcet" ,ghc-resourcet)
8383 ("ghc-old-locale" ,ghc-old-locale)
8384 ("ghc-resource-pool" ,ghc-resource-pool)
8385 ("ghc-unordered-containers" ,ghc-unordered-containers)))
8386 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8387 ("ghc-persistent-template" ,ghc-persistent-template)
8388 ("ghc-temporary" ,ghc-temporary)))
8389 (home-page
8390 "https://www.yesodweb.com/book/persistent")
8391 (synopsis "Backend for the persistent library using sqlite3")
8392 (description "This Haskell package includes a thin sqlite3 wrapper based
8393on the direct-sqlite package, as well as the entire C library, so there are no
8394system dependencies.")
8395 (license license:expat)))
8396
8397(define-public ghc-persistent-template
8398 (package
8399 (name "ghc-persistent-template")
bc78e0d9 8400 (version "2.6.0")
dddbc90c
RV
8401 (source
8402 (origin
8403 (method url-fetch)
8404 (uri (string-append "https://hackage.haskell.org/package/"
8405 "persistent-template-" version "/"
8406 "persistent-template-" version ".tar.gz"))
8407 (sha256
8408 (base32
bc78e0d9 8409 "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv"))))
dddbc90c 8410 (build-system haskell-build-system)
dddbc90c
RV
8411 (inputs `(("ghc-persistent" ,ghc-persistent)
8412 ("ghc-monad-control" ,ghc-monad-control)
8413 ("ghc-aeson" ,ghc-aeson)
8414 ("ghc-aeson-compat" ,ghc-aeson-compat)
8415 ("ghc-monad-logger" ,ghc-monad-logger)
8416 ("ghc-unordered-containers" ,ghc-unordered-containers)
8417 ("ghc-tagged" ,ghc-tagged)
8418 ("ghc-path-pieces" ,ghc-path-pieces)
8419 ("ghc-http-api-data" ,ghc-http-api-data)))
8420 (native-inputs `(("ghc-hspec" ,ghc-hspec)
8421 ("ghc-quickcheck" ,ghc-quickcheck)))
8422 (home-page "https://www.yesodweb.com/book/persistent")
8423 (synopsis "Type-safe, non-relational, multi-backend persistence")
8424 (description "This Haskell package provides interfaces and helper
8425functions for the ghc-persistent package.")
8426 (license license:expat)))
8427
8428(define-public ghc-polyparse
8429 (package
8430 (name "ghc-polyparse")
9822b9ca 8431 (version "1.12.1")
dddbc90c
RV
8432 (source
8433 (origin
8434 (method url-fetch)
8435 (uri (string-append
8436 "https://hackage.haskell.org/package/polyparse/polyparse-"
8437 version
8438 ".tar.gz"))
8439 (sha256
8440 (base32
9822b9ca 8441 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
8442 (build-system haskell-build-system)
8443 (home-page
8444 "http://code.haskell.org/~malcolm/polyparse/")
8445 (synopsis
8446 "Alternative parser combinator libraries")
8447 (description
8448 "This package provides a variety of alternative parser combinator
8449libraries, including the original HuttonMeijer set. The Poly sets have
8450features like good error reporting, arbitrary token type, running state, lazy
8451parsing, and so on. Finally, Text.Parse is a proposed replacement for the
8452standard Read class, for better deserialisation of Haskell values from
8453Strings.")
8454 (license license:lgpl2.1)))
8455
8456(define-public ghc-pqueue
8457 (package
8458 (name "ghc-pqueue")
142415b0 8459 (version "1.4.1.2")
dddbc90c
RV
8460 (source
8461 (origin
8462 (method url-fetch)
8463 (uri (string-append "https://hackage.haskell.org/package/"
8464 "pqueue/pqueue-" version ".tar.gz"))
8465 (sha256
8466 (base32
142415b0 8467 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
8468 (build-system haskell-build-system)
8469 (native-inputs
8470 `(("ghc-quickcheck" ,ghc-quickcheck)))
8471 (home-page "https://hackage.haskell.org/package/pqueue")
8472 (synopsis "Reliable, persistent, fast priority queues")
8473 (description
8474 "This package provides a fast, reliable priority queue implementation
8475based on a binomial heap.")
8476 (license license:bsd-3)))
8477
8478(define-public ghc-prelude-extras
8479 (package
8480 (name "ghc-prelude-extras")
8481 (version "0.4.0.3")
8482 (source
8483 (origin
8484 (method url-fetch)
8485 (uri (string-append
8486 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
8487 version
8488 ".tar.gz"))
8489 (sha256
8490 (base32
8491 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
8492 (build-system haskell-build-system)
8493 (home-page "https://github.com/ekmett/prelude-extras")
8494 (synopsis "Higher order versions of Prelude classes")
8495 (description "This library provides higher order versions of
8496@code{Prelude} classes to ease programming with polymorphic recursion and
8497reduce @code{UndecidableInstances}.")
8498 (license license:bsd-3)))
8499
8500(define-public ghc-prettyclass
8501 (package
8502 (name "ghc-prettyclass")
8503 (version "1.0.0.0")
8504 (source
8505 (origin
8506 (method url-fetch)
8507 (uri (string-append "https://hackage.haskell.org/package/"
8508 "prettyclass/prettyclass-" version ".tar.gz"))
8509 (sha256
8510 (base32
8511 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
8512 (build-system haskell-build-system)
8513 (home-page "http://hackage.haskell.org/package/prettyclass")
8514 (synopsis "Pretty printing class similar to Show")
8515 (description "This package provides a pretty printing class similar
8516to @code{Show}, based on the HughesPJ pretty printing library. It
8517provides the pretty printing class and instances for the Prelude
8518types.")
8519 (license license:bsd-3)))
8520
8521(define-public ghc-pretty-hex
8522 (package
8523 (name "ghc-pretty-hex")
8524 (version "1.0")
8525 (source
8526 (origin
8527 (method url-fetch)
8528 (uri (string-append "https://hackage.haskell.org/package/"
8529 "pretty-hex-" version "/"
8530 "pretty-hex-" version ".tar.gz"))
8531 (sha256
8532 (base32
8533 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
8534 (build-system haskell-build-system)
8535 (home-page "https://github.com/GaloisInc/hexdump")
8536 (synopsis "Haskell library for hex dumps of ByteStrings")
8537 (description "This Haskell library generates pretty hex dumps of
8538ByteStrings in the style of other common *nix hex dump tools.")
8539 (license license:bsd-3)))
8540
8541(define-public ghc-pretty-show
8542 (package
8543 (name "ghc-pretty-show")
7683a084 8544 (version "1.9.5")
dddbc90c
RV
8545 (source
8546 (origin
8547 (method url-fetch)
8548 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
8549 "pretty-show-" version ".tar.gz"))
8550 (sha256
8551 (base32
7683a084 8552 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
8553 (build-system haskell-build-system)
8554 (inputs
8555 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
8556 ("ghc-happy" ,ghc-happy)))
8557 (home-page "http://wiki.github.com/yav/pretty-show")
8558 (synopsis "Tools for working with derived `Show` instances")
8559 (description
8560 "This package provides a library and an executable for working with
8561derived @code{Show} instances. By using the library, derived @code{Show}
8562instances can be parsed into a generic data structure. The @code{ppsh} tool
8563uses the library to produce human-readable versions of @code{Show} instances,
8564which can be quite handy for debugging Haskell programs. We can also render
8565complex generic values into an interactive Html page, for easier
8566examination.")
8567 (license license:expat)))
8568
8569(define-public ghc-primitive
8570 (package
8571 (name "ghc-primitive")
8572 (version "0.6.4.0")
8573 (outputs '("out" "doc"))
8574 (source
8575 (origin
8576 (method url-fetch)
8577 (uri (string-append
8578 "https://hackage.haskell.org/package/primitive/primitive-"
8579 version
8580 ".tar.gz"))
8581 (sha256
8582 (base32
8583 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
8584 (build-system haskell-build-system)
6cf0daa4
TS
8585 (arguments
8586 `(#:cabal-revision
8587 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
8588 (home-page
8589 "https://github.com/haskell/primitive")
8590 (synopsis "Primitive memory-related operations")
8591 (description
8592 "This package provides various primitive memory-related operations.")
8593 (license license:bsd-3)))
8594
21f5b9a9
JS
8595(define-public ghc-process-extras
8596 (package
8597 (name "ghc-process-extras")
8598 (version "0.7.4")
8599 (source
8600 (origin
8601 (method url-fetch)
8602 (uri
8603 (string-append
8604 "https://hackage.haskell.org/package/process-extras/"
8605 "process-extras-" version ".tar.gz"))
8606 (sha256
8607 (base32
8608 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
8609 (build-system haskell-build-system)
8610 (inputs
8611 `(("ghc-data-default" ,ghc-data-default)
8612 ("ghc-generic-deriving" ,ghc-generic-deriving)
8613 ("ghc-hunit" ,ghc-hunit)
8614 ("ghc-listlike" ,ghc-listlike)))
8615 (home-page "https://github.com/seereason/process-extras")
8616 (synopsis "Extra tools for managing processes")
f74b6983 8617 (description "This package extends
21f5b9a9
JS
8618@url{http://hackage.haskell.org/package/process}. It allows you to read
8619process input and output as ByteStrings or Text, or write your own
8620ProcessOutput instance. It also provides lazy process input and output,
8621and a ProcessMaker class for more flexibility in the process creation
8622API.")
8623 (license license:expat)))
8624
dddbc90c
RV
8625(define-public ghc-profunctors
8626 (package
8627 (name "ghc-profunctors")
899b5297 8628 (version "5.3")
dddbc90c
RV
8629 (source
8630 (origin
8631 (method url-fetch)
8632 (uri (string-append
8633 "https://hackage.haskell.org/package/profunctors/profunctors-"
8634 version
8635 ".tar.gz"))
8636 (sha256
8637 (base32
899b5297 8638 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 8639 (build-system haskell-build-system)
dddbc90c
RV
8640 (inputs
8641 `(("ghc-base-orphans" ,ghc-base-orphans)
8642 ("ghc-bifunctors" ,ghc-bifunctors)
8643 ("ghc-comonad" ,ghc-comonad)
8644 ("ghc-contravariant" ,ghc-contravariant)
8645 ("ghc-distributive" ,ghc-distributive)
8646 ("ghc-semigroups" ,ghc-semigroups)
8647 ("ghc-tagged" ,ghc-tagged)))
8648 (home-page "https://github.com/ekmett/profunctors/")
8649 (synopsis "Profunctors for Haskell")
8650 (description "This library provides profunctors for Haskell.")
8651 (license license:bsd-3)))
8652
8653(define-public ghc-psqueues
8654 (package
8655 (name "ghc-psqueues")
5d133942 8656 (version "0.2.7.2")
dddbc90c
RV
8657 (source
8658 (origin
8659 (method url-fetch)
8660 (uri (string-append "https://hackage.haskell.org/package/"
8661 "psqueues-" version "/"
8662 "psqueues-" version ".tar.gz"))
8663 (sha256
8664 (base32
5d133942 8665 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
8666 (build-system haskell-build-system)
8667 (inputs
8668 `(("ghc-hashable" ,ghc-hashable)))
8669 (native-inputs
8670 `(("ghc-hunit" ,ghc-hunit)
8671 ("ghc-quickcheck" ,ghc-quickcheck)
8672 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
8673 ("ghc-tasty" ,ghc-tasty)
8674 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8675 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
8676 (home-page "https://github.com/jaspervdj/psqueues")
8677 (synopsis "Pure priority search queues")
8678 (description "The psqueues package provides
8679@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8680three different flavors:
8681
8682@itemize
8683@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8684fast insertion, deletion and lookup. This implementation is based on Ralf
8685Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8686Implementation Technique for Priority Search Queues}.
8687
8688Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8689PSQueue} library, although it is considerably faster and provides a slightly
8690different API.
8691
8692@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8693key type to @code{Int} and uses a
8694@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8695with an additional min-heap property.
8696
8697@item @code{HashPSQ k p v} is a fairly straightforward extension
8698of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8699@code{IntPSQ}. If there are any hash collisions, it uses an
8700@code{OrdPSQ} to resolve those. The performance of this implementation
8701is comparable to that of @code{IntPSQ}, but it is more widely
8702applicable since the keys are not restricted to @code{Int},
8703but rather to any @code{Hashable} datatype.
8704@end itemize
8705
8706Each of the three implementations provides the same API, so they can
8707be used interchangeably.
8708
8709Typical applications of Priority Search Queues include:
8710
8711@itemize
8712@item Caches, and more specifically LRU Caches;
8713@item Schedulers;
8714@item Pathfinding algorithms, such as Dijkstra's and A*.
8715@end itemize")
8716 (license license:bsd-3)))
8717
8718(define-public ghc-random
8719 (package
8720 (name "ghc-random")
8721 (version "1.1")
8722 (outputs '("out" "doc"))
8723 (source
8724 (origin
8725 (method url-fetch)
8726 (uri (string-append
8727 "https://hackage.haskell.org/package/random/random-"
8728 version
8729 ".tar.gz"))
8730 (sha256
8731 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8732 (build-system haskell-build-system)
8733 (home-page "https://hackage.haskell.org/package/random")
8734 (synopsis "Random number library")
8735 (description "This package provides a basic random number generation
8736library, including the ability to split random number generators.")
8737 (license license:bsd-3)))
8738
8739(define-public ghc-raw-strings-qq
8740 (package
8741 (name "ghc-raw-strings-qq")
8742 (version "1.1")
8743 (source
8744 (origin
8745 (method url-fetch)
8746 (uri (string-append "https://hackage.haskell.org/package/"
8747 "raw-strings-qq/raw-strings-qq-"
8748 version ".tar.gz"))
8749 (sha256
8750 (base32
8751 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8752 (build-system haskell-build-system)
8753 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8754 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8755 (synopsis "Raw string literals for Haskell")
8756 (description
8757 "This package provides a quasiquoter for raw string literals, i.e. string
8758literals that don't recognise the standard escape sequences. Basically, they
8759make your code more readable by freeing you from the responsibility to escape
8760backslashes. They are useful when working with regular expressions,
8761DOS/Windows paths and markup languages (such as XML).")
8762 (license license:bsd-3)))
8763
8764(define-public ghc-readable
8765 (package
8766 (name "ghc-readable")
8767 (version "0.3.1")
8768 (source
8769 (origin
8770 (method url-fetch)
8771 (uri (string-append "https://hackage.haskell.org/package/"
8772 "readable/readable-" version ".tar.gz"))
8773 (sha256
8774 (base32
8775 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8776 (build-system haskell-build-system)
8777 (home-page "https://github.com/mightybyte/readable")
8778 (synopsis "Type class for reading from Text and ByteString")
8779 (description "This package provides a @code{Readable} type class for
8780reading data types from @code{ByteString} and @code{Text}. It also
8781includes efficient implementations for common data types.")
8782 (license license:bsd-3)))
8783
8784(define-public ghc-rebase
8785 (package
8786 (name "ghc-rebase")
8d2ae3fe 8787 (version "1.3.1.1")
dddbc90c
RV
8788 (source
8789 (origin
8790 (method url-fetch)
8791 (uri (string-append "https://hackage.haskell.org/package/"
8792 "rebase-" version "/"
8793 "rebase-" version ".tar.gz"))
8794 (sha256
8795 (base32
8d2ae3fe 8796 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
8797 (build-system haskell-build-system)
8798 (inputs `(("ghc-hashable" ,ghc-hashable)
8799 ("ghc-vector" ,ghc-vector)
8800 ("ghc-unordered-containers" ,ghc-unordered-containers)
8801 ("ghc-scientific" ,ghc-scientific)
8802 ("ghc-uuid" ,ghc-uuid)
8803 ("ghc-dlist" ,ghc-dlist)
8804 ("ghc-void" ,ghc-void)
8805 ("ghc-bifunctors" ,ghc-bifunctors)
8806 ("ghc-profunctors" ,ghc-profunctors)
8807 ("ghc-contravariant" ,ghc-contravariant)
8808 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8809 ("ghc-semigroups" ,ghc-semigroups)
8810 ("ghc-either" ,ghc-either)
8811 ("ghc-fail" ,ghc-fail)
8812 ("ghc-base-prelude" ,ghc-base-prelude)))
8813 (home-page "https://github.com/nikita-volkov/rebase")
8814 (synopsis "Progressive alternative to the base package
8815for Haskell")
8816 (description "This Haskell package is intended for those who are
8817tired of keeping long lists of dependencies to the same essential libraries
8818in each package as well as the endless imports of the same APIs all over again.
8819
8820It also supports the modern tendencies in the language.
8821
8822To solve those problems this package does the following:
8823
8824@itemize
8825@item Reexport the original APIs under the @code{Rebase} namespace.
8826
8827@item Export all the possible non-conflicting symbols from the
8828@code{Rebase.Prelude} module.
8829
8830@item Give priority to the modern practices in the conflicting cases.
8831@end itemize
8832
8833The policy behind the package is only to reexport the non-ambiguous and
8834non-controversial APIs, which the community has obviously settled on.
8835The package is intended to rapidly evolve with the contribution from
8836the community, with the missing features being added with pull-requests.")
8837 (license license:expat)))
8838
8839(define-public ghc-reducers
8840 (package
8841 (name "ghc-reducers")
8842 (version "3.12.3")
8843 (source
8844 (origin
8845 (method url-fetch)
8846 (uri (string-append
8847 "https://hackage.haskell.org/package/reducers/reducers-"
8848 version
8849 ".tar.gz"))
8850 (sha256
8851 (base32
8852 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8853 (build-system haskell-build-system)
8854 (inputs
8855 `(("ghc-fingertree" ,ghc-fingertree)
8856 ("ghc-hashable" ,ghc-hashable)
8857 ("ghc-unordered-containers" ,ghc-unordered-containers)
8858 ("ghc-semigroupoids" ,ghc-semigroupoids)
8859 ("ghc-semigroups" ,ghc-semigroups)))
8860 (home-page "https://github.com/ekmett/reducers/")
8861 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8862 (description "This library provides various semigroups, specialized
8863containers and a general map/reduce framework for Haskell.")
8864 (license license:bsd-3)))
8865
8866(define-public ghc-refact
8867 (package
8868 (name "ghc-refact")
8869 (version "0.3.0.2")
8870 (source
8871 (origin
8872 (method url-fetch)
8873 (uri (string-append "https://hackage.haskell.org/package/"
8874 "refact/refact-"
8875 version ".tar.gz"))
8876 (sha256
8877 (base32
8878 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8879 (build-system haskell-build-system)
8880 (home-page "http://hackage.haskell.org/package/refact")
8881 (synopsis "Specify refactorings to perform with apply-refact")
8882 (description
8883 "This library provides a datatype which can be interpreted by
8884@code{apply-refact}. It exists as a separate library so that applications can
8885specify refactorings without depending on GHC.")
8886 (license license:bsd-3)))
8887
8888(define-public ghc-reflection
8889 (package
8890 (name "ghc-reflection")
d215f1cc 8891 (version "2.1.5")
dddbc90c
RV
8892 (source
8893 (origin
8894 (method url-fetch)
8895 (uri (string-append
8896 "https://hackage.haskell.org/package/reflection/reflection-"
8897 version
8898 ".tar.gz"))
8899 (sha256
8900 (base32
d215f1cc 8901 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8902 (build-system haskell-build-system)
8903 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8904 (native-inputs
8905 `(("ghc-hspec" ,ghc-hspec)
8906 ("ghc-quickcheck" ,ghc-quickcheck)
8907 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8908 (home-page "https://github.com/ekmett/reflection")
8909 (synopsis "Reify arbitrary terms into types that can be reflected back
8910into terms")
8911 (description "This package addresses the 'configuration problem' which is
8912propagating configurations that are available at run-time, allowing multiple
8913configurations to coexist without resorting to mutable global variables or
8914@code{System.IO.Unsafe.unsafePerformIO}.")
8915 (license license:bsd-3)))
8916
8917(define-public ghc-regex
8918 (package
8919 (name "ghc-regex")
b9a5e634 8920 (version "1.0.2.0")
dddbc90c
RV
8921 (source
8922 (origin
8923 (method url-fetch)
8924 (uri (string-append "https://hackage.haskell.org/package/regex/"
8925 "regex-" version ".tar.gz"))
8926 (sha256
8927 (base32
b9a5e634 8928 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
8929 (build-system haskell-build-system)
8930 (arguments
8931 `(#:phases
8932 (modify-phases %standard-phases
8933 (add-after 'unpack 'relax-dependencies
8934 (lambda _
8935 (substitute* "regex.cabal"
8936 (("base-compat.*>=.*0.6.*")
8937 "base-compat >= 0.6\n")
8938 (("template-haskell.*>=.*2.7.*")
8939 "template-haskell >= 2.7\n"))
8940 #t)))))
8941 (inputs
8942 `(("ghc-base-compat" ,ghc-base-compat)
8943 ("ghc-hashable" ,ghc-hashable)
8944 ("ghc-regex-base" ,ghc-regex-base)
8945 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8946 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8947 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8948 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8949 ("ghc-unordered-containers" ,ghc-unordered-containers)
8950 ("ghc-utf8-string" ,ghc-utf8-string)))
8951 (home-page "http://regex.uk")
8952 (synopsis "Toolkit for regex-base")
8953 (description
8954 "This package provides a regular expression toolkit for @code{regex-base}
8955with compile-time checking of regular expression syntax, data types for
8956matches and captures, a text replacement toolkit, portable options, high-level
8957AWK-like tools for building text processing apps, regular expression macros
8958with parsers and test bench, comprehensive documentation, tutorials and
8959copious examples.")
8960 (license license:bsd-3)))
8961
8962(define-public ghc-regex-applicative
8963 (package
8964 (name "ghc-regex-applicative")
30f60e42 8965 (version "0.3.3.1")
dddbc90c
RV
8966 (source
8967 (origin
8968 (method url-fetch)
8969 (uri (string-append
8970 "https://hackage.haskell.org/package/regex-applicative/"
8971 "regex-applicative-" version ".tar.gz"))
8972 (sha256
8973 (base32
30f60e42 8974 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8975 (build-system haskell-build-system)
8976 (inputs
8977 `(("ghc-smallcheck" ,ghc-smallcheck)
8978 ("ghc-tasty" ,ghc-tasty)
8979 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8980 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8981 (home-page "https://github.com/feuerbach/regex-applicative")
8982 (synopsis "Regex-based parsing with applicative interface")
8983 (description
8984 "@code{regex-applicative} is a Haskell library for parsing using
8985regular expressions. Parsers can be built using Applicative interface.")
8986 (license license:expat)))
8987
8988(define-public ghc-regex-base
8989 (package
8990 (name "ghc-regex-base")
8991 (version "0.93.2")
8992 (source
8993 (origin
8994 (method url-fetch)
8995 (uri (string-append
8996 "https://hackage.haskell.org/package/regex-base/regex-base-"
8997 version
8998 ".tar.gz"))
8999 (sha256
9000 (base32
9001 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
9002 (build-system haskell-build-system)
9003 (home-page
9004 "https://sourceforge.net/projects/lazy-regex")
9005 (synopsis "Replaces/Enhances Text.Regex")
9006 (description "@code{Text.Regex.Base} provides the interface API for
9007regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
9008 (license license:bsd-3)))
9009
9010(define-public ghc-regex-compat
9011 (package
9012 (name "ghc-regex-compat")
9013 (version "0.95.1")
9014 (source
9015 (origin
9016 (method url-fetch)
9017 (uri (string-append
9018 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
9019 version
9020 ".tar.gz"))
9021 (sha256
9022 (base32
9023 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
9024 (build-system haskell-build-system)
9025 (inputs
9026 `(("ghc-regex-base" ,ghc-regex-base)
9027 ("ghc-regex-posix" ,ghc-regex-posix)))
9028 (home-page "https://sourceforge.net/projects/lazy-regex")
9029 (synopsis "Replaces/Enhances Text.Regex")
9030 (description "This library provides one module layer over
9031@code{regex-posix} to replace @code{Text.Regex}.")
9032 (license license:bsd-3)))
9033
9034(define-public ghc-regex-compat-tdfa
9035 (package
9036 (name "ghc-regex-compat-tdfa")
9037 (version "0.95.1.4")
9038 (source
9039 (origin
9040 (method url-fetch)
9041 (uri (string-append
9042 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
9043 version ".tar.gz"))
9044 (sha256
9045 (base32
9046 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
9047 (build-system haskell-build-system)
9048 (inputs
9049 `(("ghc-regex-base" ,ghc-regex-base)
9050 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9051 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
9052 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
9053 (description
9054 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
9055@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
9056This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
9057this problem.")
9058 (license license:bsd-3)))
9059
9060(define-public ghc-regex-pcre-builtin
9061 (package
9062 (name "ghc-regex-pcre-builtin")
ee946143 9063 (version "0.94.5.8.8.35")
dddbc90c
RV
9064 (source (origin
9065 (method url-fetch)
9066 (uri (string-append "https://hackage.haskell.org/package/"
9067 "regex-pcre-builtin/regex-pcre-builtin-"
9068 version ".tar.gz"))
9069 (sha256
9070 (base32
ee946143 9071 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
9072 (build-system haskell-build-system)
9073 (inputs
9074 `(("ghc-regex-base" ,ghc-regex-base)))
9075 (home-page "https://hackage.haskell.org/package/regex-pcre")
9076 (synopsis "Enhancement of the builtin Text.Regex library")
9077 (description
9078 "This package is an enhancement of the @code{Text.Regex} library,
9079providing the PCRE backend to accompany regex-base, with bundled code from
9080@url{https://www.pcre.org}.")
9081 (license license:bsd-3)))
9082
9083(define-public ghc-regex-posix
9084 (package
9085 (name "ghc-regex-posix")
9086 (version "0.95.2")
9087 (source
9088 (origin
9089 (method url-fetch)
9090 (uri (string-append
9091 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
9092 version
9093 ".tar.gz"))
9094 (sha256
9095 (base32
9096 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
9097 (build-system haskell-build-system)
9098 (inputs
9099 `(("ghc-regex-base" ,ghc-regex-base)))
9100 (home-page "https://sourceforge.net/projects/lazy-regex")
9101 (synopsis "POSIX regular expressions for Haskell")
9102 (description "This library provides the POSIX regex backend used by the
9103Haskell library @code{regex-base}.")
9104 (license license:bsd-3)))
9105
9106(define-public ghc-regex-tdfa
9107 (package
9108 (name "ghc-regex-tdfa")
ce684db0 9109 (version "1.2.3.2")
dddbc90c
RV
9110 (source
9111 (origin
9112 (method url-fetch)
9113 (uri (string-append
9114 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
9115 version ".tar.gz"))
9116 (sha256
9117 (base32
ce684db0 9118 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
9119 (build-system haskell-build-system)
9120 (inputs
9121 `(("ghc-regex-base" ,ghc-regex-base)))
9122 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
9123 (synopsis "POSIX extended regular expressions in Haskell.")
9124 (description
9125 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
9126extended regular expressions. It is a \"tagged\" DFA regex engine. It is
9127inspired by libtre.")
9128 (license license:bsd-3)))
9129
9130(define-public ghc-regex-tdfa-text
9131 (package
9132 (name "ghc-regex-tdfa-text")
9133 (version "1.0.0.3")
9134 (source
9135 (origin
9136 (method url-fetch)
9137 (uri (string-append
9138 "https://hackage.haskell.org/package/regex-tdfa-text/"
9139 "regex-tdfa-text-" version ".tar.gz"))
9140 (sha256
9141 (base32
9142 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
9143 (build-system haskell-build-system)
9144 (inputs
9145 `(("ghc-regex-base" ,ghc-regex-base)
9146 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
9147 (home-page
9148 "http://hackage.haskell.org/package/regex-tdfa-text")
9149 (synopsis "Text interface for regex-tdfa")
9150 (description
9151 "This provides an extra text interface for regex-tdfa.")
9152 (license license:bsd-3)))
9153
9154(define-public ghc-rerebase
9155 (package
9156 (name "ghc-rerebase")
cdec7b8c 9157 (version "1.3.1.1")
dddbc90c
RV
9158 (source
9159 (origin
9160 (method url-fetch)
9161 (uri (string-append
9162 "https://hackage.haskell.org/package/rerebase/rerebase-"
9163 version ".tar.gz"))
9164 (sha256
9165 (base32
cdec7b8c 9166 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
9167 (build-system haskell-build-system)
9168 (inputs
9169 `(("ghc-rebase" ,ghc-rebase)))
9170 (home-page "https://github.com/nikita-volkov/rerebase")
9171 (synopsis "Reexports from ``base'' with many other standard libraries")
9172 (description "A rich drop-in replacement for @code{base}. For details and
9173documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
9174the project's home page}.")
9175 (license license:expat)))
9176
9177(define-public ghc-resolv
9178 (package
9179 (name "ghc-resolv")
87309478 9180 (version "0.1.1.2")
dddbc90c
RV
9181 (source
9182 (origin
9183 (method url-fetch)
9184 (uri (string-append
9185 "https://hackage.haskell.org/package/resolv/resolv-"
9186 version ".tar.gz"))
9187 (sha256
9188 (base32
87309478 9189 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
9190 (build-system haskell-build-system)
9191 (arguments
87309478
TS
9192 `(#:phases
9193 (modify-phases %standard-phases
9194 (add-before 'configure 'update-constraints
9195 (lambda _
9196 (substitute* "resolv.cabal"
9197 (("tasty >= 1\\.1 && < 1\\.2")
9198 "tasty >= 1.1 && < 1.3"))
9199 #t)))))
dddbc90c
RV
9200 (inputs
9201 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
9202 (native-inputs
9203 `(("ghc-tasty" ,ghc-tasty)
9204 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
9205 (home-page "https://github.com/haskell/hackage-security")
9206 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
9207 (description "This package implements an API for accessing the
9208@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
9209resolver service via the standard @code{libresolv} system library (whose
9210API is often available directly via the standard @code{libc} C library) on
9211Unix systems.")
9212 (license license:gpl3)))
9213
9214(define-public ghc-resource-pool
9215 (package
9216 (name "ghc-resource-pool")
9217 (version "0.2.3.2")
9218 (source
9219 (origin
9220 (method url-fetch)
9221 (uri (string-append "https://hackage.haskell.org/package/"
9222 "resource-pool-" version "/"
9223 "resource-pool-" version ".tar.gz"))
9224 (sha256
9225 (base32
9226 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
9227 (build-system haskell-build-system)
9228 (inputs `(("ghc-hashable" ,ghc-hashable)
9229 ("ghc-monad-control" ,ghc-monad-control)
9230 ("ghc-transformers-base" ,ghc-transformers-base)
9231 ("ghc-vector" ,ghc-vector)))
9232 (home-page "https://github.com/bos/pool")
9233 (synopsis "Striped resource pooling implementation in Haskell")
9234 (description "This Haskell package provides striped pooling abstraction
9235for managing flexibly-sized collections of resources such as database
9236connections.")
9237 (license license:bsd-3)))
9238
9239(define-public ghc-resourcet
9240 (package
9241 (name "ghc-resourcet")
9ac341ac 9242 (version "1.2.2")
dddbc90c
RV
9243 (source
9244 (origin
9245 (method url-fetch)
9246 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
9247 "resourcet-" version ".tar.gz"))
9248 (sha256
9249 (base32
9ac341ac 9250 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
9251 (build-system haskell-build-system)
9252 (inputs
9253 `(("ghc-transformers-base" ,ghc-transformers-base)
9254 ("ghc-monad-control" ,ghc-monad-control)
9255 ("ghc-transformers-compat" ,ghc-transformers-compat)
9256 ("ghc-mmorph" ,ghc-mmorph)
9257 ("ghc-exceptions" ,ghc-exceptions)
9258 ("ghc-unliftio-core" ,ghc-unliftio-core)))
9259 (native-inputs
9260 `(("ghc-lifted-base" ,ghc-lifted-base)
9261 ("ghc-hspec" ,ghc-hspec)))
9262 (home-page "https://github.com/snoyberg/conduit")
9263 (synopsis "Deterministic allocation and freeing of scarce resources")
9264 (description "ResourceT is a monad transformer which creates a region of
9265code where you can safely allocate resources.")
9266 (license license:bsd-3)))
9267
b9debc37
TS
9268(define-public ghc-retry
9269 (package
9270 (name "ghc-retry")
9271 (version "0.8.1.0")
9272 (source
9273 (origin
9274 (method url-fetch)
9275 (uri (string-append "https://hackage.haskell.org/package/"
9276 "retry/retry-" version ".tar.gz"))
9277 (sha256
9278 (base32
9279 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
9280 (build-system haskell-build-system)
9281 (inputs
9282 `(("ghc-exceptions" ,ghc-exceptions)
9283 ("ghc-random" ,ghc-random)))
9284 (native-inputs
9285 `(("ghc-hunit" ,ghc-hunit)
9286 ("ghc-tasty" ,ghc-tasty)
9287 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9288 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
9289 ("ghc-hedgehog" ,ghc-hedgehog)))
9290 (home-page "http://github.com/Soostone/retry")
9291 (synopsis "Retry combinators for monadic actions that may fail")
9292 (description "This package exposes combinators that can wrap
9293arbitrary monadic actions. They run the action and potentially retry
9294running it with some configurable delay for a configurable number of
9295times. The purpose is to make it easier to work with IO and especially
9296network IO actions that often experience temporary failure and warrant
9297retrying of the original action. For example, a database query may time
9298out for a while, in which case we should hang back for a bit and retry
9299the query instead of simply raising an exception.")
9300 (license license:bsd-3)))
9301
dddbc90c
RV
9302(define-public ghc-rfc5051
9303 (package
9304 (name "ghc-rfc5051")
ec42ab7c 9305 (version "0.1.0.4")
dddbc90c
RV
9306 (source
9307 (origin
9308 (method url-fetch)
9309 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
9310 "rfc5051-" version ".tar.gz"))
9311 (sha256
9312 (base32
ec42ab7c 9313 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
9314 (build-system haskell-build-system)
9315 (home-page "https://hackage.haskell.org/package/rfc5051")
9316 (synopsis "Simple unicode collation as per RFC5051")
9317 (description
9318 "This library implements @code{unicode-casemap}, the simple, non
9319locale-sensitive unicode collation algorithm described in RFC 5051. Proper
9320unicode collation can be done using @code{text-icu}, but that is a big
9321dependency that depends on a large C library, and @code{rfc5051} might be
9322better for some purposes.")
9323 (license license:bsd-3)))
9324
9325(define-public ghc-rio
9326 (package
9327 (name "ghc-rio")
8bda2fa7 9328 (version "0.1.12.0")
dddbc90c
RV
9329 (source
9330 (origin
9331 (method url-fetch)
9332 (uri (string-append
9333 "https://hackage.haskell.org/package/rio/rio-"
9334 version ".tar.gz"))
9335 (sha256
9336 (base32
8bda2fa7 9337 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
9338 (build-system haskell-build-system)
9339 (inputs
9340 `(("ghc-exceptions" ,ghc-exceptions)
9341 ("ghc-hashable" ,ghc-hashable)
9342 ("ghc-microlens" ,ghc-microlens)
9343 ("ghc-primitive" ,ghc-primitive)
9344 ("ghc-typed-process" ,ghc-typed-process)
9345 ("ghc-unliftio" ,ghc-unliftio)
9346 ("ghc-unordered-containers" ,ghc-unordered-containers)
9347 ("ghc-vector" ,ghc-vector)))
9348 (native-inputs
9349 `(("ghc-hspec" ,ghc-hspec)
9350 ("hspec-discover" ,hspec-discover)))
9351 (home-page "https://github.com/commercialhaskell/rio#readme")
9352 (synopsis "A standard library for Haskell")
9353 (description "This package works as a prelude replacement for Haskell,
9354providing more functionality and types out of the box than the standard
9355prelude (such as common data types like @code{ByteString} and
9356@code{Text}), as well as removing common ``gotchas'', like partial
9357functions and lazy I/O. The guiding principle here is:
9358@itemize
9359@item If something is safe to use in general and has no expected naming
9360conflicts, expose it.
9361@item If something should not always be used, or has naming conflicts,
9362expose it from another module in the hierarchy.
9363@end itemize")
9364 (license license:expat)))
9365
9366(define-public ghc-safe
9367 (package
9368 (name "ghc-safe")
9369 (version "0.3.17")
9370 (source
9371 (origin
9372 (method url-fetch)
9373 (uri (string-append
9374 "https://hackage.haskell.org/package/safe/safe-"
9375 version
9376 ".tar.gz"))
9377 (sha256
9378 (base32
9379 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
9380 (build-system haskell-build-system)
9381 (native-inputs
9382 `(("ghc-quickcheck" ,ghc-quickcheck)))
9383 (home-page "https://github.com/ndmitchell/safe#readme")
9384 (synopsis "Library of safe (exception free) functions")
9385 (description "This library provides wrappers around @code{Prelude} and
9386@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
9387exceptions.")
9388 (license license:bsd-3)))
9389
9390(define-public ghc-safe-exceptions
9391 (package
9392 (name "ghc-safe-exceptions")
9393 (version "0.1.7.0")
9394 (source
9395 (origin
9396 (method url-fetch)
9397 (uri (string-append "https://hackage.haskell.org/package/"
9398 "safe-exceptions/safe-exceptions-"
9399 version ".tar.gz"))
9400 (sha256
9401 (base32
9402 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
9403 (build-system haskell-build-system)
9404 (arguments
9405 '(#:cabal-revision
9406 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
9407 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
9408 (native-inputs
9409 `(("ghc-hspec" ,ghc-hspec)
9410 ("ghc-void" ,ghc-void)
9411 ("hspec-discover" ,hspec-discover)))
9412 (home-page "https://github.com/fpco/safe-exceptions")
9413 (synopsis "Safe, consistent, and easy exception handling")
9414 (description "Runtime exceptions - as exposed in @code{base} by the
9415@code{Control.Exception} module - have long been an intimidating part of the
9416Haskell ecosystem. This package is intended to overcome this. It provides a
9417safe and simple API on top of the existing exception handling machinery. The
9418API is equivalent to the underlying implementation in terms of power but
9419encourages best practices to minimize the chances of getting the exception
9420handling wrong.")
9421 (license license:expat)))
9422
9423(define-public ghc-safeio
9424 (package
9425 (name "ghc-safeio")
9426 (version "0.0.5.0")
9427 (source
9428 (origin
9429 (method url-fetch)
9430 (uri (string-append "https://hackage.haskell.org/package/safeio/"
9431 "safeio-" version ".tar.gz"))
9432 (sha256
9433 (base32
9434 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
9435 (build-system haskell-build-system)
9436 (inputs
9437 `(("ghc-conduit" ,ghc-conduit)
9438 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
9439 ("ghc-exceptions" ,ghc-exceptions)
9440 ("ghc-resourcet" ,ghc-resourcet)))
9441 (native-inputs
9442 `(("ghc-hunit" ,ghc-hunit)
9443 ("ghc-test-framework" ,ghc-test-framework)
9444 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9445 ("ghc-test-framework-th" ,ghc-test-framework-th)))
9446 (home-page "https://github.com/luispedro/safeio")
9447 (synopsis "Write output to disk atomically")
9448 (description
9449 "This package implements utilities to perform atomic output so as to
9450avoid the problem of partial intermediate files.")
9451 (license license:expat)))
9452
9453(define-public ghc-safesemaphore
9454 (package
9455 (name "ghc-safesemaphore")
9456 (version "0.10.1")
9457 (source
9458 (origin
9459 (method url-fetch)
9460 (uri (string-append "https://hackage.haskell.org/package/"
9461 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
9462 (sha256
9463 (base32
9464 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
9465 (build-system haskell-build-system)
9466 (native-inputs
9467 `(("ghc-hunit" ,ghc-hunit)))
9468 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
9469 (synopsis "Exception safe semaphores")
9470 (description "This library provides exception safe semaphores that can be
9471used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
9472are not exception safe and can be broken by @code{killThread}.")
9473 (license license:bsd-3)))
9474
9475(define-public ghc-sandi
9476 (package
9477 (name "ghc-sandi")
b867c2b0 9478 (version "0.5")
dddbc90c
RV
9479 (source
9480 (origin
9481 (method url-fetch)
9482 (uri (string-append
9483 "https://hackage.haskell.org/package/sandi/sandi-"
9484 version ".tar.gz"))
9485 (sha256
9486 (base32
b867c2b0 9487 "1ndgai8idlxyccvkz5zsgq06v58blc30i6hkky5b1sf5x6gs2h29"))))
dddbc90c
RV
9488 (build-system haskell-build-system)
9489 (inputs
9490 `(("ghc-stringsearch" ,ghc-stringsearch)
9491 ("ghc-conduit" ,ghc-conduit)
9492 ("ghc-exceptions" ,ghc-exceptions)
9493 ("ghc-hunit" ,ghc-hunit)
9494 ("ghc-tasty" ,ghc-tasty)
9495 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9496 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9497 ("ghc-tasty-th" ,ghc-tasty-th)))
9498 (home-page "https://hackage.haskell.org/package/sandi")
9499 (synopsis "Data encoding library")
9500 (description "Reasonably fast data encoding library.")
9501 (license license:bsd-3)))
9502
9503(define-public ghc-scientific
9504 (package
9505 (name "ghc-scientific")
9506 (version "0.3.6.2")
9507 (source
9508 (origin
9509 (method url-fetch)
9510 (uri (string-append
9511 "https://hackage.haskell.org/package/scientific/scientific-"
9512 version
9513 ".tar.gz"))
9514 (sha256
9515 (base32
9516 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
9517 (build-system haskell-build-system)
9518 (inputs
9519 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
9520 ("ghc-hashable" ,ghc-hashable)
9521 ("ghc-primitive" ,ghc-primitive)))
9522 (native-inputs
9523 `(("ghc-tasty" ,ghc-tasty)
9524 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
9525 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9526 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
9527 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
9528 ("ghc-smallcheck" ,ghc-smallcheck)
9529 ("ghc-quickcheck" ,ghc-quickcheck)))
9530 (home-page "https://github.com/basvandijk/scientific")
9531 (synopsis "Numbers represented using scientific notation")
9532 (description "This package provides @code{Data.Scientific}, which provides
9533the number type @code{Scientific}. Scientific numbers are arbitrary precision
9534and space efficient. They are represented using
9535@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
9536notation}.")
9537 (license license:bsd-3)))
9538
9539(define-public ghc-scientific-bootstrap
9540 (package
9541 (inherit ghc-scientific)
9542 (name "ghc-scientific-bootstrap")
9543 (arguments `(#:tests? #f))
9544 (inputs
9545 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
9546 ("ghc-hashable" ,ghc-hashable)
9547 ("ghc-primitive" ,ghc-primitive)))
9548 (native-inputs '())
799d8d3c 9549 (properties '((hidden? #t)))))
dddbc90c
RV
9550
9551(define-public ghc-sdl
9552 (package
9553 (name "ghc-sdl")
9554 (version "0.6.7.0")
9555 (source
9556 (origin
9557 (method url-fetch)
9558 (uri (string-append
9559 "https://hackage.haskell.org/package/SDL/SDL-"
9560 version
9561 ".tar.gz"))
9562 (sha256
9563 (base32
9564 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
9565 (build-system haskell-build-system)
9566 (inputs
9567 `(("sdl" ,sdl)))
9568 (home-page "https://hackage.haskell.org/package/SDL")
9569 (synopsis "LibSDL for Haskell")
9570 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
9571multimedia library designed to provide low level access to audio, keyboard,
9572mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
9573by MPEG playback software, emulators, and many popular games, including the
9574award winning Linux port of \"Civilization: Call To Power.\"")
9575 (license license:bsd-3)))
9576
1874cdc1
RV
9577(define-public ghc-sdl2
9578 (package
9579 (name "ghc-sdl2")
145148ca 9580 (version "2.5.0.0")
1874cdc1
RV
9581 (source
9582 (origin
9583 (method url-fetch)
9584 (uri (string-append "https://hackage.haskell.org/package/"
9585 "sdl2/sdl2-" version ".tar.gz"))
9586 (sha256
9587 (base32
145148ca 9588 "1x368yhdd55b3cvx8dvj1sj6nzygzigbhrwhssjs4k0rcxlwqfw8"))))
1874cdc1
RV
9589 (build-system haskell-build-system)
9590 (arguments '(#:tests? #f)) ; tests require graphical environment
9591 (inputs
9592 `(("ghc-exceptions" ,ghc-exceptions)
9593 ("ghc-linear" ,ghc-linear)
9594 ("ghc-statevar" ,ghc-statevar)
9595 ("ghc-vector" ,ghc-vector)
9596 ("sdl2" ,sdl2)))
9597 (native-inputs
9598 `(("ghc-weigh" ,ghc-weigh)
9599 ("pkg-config" ,pkg-config)))
9600 (home-page "http://hackage.haskell.org/package/sdl2")
9601 (synopsis "High- and low-level bindings to the SDL library")
9602 (description
9603 "This package contains bindings to the SDL 2 library, in both high- and
9604low-level forms. The @code{SDL} namespace contains high-level bindings, where
9605enumerations are split into sum types, and we perform automatic
9606error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
9607translation of the C API into Haskell FFI calls. As such, this does not
9608contain sum types nor error checking. Thus this namespace is suitable for
9609building your own abstraction over SDL, but is not recommended for day-to-day
9610programming.")
9611 (license license:bsd-3)))
9612
9613(define-public ghc-sdl2-image
9614 (package
9615 (name "ghc-sdl2-image")
9616 (version "2.0.0")
9617 (source
9618 (origin
9619 (method url-fetch)
9620 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
9621 "sdl2-image-" version ".tar.gz"))
9622 (sha256
9623 (base32
9624 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
9625 (build-system haskell-build-system)
9626 (inputs
9627 `(("ghc-sdl2" ,ghc-sdl2)
9628 ("sdl2-image" ,sdl2-image)))
9629 (native-inputs
9630 `(("pkg-config" ,pkg-config)))
9631 (home-page "http://hackage.haskell.org/package/sdl2-image")
9632 (synopsis "Bindings to SDL2_image")
9633 (description "This package provides Haskell bindings to
9634@code{SDL2_image}.")
9635 (license license:expat)))
9636
9637(define-public ghc-sdl2-mixer
9638 (package
9639 (name "ghc-sdl2-mixer")
9640 (version "1.1.0")
9641 (source
9642 (origin
9643 (method url-fetch)
9644 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
9645 "sdl2-mixer-" version ".tar.gz"))
9646 (sha256
9647 (base32
9648 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
9649 (build-system haskell-build-system)
9650 (inputs
9651 `(("ghc-data-default-class" ,ghc-data-default-class)
9652 ("ghc-lifted-base" ,ghc-lifted-base)
9653 ("ghc-monad-control" ,ghc-monad-control)
9654 ("ghc-sdl2" ,ghc-sdl2)
9655 ("ghc-vector" ,ghc-vector)
9656 ("sdl2-mixer" ,sdl2-mixer)))
9657 (native-inputs
9658 `(("pkg-config" ,pkg-config)))
9659 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
9660 (synopsis "Bindings to SDL2 mixer")
9661 (description "This package provides Haskell bindings to
9662@code{SDL2_mixer}.")
9663 (license license:bsd-3)))
9664
dddbc90c
RV
9665(define-public ghc-sdl-image
9666 (package
9667 (name "ghc-sdl-image")
9668 (version "0.6.2.0")
9669 (source
9670 (origin
9671 (method url-fetch)
9672 (uri (string-append
9673 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
9674 version
9675 ".tar.gz"))
9676 (sha256
9677 (base32
9678 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
9679 (build-system haskell-build-system)
9680 (arguments
9681 `(#:configure-flags
9682 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
9683 (sdl-image-include (string-append sdl-image "/include/SDL")))
9684 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
9685 (inputs
9686 `(("ghc-sdl" ,ghc-sdl)
9687 ("sdl-image" ,sdl-image)))
9688 (home-page "https://hackage.haskell.org/package/SDL-image")
9689 (synopsis "Haskell bindings to libSDL_image")
9690 (description "SDL_image is an image file loading library. It loads images
9691as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
9692PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
9693 (license license:bsd-3)))
9694
9695(define-public ghc-sdl-mixer
9696 (package
9697 (name "ghc-sdl-mixer")
9698 (version "0.6.3.0")
9699 (source
9700 (origin
9701 (method url-fetch)
9702 (uri (string-append
9703 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
9704 version
9705 ".tar.gz"))
9706 (sha256
9707 (base32
9708 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
9709 (build-system haskell-build-system)
9710 (arguments
9711 `(#:configure-flags
9712 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
9713 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
9714 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
9715 (inputs
9716 `(("ghc-sdl" ,ghc-sdl)
9717 ("sdl-mixer" ,sdl-mixer)))
9718 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9719 (synopsis "Haskell bindings to libSDL_mixer")
9720 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9721supports any number of simultaneously playing channels of 16 bit stereo audio,
9722plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9723MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9724 (license license:bsd-3)))
9725
9726(define-public ghc-securemem
9727 (package
9728 (name "ghc-securemem")
9729 (version "0.1.10")
9730 (source
9731 (origin
9732 (method url-fetch)
9733 (uri (string-append "https://hackage.haskell.org/package/"
9734 "securemem-" version "/"
9735 "securemem-" version ".tar.gz"))
9736 (sha256
9737 (base32
9738 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9739 (build-system haskell-build-system)
9740 (inputs `(("ghc-byteable" ,ghc-byteable)
9741 ("ghc-memory" ,ghc-memory)))
9742 (home-page "https://github.com/vincenthz/hs-securemem")
9743 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9744Haskell")
9745 (description "SecureMem is similar to ByteString, except that it provides
9746a memory chunk that will be auto-scrubbed after it run out of scope.")
9747 (license license:bsd-3)))
9748
9749(define-public ghc-semigroupoids
9750 (package
9751 (name "ghc-semigroupoids")
a8aaadf2 9752 (version "5.3.3")
dddbc90c
RV
9753 (source
9754 (origin
9755 (method url-fetch)
9756 (uri (string-append
9757 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9758 version
9759 ".tar.gz"))
9760 (sha256
9761 (base32
a8aaadf2 9762 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 9763 (build-system haskell-build-system)
dddbc90c
RV
9764 (inputs
9765 `(("ghc-base-orphans" ,ghc-base-orphans)
9766 ("ghc-transformers-compat" ,ghc-transformers-compat)
9767 ("ghc-bifunctors" ,ghc-bifunctors)
9768 ("ghc-comonad" ,ghc-comonad)
9769 ("ghc-contravariant" ,ghc-contravariant)
9770 ("ghc-distributive" ,ghc-distributive)
9771 ("ghc-hashable" ,ghc-hashable)
9772 ("ghc-semigroups" ,ghc-semigroups)
9773 ("ghc-tagged" ,ghc-tagged)
9774 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9775 (native-inputs
9776 `(("cabal-doctest" ,cabal-doctest)
9777 ("ghc-doctest" ,ghc-doctest)))
9778 (home-page "https://github.com/ekmett/semigroupoids")
9779 (synopsis "Semigroupoids operations for Haskell")
9780 (description "This library provides a wide array of (semi)groupoids and
9781operations for working with them. A @code{Semigroupoid} is a @code{Category}
9782without the requirement of identity arrows for every object in the category.
9783A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9784Finally, to work with these weaker structures it is beneficial to have
9785containers that can provide stronger guarantees about their contents, so
9786versions of @code{Traversable} and @code{Foldable} that can be folded with
9787just a @code{Semigroup} are added.")
9788 (license license:bsd-3)))
9789
9790(define-public ghc-semigroups
9791 (package
9792 (name "ghc-semigroups")
9793 (version "0.18.5")
9794 (source
9795 (origin
9796 (method url-fetch)
9797 (uri (string-append
9798 "https://hackage.haskell.org/package/semigroups/semigroups-"
9799 version
9800 ".tar.gz"))
9801 (sha256
9802 (base32
9803 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9804 (build-system haskell-build-system)
9805 (inputs
9806 `(("ghc-nats" ,ghc-nats)
9807 ("ghc-tagged" ,ghc-tagged)
9808 ("ghc-unordered-containers" ,ghc-unordered-containers)
9809 ("ghc-hashable" ,ghc-hashable)))
9810 (home-page "https://github.com/ekmett/semigroups/")
9811 (synopsis "Semigroup operations for Haskell")
9812 (description "This package provides semigroups for Haskell. In
9813mathematics, a semigroup is an algebraic structure consisting of a set
9814together with an associative binary operation. A semigroup generalizes a
9815monoid in that there might not exist an identity element. It
9816also (originally) generalized a group (a monoid with all inverses) to a type
9817where every element did not have to have an inverse, thus the name
9818semigroup.")
9819 (license license:bsd-3)))
9820
9821(define-public ghc-semigroups-bootstrap
9822 (package
9823 (inherit ghc-semigroups)
9824 (name "ghc-semigroups-bootstrap")
9825 (inputs
9826 `(("ghc-nats" ,ghc-nats-bootstrap)
9827 ("ghc-tagged" ,ghc-tagged)
9828 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9829 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9830 (properties '((hidden? #t)))))
dddbc90c
RV
9831
9832(define-public ghc-setenv
9833 (package
9834 (name "ghc-setenv")
9835 (version "0.1.1.3")
9836 (source
9837 (origin
9838 (method url-fetch)
9839 (uri (string-append
9840 "https://hackage.haskell.org/package/setenv/setenv-"
9841 version
9842 ".tar.gz"))
9843 (sha256
9844 (base32
9845 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9846 (build-system haskell-build-system)
9847 (home-page "https://hackage.haskell.org/package/setenv")
9848 (synopsis "Library for setting environment variables")
9849 (description "This package provides a Haskell library for setting
9850environment variables.")
9851 (license license:expat)))
9852
9853(define-public ghc-setlocale
9854 (package
9855 (name "ghc-setlocale")
9d7cfc9b 9856 (version "1.0.0.9")
dddbc90c
RV
9857 (source (origin
9858 (method url-fetch)
9859 (uri (string-append
9860 "https://hackage.haskell.org/package/setlocale-"
9861 version "/setlocale-" version ".tar.gz"))
9862 (sha256
9863 (base32
9d7cfc9b 9864 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9865 (build-system haskell-build-system)
9866 (home-page "https://hackage.haskell.org/package/setlocale")
9867 (synopsis "Haskell bindings to setlocale")
9868 (description "This package provides Haskell bindings to the
9869@code{setlocale} C function.")
9870 (license license:bsd-3)))
9871
9872(define-public ghc-shakespeare
9873 (package
9874 (name "ghc-shakespeare")
f680955f 9875 (version "2.0.22")
dddbc90c
RV
9876 (source
9877 (origin
9878 (method url-fetch)
9879 (uri (string-append "https://hackage.haskell.org/package/"
9880 "shakespeare-" version "/"
9881 "shakespeare-" version ".tar.gz"))
9882 (sha256
9883 (base32
f680955f 9884 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
9885 (build-system haskell-build-system)
9886 (inputs `(("ghc-aeson" ,ghc-aeson)
9887 ("ghc-blaze-markup" ,ghc-blaze-markup)
9888 ("ghc-blaze-html" ,ghc-blaze-html)
9889 ("ghc-exceptions" ,ghc-exceptions)
9890 ("ghc-vector" ,ghc-vector)
9891 ("ghc-unordered-containers" ,ghc-unordered-containers)
9892 ("ghc-scientific" ,ghc-scientific)))
9893 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9894 ("ghc-hunit" ,ghc-hunit)
9895 ("hspec-discover" ,hspec-discover)))
9896 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9897 (synopsis "Family of type-safe template languages for Haskell")
9898 (description "This Haskell package provides a family of type-safe
9899templates with simple variable interpolation. Shakespeare templates can
9900be used inline with a quasi-quoter or in an external file and it
9901interpolates variables according to the type being inserted.")
9902 (license license:expat)))
9903
9904(define-public ghc-shelly
9905 (package
9906 (name "ghc-shelly")
9907 (version "1.8.1")
9908 (source
9909 (origin
9910 (method url-fetch)
9911 (uri (string-append
9912 "https://hackage.haskell.org/package/shelly/shelly-"
9913 version ".tar.gz"))
9914 (sha256
9915 (base32
9916 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9917 (build-system haskell-build-system)
9918 (inputs
9919 `(("ghc-unix-compat" ,ghc-unix-compat)
9920 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9921 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9922 ("ghc-monad-control" ,ghc-monad-control)
9923 ("ghc-lifted-base" ,ghc-lifted-base)
9924 ("ghc-lifted-async" ,ghc-lifted-async)
9925 ("ghc-exceptions" ,ghc-exceptions)
9926 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9927 ("ghc-async" ,ghc-async)
9928 ("ghc-transformers-base" ,ghc-transformers-base)
9929 ("ghc-hunit" ,ghc-hunit)
9930 ("ghc-hspec" ,ghc-hspec)
9931 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9932 (home-page "https://github.com/yesodweb/Shelly.hs")
9933 (synopsis "Shell-like (systems) programming in Haskell")
9934 (description
9935 "Shelly provides convenient systems programming in Haskell, similar in
9936spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9937 (license license:bsd-3)))
9938
9939(define-public ghc-silently
9940 (package
9941 (name "ghc-silently")
544bb369 9942 (version "1.2.5.1")
dddbc90c
RV
9943 (source
9944 (origin
9945 (method url-fetch)
9946 (uri (string-append
9947 "https://hackage.haskell.org/package/silently/silently-"
9948 version
9949 ".tar.gz"))
9950 (sha256
9951 (base32
544bb369 9952 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9953 (build-system haskell-build-system)
9954 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9955 ;; (inputs
9956 ;; `(("ghc-temporary" ,ghc-temporary)))
9957 (home-page "https://github.com/hspec/silently")
9958 (synopsis "Prevent writing to stdout")
9959 (description "This package provides functions to prevent or capture
9960writing to stdout and other handles.")
9961 (license license:bsd-3)))
9962
9963(define-public ghc-simple-reflect
9964 (package
9965 (name "ghc-simple-reflect")
9966 (version "0.3.3")
9967 (source
9968 (origin
9969 (method url-fetch)
9970 (uri (string-append
9971 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9972 version
9973 ".tar.gz"))
9974 (sha256
9975 (base32
9976 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9977 (build-system haskell-build-system)
9978 (home-page
9979 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9980 (synopsis
9981 "Simple reflection of expressions containing variables")
9982 (description
9983 "This package allows simple reflection of expressions containing
9984variables. Reflection here means that a Haskell expression is turned into a
9985string. The primary aim of this package is teaching and understanding; there
9986are no options for manipulating the reflected expressions beyond showing
9987them.")
9988 (license license:bsd-3)))
9989
9990(define-public ghc-simple-sendfile
9991 (package
9992 (name "ghc-simple-sendfile")
08f54390 9993 (version "0.2.30")
dddbc90c
RV
9994 (source
9995 (origin
9996 (method url-fetch)
9997 (uri (string-append "https://hackage.haskell.org/package/"
9998 "simple-sendfile-" version "/"
9999 "simple-sendfile-" version ".tar.gz"))
10000 (sha256
10001 (base32
08f54390 10002 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
10003 (build-system haskell-build-system)
10004 (inputs
10005 `(("ghc-conduit" ,ghc-conduit)
10006 ("ghc-conduit-extra" ,ghc-conduit-extra)
10007 ("ghc-network" ,ghc-network)
10008 ("ghc-resourcet" ,ghc-resourcet)))
10009 (native-inputs
10010 `(("ghc-hspec" ,ghc-hspec)
10011 ("hspec-discover" ,hspec-discover)))
10012 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
10013 (synopsis "Cross platform library for the sendfile system call")
10014 (description "This library tries to call minimum system calls which
10015are the bottleneck of web servers.")
10016 (license license:bsd-3)))
10017
06966c05
TS
10018(define-public ghc-size-based
10019 (package
10020 (name "ghc-size-based")
10021 (version "0.1.2.0")
10022 (source
10023 (origin
10024 (method url-fetch)
10025 (uri (string-append "https://hackage.haskell.org/package/"
10026 "size-based/size-based-" version ".tar.gz"))
10027 (sha256
10028 (base32
10029 "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp"))))
10030 (build-system haskell-build-system)
10031 (inputs
10032 `(("ghc-dictionary-sharing" ,ghc-dictionary-sharing)
10033 ("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
10034 ("ghc-semigroups" ,ghc-semigroups)))
10035 (arguments
10036 `(#:cabal-revision
10037 ("1" "0kax1ypjyglkn6iff1x4yz12y7f2n249m95xvdhrc63hsa4xlcqv")))
10038 (home-page "https://hackage.haskell.org/package/size-based")
10039 (synopsis "Sized functors for size-based enumerations")
10040 (description "This library provides a framework for size-based
10041enumerations.")
10042 (license license:bsd-3)))
10043
dddbc90c
RV
10044(define-public ghc-skylighting-core
10045 (package
10046 (name "ghc-skylighting-core")
1826c2a8 10047 (version "0.8.2.1")
dddbc90c
RV
10048 (source (origin
10049 (method url-fetch)
10050 (uri (string-append "https://hackage.haskell.org/package/"
10051 "skylighting-core/skylighting-core-"
10052 version ".tar.gz"))
10053 (sha256
10054 (base32
1826c2a8 10055 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
10056 (build-system haskell-build-system)
10057 (inputs
10058 `(("ghc-aeson" ,ghc-aeson)
10059 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10060 ("ghc-attoparsec" ,ghc-attoparsec)
10061 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
10062 ("ghc-blaze-html" ,ghc-blaze-html)
10063 ("ghc-case-insensitive" ,ghc-case-insensitive)
10064 ("ghc-colour" ,ghc-colour)
10065 ("ghc-hxt" ,ghc-hxt)
10066 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
10067 ("ghc-safe" ,ghc-safe)
10068 ("ghc-utf8-string" ,ghc-utf8-string)))
10069 (native-inputs
10070 `(("ghc-diff" ,ghc-diff)
10071 ("ghc-hunit" ,ghc-hunit)
10072 ("ghc-pretty-show" ,ghc-pretty-show)
10073 ("ghc-quickcheck" ,ghc-quickcheck)
10074 ("ghc-tasty" ,ghc-tasty)
10075 ("ghc-tasty-golden" ,ghc-tasty-golden)
10076 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10077 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10078 (home-page "https://github.com/jgm/skylighting")
10079 (synopsis "Syntax highlighting library")
10080 (description "Skylighting is a syntax highlighting library with support
10081for over one hundred languages. It derives its tokenizers from XML syntax
10082definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
10083supported by that framework can be added. An optional command-line program is
10084provided. Skylighting is intended to be the successor to highlighting-kate.")
10085 (license license:gpl2)))
10086
10087(define-public ghc-skylighting
10088 (package
10089 (inherit ghc-skylighting-core)
10090 (name "ghc-skylighting")
36c940cf 10091 (version "0.8.2.1")
dddbc90c
RV
10092 (source (origin
10093 (method url-fetch)
10094 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
10095 version "/skylighting-" version ".tar.gz"))
10096 (sha256
10097 (base32
36c940cf 10098 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
10099 (inputs
10100 `(("ghc-skylighting-core" ,ghc-skylighting-core)
10101 ,@(package-inputs ghc-skylighting-core)))))
10102
10103(define-public ghc-smallcheck
10104 (package
10105 (name "ghc-smallcheck")
10106 (version "1.1.5")
10107 (source
10108 (origin
10109 (method url-fetch)
10110 (uri (string-append
10111 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
10112 version
10113 ".tar.gz"))
10114 (sha256
10115 (base32
10116 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
10117 (build-system haskell-build-system)
10118 (inputs
10119 `(("ghc-logict" ,ghc-logict)))
10120 (home-page
10121 "https://github.com/feuerbach/smallcheck")
10122 (synopsis "Property-based testing library")
10123 (description "SmallCheck is a testing library that allows to verify
10124properties for all test cases up to some depth. The test cases are generated
10125automatically by SmallCheck.")
10126 (license license:bsd-3)))
10127
10128(define-public ghc-socks
10129 (package
10130 (name "ghc-socks")
ab761e9d 10131 (version "0.6.1")
dddbc90c
RV
10132 (source (origin
10133 (method url-fetch)
10134 (uri (string-append "https://hackage.haskell.org/package/"
10135 "socks/socks-" version ".tar.gz"))
10136 (sha256
10137 (base32
ab761e9d 10138 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
10139 (build-system haskell-build-system)
10140 (inputs
10141 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 10142 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
10143 ("ghc-network" ,ghc-network)))
10144 (home-page "https://github.com/vincenthz/hs-socks")
10145 (synopsis "SOCKS proxy (version 5) implementation")
10146 (description
10147 "This library provides a SOCKS proxy (version 5) implementation.")
10148 (license license:bsd-3)))
10149
081d85d6
TS
10150(define-public ghc-sop-core
10151 (package
10152 (name "ghc-sop-core")
10153 (version "0.4.0.0")
10154 (source
10155 (origin
10156 (method url-fetch)
10157 (uri (string-append "https://hackage.haskell.org/package/"
10158 "sop-core/sop-core-" version ".tar.gz"))
10159 (sha256
10160 (base32
10161 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
10162 (build-system haskell-build-system)
10163 (home-page "http://hackage.haskell.org/package/sop-core")
10164 (synopsis "True Sums of Products")
10165 (description "This package provides an implementation of
10166@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
10167is the main module of this library and contains more detailed
10168documentation. The main use case of this package is to serve as the
10169core of @url{https://hackage.haskell.org/package/generics-sop,
10170generics-sop}.")
10171 (license license:bsd-3)))
10172
dddbc90c
RV
10173(define-public ghc-split
10174 (package
10175 (name "ghc-split")
10176 (version "0.2.3.3")
10177 (outputs '("out" "doc"))
10178 (source
10179 (origin
10180 (method url-fetch)
10181 (uri (string-append
10182 "https://hackage.haskell.org/package/split/split-"
10183 version
10184 ".tar.gz"))
10185 (sha256
10186 (base32
10187 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
10188 (build-system haskell-build-system)
9bbc21a7
TS
10189 (arguments
10190 `(#:cabal-revision
10191 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
10192 (native-inputs
10193 `(("ghc-quickcheck" ,ghc-quickcheck)))
10194 (home-page "https://hackage.haskell.org/package/split")
10195 (synopsis "Combinator library for splitting lists")
10196 (description "This package provides a collection of Haskell functions for
10197splitting lists into parts, akin to the @code{split} function found in several
10198mainstream languages.")
10199 (license license:bsd-3)))
10200
7799d17f 10201(define-public ghc-splitmix
49367c92 10202 (package
7799d17f 10203 (name "ghc-splitmix")
49367c92
TS
10204 (version "0.0.3")
10205 (source
10206 (origin
10207 (method url-fetch)
10208 (uri (string-append "https://hackage.haskell.org/package/"
10209 "splitmix/splitmix-" version ".tar.gz"))
10210 (sha256
10211 (base32
10212 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 10213 (build-system haskell-build-system)
49367c92
TS
10214 (inputs
10215 `(("ghc-random" ,ghc-random)))
7799d17f
TS
10216 (native-inputs
10217 `(("ghc-hunit" ,ghc-hunit)
10218 ("ghc-async" ,ghc-async)
10219 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
10220 ("ghc-tf-random" ,ghc-tf-random)
10221 ("ghc-vector" ,ghc-vector)))
49367c92
TS
10222 (home-page "http://hackage.haskell.org/package/splitmix")
10223 (synopsis "Fast and splittable pseudorandom number generator")
10224 (description "This package provides a Pure Haskell implementation of the
10225SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
10226pseudorandom number generator that is quite fast: 9 64-bit
10227arithmetic/logical operations per 64 bits generated. SplitMix is tested
10228with two standard statistical test suites (DieHarder and TestU01, this
10229implementation only using the former) and it appears to be adequate for
10230\"everyday\" use, such as Monte Carlo algorithms and randomized data
10231structures where speed is important. In particular, it @strong{should not
10232be used for cryptographic or security applications}, because generated
10233sequences of pseudorandom values are too predictable (the mixing functions
10234are easily inverted, and two successive outputs suffice to reconstruct the
10235internal state).")
10236 (license license:bsd-3)))
10237
7799d17f
TS
10238(define-public ghc-splitmix-bootstrap
10239 (package
10240 (inherit ghc-splitmix)
10241 (name "ghc-splitmix-bootstrap")
10242 (arguments `(#:tests? #f))
10243 (native-inputs '())
10244 (properties '((hidden? #t)))))
10245
dddbc90c
RV
10246(define-public ghc-statevar
10247 (package
10248 (name "ghc-statevar")
19419709 10249 (version "1.2")
dddbc90c
RV
10250 (source
10251 (origin
10252 (method url-fetch)
10253 (uri (string-append
10254 "https://hackage.haskell.org/package/StateVar/StateVar-"
10255 version
10256 ".tar.gz"))
10257 (sha256
10258 (base32
19419709 10259 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
10260 (build-system haskell-build-system)
10261 (home-page "https://hackage.haskell.org/package/StateVar")
10262 (synopsis "State variables for Haskell")
10263 (description "This package provides state variables, which are references
10264in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
10265 (license license:bsd-3)))
10266
10267(define-public ghc-statistics
10268 (package
10269 (name "ghc-statistics")
60e78e68 10270 (version "0.15.1.1")
dddbc90c
RV
10271 (source
10272 (origin
10273 (method url-fetch)
10274 (uri (string-append "https://hackage.haskell.org/package/"
10275 "statistics-" version "/"
10276 "statistics-" version ".tar.gz"))
10277 (sha256
10278 (base32
60e78e68 10279 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
10280 (build-system haskell-build-system)
10281 (arguments
60e78e68 10282 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
10283 #:tests? #f))
10284 (inputs
10285 `(("ghc-aeson" ,ghc-aeson)
60e78e68 10286 ("ghc-async" ,ghc-async)
dddbc90c 10287 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 10288 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
10289 ("ghc-math-functions" ,ghc-math-functions)
10290 ("ghc-monad-par" ,ghc-monad-par)
10291 ("ghc-mwc-random" ,ghc-mwc-random)
10292 ("ghc-primitive" ,ghc-primitive)
10293 ("ghc-vector" ,ghc-vector)
10294 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
10295 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
10296 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
10297 (native-inputs
10298 `(("ghc-hunit" ,ghc-hunit)
10299 ("ghc-quickcheck" ,ghc-quickcheck)
10300 ("ghc-ieee754" ,ghc-ieee754)
10301 ("ghc-test-framework" ,ghc-test-framework)
10302 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10303 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10304 (home-page "https://github.com/bos/mwc-random")
10305 (synopsis "Haskell library of statistical types, data, and functions")
10306 (description "This library provides a number of common functions
10307and types useful in statistics. We focus on high performance, numerical
10308robustness, and use of good algorithms. Where possible, we provide references
10309to the statistical literature.
10310
10311The library's facilities can be divided into four broad categories:
10312
10313@itemize
10314@item Working with widely used discrete and continuous probability
10315distributions. (There are dozens of exotic distributions in use; we focus
10316on the most common.)
10317
10318@item Computing with sample data: quantile estimation, kernel density
10319estimation, histograms, bootstrap methods, significance testing,
10320and regression and autocorrelation analysis.
10321
10322@item Random variate generation under several different distributions.
10323
10324@item Common statistical tests for significant differences between samples.
10325@end itemize")
10326 (license license:bsd-2)))
10327
10328(define-public ghc-stm-chans
10329 (package
10330 (name "ghc-stm-chans")
10331 (version "3.0.0.4")
10332 (source
10333 (origin
10334 (method url-fetch)
10335 (uri (string-append "https://hackage.haskell.org/package/"
10336 "stm-chans-" version "/"
10337 "stm-chans-" version ".tar.gz"))
10338 (sha256
10339 (base32
10340 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
10341 (build-system haskell-build-system)
10342 (home-page "https://hackage.haskell.org/package/stm-chans")
10343 (synopsis "Additional types of channels for ghc-stm")
10344 (description "This Haskell package offers a collection of channel types,
10345similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
10346features.")
10347 (license license:bsd-3)))
10348
10349(define-public ghc-stm-conduit
10350 (package
10351 (name "ghc-stm-conduit")
cd518e95 10352 (version "4.0.1")
dddbc90c
RV
10353 (source
10354 (origin
10355 (method url-fetch)
10356 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
10357 "stm-conduit-" version ".tar.gz"))
10358 (sha256
10359 (base32
cd518e95 10360 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
10361 (build-system haskell-build-system)
10362 (inputs
10363 `(("ghc-stm-chans" ,ghc-stm-chans)
10364 ("ghc-cereal" ,ghc-cereal)
10365 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
10366 ("ghc-conduit" ,ghc-conduit)
10367 ("ghc-conduit-extra" ,ghc-conduit-extra)
10368 ("ghc-exceptions" ,ghc-exceptions)
10369 ("ghc-resourcet" ,ghc-resourcet)
10370 ("ghc-async" ,ghc-async)
10371 ("ghc-monad-loops" ,ghc-monad-loops)
10372 ("ghc-unliftio" ,ghc-unliftio)))
10373 (native-inputs
10374 `(("ghc-doctest" ,ghc-doctest)
10375 ("ghc-quickcheck" ,ghc-quickcheck)
10376 ("ghc-hunit" ,ghc-hunit)
10377 ("ghc-test-framework" ,ghc-test-framework)
10378 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
10379 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
10380 (home-page "https://github.com/cgaebel/stm-conduit")
10381 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
10382 (description
10383 "This package provides two simple conduit wrappers around STM channels: a
10384source and a sink.")
10385 (license license:bsd-3)))
10386
10387(define-public ghc-stmonadtrans
10388 (package
10389 (name "ghc-stmonadtrans")
10390 (version "0.4.3")
10391 (source
10392 (origin
10393 (method url-fetch)
10394 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
10395 "/STMonadTrans-" version ".tar.gz"))
10396 (sha256
10397 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
10398 (build-system haskell-build-system)
10399 (home-page "https://hackage.haskell.org/package/STMonadTrans")
10400 (synopsis "Monad transformer version of the ST monad")
10401 (description
10402 "This package provides a monad transformer version of the @code{ST} monad
10403for strict state threads.")
10404 (license license:bsd-3)))
10405
10406(define-public ghc-storable-complex
10407 (package
10408 (name "ghc-storable-complex")
4a35e3c3 10409 (version "0.2.3.0")
dddbc90c
RV
10410 (source
10411 (origin
10412 (method url-fetch)
10413 (uri (string-append
10414 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
10415 version ".tar.gz"))
10416 (sha256
4a35e3c3 10417 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 10418 (build-system haskell-build-system)
4a35e3c3
TS
10419 (inputs
10420 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
10421 (home-page "https://github.com/cartazio/storable-complex")
10422 (synopsis "Haskell Storable instance for Complex")
10423 (description "This package provides a Haskell library including a
10424Storable instance for Complex which is binary compatible with C99, C++
10425and Fortran complex data types.")
10426 (license license:bsd-3)))
10427
ad80074a
JS
10428(define-public ghc-storable-record
10429 (package
10430 (name "ghc-storable-record")
10431 (version "0.0.4")
10432 (source
10433 (origin
10434 (method url-fetch)
10435 (uri
10436 (string-append
10437 "https://hackage.haskell.org/package/storable-record/"
10438 "storable-record-" version ".tar.gz"))
10439 (sha256
10440 (base32
10441 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
10442 (build-system haskell-build-system)
10443 (inputs
10444 `(("ghc-semigroups" ,ghc-semigroups)
10445 ("ghc-utility-ht" ,ghc-utility-ht)
10446 ("ghc-storablevector" ,ghc-storablevector)
10447 ("ghc-timeit" ,ghc-timeit)))
10448 (home-page "https://hackage.haskell.org/package/storable-record")
10449 (synopsis "Elegant definition of Storable instances for records")
10450 (description "With this package you can build a Storable instance of
10451a record type from Storable instances of its elements in an elegant way.
10452It does not do any magic, just a bit arithmetic to compute the right
10453offsets, that would be otherwise done manually or by a preprocessor like
10454C2HS. There is no guarantee that the generated memory layout is
10455compatible with that of a corresponding C struct. However, the module
10456generates the smallest layout that is possible with respect to the
10457alignment of the record elements.")
10458 (license license:bsd-3)))
10459
55f4c653
JS
10460(define-public ghc-storable-tuple
10461 (package
10462 (name "ghc-storable-tuple")
10463 (version "0.0.3.3")
10464 (source
10465 (origin
10466 (method url-fetch)
10467 (uri
10468 (string-append
10469 "https://hackage.haskell.org/package/storable-tuple/"
10470 "storable-tuple-" version ".tar.gz"))
10471 (sha256
10472 (base32
10473 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
10474 (build-system haskell-build-system)
10475 (inputs
10476 `(("ghc-storable-record" ,ghc-storable-record)
10477 ("ghc-utility-ht" ,ghc-utility-ht)
10478 ("ghc-base-orphans" ,ghc-base-orphans)))
10479 (home-page "https://hackage.haskell.org/package/storable-tuple")
10480 (synopsis "Storable instance for pairs and triples")
10481 (description "This package provides a Storable instance for pairs
10482and triples which should be binary compatible with C99 and C++. The
10483only purpose of this package is to provide a standard location for this
10484instance so that other packages needing this instance can play nicely
10485together.")
10486 (license license:bsd-3)))
10487
bc06ca45
JS
10488(define-public ghc-storablevector
10489 (package
10490 (name "ghc-storablevector")
10491 (version "0.2.13")
10492 (source
10493 (origin
10494 (method url-fetch)
10495 (uri
10496 (string-append
10497 "https://hackage.haskell.org/package/storablevector/storablevector-"
10498 version ".tar.gz"))
10499 (sha256
10500 (base32
10501 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
10502 (build-system haskell-build-system)
10503 (inputs
10504 `(("ghc-non-negative" ,ghc-non-negative)
10505 ("ghc-utility-ht" ,ghc-utility-ht)
10506 ("ghc-semigroups" ,ghc-semigroups)
10507 ("ghc-unsafe" ,ghc-unsafe)
10508 ("ghc-quickcheck" ,ghc-quickcheck)
10509 ("ghc-syb" ,ghc-syb)))
10510 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
10511 (synopsis "Fast, packed, strict storable arrays with a list interface")
10512 (description "This library provides fast, packed, strict storable
10513arrays with a list interface, a chunky lazy list interface with variable
10514chunk size and an interface for write access via the ST monad. This is
10515much like bytestring and binary but can be used for every
10516@code{Foreign.Storable.Storable} type. See also
10517@url{http://hackage.haskell.org/package/vector}, a library with a
10518similar intention.
10519
10520This library does not do advanced fusion optimization, since especially
10521for lazy vectors this would either be incorrect or not applicable. See
10522@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
10523a library that provides fusion with lazy lists.")
10524 (license license:bsd-3)))
10525
dddbc90c
RV
10526(define-public ghc-streaming-commons
10527 (package
10528 (name "ghc-streaming-commons")
10529 (version "0.2.1.1")
10530 (source
10531 (origin
10532 (method url-fetch)
10533 (uri (string-append "https://hackage.haskell.org/package/"
10534 "streaming-commons/streaming-commons-"
10535 version ".tar.gz"))
10536 (sha256
10537 (base32
10538 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
10539 (build-system haskell-build-system)
10540 (inputs
10541 `(("ghc-async" ,ghc-async)
10542 ("ghc-blaze-builder" ,ghc-blaze-builder)
10543 ("ghc-network" ,ghc-network)
10544 ("ghc-random" ,ghc-random)
10545 ("ghc-zlib" ,ghc-zlib)))
10546 (native-inputs
10547 `(("ghc-quickcheck" ,ghc-quickcheck)
10548 ("ghc-hspec" ,ghc-hspec)
10549 ("hspec-discover" ,hspec-discover)))
10550 (home-page "https://hackage.haskell.org/package/streaming-commons")
10551 (synopsis "Conduit and pipes needed by some streaming data libraries")
10552 (description "This package provides low-dependency functionality commonly
10553needed by various Haskell streaming data libraries, such as @code{conduit} and
10554@code{pipe}s.")
10555 (license license:expat)))
10556
10557(define-public ghc-strict
10558 (package
10559 (name "ghc-strict")
10560 (version "0.3.2")
10561 (source
10562 (origin
10563 (method url-fetch)
10564 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
10565 version ".tar.gz"))
10566 (sha256
10567 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
10568 (build-system haskell-build-system)
10569 (home-page "https://hackage.haskell.org/package/strict")
10570 (synopsis "Strict data types and String IO")
10571 (description
10572 "This package provides strict versions of some standard Haskell data
10573types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
10574IO operations.")
10575 (license license:bsd-3)))
10576
10577(define-public ghc-stringbuilder
10578 (package
10579 (name "ghc-stringbuilder")
10580 (version "0.5.1")
10581 (source
10582 (origin
10583 (method url-fetch)
10584 (uri (string-append
10585 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
10586 version
10587 ".tar.gz"))
10588 (sha256
10589 (base32
10590 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
10591 (build-system haskell-build-system)
10592 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
10593 ; enabled
10594 (home-page "https://hackage.haskell.org/package/stringbuilder")
10595 (synopsis "Writer monad for multi-line string literals")
10596 (description "This package provides a writer monad for multi-line string
10597literals.")
10598 (license license:expat)))
10599
10600(define-public ghc-string-qq
10601 (package
10602 (name "ghc-string-qq")
4d6fddc3 10603 (version "0.0.4")
dddbc90c
RV
10604 (source
10605 (origin
10606 (method url-fetch)
10607 (uri (string-append
10608 "https://hackage.haskell.org/package/string-qq/string-qq-"
10609 version
10610 ".tar.gz"))
10611 (sha256
10612 (base32
4d6fddc3 10613 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 10614 (build-system haskell-build-system)
4d6fddc3
TS
10615 (native-inputs
10616 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
10617 (home-page "http://hackage.haskell.org/package/string-qq")
10618 (synopsis
10619 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
10620 (description
10621 "This package provides a quasiquoter for non-interpolated strings, texts
10622and bytestrings.")
10623 (license license:public-domain)))
10624
10625(define-public ghc-stringsearch
10626 (package
10627 (name "ghc-stringsearch")
10628 (version "0.3.6.6")
10629 (source
10630 (origin
10631 (method url-fetch)
10632 (uri (string-append
10633 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
10634 version
10635 ".tar.gz"))
10636 (sha256
10637 (base32
10638 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
10639 (build-system haskell-build-system)
e2303abb
TS
10640 (arguments
10641 `(#:cabal-revision
10642 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
10643 (home-page "https://bitbucket.org/dafis/stringsearch")
10644 (synopsis "Fast searching, splitting and replacing of ByteStrings")
10645 (description "This package provides several functions to quickly search
10646for substrings in strict or lazy @code{ByteStrings}. It also provides
10647functions for breaking or splitting on substrings and replacing all
10648occurrences of a substring (the first in case of overlaps) with another.")
10649 (license license:bsd-3)))
10650
10651(define-public ghc-stylish-haskell
10652 (package
10653 (name "ghc-stylish-haskell")
10654 (version "0.9.2.1")
10655 (source
10656 (origin
10657 (method url-fetch)
10658 (uri (string-append
10659 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
10660 version
10661 ".tar.gz"))
10662 (sha256
10663 (base32
10664 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
10665 (build-system haskell-build-system)
a54dda09
TS
10666 (arguments
10667 `(#:phases
10668 (modify-phases %standard-phases
10669 (add-before 'configure 'update-constraints
10670 (lambda _
10671 (substitute* "stylish-haskell.cabal"
10672 (("haskell-src-exts >= 1\\.18 && < 1\\.21,")
10673 "haskell-src-exts >= 1.18 && < 1.22,"))
10674 #t)))))
dddbc90c
RV
10675 (inputs
10676 `(("ghc-aeson" ,ghc-aeson)
10677 ("ghc-file-embed" ,ghc-file-embed)
10678 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
10679 ("ghc-semigroups" ,ghc-semigroups)
10680 ("ghc-syb" ,ghc-syb)
10681 ("ghc-yaml" ,ghc-yaml)
10682 ("ghc-strict" ,ghc-strict)
10683 ("ghc-optparse-applicative"
10684 ,ghc-optparse-applicative)))
10685 (native-inputs
10686 `(("ghc-hunit" ,ghc-hunit)
10687 ("ghc-test-framework" ,ghc-test-framework)
10688 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10689 (home-page "https://github.com/jaspervdj/stylish-haskell")
10690 (synopsis "Haskell code prettifier")
10691 (description "Stylish-haskell is a Haskell code prettifier. The goal is
10692not to format all of the code in a file, to avoid \"getting in the way\".
10693However, this tool can e.g. clean up import statements and help doing various
10694tasks that get tedious very quickly. It can
10695@itemize
10696@item
10697Align and sort @code{import} statements
10698@item
10699Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
10700pragmas
10701@item
10702Remove trailing whitespaces
10703@item
10704Align branches in @code{case} and fields in records
10705@item
10706Convert line endings (customisable)
10707@item
10708Replace tabs by four spaces (turned off by default)
10709@item
10710Replace some ASCII sequences by their Unicode equivalent (turned off by
10711default)
10712@end itemize")
10713 (license license:bsd-3)))
10714
10715(define-public ghc-syb
10716 (package
10717 (name "ghc-syb")
07d65eef 10718 (version "0.7.1")
dddbc90c
RV
10719 (outputs '("out" "doc"))
10720 (source
10721 (origin
10722 (method url-fetch)
10723 (uri (string-append
10724 "https://hackage.haskell.org/package/syb/syb-"
10725 version
10726 ".tar.gz"))
10727 (sha256
10728 (base32
07d65eef 10729 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
10730 (build-system haskell-build-system)
10731 (inputs
10732 `(("ghc-hunit" ,ghc-hunit)))
10733 (home-page
10734 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
10735 (synopsis "Scrap Your Boilerplate")
10736 (description "This package contains the generics system described in the
10737/Scrap Your Boilerplate/ papers (see
10738@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
10739defines the @code{Data} class of types permitting folding and unfolding of
10740constructor applications, instances of this class for primitive types, and a
10741variety of traversals.")
10742 (license license:bsd-3)))
10743
10744(define-public ghc-system-fileio
10745 (package
10746 (name "ghc-system-fileio")
dcfb99d4 10747 (version "0.3.16.4")
dddbc90c
RV
10748 (source
10749 (origin
10750 (method url-fetch)
10751 (uri (string-append
10752 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10753 version ".tar.gz"))
10754 (sha256
10755 (base32
dcfb99d4 10756 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 10757 (build-system haskell-build-system)
dcfb99d4
TS
10758 (arguments
10759 `(#:phases
10760 (modify-phases %standard-phases
10761 (add-before 'configure 'update-constraints
10762 (lambda _
10763 (substitute* "system-fileio.cabal"
10764 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
10765 #t)))))
dddbc90c
RV
10766 (inputs
10767 `(("ghc-system-filepath" ,ghc-system-filepath)
10768 ("ghc-chell" ,ghc-chell)
10769 ("ghc-temporary" ,ghc-temporary)))
10770 (home-page "https://github.com/fpco/haskell-filesystem")
10771 (synopsis "Consistent file system interaction across GHC versions")
10772 (description
10773 "This is a small wrapper around the directory, unix, and Win32 packages,
10774for use with system-filepath. It provides a consistent API to the various
10775versions of these packages distributed with different versions of GHC.
10776In particular, this library supports working with POSIX files that have paths
10777which can't be decoded in the current locale encoding.")
10778 (license license:expat)))
10779
10780;; See ghc-system-filepath-bootstrap. In addition this package depends on
10781;; ghc-system-filepath.
10782(define ghc-system-fileio-bootstrap
10783 (package
10784 (name "ghc-system-fileio-bootstrap")
10785 (version "0.3.16.3")
10786 (source
10787 (origin
10788 (method url-fetch)
10789 (uri (string-append
10790 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10791 version ".tar.gz"))
10792 (sha256
10793 (base32
10794 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10795 (build-system haskell-build-system)
10796 (arguments
10797 `(#:tests? #f))
10798 (inputs
10799 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10800 ("ghc-temporary" ,ghc-temporary)))
10801 (home-page "https://github.com/fpco/haskell-filesystem")
10802 (synopsis "Consistent file system interaction across GHC versions")
10803 (description
10804 "This is a small wrapper around the directory, unix, and Win32 packages,
10805for use with system-filepath. It provides a consistent API to the various
10806versions of these packages distributed with different versions of GHC.
10807In particular, this library supports working with POSIX files that have paths
10808which can't be decoded in the current locale encoding.")
10809 (license license:expat)))
10810
10811
10812(define-public ghc-system-filepath
10813 (package
10814 (name "ghc-system-filepath")
10815 (version "0.4.14")
10816 (source
10817 (origin
10818 (method url-fetch)
10819 (uri (string-append
10820 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10821 version ".tar.gz"))
10822 (sha256
10823 (base32
10824 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10825 (build-system haskell-build-system)
10826 ;; FIXME: One of the tests fails:
10827 ;; [ FAIL ] tests.validity.posix
10828 ;; note: seed=7310214548328823169
10829 ;; *** Failed! Falsifiable (after 24 tests):
10830 ;; 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"
10831 (arguments `(#:tests? #f))
10832 (inputs
10833 `(("ghc-chell" ,ghc-chell)
10834 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10835 ("ghc-quickcheck" ,ghc-quickcheck)))
10836 (home-page "https://github.com/fpco/haskell-filesystem")
10837 (synopsis "High-level, byte-based file and directory path manipulations")
10838 (description
10839 "Provides a FilePath datatype and utility functions for operating on it.
10840Unlike the filepath package, this package does not simply reuse String,
10841increasing type safety.")
10842 (license license:expat)))
10843
10844;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10845;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10846;; which depends on ghc-chell and ghc-chell-quickcheck.
10847;; Therefore we bootstrap it with tests disabled.
10848(define ghc-system-filepath-bootstrap
10849 (package
10850 (name "ghc-system-filepath-bootstrap")
10851 (version "0.4.14")
10852 (source
10853 (origin
10854 (method url-fetch)
10855 (uri (string-append
10856 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10857 version ".tar.gz"))
10858 (sha256
10859 (base32
10860 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10861 (build-system haskell-build-system)
10862 (arguments
10863 `(#:tests? #f))
10864 (inputs
10865 `(("ghc-quickcheck" ,ghc-quickcheck)))
10866 (home-page "https://github.com/fpco/haskell-filesystem")
10867 (synopsis "High-level, byte-based file and directory path manipulations")
10868 (description
10869 "Provides a FilePath datatype and utility functions for operating on it.
10870Unlike the filepath package, this package does not simply reuse String,
10871increasing type safety.")
10872 (license license:expat)))
10873
10874
10875(define-public ghc-tagged
10876 (package
10877 (name "ghc-tagged")
f0f3756a 10878 (version "0.8.6")
dddbc90c
RV
10879 (source
10880 (origin
10881 (method url-fetch)
10882 (uri (string-append
10883 "https://hackage.haskell.org/package/tagged/tagged-"
10884 version
10885 ".tar.gz"))
10886 (sha256
10887 (base32
f0f3756a 10888 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10889 (build-system haskell-build-system)
10890 (arguments
10891 `(#:cabal-revision
f0f3756a 10892 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10893 (inputs
10894 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10895 (home-page "https://hackage.haskell.org/package/tagged")
10896 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10897 (description "This library provides phantom types for Haskell 98, to avoid
10898having to unsafely pass dummy arguments.")
10899 (license license:bsd-3)))
10900
10901(define-public ghc-tar
10902 (package
10903 (name "ghc-tar")
ec83929f 10904 (version "0.5.1.1")
dddbc90c
RV
10905 (source
10906 (origin
10907 (method url-fetch)
10908 (uri (string-append
10909 "https://hackage.haskell.org/package/tar/tar-"
10910 version ".tar.gz"))
10911 (sha256
10912 (base32
ec83929f 10913 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10914 (build-system haskell-build-system)
10915 ;; FIXME: 2/24 tests fail.
10916 (arguments `(#:tests? #f))
10917 (inputs
10918 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10919 ("ghc-quickcheck" ,ghc-quickcheck)
10920 ("ghc-tasty" ,ghc-tasty)
10921 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10922 (home-page "https://hackage.haskell.org/package/tar")
10923 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10924 (description
10925 "This library is for working with \\\"@.tar@\\\" archive files.
10926It can read and write a range of common variations of the tar archive format
10927including V7, POSIX USTAR and GNU formats. It provides support for packing and
10928unpacking portable archives. This makes it suitable for distribution but not
10929backup because details like file ownership and exact permissions are not
10930preserved. It also provides features for random access to archive content using
10931an index.")
10932 (license license:bsd-3)))
10933
f8d17902
TS
10934(define-public ghc-tar-conduit
10935 (package
10936 (name "ghc-tar-conduit")
10937 (version "0.3.2")
10938 (source
10939 (origin
10940 (method url-fetch)
10941 (uri (string-append "https://hackage.haskell.org/package/"
10942 "tar-conduit/tar-conduit-" version ".tar.gz"))
10943 (sha256
10944 (base32
10945 "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80"))))
10946 (build-system haskell-build-system)
10947 (inputs
10948 `(("ghc-conduit" ,ghc-conduit)
10949 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
10950 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
10951 (native-inputs
10952 `(("ghc-quickcheck" ,ghc-quickcheck)
10953 ("ghc-conduit-extra" ,ghc-conduit-extra)
10954 ("ghc-hspec" ,ghc-hspec)
10955 ("ghc-hspec" ,ghc-hspec)
10956 ("ghc-weigh" ,ghc-weigh)))
10957 (home-page "https://github.com/snoyberg/tar-conduit#readme")
10958 (synopsis "Extract and create tar files using conduit for streaming")
10959 (description "This library provides a conduit-based, streaming
10960interface for extracting and creating tar files.")
10961 (license license:expat)))
10962
dddbc90c
RV
10963(define-public ghc-temporary
10964 (package
10965 (name "ghc-temporary")
10966 (version "1.3")
10967 (source
10968 (origin
10969 (method url-fetch)
10970 (uri (string-append
10971 "https://hackage.haskell.org/package/temporary/temporary-"
10972 version
10973 ".tar.gz"))
10974 (sha256
10975 (base32
10976 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10977 (build-system haskell-build-system)
10978 (inputs
10979 `(("ghc-exceptions" ,ghc-exceptions)
10980 ("ghc-random" ,ghc-random)))
10981 (native-inputs
10982 `(("ghc-base-compat" ,ghc-base-compat)
10983 ("ghc-tasty" ,ghc-tasty)
10984 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10985 (home-page "https://www.github.com/batterseapower/temporary")
10986 (synopsis "Temporary file and directory support")
10987 (description "The functions for creating temporary files and directories
10988in the Haskelll base library are quite limited. This library just repackages
10989the Cabal implementations of its own temporary file and folder functions so
10990that you can use them without linking against Cabal or depending on it being
10991installed.")
10992 (license license:bsd-3)))
10993
10994(define-public ghc-temporary-rc
10995 (package
10996 (name "ghc-temporary-rc")
10997 (version "1.2.0.3")
10998 (source
10999 (origin
11000 (method url-fetch)
11001 (uri (string-append
11002 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
11003 version
11004 ".tar.gz"))
11005 (sha256
11006 (base32
11007 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
11008 (build-system haskell-build-system)
11009 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
11010 (home-page
11011 "https://www.github.com/feuerbach/temporary")
11012 (synopsis
11013 "Portable temporary file and directory support")
11014 (description
11015 "The functions for creating temporary files and directories in the base
11016library are quite limited. The unixutils package contains some good ones, but
11017they aren't portable to Windows. This library just repackages the Cabal
11018implementations of its own temporary file and folder functions so that you can
11019use them without linking against Cabal or depending on it being installed.
11020This is a better maintained fork of the \"temporary\" package.")
11021 (license license:bsd-3)))
11022
11023(define-public ghc-terminal-size
11024 (package
11025 (name "ghc-terminal-size")
11026 (version "0.3.2.1")
11027 (source (origin
11028 (method url-fetch)
11029 (uri (string-append
11030 "https://hackage.haskell.org/package/terminal-size/"
11031 "terminal-size-" version ".tar.gz"))
11032 (sha256
11033 (base32
11034 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
11035 (build-system haskell-build-system)
11036 (home-page "https://hackage.haskell.org/package/terminal-size")
11037 (synopsis "Get terminal window height and width")
11038 (description "Get terminal window height and width without ncurses
11039dependency.")
11040 (license license:bsd-3)))
11041
11042(define-public ghc-texmath
11043 (package
11044 (name "ghc-texmath")
7fec7e66 11045 (version "0.11.3")
dddbc90c
RV
11046 (source (origin
11047 (method url-fetch)
11048 (uri (string-append "https://hackage.haskell.org/package/"
11049 "texmath/texmath-" version ".tar.gz"))
11050 (sha256
11051 (base32
7fec7e66 11052 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
11053 (build-system haskell-build-system)
11054 (inputs
11055 `(("ghc-syb" ,ghc-syb)
11056 ("ghc-network-uri" ,ghc-network-uri)
11057 ("ghc-split" ,ghc-split)
11058 ("ghc-temporary" ,ghc-temporary)
11059 ("ghc-utf8-string" ,ghc-utf8-string)
11060 ("ghc-xml" ,ghc-xml)
11061 ("ghc-pandoc-types" ,ghc-pandoc-types)))
11062 (home-page "https://github.com/jgm/texmath")
11063 (synopsis "Conversion between formats used to represent mathematics")
11064 (description
11065 "The texmath library provides functions to read and write TeX math,
11066presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
11067Office). Support is also included for converting math formats to pandoc's
11068native format (allowing conversion, via pandoc, to a variety of different
11069markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
11070it can parse and apply LaTeX macros.")
11071 (license license:gpl2+)))
11072
11073(define-public ghc-text-binary
11074 (package
11075 (name "ghc-text-binary")
11076 (version "0.2.1.1")
11077 (source
11078 (origin
11079 (method url-fetch)
11080 (uri (string-append "https://hackage.haskell.org/package/"
11081 "text-binary/text-binary-"
11082 version ".tar.gz"))
11083 (sha256
11084 (base32
11085 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
11086 (build-system haskell-build-system)
11087 (home-page "https://github.com/kawu/text-binary")
11088 (synopsis "Binary instances for text types")
11089 (description
11090 "This package provides a compatibility layer providing @code{Binary}
11091instances for strict and lazy text types for versions older than 1.2.1 of the
11092text package.")
11093 (license license:bsd-2)))
11094
bdc877c4
TS
11095(define-public ghc-text-metrics
11096 (package
11097 (name "ghc-text-metrics")
11098 (version "0.3.0")
11099 (source
11100 (origin
11101 (method url-fetch)
11102 (uri (string-append "https://hackage.haskell.org/package/"
11103 "text-metrics/text-metrics-" version ".tar.gz"))
11104 (sha256
11105 (base32
11106 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
11107 (build-system haskell-build-system)
11108 (inputs
11109 `(("ghc-vector" ,ghc-vector)))
11110 (native-inputs
11111 `(("ghc-quickcheck" ,ghc-quickcheck)
11112 ("ghc-hspec" ,ghc-hspec)))
11113 (arguments
11114 `(#:cabal-revision
11115 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
11116 (home-page "https://github.com/mrkkrp/text-metrics")
11117 (synopsis "Calculate various string metrics efficiently")
11118 (description "This library provides tools to calculate various
11119string metrics efficiently.")
11120 (license license:bsd-3)))
11121
dddbc90c
RV
11122(define-public ghc-tf-random
11123 (package
11124 (name "ghc-tf-random")
11125 (version "0.5")
11126 (outputs '("out" "doc"))
11127 (source
11128 (origin
11129 (method url-fetch)
11130 (uri (string-append
11131 "https://hackage.haskell.org/package/tf-random/tf-random-"
11132 version
11133 ".tar.gz"))
11134 (sha256
11135 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
11136 (build-system haskell-build-system)
11137 (inputs
11138 `(("ghc-primitive" ,ghc-primitive)
11139 ("ghc-random" ,ghc-random)))
11140 (home-page "https://hackage.haskell.org/package/tf-random")
11141 (synopsis "High-quality splittable pseudorandom number generator")
11142 (description "This package contains an implementation of a high-quality
11143splittable pseudorandom number generator. The generator is based on a
11144cryptographic hash function built on top of the ThreeFish block cipher. See
11145the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
11146Hashing\" by Claessen, Pałka for details and the rationale of the design.")
11147 (license license:bsd-3)))
11148
11149(define-public ghc-th-abstraction
11150 (package
11151 (name "ghc-th-abstraction")
1188eabb 11152 (version "0.3.1.0")
dddbc90c
RV
11153 (source
11154 (origin
11155 (method url-fetch)
11156 (uri (string-append "https://hackage.haskell.org/package/"
11157 "th-abstraction/th-abstraction-"
11158 version ".tar.gz"))
11159 (sha256
11160 (base32
1188eabb 11161 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
11162 (build-system haskell-build-system)
11163 (home-page "https://github.com/glguy/th-abstraction")
11164 (synopsis "Nicer interface for reified information about data types")
11165 (description
11166 "This package normalizes variations in the interface for inspecting
11167datatype information via Template Haskell so that packages and support a
11168single, easier to use informational datatype while supporting many versions of
11169Template Haskell.")
11170 (license license:isc)))
11171
11172(define-public ghc-th-expand-syns
11173 (package
11174 (name "ghc-th-expand-syns")
8c766600 11175 (version "0.4.5.0")
dddbc90c
RV
11176 (source (origin
11177 (method url-fetch)
11178 (uri (string-append "https://hackage.haskell.org/package/"
11179 "th-expand-syns/th-expand-syns-"
11180 version ".tar.gz"))
11181 (sha256
11182 (base32
8c766600 11183 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
11184 (build-system haskell-build-system)
11185 (inputs
11186 `(("ghc-syb" ,ghc-syb)))
11187 (home-page "https://hackage.haskell.org/package/th-expand-syns")
11188 (synopsis "Expands type synonyms in Template Haskell ASTs")
11189 (description
11190 "This package enables users to expand type synonyms in Template Haskell
11191@dfn{abstract syntax trees} (ASTs).")
11192 (license license:bsd-3)))
11193
11194(define-public ghc-th-lift
11195 (package
11196 (name "ghc-th-lift")
bd76b20a 11197 (version "0.8.0.1")
dddbc90c
RV
11198 (source (origin
11199 (method url-fetch)
11200 (uri (string-append "https://hackage.haskell.org/package/"
11201 "th-lift/th-lift-" version ".tar.gz"))
11202 (sha256
11203 (base32
bd76b20a 11204 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
11205 (build-system haskell-build-system)
11206 (inputs
11207 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
11208 (home-page "https://github.com/mboes/th-lift")
11209 (synopsis "Derive Template Haskell's Lift class for datatypes")
11210 (description
11211 "This is a Haskell library to derive Template Haskell's Lift class for
11212datatypes.")
11213 (license license:bsd-3)))
11214
11215(define-public ghc-th-lift-instances
11216 (package
11217 (name "ghc-th-lift-instances")
d3db399e 11218 (version "0.1.14")
dddbc90c
RV
11219 (source
11220 (origin
11221 (method url-fetch)
11222 (uri (string-append "https://hackage.haskell.org/package/"
11223 "th-lift-instances/th-lift-instances-"
11224 version ".tar.gz"))
11225 (sha256
11226 (base32
d3db399e 11227 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
11228 (build-system haskell-build-system)
11229 (inputs
11230 `(("ghc-th-lift" ,ghc-th-lift)
11231 ("ghc-vector" ,ghc-vector)
11232 ("ghc-quickcheck" ,ghc-quickcheck)))
11233 (home-page "https://github.com/bennofs/th-lift-instances/")
11234 (synopsis "Lift instances for template-haskell for common data types.")
11235 (description "Most data types in the Haskell platform do not have Lift
11236instances. This package provides orphan instances for @code{containers},
11237@code{text}, @code{bytestring} and @code{vector}.")
11238 (license license:bsd-3)))
11239
11240(define-public ghc-th-orphans
11241 (package
11242 (name "ghc-th-orphans")
882b23e2 11243 (version "0.13.9")
dddbc90c
RV
11244 (source (origin
11245 (method url-fetch)
11246 (uri (string-append "https://hackage.haskell.org/package/"
11247 "th-orphans/th-orphans-" version ".tar.gz"))
11248 (sha256
11249 (base32
882b23e2 11250 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
11251 (build-system haskell-build-system)
11252 (inputs
11253 `(("ghc-th-lift" ,ghc-th-lift)
11254 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
11255 ("ghc-th-reify-many" ,ghc-th-reify-many)
11256 ("ghc-generic-deriving" ,ghc-generic-deriving)))
11257 (native-inputs
11258 `(("ghc-hspec" ,ghc-hspec)))
11259 (home-page "https://hackage.haskell.org/package/th-orphans")
11260 (synopsis "Orphan instances for TH datatypes")
11261 (description
11262 "This package provides orphan instances for Template Haskell datatypes. In particular,
11263instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
11264and @code{Eq} instances. These instances used to live in the haskell-src-meta
11265package, and that's where the version number started.")
11266 (license license:bsd-3)))
11267
11268(define-public ghc-threads
11269 (package
11270 (name "ghc-threads")
11271 (version "0.5.1.6")
11272 (source
11273 (origin
11274 (method url-fetch)
11275 (uri (string-append "https://hackage.haskell.org/package/"
11276 "threads/threads-" version ".tar.gz"))
11277 (sha256
11278 (base32
11279 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
11280 (build-system haskell-build-system)
11281 (native-inputs
11282 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
11283 ("ghc-hunit" ,ghc-hunit)
11284 ("ghc-test-framework" ,ghc-test-framework)
11285 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
11286 (home-page "https://github.com/basvandijk/threads")
11287 (synopsis "Fork threads and wait for their result")
11288 (description "This package provides functions to fork threads and
11289wait for their result, whether it's an exception or a normal value.
11290Besides waiting for the termination of a single thread this package also
11291provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
11292package is similar to the @code{threadmanager}, @code{async} and
11293@code{spawn} packages. The advantages of this package are:
11294
dddbc90c
RV
11295@itemize
11296@item Simpler API.
11297@item More efficient in both space and time.
11298@item No space-leak when forking a large number of threads.
11299@item Correct handling of asynchronous exceptions.
11300@item GHC specific functionality like @code{forkOn} and
11301@code{forkIOWithUnmask}.
11302@end itemize")
11303 (license license:bsd-3)))
11304
11305(define-public ghc-th-reify-many
11306 (package
11307 (name "ghc-th-reify-many")
32d4a6ae 11308 (version "0.1.9")
dddbc90c
RV
11309 (source (origin
11310 (method url-fetch)
11311 (uri (string-append "https://hackage.haskell.org/package/"
11312 "th-reify-many/th-reify-many-"
11313 version ".tar.gz"))
11314 (sha256
11315 (base32
32d4a6ae 11316 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
11317 (build-system haskell-build-system)
11318 (inputs
11319 `(("ghc-safe" ,ghc-safe)
11320 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
11321 (home-page "https://github.com/mgsloan/th-reify-many")
11322 (synopsis "Recurseively reify template haskell datatype info")
11323 (description
11324 "th-reify-many provides functions for recursively reifying top level
11325declarations. The main intended use case is for enumerating the names of
11326datatypes reachable from an initial datatype, and passing these names to some
11327function which generates instances.")
11328 (license license:bsd-3)))
11329
75cfc9a2
TS
11330(define-public ghc-time-compat
11331 (package
11332 (name "ghc-time-compat")
11333 (version "1.9.2.2")
11334 (source
11335 (origin
11336 (method url-fetch)
11337 (uri (string-append "https://hackage.haskell.org/package/"
11338 "time-compat/time-compat-" version ".tar.gz"))
11339 (sha256
11340 (base32
11341 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
11342 (build-system haskell-build-system)
11343 (inputs
11344 `(("ghc-base-orphans" ,ghc-base-orphans)))
11345 (native-inputs
11346 `(("ghc-hunit" ,ghc-hunit)
11347 ("ghc-base-compat" ,ghc-base-compat)
11348 ("ghc-quickcheck" ,ghc-quickcheck)
11349 ("ghc-tagged" ,ghc-tagged)
11350 ("ghc-tasty" ,ghc-tasty)
11351 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11352 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11353 (arguments
11354 `(#:cabal-revision
11355 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
11356 (home-page "https://github.com/phadej/time-compat")
11357 (synopsis "Compatibility package for time")
11358 (description "This packages tries to compat as many @code{time}
11359features as possible.")
11360 (license license:bsd-3)))
11361
dddbc90c
RV
11362(define-public ghc-time-locale-compat
11363 (package
11364 (name "ghc-time-locale-compat")
11365 (version "0.1.1.5")
11366 (source
11367 (origin
11368 (method url-fetch)
11369 (uri (string-append "https://hackage.haskell.org/package/"
11370 "time-locale-compat/time-locale-compat-"
11371 version ".tar.gz"))
11372 (sha256
11373 (base32
11374 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
11375 (build-system haskell-build-system)
11376 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
11377 (home-page "https://github.com/khibino/haskell-time-locale-compat")
11378 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
11379 (description "This package contains a wrapped name module for
11380@code{TimeLocale}.")
11381 (license license:bsd-3)))
11382
c022a4d4
TS
11383(define-public ghc-time-manager
11384 (package
11385 (name "ghc-time-manager")
11386 (version "0.0.0")
11387 (source
11388 (origin
11389 (method url-fetch)
11390 (uri (string-append "https://hackage.haskell.org/package/"
11391 "time-manager/time-manager-" version ".tar.gz"))
11392 (sha256
11393 (base32
11394 "1nzwj0fxz370ks6vr1sylcidx33rnqq45y3q9yv9n4dj43nid9lh"))))
11395 (build-system haskell-build-system)
11396 (inputs
11397 `(("ghc-auto-update" ,ghc-auto-update)))
11398 (home-page "https://github.com/yesodweb/wai")
11399 (synopsis "Scalable timer")
11400 (description "This library contains scalable timer functions provided by a
11401timer manager.")
11402 (license license:expat)))
11403
7bbfa392
JS
11404(define-public ghc-timeit
11405 (package
11406 (name "ghc-timeit")
11407 (version "2.0")
11408 (source
11409 (origin
11410 (method url-fetch)
11411 (uri
11412 (string-append
11413 "https://hackage.haskell.org/package/timeit/timeit-"
11414 version ".tar.gz"))
11415 (sha256
11416 (base32
11417 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
11418 (build-system haskell-build-system)
11419 (home-page "https://github.com/merijn/timeit")
11420 (synopsis "Time monadic computations with an IO base")
11421 (description "This package provides a simple wrapper to show the
11422used CPU time of monadic computation with an IO base.")
11423 (license license:bsd-3)))
11424
2ed8bd2d
JS
11425(define-public ghc-timezone-series
11426 (package
11427 (name "ghc-timezone-series")
11428 (version "0.1.9")
11429 (source
11430 (origin
11431 (method url-fetch)
11432 (uri
11433 (string-append
11434 "mirror://hackage/package/timezone-series/timezone-series-"
11435 version ".tar.gz"))
11436 (sha256
11437 (base32
11438 "1blwgnyzqn917rgqkl4dncv9whv3xmk0lav040qq0214vksmvlz5"))))
11439 (build-system haskell-build-system)
11440 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11441 (synopsis "Enhanced timezone handling for Time")
11442 (description
11443 "This package endows @code{Data.Time}, from the time package, with several
11444data types and functions for enhanced processing of timezones. For one way to
11445create timezone series, see the ghc-timezone-olson package.")
11446 (license license:bsd-3)))
11447
ff0f5786
JS
11448(define-public ghc-timezone-olson
11449 (package
11450 (name "ghc-timezone-olson")
11451 (version "0.1.9")
11452 (source
11453 (origin
11454 (method url-fetch)
11455 (uri
11456 (string-append
11457 "mirror://hackage/package/timezone-olson/timezone-olson-"
11458 version ".tar.gz"))
11459 (sha256
11460 (base32
11461 "05abywx1nrcaz0nqzfy4zw62bc5qd7pdfnjvv4drxkwv084ha8rj"))))
11462 (build-system haskell-build-system)
11463 (inputs
11464 `(("ghc-timezone-series" ,ghc-timezone-series)
11465 ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)))
11466 (home-page "https://archives.haskell.org/projects.haskell.org/time-ng/")
11467 (synopsis "Parser and renderer for binary Olson timezone files")
11468 (description
11469 "A parser and renderer for binary Olson timezone files whose format
11470is specified by the tzfile(5) man page on Unix-like systems. For more
11471information about this format, see
11472@url{http://www.iana.org/time-zones/repository/tz-link.html}. Functions
11473are provided for converting the parsed data into @code{TimeZoneSeries}
11474objects from the timezone-series package.")
11475 (license license:bsd-3)))
11476
dddbc90c
RV
11477(define-public ghc-tldr
11478 (package
11479 (name "ghc-tldr")
871ceb31 11480 (version "0.4.0.2")
dddbc90c
RV
11481 (source
11482 (origin
11483 (method url-fetch)
11484 (uri (string-append
11485 "https://hackage.haskell.org/package/tldr/tldr-"
11486 version
11487 ".tar.gz"))
11488 (sha256
11489 (base32
871ceb31 11490 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
11491 (build-system haskell-build-system)
11492 (inputs
11493 `(("ghc-cmark" ,ghc-cmark)
11494 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
11495 ("ghc-typed-process" ,ghc-typed-process)
11496 ("ghc-semigroups" ,ghc-semigroups)))
11497 (native-inputs
11498 `(("ghc-tasty" ,ghc-tasty)
11499 ("ghc-tasty-golden" ,ghc-tasty-golden)))
11500 (home-page "https://github.com/psibi/tldr-hs#readme")
11501 (synopsis "Haskell tldr client")
11502 (description "This package provides the @command{tldr} command and a
11503Haskell client library allowing users to update and view @code{tldr} pages
11504from a shell. The @code{tldr} pages are a community effort to simplify the
11505man pages with practical examples.")
11506 (license license:bsd-3)))
11507
11508(define-public ghc-transformers-base
11509 (package
11510 (name "ghc-transformers-base")
11511 (version "0.4.5.2")
11512 (source
11513 (origin
11514 (method url-fetch)
11515 (uri (string-append
11516 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
11517 version
11518 ".tar.gz"))
11519 (sha256
11520 (base32
11521 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
11522 (build-system haskell-build-system)
11523 (inputs
11524 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
11525 (home-page
11526 "https://hackage.haskell.org/package/transformers-compat")
11527 (synopsis
11528 "Backported transformer library")
11529 (description
11530 "Backported versions of types that were added to transformers in
11531transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
11532compatibility to run on old versions of the platform.")
11533 (license license:bsd-3)))
11534
11535(define-public ghc-transformers-compat
11536 (package
11537 (name "ghc-transformers-compat")
1c9c4d58 11538 (version "0.6.5")
dddbc90c
RV
11539 (source
11540 (origin
11541 (method url-fetch)
11542 (uri (string-append
11543 "https://hackage.haskell.org/package/transformers-compat"
11544 "/transformers-compat-" version ".tar.gz"))
11545 (sha256
11546 (base32
1c9c4d58 11547 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
11548 (build-system haskell-build-system)
11549 (home-page "https://github.com/ekmett/transformers-compat/")
11550 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
11551 (description "This package includes backported versions of types that were
11552added to transformers in transformers 0.3 and 0.4 for users who need strict
11553transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
11554but also need those types.")
11555 (license license:bsd-3)))
11556
11557(define-public ghc-tree-diff
11558 (package
11559 (name "ghc-tree-diff")
b4e26067 11560 (version "0.1")
dddbc90c
RV
11561 (source
11562 (origin
11563 (method url-fetch)
11564 (uri (string-append
11565 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
11566 version
11567 ".tar.gz"))
11568 (sha256
11569 (base32
b4e26067 11570 "1156nbqn0pn9lp4zjsy4vv5g5wmy4zxwmbqdgvq349rydynh3ng3"))))
dddbc90c 11571 (build-system haskell-build-system)
dddbc90c
RV
11572 (inputs
11573 `(("ghc-aeson" ,ghc-aeson)
11574 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11575 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11576 ("ghc-base-compat" ,ghc-base-compat)
b4e26067 11577 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
dddbc90c 11578 ("ghc-hashable" ,ghc-hashable)
dddbc90c
RV
11579 ("ghc-parsers" ,ghc-parsers)
11580 ("ghc-quickcheck" ,ghc-quickcheck)
11581 ("ghc-scientific" ,ghc-scientific)
11582 ("ghc-tagged" ,ghc-tagged)
11583 ("ghc-unordered-containers" ,ghc-unordered-containers)
11584 ("ghc-uuid-types" ,ghc-uuid-types)
11585 ("ghc-vector" ,ghc-vector)))
11586 (native-inputs
11587 `(("ghc-base-compat" ,ghc-base-compat)
11588 ("ghc-quickcheck" ,ghc-quickcheck)
11589 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11590 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11591 ("ghc-trifecta" ,ghc-trifecta)
11592 ("ghc-tasty" ,ghc-tasty)
11593 ("ghc-tasty-golden" ,ghc-tasty-golden)
11594 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11595 (home-page "https://github.com/phadej/tree-diff")
11596 (synopsis "Compute difference between (expression) trees")
11597 (description "This Haskell library provides a function for computing
11598the difference between (expression) trees. It also provides a way to
11599compute the difference between arbitrary abstract datatypes (ADTs) using
11600@code{Generics}-derivable helpers.")
11601 (license license:bsd-3)))
11602
11603(define-public ghc-trifecta
11604 (package
11605 (name "ghc-trifecta")
11606 (version "2")
11607 (source (origin
11608 (method url-fetch)
11609 (uri (string-append
11610 "https://hackage.haskell.org/package/trifecta/"
11611 "trifecta-" version ".tar.gz"))
11612 (sha256
11613 (base32
11614 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
11615 (build-system haskell-build-system)
5ffe8cfd
TS
11616 (arguments
11617 `(#:tests? #f ; doctest suite fails to build on i686
11618 #:cabal-revision
11619 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
11620 (inputs
11621 `(("ghc-reducers" ,ghc-reducers)
11622 ("ghc-semigroups" ,ghc-semigroups)
11623 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
11624 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
11625 ("ghc-blaze-builder" ,ghc-blaze-builder)
11626 ("ghc-blaze-html" ,ghc-blaze-html)
11627 ("ghc-blaze-markup" ,ghc-blaze-markup)
11628 ("ghc-charset" ,ghc-charset)
11629 ("ghc-comonad" ,ghc-comonad)
11630 ("ghc-fingertree" ,ghc-fingertree)
11631 ("ghc-hashable" ,ghc-hashable)
11632 ("ghc-lens" ,ghc-lens)
11633 ("ghc-parsers" ,ghc-parsers)
11634 ("ghc-profunctors" ,ghc-profunctors)
11635 ("ghc-unordered-containers" ,ghc-unordered-containers)
11636 ("ghc-utf8-string" ,ghc-utf8-string)))
11637 (native-inputs
11638 `(("cabal-doctest" ,cabal-doctest)
11639 ("ghc-doctest" ,ghc-doctest)
11640 ("ghc-quickcheck" ,ghc-quickcheck)))
11641 (home-page "https://github.com/ekmett/trifecta/")
11642 (synopsis "Parser combinator library with convenient diagnostics")
11643 (description "Trifecta is a modern parser combinator library for Haskell,
11644with slicing and Clang-style colored diagnostics.")
11645 (license license:bsd-3)))
11646
11647(define-public ghc-tuple-th
11648 (package
11649 (name "ghc-tuple-th")
11650 (version "0.2.5")
11651 (source
11652 (origin
11653 (method url-fetch)
11654 (uri (string-append "https://hackage.haskell.org/package/"
11655 "tuple-th-" version "/"
11656 "tuple-th-" version ".tar.gz"))
11657 (sha256
11658 (base32
11659 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
11660 (build-system haskell-build-system)
11661 (home-page "https://github.com/DanielSchuessler/tuple-th")
11662 (synopsis "Generate utility functions for tuples of statically known size
11663for Haskell")
11664 (description "This Haskell package contains Template Haskell functions for
11665generating functions similar to those in @code{Data.List} for tuples of
11666statically known size.")
11667 (license license:bsd-3)))
11668
11669(define-public ghc-typed-process
11670 (package
11671 (name "ghc-typed-process")
72fb84a5 11672 (version "0.2.6.0")
dddbc90c
RV
11673 (source
11674 (origin
11675 (method url-fetch)
11676 (uri (string-append "https://hackage.haskell.org/package/"
11677 "typed-process/typed-process-"
11678 version ".tar.gz"))
11679 (sha256
11680 (base32
72fb84a5 11681 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
11682 (build-system haskell-build-system)
11683 (inputs
72fb84a5
TS
11684 `(("ghc-async" ,ghc-async)
11685 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
11686 (native-inputs
11687 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
11688 ("ghc-hspec" ,ghc-hspec)
11689 ("hspec-discover" ,hspec-discover)
11690 ("ghc-temporary" ,ghc-temporary)))
11691 (home-page "https://haskell-lang.org/library/typed-process")
11692 (synopsis "Run external processes with strong typing of streams")
11693 (description
11694 "This library provides the ability to launch and interact with external
11695processes. It wraps around the @code{process} library, and intends to improve
11696upon it.")
11697 (license license:expat)))
11698
d392f803
AG
11699(define-public ghc-unagi-chan
11700 (package
11701 (name "ghc-unagi-chan")
11702 (version "0.4.1.2")
11703 (source
11704 (origin
11705 (method url-fetch)
11706 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
11707 "/unagi-chan-" version ".tar.gz"))
11708 (sha256
11709 (base32
11710 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
11711 (build-system haskell-build-system)
11712 (inputs
11713 `(("ghc-atomic-primops" ,ghc-atomic-primops)
11714 ("ghc-primitive" ,ghc-primitive)))
11715 (arguments
11716 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
11717 #:cabal-revision
11718 ("1"
11719 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
11720 (home-page "http://hackage.haskell.org/package/unagi-chan")
11721 (synopsis "Fast concurrent queues with a Chan-like API, and more")
11722 (description
11723 "This library provides implementations of concurrent FIFO queues (for
11724both general boxed and primitive unboxed values) that are fast, perform well
11725under contention, and offer a Chan-like interface. The library may be of
11726limited usefulness outside of x86 architectures where the fetch-and-add
11727instruction is not available.")
11728 (license license:bsd-3)))
11729
dddbc90c
RV
11730(define-public ghc-unbounded-delays
11731 (package
11732 (name "ghc-unbounded-delays")
11733 (version "0.1.1.0")
11734 (source
11735 (origin
11736 (method url-fetch)
11737 (uri (string-append
11738 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
11739 version
11740 ".tar.gz"))
11741 (sha256
11742 (base32
11743 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
11744 (build-system haskell-build-system)
11745 (home-page "https://github.com/basvandijk/unbounded-delays")
11746 (synopsis "Unbounded thread delays and timeouts")
11747 (description "The @code{threadDelay} and @code{timeout} functions from the
11748Haskell base library use the bounded @code{Int} type for specifying the delay
11749or timeout period. This package provides alternative functions which use the
11750unbounded @code{Integer} type.")
11751 (license license:bsd-3)))
11752
11753(define-public ghc-unexceptionalio
11754 (package
11755 (name "ghc-unexceptionalio")
11756 (version "0.4.0")
11757 (source
11758 (origin
11759 (method url-fetch)
11760 (uri (string-append "https://hackage.haskell.org/package/"
11761 "unexceptionalio-" version "/" "unexceptionalio-"
11762 version ".tar.gz"))
11763 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
11764 (build-system haskell-build-system)
11765 (home-page "https://github.com/singpolyma/unexceptionalio")
11766 (synopsis "IO without any non-error, synchronous exceptions")
11767 (description "When you've caught all the exceptions that can be
11768handled safely, this is what you're left with.")
11769 (license license:isc)))
11770
b69d4aa7
TS
11771(define-public ghc-unicode-transforms
11772 (package
11773 (name "ghc-unicode-transforms")
11774 (version "0.3.6")
11775 (source
11776 (origin
11777 (method url-fetch)
11778 (uri (string-append "https://hackage.haskell.org/package/"
11779 "unicode-transforms/unicode-transforms-"
11780 version ".tar.gz"))
11781 (sha256
11782 (base32
11783 "1akscvyssif4hki3g6hy0jmjyr8cqly1whzvzj0km2b3qh0x09l3"))))
11784 (build-system haskell-build-system)
11785 (inputs
11786 `(("ghc-bitarray" ,ghc-bitarray)))
11787 (native-inputs
11788 `(("ghc-quickcheck" ,ghc-quickcheck)
11789 ("ghc-getopt-generics" ,ghc-getopt-generics)
11790 ("ghc-split" ,ghc-split)))
11791 (home-page "https://github.com/composewell/unicode-transforms")
11792 (synopsis "Unicode normalization")
11793 (description "This library provides tools for fast Unicode 12.1.0
11794normalization in Haskell (normalization forms C, KC, D, and KD).")
11795 (license license:bsd-3)))
11796
dddbc90c
RV
11797(define-public ghc-union-find
11798 (package
11799 (name "ghc-union-find")
11800 (version "0.2")
11801 (source (origin
11802 (method url-fetch)
11803 (uri (string-append
11804 "https://hackage.haskell.org/package/union-find/union-find-"
11805 version ".tar.gz"))
11806 (sha256
11807 (base32
11808 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
11809 (build-system haskell-build-system)
11810 (home-page "https://github.com/nominolo/union-find")
11811 (synopsis "Efficient union and equivalence testing of sets")
11812 (description
11813 "The Union/Find algorithm implements these operations in (effectively)
11814constant-time:
11815@enumerate
11816@item Check whether two elements are in the same equivalence class.
11817@item Create a union of two equivalence classes.
11818@item Look up the descriptor of the equivalence class.
11819@end enumerate\n")
11820 (license license:bsd-3)))
11821
11822(define-public ghc-uniplate
11823 (package
11824 (name "ghc-uniplate")
11825 (version "1.6.12")
11826 (source
11827 (origin
11828 (method url-fetch)
11829 (uri (string-append
11830 "https://hackage.haskell.org/package/uniplate/uniplate-"
11831 version
11832 ".tar.gz"))
11833 (sha256
11834 (base32
11835 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
11836 (build-system haskell-build-system)
11837 (inputs
11838 `(("ghc-syb" ,ghc-syb)
11839 ("ghc-hashable" ,ghc-hashable)
11840 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11841 (home-page "http://community.haskell.org/~ndm/uniplate/")
11842 (synopsis "Simple, concise and fast generic operations")
11843 (description "Uniplate is a library for writing simple and concise generic
11844operations. Uniplate has similar goals to the original Scrap Your Boilerplate
11845work, but is substantially simpler and faster.")
11846 (license license:bsd-3)))
11847
11848(define-public ghc-unix-compat
11849 (package
11850 (name "ghc-unix-compat")
bc82e9f5 11851 (version "0.5.2")
dddbc90c
RV
11852 (source
11853 (origin
11854 (method url-fetch)
11855 (uri (string-append
11856 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
11857 version
11858 ".tar.gz"))
11859 (sha256
11860 (base32
bc82e9f5 11861 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
11862 (build-system haskell-build-system)
11863 (home-page
11864 "https://github.com/jystic/unix-compat")
11865 (synopsis "Portable POSIX-compatibility layer")
11866 (description
11867 "This package provides portable implementations of parts of the unix
11868package. This package re-exports the unix package when available. When it
11869isn't available, portable implementations are used.")
11870 (license license:bsd-3)))
11871
11872(define-public ghc-unix-time
11873 (package
11874 (name "ghc-unix-time")
fad9cff2 11875 (version "0.4.7")
dddbc90c
RV
11876 (source
11877 (origin
11878 (method url-fetch)
11879 (uri (string-append
11880 "https://hackage.haskell.org/package/unix-time/unix-time-"
11881 version
11882 ".tar.gz"))
11883 (sha256
11884 (base32
fad9cff2 11885 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
11886 (build-system haskell-build-system)
11887 (arguments
11888 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
11889 ; is weird, that should be provided by GHC 7.10.2.
11890 (inputs
11891 `(("ghc-old-time" ,ghc-old-time)
11892 ("ghc-old-locale" ,ghc-old-locale)))
11893 (home-page "https://hackage.haskell.org/package/unix-time")
11894 (synopsis "Unix time parser/formatter and utilities")
11895 (description "This library provides fast parsing and formatting utilities
11896for Unix time in Haskell.")
11897 (license license:bsd-3)))
11898
11899(define-public ghc-unliftio
11900 (package
11901 (name "ghc-unliftio")
a4084db1 11902 (version "0.2.12")
dddbc90c
RV
11903 (source
11904 (origin
11905 (method url-fetch)
11906 (uri (string-append
11907 "https://hackage.haskell.org/package/unliftio/unliftio-"
11908 version
11909 ".tar.gz"))
11910 (sha256
11911 (base32
a4084db1 11912 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
11913 (build-system haskell-build-system)
11914 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
11915 (inputs
11916 `(("ghc-async" ,ghc-async)
11917 ("ghc-unliftio-core" ,ghc-unliftio-core)))
11918 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
11919 (home-page "https://github.com/fpco/unliftio")
11920 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
11921IO (batteries included)")
11922 (description "This Haskell package provides the core @code{MonadUnliftIO}
11923typeclass, a number of common instances, and a collection of common functions
11924working with it.")
11925 (license license:expat)))
11926
11927(define-public ghc-unliftio-core
11928 (package
11929 (name "ghc-unliftio-core")
2ae42618 11930 (version "0.1.2.0")
dddbc90c
RV
11931 (source
11932 (origin
11933 (method url-fetch)
11934 (uri (string-append "https://hackage.haskell.org/package/"
11935 "unliftio-core-" version "/"
11936 "unliftio-core-" version ".tar.gz"))
11937 (sha256
11938 (base32
2ae42618 11939 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
11940 (build-system haskell-build-system)
11941 (arguments
11942 `(#:cabal-revision
2ae42618 11943 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
11944 (home-page
11945 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11946 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11947 (description "This Haskell package provides the core @code{MonadUnliftIO}
11948typeclass, instances for base and transformers, and basic utility
11949functions.")
11950 (license license:expat)))
11951
11952(define-public ghc-unordered-containers
11953 (package
11954 (name "ghc-unordered-containers")
ca01f8d3 11955 (version "0.2.10.0")
dddbc90c
RV
11956 (outputs '("out" "doc"))
11957 (source
11958 (origin
11959 (method url-fetch)
11960 (uri (string-append
11961 "https://hackage.haskell.org/package/unordered-containers"
11962 "/unordered-containers-" version ".tar.gz"))
11963 (sha256
11964 (base32
ca01f8d3 11965 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
11966 (build-system haskell-build-system)
11967 (inputs
11968 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11969 ("ghc-hunit" ,ghc-hunit)
11970 ("ghc-quickcheck" ,ghc-quickcheck)
11971 ("ghc-test-framework" ,ghc-test-framework)
11972 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11973 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11974 ("ghc-hashable" ,ghc-hashable)))
11975 (home-page
11976 "https://github.com/tibbe/unordered-containers")
11977 (synopsis
11978 "Efficient hashing-based container types")
11979 (description
11980 "Efficient hashing-based container types. The containers have been
11981optimized for performance critical use, both in terms of large data quantities
11982and high speed.")
11983 (license license:bsd-3)))
11984
11985(define-public ghc-unordered-containers-bootstrap
11986 (package
11987 (inherit ghc-unordered-containers)
11988 (name "ghc-unordered-containers-bootstrap")
11989 (arguments `(#:tests? #f))
11990 (inputs
11991 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11992 (properties '((hidden? #t)))))
dddbc90c 11993
a52f4c57
JS
11994(define-public ghc-unsafe
11995 (package
11996 (name "ghc-unsafe")
11997 (version "0.0")
11998 (source
11999 (origin
12000 (method url-fetch)
12001 (uri
12002 (string-append
12003 "https://hackage.haskell.org/package/unsafe/unsafe-"
12004 version ".tar.gz"))
12005 (sha256
12006 (base32
12007 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
12008 (build-system haskell-build-system)
12009 (home-page "https://hackage.haskell.org/package/unsafe")
12010 (synopsis "Unified interface to unsafe functions")
12011 (description "Safe Haskell introduced the notion of safe and unsafe
12012modules. In order to make as many as possible modules ``safe'', the
12013well-known unsafe functions were moved to distinguished modules. This
12014makes it hard to write packages that work with both old and new versions
12015of GHC. This package provides a single module System.Unsafe that
12016exports the unsafe functions from the base package. It provides them in
12017a style ready for qualification, that is, you should import them by
12018@code{import qualified System.Unsafe as Unsafe}.")
12019 (license license:bsd-3)))
12020
dddbc90c
RV
12021(define-public ghc-uri-bytestring
12022 (package
12023 (name "ghc-uri-bytestring")
d35ffd39 12024 (version "0.3.2.2")
dddbc90c
RV
12025 (source
12026 (origin
12027 (method url-fetch)
12028 (uri (string-append "https://hackage.haskell.org/package/"
12029 "uri-bytestring-" version "/"
12030 "uri-bytestring-" version ".tar.gz"))
12031 (sha256
12032 (base32
d35ffd39 12033 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
12034 (build-system haskell-build-system)
12035 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
12036 ("ghc-blaze-builder" ,ghc-blaze-builder)
12037 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 12038 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
12039 ("ghc-tasty" ,ghc-tasty)
12040 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
12041 ("ghc-hedgehog" ,ghc-hedgehog)
12042 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 12043 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 12044 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 12045 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
12046 (home-page "https://github.com/Soostone/uri-bytestring")
12047 (synopsis "Haskell URI parsing as ByteStrings")
12048 (description "This Haskell package aims to be an RFC3986 compliant URI
12049parser that uses ByteStrings for parsing and representing the URI data.")
12050 (license license:bsd-3)))
12051
12052(define-public ghc-utf8-string
12053 (package
12054 (name "ghc-utf8-string")
12055 (version "1.0.1.1")
12056 (source
12057 (origin
12058 (method url-fetch)
12059 (uri (string-append
12060 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
12061 version
12062 ".tar.gz"))
12063 (sha256
12064 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
12065 (build-system haskell-build-system)
12066 (arguments
12067 `(#:cabal-revision
12068 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
12069 (home-page "https://github.com/glguy/utf8-string/")
12070 (synopsis "Support for reading and writing UTF8 Strings")
12071 (description
12072 "A UTF8 layer for Strings. The utf8-string package provides operations
12073for encoding UTF8 strings to Word8 lists and back, and for reading and writing
12074UTF8 without truncation.")
12075 (license license:bsd-3)))
12076
12077(define-public ghc-utility-ht
12078 (package
12079 (name "ghc-utility-ht")
12080 (version "0.0.14")
12081 (home-page "https://hackage.haskell.org/package/utility-ht")
12082 (source
12083 (origin
12084 (method url-fetch)
12085 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
12086 (sha256
12087 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
12088 (build-system haskell-build-system)
12089 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
12090 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
12091 (description "This package includes Hakell modules providing various
12092helper functions for Lists, Maybes, Tuples, Functions.")
12093 (license license:bsd-3)))
12094
12095(define-public ghc-uuid
12096 (package
12097 (name "ghc-uuid")
12098 (version "1.3.13")
12099 (source
12100 (origin
12101 (method url-fetch)
12102 (uri (string-append "https://hackage.haskell.org/package/"
12103 "uuid-" version "/"
12104 "uuid-" version ".tar.gz"))
12105 (sha256
12106 (base32
12107 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
12108 (build-system haskell-build-system)
12109 (arguments
12110 `(#:cabal-revision
12111 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
12112 #:phases
12113 (modify-phases %standard-phases
12114 (add-before 'configure 'strip-test-framework-constraints
12115 (lambda _
12116 (substitute* "uuid.cabal"
12117 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
12118 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
12119 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12120 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12121 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12122 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
12123 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
12124 ("ghc-entropy" ,ghc-entropy)
12125 ("ghc-network-info" ,ghc-network-info)
12126 ("ghc-random" ,ghc-random)
12127 ("ghc-uuid-types" ,ghc-uuid-types)))
12128 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12129 ("ghc-quickcheck" ,ghc-quickcheck)
12130 ("ghc-tasty" ,ghc-tasty)
12131 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12132 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12133 (home-page "https://github.com/hvr/uuid")
12134 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
12135 (description "This Haskell library provides utilities creating, comparing,
12136parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
12137 (license license:bsd-3)))
12138
12139(define-public ghc-uuid-types
12140 (package
12141 (name "ghc-uuid-types")
12142 (version "1.0.3")
12143 (source
12144 (origin
12145 (method url-fetch)
12146 (uri (string-append "https://hackage.haskell.org/package/"
12147 "uuid-types-" version "/"
12148 "uuid-types-" version ".tar.gz"))
12149 (sha256
12150 (base32
12151 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
12152 (build-system haskell-build-system)
12153 (arguments
12154 `(#:phases
12155 (modify-phases %standard-phases
12156 (add-before 'configure 'strip-test-framework-constraints
12157 (lambda _
12158 (substitute* "uuid-types.cabal"
12159 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
12160 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
12161 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
12162 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
12163 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12164 (inputs `(("ghc-hashable" ,ghc-hashable)
12165 ("ghc-random" ,ghc-random)))
12166 (native-inputs `(("ghc-hunit" ,ghc-hunit)
12167 ("ghc-quickcheck" ,ghc-quickcheck)
12168 ("ghc-tasty" ,ghc-tasty)
12169 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12170 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12171 (home-page "https://github.com/hvr/uuid")
12172 (synopsis "Haskell type definitions for UUIDs")
12173 (description "This Haskell library contains type definitions for
12174@dfn{Universally Unique Identifiers} or
12175@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
12176functions.")
12177 (license license:bsd-3)))
12178
12179(define-public ghc-validation
12180 (package
12181 (name "ghc-validation")
08397fde 12182 (version "1.1")
dddbc90c
RV
12183 (source
12184 (origin
12185 (method url-fetch)
12186 (uri (string-append
12187 "mirror://hackage/package/validation/validation-"
12188 version
12189 ".tar.gz"))
12190 (sha256
12191 (base32
08397fde 12192 "1acj7mh3581ks405xswxw6667z7y1y0slisg6jvp6chc191ji9l5"))))
dddbc90c
RV
12193 (build-system haskell-build-system)
12194 (arguments
12195 `(#:cabal-revision
08397fde 12196 ("1" "1rrjg9z399k6pb55nv85mlr5bkmdqbjwkvl1cy7ydccdx6ks4syp")))
dddbc90c
RV
12197 (inputs
12198 `(("ghc-semigroups" ,ghc-semigroups)
12199 ("ghc-semigroupoids" ,ghc-semigroupoids)
12200 ("ghc-bifunctors" ,ghc-bifunctors)
12201 ("ghc-lens" ,ghc-lens)))
12202 (native-inputs
12203 `(("ghc-hedgehog" ,ghc-hedgehog)
12204 ("ghc-hunit" ,ghc-hunit)))
12205 (home-page "https://github.com/qfpl/validation")
12206 (synopsis
12207 "Data-type like Either but with an accumulating Applicative")
12208 (description
12209 "A data-type like Either but with differing properties and type-class
12210instances.
12211
12212Library support is provided for this different representation, including
12213@code{lens}-related functions for converting between each and abstracting over
12214their similarities.
12215
12216The @code{Validation} data type is isomorphic to @code{Either}, but has an
12217instance of @code{Applicative} that accumulates on the error side. That is to
12218say, if two (or more) errors are encountered, they are appended using a
12219@{Semigroup} operation.
12220
12221As a consequence of this @code{Applicative} instance, there is no
12222corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
12223example of, \"An applicative functor that is not a monad.\"")
12224 (license license:bsd-3)))
12225
12226(define-public ghc-validity
12227 (package
12228 (name "ghc-validity")
3f1ba75d 12229 (version "0.9.0.2")
dddbc90c
RV
12230 (source
12231 (origin
12232 (method url-fetch)
12233 (uri (string-append
12234 "https://hackage.haskell.org/package/validity/validity-"
12235 version
12236 ".tar.gz"))
12237 (sha256
12238 (base32
3f1ba75d 12239 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
12240 (build-system haskell-build-system)
12241 (native-inputs `(("ghc-hspec" ,ghc-hspec)
12242 ("hspec-discover" ,hspec-discover)))
12243 (home-page
12244 "https://github.com/NorfairKing/validity")
12245 (synopsis "Validity typeclass")
12246 (description
12247 "Values of custom types usually have invariants imposed upon them. This
12248package provides the @code{Validity} type class, which makes these invariants
12249explicit by providing a function to check whether the invariants hold.")
12250 (license license:expat)))
12251
12252(define-public ghc-vault
12253 (package
12254 (name "ghc-vault")
b40a436e 12255 (version "0.3.1.3")
dddbc90c
RV
12256 (source
12257 (origin
12258 (method url-fetch)
12259 (uri (string-append
12260 "https://hackage.haskell.org/package/vault/vault-"
12261 version
12262 ".tar.gz"))
12263 (sha256
12264 (base32
b40a436e 12265 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
12266 (build-system haskell-build-system)
12267 (inputs
12268 `(("ghc-unordered-containers" ,ghc-unordered-containers)
12269 ("ghc-hashable" ,ghc-hashable)
b40a436e 12270 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
12271 (home-page
12272 "https://github.com/HeinrichApfelmus/vault")
12273 (synopsis "Persistent store for arbitrary values")
12274 (description "This package provides vaults for Haskell. A vault is a
12275persistent store for values of arbitrary types. It's like having first-class
12276access to the storage space behind @code{IORefs}. The data structure is
12277analogous to a bank vault, where you can access different bank boxes with
12278different keys; hence the name. Also provided is a @code{locker} type,
12279representing a store for a single element.")
12280 (license license:bsd-3)))
12281
12282(define-public ghc-vector
12283 (package
12284 (name "ghc-vector")
3ad67f6b 12285 (version "0.12.0.3")
dddbc90c
RV
12286 (outputs '("out" "doc"))
12287 (source
12288 (origin
12289 (method url-fetch)
12290 (uri (string-append
12291 "https://hackage.haskell.org/package/vector/vector-"
12292 version
12293 ".tar.gz"))
12294 (sha256
12295 (base32
3ad67f6b 12296 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
12297 (build-system haskell-build-system)
12298 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
12299 ;; disabled for now.
12300 (arguments
3ad67f6b 12301 `(#:tests? #f))
dddbc90c
RV
12302 (inputs
12303 `(("ghc-primitive" ,ghc-primitive)
12304 ("ghc-random" ,ghc-random)
12305 ("ghc-quickcheck" ,ghc-quickcheck)
12306 ;; ("ghc-hunit" ,ghc-hunit)
12307 ;; ("ghc-test-framework" ,ghc-test-framework)
12308 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
12309 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
12310 ))
12311 (home-page "https://github.com/haskell/vector")
12312 (synopsis "Efficient Arrays")
12313 (description "This library provides an efficient implementation of
12314Int-indexed arrays (both mutable and immutable), with a powerful loop
12315optimisation framework.")
12316 (license license:bsd-3)))
12317
12318(define-public ghc-vector-algorithms
12319 (package
12320 (name "ghc-vector-algorithms")
e71f316f 12321 (version "0.8.0.1")
dddbc90c
RV
12322 (source
12323 (origin
12324 (method url-fetch)
12325 (uri (string-append "https://hackage.haskell.org/package/"
12326 "vector-algorithms-" version "/"
12327 "vector-algorithms-" version ".tar.gz"))
12328 (sha256
12329 (base32
e71f316f 12330 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
12331 (build-system haskell-build-system)
12332 (inputs
12333 `(("ghc-vector" ,ghc-vector)))
12334 (native-inputs
12335 `(("ghc-quickcheck" ,ghc-quickcheck)))
12336 (home-page "https://github.com/bos/math-functions")
12337 (synopsis "Algorithms for vector arrays in Haskell")
12338 (description "This Haskell library algorithms for vector arrays.")
12339 (license license:bsd-3)))
12340
12341(define-public ghc-vector-binary-instances
12342 (package
12343 (name "ghc-vector-binary-instances")
ca0701ef 12344 (version "0.2.5.1")
dddbc90c
RV
12345 (source
12346 (origin
12347 (method url-fetch)
12348 (uri (string-append
12349 "https://hackage.haskell.org/package/"
12350 "vector-binary-instances/vector-binary-instances-"
12351 version ".tar.gz"))
12352 (sha256
12353 (base32
ca0701ef 12354 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 12355 (build-system haskell-build-system)
dddbc90c
RV
12356 (inputs
12357 `(("ghc-vector" ,ghc-vector)))
12358 (native-inputs
12359 `(("ghc-tasty" ,ghc-tasty)
12360 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12361 (home-page "https://github.com/bos/vector-binary-instances")
12362 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
12363 (description "This library provides instances of @code{Binary} for the
12364types defined in the @code{vector} package, making it easy to serialize
12365vectors to and from disk. We use the generic interface to vectors, so all
12366vector types are supported. Specific instances are provided for unboxed,
12367boxed and storable vectors.")
12368 (license license:bsd-3)))
12369
12370(define-public ghc-vector-builder
12371 (package
12372 (name "ghc-vector-builder")
1fc05441 12373 (version "0.3.8")
dddbc90c
RV
12374 (source
12375 (origin
12376 (method url-fetch)
12377 (uri (string-append "https://hackage.haskell.org/package/"
12378 "vector-builder-" version "/"
12379 "vector-builder-" version ".tar.gz"))
12380 (sha256
12381 (base32
1fc05441 12382 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
12383 (build-system haskell-build-system)
12384 (inputs `(("ghc-vector" ,ghc-vector)
12385 ("ghc-semigroups" ,ghc-semigroups)
12386 ("ghc-base-prelude" ,ghc-base-prelude)))
12387 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
12388 ("ghc-tasty" ,ghc-tasty)
12389 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12390 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
12391 ("ghc-hunit" ,ghc-hunit)
12392 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
12393 ("ghc-rerebase" ,ghc-rerebase)))
12394 (home-page "https://github.com/nikita-volkov/vector-builder")
12395 (synopsis "Vector builder for Haskell")
12396 (description "This Haskell package provides an API for constructing vectors.
12397It provides the composable @code{Builder} abstraction, which has instances of the
12398@code{Monoid} and @code{Semigroup} classes.
12399
12400You would first use the @code{Builder} abstraction to specify the structure of
12401the vector; then you can execute the builder to actually produce the
12402vector. ")
12403 (license license:expat)))
12404
12405(define-public ghc-vector-th-unbox
12406 (package
12407 (name "ghc-vector-th-unbox")
63056e61 12408 (version "0.2.1.7")
dddbc90c
RV
12409 (source
12410 (origin
12411 (method url-fetch)
12412 (uri (string-append "https://hackage.haskell.org/package/"
12413 "vector-th-unbox-" version "/"
12414 "vector-th-unbox-" version ".tar.gz"))
12415 (sha256
12416 (base32
63056e61 12417 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
12418 (build-system haskell-build-system)
12419 (inputs
12420 `(("ghc-vector" ,ghc-vector)
12421 ("ghc-data-default" ,ghc-data-default)))
12422 (home-page "https://github.com/liyang/vector-th-unbox")
12423 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
12424 (description "This Haskell library provides a Template Haskell
12425deriver for unboxed vectors, given a pair of coercion functions to
12426and from some existing type with an Unbox instance.")
12427 (license license:bsd-3)))
12428
12429(define-public ghc-void
12430 (package
12431 (name "ghc-void")
51889121 12432 (version "0.7.3")
dddbc90c
RV
12433 (source
12434 (origin
12435 (method url-fetch)
12436 (uri (string-append
12437 "https://hackage.haskell.org/package/void/void-"
12438 version
12439 ".tar.gz"))
12440 (sha256
12441 (base32
51889121 12442 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
12443 (build-system haskell-build-system)
12444 (inputs
12445 `(("ghc-semigroups" ,ghc-semigroups)
12446 ("ghc-hashable" ,ghc-hashable)))
12447 (home-page "https://github.com/ekmett/void")
12448 (synopsis
12449 "Logically uninhabited data type")
12450 (description
12451 "A Haskell 98 logically uninhabited data type, used to indicate that a
12452given term should not exist.")
12453 (license license:bsd-3)))
12454
12455(define-public ghc-wave
12456 (package
12457 (name "ghc-wave")
1631a0f7 12458 (version "0.2.0")
dddbc90c
RV
12459 (source (origin
12460 (method url-fetch)
12461 (uri (string-append
12462 "https://hackage.haskell.org/package/wave/wave-"
12463 version
12464 ".tar.gz"))
12465 (sha256
12466 (base32
1631a0f7 12467 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
12468 (build-system haskell-build-system)
12469 (arguments
12470 '(#:phases
12471 (modify-phases %standard-phases
12472 (add-before 'configure 'update-constraints
12473 (lambda _
12474 (substitute* "wave.cabal"
12475 (("temporary.* < 1\\.3")
12476 "temporary >= 1.1 && < 1.4")))))))
12477 (inputs
12478 `(("ghc-cereal" ,ghc-cereal)
12479 ("ghc-data-default-class"
12480 ,ghc-data-default-class)
12481 ("ghc-quickcheck" ,ghc-quickcheck)
12482 ("ghc-temporary" ,ghc-temporary)))
12483 (native-inputs
12484 `(("hspec-discover" ,hspec-discover)
12485 ("ghc-hspec" ,ghc-hspec)))
12486 (home-page "https://github.com/mrkkrp/wave")
12487 (synopsis "Work with WAVE and RF64 files in Haskell")
12488 (description "This package allows you to work with WAVE and RF64
12489files in Haskell.")
12490 (license license:bsd-3)))
12491
12492(define-public ghc-wcwidth
12493 (package
12494 (name "ghc-wcwidth")
12495 (version "0.0.2")
12496 (source
12497 (origin
12498 (method url-fetch)
12499 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
12500 version ".tar.gz"))
12501 (sha256
12502 (base32
12503 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
12504 (build-system haskell-build-system)
12505 (inputs
12506 `(("ghc-setlocale" ,ghc-setlocale)
12507 ("ghc-utf8-string" ,ghc-utf8-string)
12508 ("ghc-attoparsec" ,ghc-attoparsec)))
12509 (home-page "https://github.com/solidsnack/wcwidth/")
12510 (synopsis "Haskell bindings to wcwidth")
12511 (description "This package provides Haskell bindings to your system's
12512native wcwidth and a command line tool to examine the widths assigned by it.
12513The command line tool can compile a width table to Haskell code that assigns
12514widths to the Char type.")
12515 (license license:bsd-3)))
12516
12517(define-public ghc-wcwidth-bootstrap
12518 (package
12519 (inherit ghc-wcwidth)
12520 (name "ghc-wcwidth-bootstrap")
12521 (inputs
12522 `(("ghc-setlocale" ,ghc-setlocale)
12523 ("ghc-utf8-string" ,ghc-utf8-string)
12524 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 12525 (properties '((hidden? #t)))))
dddbc90c
RV
12526
12527(define-public ghc-weigh
12528 (package
12529 (name "ghc-weigh")
b6d9777f 12530 (version "0.0.14")
dddbc90c
RV
12531 (source
12532 (origin
12533 (method url-fetch)
12534 (uri (string-append "https://hackage.haskell.org/package/weigh/"
12535 "weigh-" version ".tar.gz"))
12536 (sha256
12537 (base32
b6d9777f 12538 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
12539 (build-system haskell-build-system)
12540 (inputs
12541 `(("ghc-split" ,ghc-split)
12542 ("ghc-temporary" ,ghc-temporary)))
12543 (home-page "https://github.com/fpco/weigh#readme")
12544 (synopsis "Measure allocations of a Haskell functions/values")
12545 (description "This package provides tools to measure the memory usage of a
12546Haskell value or function.")
12547 (license license:bsd-3)))
12548
12549(define-public ghc-wl-pprint
12550 (package
12551 (name "ghc-wl-pprint")
12552 (version "1.2.1")
12553 (source (origin
12554 (method url-fetch)
12555 (uri (string-append
12556 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
12557 version ".tar.gz"))
12558 (sha256
12559 (base32
12560 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
12561 (build-system haskell-build-system)
12562 (home-page "https://hackage.haskell.org/package/wl-pprint")
12563 (synopsis "Wadler/Leijen pretty printer")
12564 (description
12565 "This is a pretty printing library based on Wadler's paper @i{A Prettier
12566Printer}. This version allows the library user to declare overlapping
12567instances of the @code{Pretty} class.")
12568 (license license:bsd-3)))
12569
12570(define-public ghc-wl-pprint-annotated
12571 (package
12572 (name "ghc-wl-pprint-annotated")
12573 (version "0.1.0.1")
12574 (source
12575 (origin
12576 (method url-fetch)
12577 (uri (string-append
12578 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
12579 version
12580 ".tar.gz"))
12581 (sha256
12582 (base32
12583 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
12584 (build-system haskell-build-system)
12585 (native-inputs
12586 `(("ghc-tasty" ,ghc-tasty)
12587 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
12588 (home-page
12589 "https://github.com/minad/wl-pprint-annotated#readme")
12590 (synopsis
12591 "Wadler/Leijen pretty printer with annotation support")
12592 (description
12593 "Annotations are useful for coloring. This is a limited version of
12594@code{wl-pprint-extras} without support for point effects and without the free
12595monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
12596Compared to @code{annotated-wl-pprint} this library provides a slightly
12597modernized interface.")
12598 (license license:bsd-3)))
12599
12600(define-public ghc-wl-pprint-text
12601 (package
12602 (name "ghc-wl-pprint-text")
12603 (version "1.2.0.0")
12604 (source
12605 (origin
12606 (method url-fetch)
12607 (uri (string-append
12608 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
12609 version ".tar.gz"))
12610 (sha256
12611 (base32
12612 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
12613 (build-system haskell-build-system)
12614 (inputs
12615 `(("ghc-base-compat" ,ghc-base-compat)))
12616 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
12617 (synopsis "Wadler/Leijen Pretty Printer for Text values")
12618 (description
12619 "A clone of wl-pprint for use with the text library.")
12620 (license license:bsd-3)))
12621
12622(define-public ghc-word8
12623 (package
12624 (name "ghc-word8")
12625 (version "0.1.3")
12626 (source
12627 (origin
12628 (method url-fetch)
12629 (uri (string-append
12630 "https://hackage.haskell.org/package/word8/word8-"
12631 version
12632 ".tar.gz"))
12633 (sha256
12634 (base32
12635 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
12636 (build-system haskell-build-system)
12637 (native-inputs
12638 `(("ghc-hspec" ,ghc-hspec)
12639 ("hspec-discover" ,hspec-discover)))
12640 (home-page "https://hackage.haskell.org/package/word8")
12641 (synopsis "Word8 library for Haskell")
12642 (description "Word8 library to be used with @code{Data.ByteString}.")
12643 (license license:bsd-3)))
12644
12645(define-public ghc-x11
12646 (package
12647 (name "ghc-x11")
6c4581a3 12648 (version "1.9.1")
dddbc90c
RV
12649 (source
12650 (origin
12651 (method url-fetch)
12652 (uri (string-append "https://hackage.haskell.org/package/X11/"
12653 "X11-" version ".tar.gz"))
12654 (sha256
6c4581a3 12655 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
12656 (build-system haskell-build-system)
12657 (inputs
12658 `(("libx11" ,libx11)
12659 ("libxrandr" ,libxrandr)
12660 ("libxinerama" ,libxinerama)
12661 ("libxscrnsaver" ,libxscrnsaver)
12662 ("ghc-data-default" ,ghc-data-default)))
12663 (home-page "https://github.com/haskell-pkg-janitors/X11")
12664 (synopsis "Bindings to the X11 graphics library")
12665 (description
12666 "This package provides Haskell bindings to the X11 graphics library. The
12667bindings are a direct translation of the C bindings.")
12668 (license license:bsd-3)))
12669
12670(define-public ghc-x11-xft
12671 (package
12672 (name "ghc-x11-xft")
12673 (version "0.3.1")
12674 (source
12675 (origin
12676 (method url-fetch)
12677 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
12678 "X11-xft-" version ".tar.gz"))
12679 (sha256
12680 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
12681 (inputs
12682 `(("ghc-x11" ,ghc-x11)
12683 ("ghc-utf8-string" ,ghc-utf8-string)
12684 ("libx11" ,libx11)
12685 ("libxft" ,libxft)
12686 ("xorgproto" ,xorgproto)))
12687 (native-inputs
12688 `(("pkg-config" ,pkg-config)))
12689 (build-system haskell-build-system)
12690 (home-page "https://hackage.haskell.org/package/X11-xft")
12691 (synopsis "Bindings to Xft")
12692 (description
12693 "Bindings to the Xft, X Free Type interface library, and some Xrender
12694parts.")
12695 (license license:lgpl2.1)))
12696
12697(define-public ghc-xdg-basedir
12698 (package
12699 (name "ghc-xdg-basedir")
12700 (version "0.2.2")
12701 (source
12702 (origin
12703 (method url-fetch)
12704 (uri (string-append
12705 "https://hackage.haskell.org/package/xdg-basedir/"
12706 "xdg-basedir-" version ".tar.gz"))
12707 (sha256
12708 (base32
12709 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
12710 (build-system haskell-build-system)
12711 (home-page "http://github.com/willdonnelly/xdg-basedir")
12712 (synopsis "XDG Base Directory library for Haskell")
12713 (description "This package provides a library implementing the XDG Base Directory spec.")
12714 (license license:bsd-3)))
12715
12716(define-public ghc-xml
12717 (package
12718 (name "ghc-xml")
12719 (version "1.3.14")
12720 (source
12721 (origin
12722 (method url-fetch)
12723 (uri (string-append
12724 "https://hackage.haskell.org/package/xml/xml-"
12725 version
12726 ".tar.gz"))
12727 (sha256
12728 (base32
12729 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
12730 (build-system haskell-build-system)
12731 (home-page "http://code.galois.com")
12732 (synopsis "Simple XML library for Haskell")
12733 (description "This package provides a simple XML library for Haskell.")
12734 (license license:bsd-3)))
12735
12736(define-public ghc-xml-conduit
12737 (package
12738 (name "ghc-xml-conduit")
12739 (version "1.8.0.1")
12740 (source
12741 (origin
12742 (method url-fetch)
12743 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
12744 "xml-conduit-" version ".tar.gz"))
12745 (sha256
12746 (base32
12747 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
12748 (build-system haskell-build-system)
12749 (inputs
12750 `(("ghc-conduit" ,ghc-conduit)
12751 ("ghc-conduit-extra" ,ghc-conduit-extra)
12752 ("ghc-doctest" ,ghc-doctest)
12753 ("ghc-resourcet" ,ghc-resourcet)
12754 ("ghc-xml-types" ,ghc-xml-types)
12755 ("ghc-attoparsec" ,ghc-attoparsec)
12756 ("ghc-data-default-class" ,ghc-data-default-class)
12757 ("ghc-blaze-markup" ,ghc-blaze-markup)
12758 ("ghc-blaze-html" ,ghc-blaze-html)
12759 ("ghc-monad-control" ,ghc-monad-control)
12760 ("ghc-hspec" ,ghc-hspec)
12761 ("ghc-hunit" ,ghc-hunit)))
12762 (home-page "https://github.com/snoyberg/xml")
12763 (synopsis "Utilities for dealing with XML with the conduit package")
12764 (description
12765 "This package provides pure-Haskell utilities for dealing with XML with
12766the @code{conduit} package.")
12767 (license license:expat)))
12768
12769(define-public ghc-xml-types
12770 (package
12771 (name "ghc-xml-types")
12772 (version "0.3.6")
12773 (source
12774 (origin
12775 (method url-fetch)
12776 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
12777 "xml-types-" version ".tar.gz"))
12778 (sha256
12779 (base32
12780 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
12781 (build-system haskell-build-system)
12782 (home-page "https://john-millikin.com/software/haskell-xml/")
12783 (synopsis "Basic types for representing XML")
12784 (description "This package provides basic types for representing XML
12785documents.")
12786 (license license:expat)))
12787
12788(define-public ghc-yaml
12789 (package
12790 (name "ghc-yaml")
b58e5b84 12791 (version "0.11.1.2")
dddbc90c
RV
12792 (source (origin
12793 (method url-fetch)
12794 (uri (string-append "https://hackage.haskell.org/package/"
12795 "yaml/yaml-" version ".tar.gz"))
12796 (sha256
12797 (base32
b58e5b84 12798 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 12799 (build-system haskell-build-system)
dddbc90c
RV
12800 (inputs
12801 `(("ghc-conduit" ,ghc-conduit)
12802 ("ghc-resourcet" ,ghc-resourcet)
12803 ("ghc-aeson" ,ghc-aeson)
12804 ("ghc-unordered-containers" ,ghc-unordered-containers)
12805 ("ghc-vector" ,ghc-vector)
12806 ("ghc-attoparsec" ,ghc-attoparsec)
12807 ("ghc-scientific" ,ghc-scientific)
12808 ("ghc-semigroups" ,ghc-semigroups)
12809 ("ghc-temporary" ,ghc-temporary)
12810 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
12811 ("ghc-base-compat" ,ghc-base-compat)
12812 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
12813 (native-inputs
12814 `(("ghc-hspec" ,ghc-hspec)
12815 ("ghc-hunit" ,ghc-hunit)
12816 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
12817 ("ghc-mockery" ,ghc-mockery)
12818 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
12819 (home-page "https://github.com/snoyberg/yaml/")
12820 (synopsis "Parsing and rendering YAML documents")
12821 (description
12822 "This package provides a library to parse and render YAML documents.")
12823 (license license:bsd-3)))
12824
12825(define-public ghc-zip-archive
12826 (package
12827 (name "ghc-zip-archive")
93c1fdd3 12828 (version "0.4.1")
dddbc90c
RV
12829 (source
12830 (origin
12831 (method url-fetch)
12832 (uri (string-append
12833 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
12834 version
12835 ".tar.gz"))
12836 (sha256
12837 (base32
93c1fdd3 12838 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 12839 (build-system haskell-build-system)
93c1fdd3
TS
12840 (arguments
12841 `(#:phases
12842 (modify-phases %standard-phases
12843 (add-before 'check 'set-PATH-for-tests
12844 (lambda* (#:key inputs #:allow-other-keys)
12845 (let ((unzip (assoc-ref inputs "unzip"))
12846 (which (assoc-ref inputs "which"))
12847 (path (getenv "PATH")))
12848 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
12849 #t))))))
dddbc90c
RV
12850 (inputs
12851 `(("ghc-digest" ,ghc-digest)
12852 ("ghc-temporary" ,ghc-temporary)
12853 ("ghc-zlib" ,ghc-zlib)))
12854 (native-inputs
12855 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
12856 ("unzip" ,unzip)
12857 ("which" ,which)))
dddbc90c
RV
12858 (home-page "https://hackage.haskell.org/package/zip-archive")
12859 (synopsis "Zip archive library for Haskell")
12860 (description "The zip-archive library provides functions for creating,
12861modifying, and extracting files from zip archives in Haskell.")
12862 (license license:bsd-3)))
12863
12864(define-public ghc-zlib
12865 (package
12866 (name "ghc-zlib")
bf12089a 12867 (version "0.6.2.1")
dddbc90c
RV
12868 (outputs '("out" "doc"))
12869 (source
12870 (origin
12871 (method url-fetch)
12872 (uri (string-append
12873 "https://hackage.haskell.org/package/zlib/zlib-"
12874 version
12875 ".tar.gz"))
12876 (sha256
12877 (base32
bf12089a 12878 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
12879 (build-system haskell-build-system)
12880 (arguments
12881 `(#:phases
12882 (modify-phases %standard-phases
12883 (add-before 'configure 'strip-test-framework-constraints
12884 (lambda _
12885 (substitute* "zlib.cabal"
12886 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
12887 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
12888 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12889 (inputs `(("zlib" ,zlib)))
12890 (native-inputs
12891 `(("ghc-quickcheck" ,ghc-quickcheck)
12892 ("ghc-tasty" ,ghc-tasty)
12893 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12894 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12895 (home-page "https://hackage.haskell.org/package/zlib")
12896 (synopsis
12897 "Compression and decompression in the gzip and zlib formats")
12898 (description
12899 "This package provides a pure interface for compressing and decompressing
12900streams of data represented as lazy @code{ByteString}s. It uses the zlib C
12901library so it has high performance. It supports the @code{zlib}, @code{gzip}
12902and @code{raw} compression formats. It provides a convenient high level API
12903suitable for most tasks and for the few cases where more control is needed it
12904provides access to the full zlib feature set.")
bbf8bf31 12905 (license license:bsd-3)))
14e41996
RV
12906
12907(define-public ghc-zlib-bindings
12908 (package
12909 (name "ghc-zlib-bindings")
12910 (version "0.1.1.5")
12911 (source
12912 (origin
12913 (method url-fetch)
12914 (uri (string-append "https://hackage.haskell.org/package/"
12915 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
12916 (sha256
12917 (base32
12918 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
12919 (build-system haskell-build-system)
12920 (inputs
12921 `(("ghc-zlib" ,ghc-zlib)))
12922 (native-inputs
12923 `(("ghc-hspec" ,ghc-hspec)
12924 ("ghc-quickcheck" ,ghc-quickcheck)))
12925 (arguments
12926 `(#:cabal-revision
12927 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
12928 (home-page "https://github.com/snapframework/zlib-bindings")
12929 (synopsis "Low-level bindings to the @code{zlib} package")
12930 (description "This package provides low-level bindings to the
12931@code{zlib} package.")
12932 (license license:bsd-3)))
8428e92c
TS
12933
12934(define-public ghc-zstd
12935 (package
12936 (name "ghc-zstd")
12937 (version "0.1.1.2")
12938 (source
12939 (origin
12940 (method url-fetch)
12941 (uri (string-append "https://hackage.haskell.org/package/"
12942 "zstd/zstd-" version ".tar.gz"))
12943 (sha256
12944 (base32
12945 "147s496zvw13akxqzg65mgfvk3bvhrcilxgf8n786prxg5cm4jz2"))))
12946 (build-system haskell-build-system)
12947 (native-inputs
12948 `(("ghc-quickcheck" ,ghc-quickcheck)
12949 ("ghc-test-framework" ,ghc-test-framework)
12950 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
12951 (home-page "https://github.com/luispedro/hs-zstd")
12952 (synopsis "Haskell bindings to the Zstandard compression algorithm")
12953 (description "This library provides Haskell bindings to the
12954Zstandard compression algorithm, a fast lossless compression algorithm
12955targeting real-time compression scenarios at zlib-level and better
12956compression ratios.")
12957 (license license:bsd-3)))