gnu: ghc-trifecta: Update Cabal file to r4.
[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
132(define-public ghc-adjunctions
133 (package
134 (name "ghc-adjunctions")
135 (version "4.4")
136 (source
137 (origin
138 (method url-fetch)
139 (uri (string-append
140 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
141 version
142 ".tar.gz"))
143 (sha256
144 (base32
145 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f 146 (build-system haskell-build-system)
a78262be
TS
147 (arguments
148 `(#:cabal-revision
149 ("2" "1yfsjx7dqikg3hvld7i91xfsg5lawmr5980lvfd794sybmgxsf17")))
658dbc7f 150 (inputs
dddbc90c
RV
151 `(("ghc-profunctors" ,ghc-profunctors)
152 ("ghc-comonad" ,ghc-comonad)
153 ("ghc-contravariant" ,ghc-contravariant)
154 ("ghc-distributive" ,ghc-distributive)
155 ("ghc-free" ,ghc-free)
156 ("ghc-tagged" ,ghc-tagged)
157 ("ghc-semigroupoids" ,ghc-semigroupoids)
158 ("ghc-semigroups" ,ghc-semigroups)
159 ("ghc-transformers-compat" ,ghc-transformers-compat)
160 ("ghc-void" ,ghc-void)))
658dbc7f 161 (native-inputs
dddbc90c
RV
162 `(("ghc-generic-deriving" ,ghc-generic-deriving)
163 ("ghc-hspec" ,ghc-hspec)
164 ("hspec-discover" ,hspec-discover)))
165 (home-page "https://github.com/ekmett/adjunctions/")
166 (synopsis "Adjunctions and representable functors")
167 (description "This library provides adjunctions and representable functors
168for Haskell.")
169 (license license:bsd-3)))
170
171(define-public ghc-aeson-compat
172 (package
173 (name "ghc-aeson-compat")
0bafb755 174 (version "0.3.9")
dddbc90c
RV
175 (source
176 (origin
177 (method url-fetch)
178 (uri (string-append "https://hackage.haskell.org/package/"
179 "aeson-compat-" version "/"
180 "aeson-compat-" version ".tar.gz"))
181 (sha256
182 (base32
0bafb755 183 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
184 (build-system haskell-build-system)
185 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
186 (inputs `(("ghc-base-compat" ,ghc-base-compat)
187 ("ghc-aeson" ,ghc-aeson)
188 ("ghc-attoparsec" ,ghc-attoparsec)
189 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
190 ("ghc-exceptions" ,ghc-exceptions)
191 ("ghc-hashable" ,ghc-hashable)
192 ("ghc-scientific" ,ghc-scientific)
193 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
194 ("ghc-unordered-containers" ,ghc-unordered-containers)
195 ("ghc-vector" ,ghc-vector)
196 ("ghc-tagged" ,ghc-tagged)
197 ("ghc-semigroups" ,ghc-semigroups)
198 ("ghc-nats" ,ghc-nats)))
199 (home-page "https://github.com/phadej/aeson-compat")
200 (synopsis "Compatibility layer for ghc-aeson")
201 (description "This Haskell package provides compatibility layer for
202ghc-aeson.")
203 (license license:bsd-3)))
204
205(define-public ghc-alex
206 (package
207 (name "ghc-alex")
208 (version "3.2.4")
209 (source
210 (origin
211 (method url-fetch)
212 (uri (string-append
213 "https://hackage.haskell.org/package/alex/alex-"
214 version
215 ".tar.gz"))
216 (sha256
217 (base32
218 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
219 (build-system haskell-build-system)
658dbc7f 220 (arguments
dddbc90c
RV
221 `(#:phases
222 (modify-phases %standard-phases
223 (add-before 'check 'set-check-variables
224 (lambda _
225 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
226 (getenv "PATH")))
227 (setenv "alex_datadir" (string-append (getcwd) "/data"))
228 #t)))))
229 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
230 (native-inputs
231 `(("which" ,which)))
232 (home-page "https://www.haskell.org/alex/")
233 (synopsis
234 "Tool for generating lexical analysers in Haskell")
235 (description
236 "Alex is a tool for generating lexical analysers in Haskell. It takes a
237description of tokens based on regular expressions and generates a Haskell
238module containing code for scanning text efficiently. It is similar to the
239tool lex or flex for C/C++.")
658dbc7f
RV
240 (license license:bsd-3)))
241
dddbc90c 242(define-public ghc-alsa-core
7b01a977 243 (package
dddbc90c
RV
244 (name "ghc-alsa-core")
245 (version "0.5.0.1")
246 (source
247 (origin
248 (method url-fetch)
249 (uri (string-append
250 "mirror://hackage/package/alsa-core/alsa-core-"
251 version
252 ".tar.gz"))
253 (sha256
254 (base32
255 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
256 (build-system haskell-build-system)
257 (inputs
258 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
259 ("alsa-lib" ,alsa-lib)))
260 (native-inputs
261 `(("pkg-config" ,pkg-config)))
262 (home-page "http://www.haskell.org/haskellwiki/ALSA")
263 (synopsis "Binding to the ALSA Library API (Exceptions)")
264 (description "This package provides access to ALSA infrastructure, that is
265needed by both alsa-seq and alsa-pcm.")
266 (license license:bsd-3)))
267
268(define-public ghc-annotated-wl-pprint
269 (package
270 (name "ghc-annotated-wl-pprint")
271 (version "0.7.0")
272 (source
273 (origin
274 (method url-fetch)
275 (uri (string-append
276 "https://hackage.haskell.org/package/annotated-wl-pprint"
277 "/annotated-wl-pprint-" version
278 ".tar.gz"))
279 (sha256
280 (base32
281 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
282 (build-system haskell-build-system)
283 (home-page
284 "https://github.com/david-christiansen/annotated-wl-pprint")
285 (synopsis
286 "The Wadler/Leijen Pretty Printer, with annotation support")
287 (description "This is a modified version of wl-pprint, which was based on
288Wadler's paper \"A Prettier Printer\". This version allows the library user
289to annotate the text with semantic information, which can later be rendered in
290a variety of ways.")
291 (license license:bsd-3)))
292
293(define-public ghc-ansi-terminal
294 (package
295 (name "ghc-ansi-terminal")
f1b4a73f 296 (version "0.9.1")
dddbc90c
RV
297 (source
298 (origin
299 (method url-fetch)
300 (uri (string-append
301 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
302 version
303 ".tar.gz"))
304 (sha256
305 (base32
f1b4a73f 306 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
307 (build-system haskell-build-system)
308 (inputs
309 `(("ghc-colour" ,ghc-colour)))
310 (home-page "https://github.com/feuerbach/ansi-terminal")
311 (synopsis "ANSI terminal support for Haskell")
312 (description "This package provides ANSI terminal support for Haskell. It
313allows cursor movement, screen clearing, color output showing or hiding the
314cursor, and changing the title.")
315 (license license:bsd-3)))
316
317(define-public ghc-ansi-wl-pprint
318 (package
319 (name "ghc-ansi-wl-pprint")
c38746eb 320 (version "0.6.9")
7b01a977
RV
321 (source
322 (origin
323 (method url-fetch)
324 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 325 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
326 version ".tar.gz"))
327 (sha256
328 (base32
c38746eb 329 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
330 (build-system haskell-build-system)
331 (inputs
dddbc90c
RV
332 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
333 (home-page "https://github.com/ekmett/ansi-wl-pprint")
334 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
335 (description "This is a pretty printing library based on Wadler's paper
336\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
337colored output using the ansi-terminal package.")
338 (license license:bsd-3)))
339
340(define-public ghc-appar
341 (package
342 (name "ghc-appar")
1159d1a5 343 (version "0.1.8")
dddbc90c
RV
344 (source
345 (origin
346 (method url-fetch)
347 (uri (string-append
348 "https://hackage.haskell.org/package/appar/appar-"
349 version
350 ".tar.gz"))
351 (sha256
352 (base32
1159d1a5 353 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
354 (build-system haskell-build-system)
355 (home-page
356 "https://hackage.haskell.org/package/appar")
357 (synopsis "Simple applicative parser")
358 (description "This package provides a simple applicative parser in Parsec
359style.")
360 (license license:bsd-3)))
361
362(define-public ghc-async
363 (package
364 (name "ghc-async")
048ef066 365 (version "2.2.2")
dddbc90c
RV
366 (source
367 (origin
368 (method url-fetch)
369 (uri (string-append
370 "https://hackage.haskell.org/package/async/async-"
371 version
372 ".tar.gz"))
373 (sha256
374 (base32
048ef066 375 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
376 (build-system haskell-build-system)
377 (inputs
378 `(("ghc-hashable" ,ghc-hashable)
379 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
380 ("ghc-test-framework" ,ghc-test-framework)
381 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
382 (home-page "https://github.com/simonmar/async")
383 (synopsis "Library to run IO operations asynchronously")
384 (description "Async provides a library to run IO operations
385asynchronously, and wait for their results. It is a higher-level interface
386over threads in Haskell, in which @code{Async a} is a concurrent thread that
387will eventually deliver a value of type @code{a}.")
7b01a977
RV
388 (license license:bsd-3)))
389
9ad9ec2e
AG
390(define-public ghc-atomic-primops
391 (package
392 (name "ghc-atomic-primops")
393 (version "0.8.2")
394 (source
395 (origin
396 (method url-fetch)
397 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
398 "/atomic-primops-" version ".tar.gz"))
399 (sha256
400 (base32
401 "0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37"))))
402 (build-system haskell-build-system)
403 (inputs `(("ghc-primitive" ,ghc-primitive)))
404 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
405 (synopsis "Safe approach to CAS and other atomic ops")
406 (description
407 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
408use safely, because pointer equality is a highly unstable property in Haskell.
409This library provides a safer method based on the concept of @code{Ticket}s.")
410 (license license:bsd-3)))
411
dddbc90c 412(define-public ghc-atomic-write
79fcc5e5 413 (package
dddbc90c 414 (name "ghc-atomic-write")
c09d1e62 415 (version "0.2.0.6")
79fcc5e5
RV
416 (source
417 (origin
418 (method url-fetch)
dddbc90c
RV
419 (uri (string-append
420 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
421 version
422 ".tar.gz"))
79fcc5e5
RV
423 (sha256
424 (base32
c09d1e62 425 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
426 (build-system haskell-build-system)
427 (inputs
428 `(("ghc-temporary" ,ghc-temporary)
429 ("ghc-unix-compat" ,ghc-unix-compat)))
430 (native-inputs
431 `(("ghc-temporary" ,ghc-temporary)
432 ("ghc-unix-compat" ,ghc-unix-compat)
433 ("ghc-hspec" ,ghc-hspec)
434 ("hspec-discover" ,hspec-discover)))
435 (home-page "https://github.com/stackbuilders/atomic-write")
436 (synopsis "Atomically write to a file")
437 (description
438 "Atomically write to a file on POSIX-compliant systems while preserving
439permissions. @code{mv} is an atomic operation. This makes it simple to write
440to a file atomically just by using the @code{mv} operation. However, this
441will destroy the permissions on the original file. This library preserves
442permissions while atomically writing to a file.")
443 (license license:expat)))
444
445(define-public ghc-attoparsec
446 (package
447 (name "ghc-attoparsec")
511c3204 448 (version "0.13.2.3")
dddbc90c
RV
449 (source
450 (origin
451 (method url-fetch)
452 (uri (string-append
453 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
454 version
455 ".tar.gz"))
456 (sha256
457 (base32
511c3204 458 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 459 (build-system haskell-build-system)
79fcc5e5 460 (arguments
dddbc90c
RV
461 `(#:phases
462 (modify-phases %standard-phases
463 (add-after 'unpack 'patch-for-newer-quickcheck
464 (lambda _
465 (substitute* "attoparsec.cabal"
466 (("QuickCheck >= 2\\.7 && < 2\\.10")
467 "QuickCheck >= 2.7 && < 2.12"))
468 ;; This test fails because of the newer QuickCheck:
469 ;; <https://github.com/bos/attoparsec/issues/134>.
470 (substitute* "tests/QC/ByteString.hs"
471 ((", testProperty \"satisfyWith\" satisfyWith")
472 "")))))))
473 (inputs
474 `(("ghc-scientific" ,ghc-scientific)))
475 (native-inputs
476 `(("ghc-tasty" ,ghc-tasty)
477 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
478 ("ghc-quickcheck" ,ghc-quickcheck)
479 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
480 ("ghc-vector" ,ghc-vector)))
481 (home-page "https://github.com/bos/attoparsec")
482 (synopsis "Fast combinator parsing for bytestrings and text")
483 (description "This library provides a fast parser combinator library,
484aimed particularly at dealing efficiently with network protocols and
485complicated text/binary file formats.")
79fcc5e5
RV
486 (license license:bsd-3)))
487
dddbc90c 488(define-public ghc-attoparsec-bootstrap
6b34d01c 489 (package
dddbc90c
RV
490 (inherit ghc-attoparsec)
491 (name "ghc-attoparsec-bootstrap")
492 (arguments `(#:tests? #f))
493 (inputs
494 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
495 (native-inputs '())
799d8d3c 496 (properties '((hidden? #t)))))
dddbc90c
RV
497
498(define-public ghc-attoparsec-iso8601
499 (package
500 (name "ghc-attoparsec-iso8601")
97f267c8 501 (version "1.0.1.0")
6b34d01c
RV
502 (source
503 (origin
504 (method url-fetch)
505 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
506 "attoparsec-iso8601-" version "/"
507 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
508 (sha256
509 (base32
97f267c8 510 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 511 (build-system haskell-build-system)
dddbc90c
RV
512 (arguments
513 `(#:cabal-revision
97f267c8 514 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
515 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
516 ("ghc-base-compat" ,ghc-base-compat)))
517 (home-page "https://github.com/bos/aeson")
518 (synopsis "Parse ISO 8601 dates")
519 (description "Haskell library for parsing of ISO 8601 dates, originally
520from aeson.")
6b34d01c 521 (license license:bsd-3)))
b57e99f5 522
dddbc90c 523(define-public ghc-auto-update
b57e99f5 524 (package
dddbc90c 525 (name "ghc-auto-update")
11b1b6cd 526 (version "0.1.6")
dddbc90c
RV
527 (source
528 (origin
529 (method url-fetch)
530 (uri (string-append
531 "https://hackage.haskell.org/package/auto-update/auto-update-"
532 version
533 ".tar.gz"))
534 (sha256
535 (base32
11b1b6cd 536 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 537 (build-system haskell-build-system)
11b1b6cd
TS
538 (native-inputs
539 `(("ghc-hspec" ,ghc-hspec)
540 ("ghc-hunit" ,ghc-hunit)
541 ("ghc-retry" ,ghc-retry)
542 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
543 (home-page "https://github.com/yesodweb/wai")
544 (synopsis "Efficiently run periodic, on-demand actions")
545 (description "This library provides mechanisms to efficiently run
546periodic, on-demand actions in Haskell.")
547 (license license:expat)))
548
549(define-public ghc-aws
550 (package
551 (name "ghc-aws")
552 (version "0.20")
b57e99f5
RV
553 (source
554 (origin
555 (method url-fetch)
556 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
557 "aws-" version "/aws-" version ".tar.gz"))
558 (sha256 (base32
559 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
560 (build-system haskell-build-system)
561 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
562 (inputs
563 `(("ghc-aeson" ,ghc-aeson)
564 ("ghc-attoparsec" ,ghc-attoparsec)
565 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
566 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
567 ("ghc-blaze-builder" ,ghc-blaze-builder)
568 ("ghc-byteable" ,ghc-byteable)
569 ("ghc-case-insensitive" ,ghc-case-insensitive)
570 ("ghc-cereal" ,ghc-cereal)
571 ("ghc-conduit" ,ghc-conduit)
572 ("ghc-conduit-extra" ,ghc-conduit-extra)
573 ("ghc-cryptonite" ,ghc-cryptonite)
574 ("ghc-data-default" ,ghc-data-default)
575 ("ghc-http-conduit" ,ghc-http-conduit)
576 ("ghc-http-types" ,ghc-http-types)
577 ("ghc-lifted-base" ,ghc-lifted-base)
578 ("ghc-monad-control" ,ghc-monad-control)
579 ("ghc-network" ,ghc-network)
580 ("ghc-old-locale" ,ghc-old-locale)
581 ("ghc-safe" ,ghc-safe)
582 ("ghc-scientific" ,ghc-scientific)
583 ("ghc-tagged" ,ghc-tagged)
584 ("ghc-unordered-containers" ,ghc-unordered-containers)
585 ("ghc-utf8-string" ,ghc-utf8-string)
586 ("ghc-vector" ,ghc-vector)
587 ("ghc-xml-conduit" ,ghc-xml-conduit)))
588 (native-inputs
589 `(("ghc-quickcheck" ,ghc-quickcheck)
590 ("ghc-errors" ,ghc-errors)
591 ("ghc-http-client" ,ghc-http-client)
592 ("ghc-http-client-tls" ,ghc-http-client-tls)
593 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
594 ("ghc-tasty" ,ghc-tasty)
595 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
596 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
597 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
598 (home-page "https://github.com/aristidb/aws")
599 (synopsis "Amazon Web Services for Haskell")
600 (description "This package attempts to provide support for using
601Amazon Web Services like S3 (storage), SQS (queuing) and others to
602Haskell programmers. The ultimate goal is to support all Amazon
603Web Services.")
604 (license license:bsd-3)))
605
606(define-public ghc-base16-bytestring
607 (package
608 (name "ghc-base16-bytestring")
609 (version "0.1.1.6")
610 (source
611 (origin
612 (method url-fetch)
613 (uri (string-append
614 "https://hackage.haskell.org/package/base16-bytestring/"
615 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
616 (sha256
617 (base32
dddbc90c 618 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 619 (build-system haskell-build-system)
dddbc90c
RV
620 (home-page "https://github.com/bos/base16-bytestring")
621 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
622 (description
623 "This package provides a Haskell library for working with base16-encoded
624data quickly and efficiently, using the ByteString type.")
b57e99f5 625 (license license:bsd-3)))
bbf8bf31 626
dddbc90c 627(define-public ghc-base64-bytestring
bbf8bf31 628 (package
dddbc90c
RV
629 (name "ghc-base64-bytestring")
630 (version "1.0.0.2")
bbf8bf31
RV
631 (source
632 (origin
633 (method url-fetch)
dddbc90c
RV
634 (uri (string-append
635 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
636 version
637 ".tar.gz"))
638 (sha256
639 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
640 (build-system haskell-build-system)
641 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
642 (home-page "https://github.com/bos/base64-bytestring")
643 (synopsis "Base64 encoding and decoding for ByteStrings")
644 (description "This library provides fast base64 encoding and decoding for
645Haskell @code{ByteString}s.")
646 (license license:bsd-3)))
647
648(define-public ghc-base-compat
649 (package
650 (name "ghc-base-compat")
4daaa371 651 (version "0.10.5")
dddbc90c
RV
652 (source
653 (origin
654 (method url-fetch)
655 (uri (string-append
656 "https://hackage.haskell.org/package/base-compat/base-compat-"
657 version
658 ".tar.gz"))
bbf8bf31
RV
659 (sha256
660 (base32
4daaa371 661 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
662 (build-system haskell-build-system)
663 (native-inputs
dddbc90c
RV
664 `(("ghc-quickcheck" ,ghc-quickcheck)
665 ("ghc-hspec" ,ghc-hspec)
666 ("hspec-discover" ,hspec-discover)))
667 (home-page "https://hackage.haskell.org/package/base-compat")
668 (synopsis "Haskell compiler compatibility library")
669 (description "This library provides functions available in later versions
670of base to a wider range of compilers, without requiring the use of CPP
671pragmas in your code.")
672 (license license:bsd-3)))
673
f9d78c7f
TS
674(define-public ghc-base-compat-batteries
675 (package
676 (name "ghc-base-compat-batteries")
677 (version "0.10.5")
678 (source
679 (origin
680 (method url-fetch)
681 (uri (string-append "https://hackage.haskell.org/package/"
682 "base-compat-batteries/base-compat-batteries-"
683 version ".tar.gz"))
684 (sha256
685 (base32
686 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
687 (build-system haskell-build-system)
688 (inputs
689 `(("ghc-base-compat" ,ghc-base-compat)))
690 (native-inputs
691 `(("ghc-hspec" ,ghc-hspec)
692 ("ghc-quickcheck" ,ghc-quickcheck)
693 ("hspec-discover" ,hspec-discover)))
694 (arguments
695 `(#:cabal-revision
696 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
697 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
698 (synopsis "base-compat with extra batteries")
699 (description "This library provides functions available in later
700versions of @code{base} to a wider range of compilers, without requiring
701you to use CPP pragmas in your code. This package provides the same API
702as the @code{base-compat} library, but depends on compatibility
703packages (such as @code{semigroups}) to offer a wider support window
704than @code{base-compat}, which has no dependencies.")
705 (license license:expat)))
706
dddbc90c
RV
707(define-public ghc-basement
708 (package
709 (name "ghc-basement")
8b56c1fd 710 (version "0.0.11")
dddbc90c
RV
711 (source
712 (origin
713 (method url-fetch)
714 (uri (string-append "https://hackage.haskell.org/package/"
715 "basement/basement-" version ".tar.gz"))
716 (sha256
717 (base32
8b56c1fd 718 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
719 (build-system haskell-build-system)
720 (home-page "https://github.com/haskell-foundation/foundation")
721 (synopsis "Basic primitives for Foundation starter pack")
722 (description
723 "This package contains basic primitives for the Foundation set of
724packages.")
725 (license license:bsd-3)))
726
727(define-public ghc-base-orphans
728 (package
729 (name "ghc-base-orphans")
780477fb 730 (version "0.8.1")
dddbc90c
RV
731 (source
732 (origin
733 (method url-fetch)
734 (uri (string-append
735 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
736 version
737 ".tar.gz"))
738 (sha256
739 (base32
780477fb 740 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
741 (build-system haskell-build-system)
742 (native-inputs
743 `(("ghc-quickcheck" ,ghc-quickcheck)
744 ("ghc-hspec" ,ghc-hspec)
745 ("hspec-discover" ,hspec-discover)))
746 (home-page "https://hackage.haskell.org/package/base-orphans")
747 (synopsis "Orphan instances for backwards compatibility")
748 (description "This package defines orphan instances that mimic instances
749available in later versions of base to a wider (older) range of compilers.")
750 (license license:bsd-3)))
751
752(define-public ghc-base-prelude
753 (package
754 (name "ghc-base-prelude")
755 (version "1.3")
756 (source
757 (origin
758 (method url-fetch)
759 (uri (string-append "https://hackage.haskell.org/package/"
760 "base-prelude-" version "/"
761 "base-prelude-" version ".tar.gz"))
762 (sha256
763 (base32
764 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
765 (build-system haskell-build-system)
766 (home-page "https://github.com/nikita-volkov/base-prelude")
767 (synopsis "The most complete prelude formed solely from the Haskell's base
768package")
769 (description "This Haskell package aims to reexport all the non-conflicting
770and most general definitions from the \"base\" package.
771
772This includes APIs for applicatives, arrows, monoids, foldables, traversables,
773exceptions, generics, ST, MVars and STM.
774
775This package will never have any dependencies other than \"base\".
776
777Versioning policy:
778
779The versioning policy of this package deviates from PVP in the sense
780that its exports in part are transitively determined by the version of \"base\".
781Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
782the bounds of \"base\" as well.")
783 (license license:expat)))
784
785(define-public ghc-base-unicode-symbols
786 (package
787 (name "ghc-base-unicode-symbols")
788 (version "0.2.3")
789 (source
790 (origin
791 (method url-fetch)
792 (uri (string-append
793 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
794 version
795 ".tar.gz"))
796 (sha256
797 (base32
798 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
799 (build-system haskell-build-system)
800 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
801 (synopsis "Unicode alternatives for common functions and operators")
802 (description "This package defines new symbols for a number of functions,
803operators and types in the base package. All symbols are documented with
804their actual definition and information regarding their Unicode code point.
805They should be completely interchangeable with their definitions. For
806further Unicode goodness you can enable the @code{UnicodeSyntax}
807@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
808language extension}. This extension enables Unicode characters to be used to
809stand for certain ASCII character sequences, i.e. → instead of @code{->},
810∀ instead of @code{forall} and many others.")
811 (license license:bsd-3)))
812
813(define-public ghc-bifunctors
814 (package
815 (name "ghc-bifunctors")
0beaec66 816 (version "5.5.5")
dddbc90c
RV
817 (source
818 (origin
819 (method url-fetch)
820 (uri (string-append
821 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
822 version
823 ".tar.gz"))
824 (sha256
825 (base32
0beaec66 826 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
827 (build-system haskell-build-system)
828 (inputs
829 `(("ghc-base-orphans" ,ghc-base-orphans)
830 ("ghc-comonad" ,ghc-comonad)
831 ("ghc-th-abstraction" ,ghc-th-abstraction)
832 ("ghc-transformers-compat" ,ghc-transformers-compat)
833 ("ghc-tagged" ,ghc-tagged)
834 ("ghc-semigroups" ,ghc-semigroups)))
835 (native-inputs
836 `(("ghc-hspec" ,ghc-hspec)
837 ("hspec-discover" ,hspec-discover)
838 ("ghc-quickcheck" ,ghc-quickcheck)))
839 (home-page "https://github.com/ekmett/bifunctors/")
840 (synopsis "Bifunctors for Haskell")
841 (description "This package provides bifunctors for Haskell.")
842 (license license:bsd-3)))
843
844(define-public ghc-bindings-dsl
845 (package
846 (name "ghc-bindings-dsl")
847 (version "1.0.25")
848 (source
849 (origin
850 (method url-fetch)
851 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
852 "bindings-DSL-" version ".tar.gz"))
853 (sha256
854 (base32
855 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
856 (build-system haskell-build-system)
857 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
858 (synopsis "FFI domain specific language, on top of hsc2hs")
859 (description
860 "This is a set of macros to be used when writing Haskell FFI. They were
861designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
862extract from them all Haskell code needed to mimic such interfaces. All
863Haskell names used are automatically derived from C names, structures are
864mapped to Haskell instances of @code{Storable}, and there are also macros you
865can use with C code to help write bindings to inline functions or macro
866functions.")
867 (license license:bsd-3)))
868
869(define-public ghc-blaze-builder
870 (package
871 (name "ghc-blaze-builder")
872 (version "0.4.1.0")
873 (source
874 (origin
875 (method url-fetch)
876 (uri (string-append
877 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
878 version
879 ".tar.gz"))
880 (sha256
881 (base32
882 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
883 (build-system haskell-build-system)
884 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
885 (inputs
886 `(("ghc-utf8-string" ,ghc-utf8-string)))
887 (home-page "https://github.com/lpsmith/blaze-builder")
888 (synopsis "Efficient buffered output")
889 (description "This library provides an implementation of the older
890@code{blaze-builder} interface in terms of the new builder that shipped with
891@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
892bridge to the new builder, so that code that uses the old interface can
893interoperate with code that uses the new implementation.")
894 (license license:bsd-3)))
895
896(define-public ghc-blaze-markup
897 (package
898 (name "ghc-blaze-markup")
7d30fcf3 899 (version "0.8.2.3")
dddbc90c
RV
900 (source
901 (origin
902 (method url-fetch)
903 (uri (string-append "https://hackage.haskell.org/package/"
904 "blaze-markup/blaze-markup-"
905 version ".tar.gz"))
906 (sha256
907 (base32
7d30fcf3 908 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
909 (build-system haskell-build-system)
910 (arguments
911 `(#:phases
912 (modify-phases %standard-phases
913 (add-before 'configure 'update-constraints
914 (lambda _
915 (substitute* "blaze-markup.cabal"
916 (("tasty >= 1\\.0 && < 1\\.1")
917 "tasty >= 1.0 && < 1.2")))))))
918 (inputs
919 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
920 (native-inputs
921 `(("ghc-hunit" ,ghc-hunit)
922 ("ghc-quickcheck" ,ghc-quickcheck)
923 ("ghc-tasty" ,ghc-tasty)
924 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
925 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
926 (home-page "https://jaspervdj.be/blaze")
927 (synopsis "Fast markup combinator library for Haskell")
928 (description "This library provides core modules of a markup combinator
929library for Haskell.")
930 (license license:bsd-3)))
931
932(define-public ghc-bloomfilter
933 (package
934 (name "ghc-bloomfilter")
935 (version "2.0.1.0")
936 (source
937 (origin
938 (method url-fetch)
939 (uri (string-append "https://hackage.haskell.org/package/"
940 "bloomfilter/bloomfilter-" version ".tar.gz"))
941 (sha256
942 (base32
943 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
944 (build-system haskell-build-system)
945 (native-inputs
946 `(("ghc-quickcheck" ,ghc-quickcheck)
947 ("ghc-random" ,ghc-random)
948 ("ghc-test-framework" ,ghc-test-framework)
949 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
950 (home-page "https://github.com/bos/bloomfilter")
951 (synopsis "Pure and impure Bloom filter implementations")
952 (description "This package provides both mutable and immutable Bloom
953filter data types, along with a family of hash functions and an easy-to-use
954interface.")
955 (license license:bsd-3)))
956
957(define-public ghc-boxes
958 (package
959 (name "ghc-boxes")
960 (version "0.1.5")
961 (source
962 (origin
963 (method url-fetch)
964 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
965 version ".tar.gz"))
966 (sha256
967 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
968 (build-system haskell-build-system)
969 (inputs
970 `(("ghc-split" ,ghc-split)
971 ("ghc-quickcheck" ,ghc-quickcheck)))
972 (home-page "https://hackage.haskell.org/package/boxes")
973 (synopsis "2D text pretty-printing library")
974 (description
975 "Boxes is a pretty-printing library for laying out text in two dimensions,
976using a simple box model.")
977 (license license:bsd-3)))
978
979(define-public ghc-byteable
980 (package
981 (name "ghc-byteable")
982 (version "0.1.1")
983 (source (origin
984 (method url-fetch)
985 (uri (string-append "https://hackage.haskell.org/package/"
986 "byteable/byteable-" version ".tar.gz"))
987 (sha256
988 (base32
989 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
990 (build-system haskell-build-system)
991 (home-page "https://github.com/vincenthz/hs-byteable")
992 (synopsis "Type class for sequence of bytes")
993 (description
994 "This package provides an abstract class to manipulate sequence of bytes.
995The use case of this class is abstracting manipulation of types that are just
996wrapping a bytestring with stronger and more meaniful name.")
997 (license license:bsd-3)))
998
999(define-public ghc-byteorder
1000 (package
1001 (name "ghc-byteorder")
1002 (version "1.0.4")
1003 (source
1004 (origin
1005 (method url-fetch)
1006 (uri (string-append
1007 "https://hackage.haskell.org/package/byteorder/byteorder-"
1008 version
1009 ".tar.gz"))
1010 (sha256
1011 (base32
1012 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1013 (build-system haskell-build-system)
1014 (home-page
1015 "http://community.haskell.org/~aslatter/code/byteorder")
1016 (synopsis
1017 "Exposes the native endianness of the system")
1018 (description
1019 "This package is for working with the native byte-ordering of the
1020system.")
1021 (license license:bsd-3)))
1022
1023(define-public ghc-bytes
1024 (package
1025 (name "ghc-bytes")
1026 (version "0.15.5")
1027 (source
1028 (origin
1029 (method url-fetch)
1030 (uri
1031 (string-append "https://hackage.haskell.org/package/bytes-"
1032 version "/bytes-"
1033 version ".tar.gz"))
1034 (file-name (string-append name "-" version ".tar.gz"))
1035 (sha256
1036 (base32
1037 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1038 (build-system haskell-build-system)
1039 (inputs `(("ghc-cereal" ,ghc-cereal)
1040 ("cabal-doctest" ,cabal-doctest)
1041 ("ghc-doctest" ,ghc-doctest)
1042 ("ghc-scientific" ,ghc-scientific)
1043 ("ghc-transformers-compat" ,ghc-transformers-compat)
1044 ("ghc-unordered-containers" ,ghc-unordered-containers)
1045 ("ghc-void" ,ghc-void)
1046 ("ghc-vector" ,ghc-vector)))
1047 (synopsis "Serialization between @code{binary} and @code{cereal}")
1048 (description "This package provides a simple compatibility shim that lets
1049you work with both @code{binary} and @code{cereal} with one chunk of
1050serialization code.")
1051 (home-page "https://hackage.haskell.org/package/bytes")
1052 (license license:bsd-3)))
1053
1054(define-public ghc-bytestring-builder
1055 (package
1056 (name "ghc-bytestring-builder")
13ac8a7f 1057 (version "0.10.8.2.0")
dddbc90c
RV
1058 (source
1059 (origin
1060 (method url-fetch)
1061 (uri (string-append
1062 "https://hackage.haskell.org/package/bytestring-builder"
1063 "/bytestring-builder-" version ".tar.gz"))
1064 (sha256
1065 (base32
13ac8a7f 1066 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1067 (build-system haskell-build-system)
1068 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1069 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1070 (synopsis "The new bytestring builder, packaged outside of GHC")
1071 (description "This package provides the bytestring builder that is
1072debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1073Compatibility package for older packages.")
1074 (license license:bsd-3)))
1075
1076(define-public ghc-bytestring-handle
1077 (package
1078 (name "ghc-bytestring-handle")
1079 (version "0.1.0.6")
1080 (source
1081 (origin
1082 (method url-fetch)
1083 (uri (string-append
1084 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1085 version ".tar.gz"))
1086 (sha256
1087 (base32
1088 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1089 (build-system haskell-build-system)
1090 (arguments
853748c4
TS
1091 `(#:cabal-revision
1092 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1093 #:phases
dddbc90c
RV
1094 (modify-phases %standard-phases
1095 (add-before 'configure 'update-constraints
1096 (lambda _
1097 (substitute* "bytestring-handle.cabal"
1098 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1099 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1100 (inputs
1101 `(("ghc-hunit" ,ghc-hunit)
1102 ("ghc-quickcheck" ,ghc-quickcheck)
1103 ("ghc-test-framework" ,ghc-test-framework)
1104 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1105 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1106 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1107 (synopsis "ByteString-backed Handles")
1108 (description "ByteString-backed Handles") ; There is no description
1109 (license license:bsd-3)))
1110
1111(define-public ghc-bytestring-lexing
1112 (package
1113 (name "ghc-bytestring-lexing")
1114 (version "0.5.0.2")
1115 (source
1116 (origin
1117 (method url-fetch)
1118 (uri (string-append "https://hackage.haskell.org/package/"
1119 "bytestring-lexing/bytestring-lexing-"
1120 version ".tar.gz"))
1121 (sha256
1122 (base32
1123 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1124 (build-system haskell-build-system)
1125 (home-page "http://code.haskell.org/~wren/")
1126 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1127 (description
1128 "This package provides tools to parse and produce literals efficiently
1129from strict or lazy bytestrings.")
1130 (license license:bsd-2)))
1131
1132(define-public ghc-bzlib-conduit
1133 (package
1134 (name "ghc-bzlib-conduit")
5fba8d6d 1135 (version "0.3.0.2")
dddbc90c
RV
1136 (source
1137 (origin
1138 (method url-fetch)
1139 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1140 "bzlib-conduit-" version ".tar.gz"))
1141 (sha256
1142 (base32
5fba8d6d 1143 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1144 (build-system haskell-build-system)
1145 (inputs
1146 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1147 ("ghc-conduit" ,ghc-conduit)
1148 ("ghc-data-default-class" ,ghc-data-default-class)
1149 ("ghc-resourcet" ,ghc-resourcet)))
1150 (native-inputs
1151 `(("ghc-hspec" ,ghc-hspec)
1152 ("ghc-random" ,ghc-random)))
1153 (home-page "https://github.com/snoyberg/bzlib-conduit")
1154 (synopsis "Streaming compression/decompression via conduits")
1155 (description
1156 "This package provides Haskell bindings to bzlib and Conduit support for
1157streaming compression and decompression.")
1158 (license license:bsd-3)))
1159
1160(define-public ghc-c2hs
1161 (package
1162 (name "ghc-c2hs")
1163 (version "0.28.6")
1164 (source
1165 (origin
1166 (method url-fetch)
1167 (uri (string-append
1168 "https://hackage.haskell.org/package/c2hs/c2hs-"
1169 version
1170 ".tar.gz"))
1171 (sha256
1172 (base32
1173 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1174 (build-system haskell-build-system)
1175 (inputs
1176 `(("ghc-language-c" ,ghc-language-c)
1177 ("ghc-dlist" ,ghc-dlist)))
1178 (native-inputs
1179 `(("ghc-test-framework" ,ghc-test-framework)
1180 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1181 ("ghc-hunit" ,ghc-hunit)
1182 ("ghc-shelly" ,ghc-shelly)
1183 ("gcc" ,gcc)))
1184 (arguments
1185 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1186 ;; of glibc 2.28.
1187 #:tests? #f
1188
1189 #:phases
1190 (modify-phases %standard-phases
1191 (add-before 'check 'set-cc
1192 ;; add a cc executable in the path, needed for some tests to pass
1193 (lambda* (#:key inputs #:allow-other-keys)
1194 (let ((gcc (assoc-ref inputs "gcc"))
1195 (tmpbin (tmpnam))
1196 (curpath (getenv "PATH")))
1197 (mkdir-p tmpbin)
1198 (symlink (which "gcc") (string-append tmpbin "/cc"))
1199 (setenv "PATH" (string-append tmpbin ":" curpath)))
1200 #t))
1201 (add-after 'check 'remove-cc
1202 ;; clean the tmp dir made in 'set-cc
1203 (lambda _
1204 (let* ((cc-path (which "cc"))
1205 (cc-dir (dirname cc-path)))
1206 (delete-file-recursively cc-dir)
1207 #t))))))
1208 (home-page "https://github.com/haskell/c2hs")
1209 (synopsis "Create Haskell bindings to C libraries")
1210 (description "C->Haskell assists in the development of Haskell bindings to
1211C libraries. It extracts interface information from C header files and
1212generates Haskell code with foreign imports and marshaling. Unlike writing
1213foreign imports by hand (or using hsc2hs), this ensures that C functions are
1214imported with the correct Haskell types.")
1215 (license license:gpl2)))
1216
1217(define-public ghc-cairo
1218 (package
1219 (name "ghc-cairo")
1220 (version "0.13.5.0")
1221 (source
1222 (origin
1223 (method url-fetch)
1224 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1225 "cairo-" version ".tar.gz"))
1226 (sha256
1227 (base32
1228 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1229 (build-system haskell-build-system)
1230 (arguments
1231 `(#:modules ((guix build haskell-build-system)
1232 (guix build utils)
1233 (ice-9 match)
1234 (srfi srfi-26))
1235 #:phases
1236 (modify-phases %standard-phases
1237 ;; FIXME: This is a copy of the standard configure phase with a tiny
1238 ;; difference: this package needs the -package-db flag to be passed
1239 ;; to "runhaskell" in addition to the "configure" action, because it
1240 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1241 ;; this option the Setup.hs file cannot be evaluated. The
1242 ;; haskell-build-system should be changed to pass "-package-db" to
1243 ;; "runhaskell" in any case.
1244 (replace 'configure
1245 (lambda* (#:key outputs inputs tests? (configure-flags '())
1246 #:allow-other-keys)
1247 (let* ((out (assoc-ref outputs "out"))
1248 (name-version (strip-store-file-name out))
1249 (input-dirs (match inputs
1250 (((_ . dir) ...)
1251 dir)
1252 (_ '())))
1253 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1254 (params (append `(,(string-append "--prefix=" out))
1255 `(,(string-append "--libdir=" out "/lib"))
1256 `(,(string-append "--bindir=" out "/bin"))
1257 `(,(string-append
1258 "--docdir=" out
1259 "/share/doc/" name-version))
1260 '("--libsubdir=$compiler/$pkg-$version")
1261 '("--package-db=../package.conf.d")
1262 '("--global")
1263 `(,@(map
1264 (cut string-append "--extra-include-dirs=" <>)
1265 (search-path-as-list '("include") input-dirs)))
1266 `(,@(map
1267 (cut string-append "--extra-lib-dirs=" <>)
1268 (search-path-as-list '("lib") input-dirs)))
1269 (if tests?
1270 '("--enable-tests")
1271 '())
1272 configure-flags)))
1273 (unsetenv "GHC_PACKAGE_PATH")
1274 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1275 "Setup.hs" "configure" params)
1276 (setenv "GHC_PACKAGE_PATH" ghc-path)
1277 #t))))))
1278 (inputs
1279 `(("ghc-utf8-string" ,ghc-utf8-string)
1280 ("cairo" ,cairo)))
1281 (native-inputs
1282 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1283 ("pkg-config" ,pkg-config)))
1284 (home-page "http://projects.haskell.org/gtk2hs/")
1285 (synopsis "Haskell bindings to the Cairo vector graphics library")
1286 (description
1287 "Cairo is a library to render high quality vector graphics. There exist
1288various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1289documents, amongst others.")
1290 (license license:bsd-3)))
1291
1292(define-public ghc-call-stack
1293 (package
1294 (name "ghc-call-stack")
1295 (version "0.1.0")
1296 (source
1297 (origin
1298 (method url-fetch)
1299 (uri (string-append "https://hackage.haskell.org/package/"
1300 "call-stack/call-stack-"
1301 version ".tar.gz"))
1302 (sha256
1303 (base32
1304 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1305 (build-system haskell-build-system)
1306 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1307 (home-page "https://github.com/sol/call-stack#readme")
1308 (synopsis "Use GHC call-stacks in a backward compatible way")
1309 (description "This package provides a compatibility layer for using GHC
1310call stacks with different versions of the compiler.")
1311 (license license:expat)))
1312
1313;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1314;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1315(define-public ghc-call-stack-boot
1316 (hidden-package
1317 (package
1318 (inherit ghc-call-stack)
1319 (arguments '(#:tests? #f))
1320 (inputs '()))))
1321
1322(define-public ghc-case-insensitive
1323 (package
1324 (name "ghc-case-insensitive")
1325 (version "1.2.0.11")
1326 (outputs '("out" "doc"))
1327 (source
1328 (origin
1329 (method url-fetch)
1330 (uri (string-append
1331 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1332 version
1333 ".tar.gz"))
1334 (sha256
1335 (base32
1336 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1337 (build-system haskell-build-system)
1338 ;; these inputs are necessary to use this library
1339 (inputs
1340 `(("ghc-hashable" ,ghc-hashable)))
1341 (arguments
1342 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1343 (home-page
1344 "https://github.com/basvandijk/case-insensitive")
1345 (synopsis "Case insensitive string comparison")
1346 (description
1347 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1348constructor which can be parameterised by a string-like type like:
1349@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1350the resulting type will be insensitive to cases.")
1351 (license license:bsd-3)))
1352
1353(define-public ghc-cereal
1354 (package
1355 (name "ghc-cereal")
bd95427e 1356 (version "0.5.8.1")
dddbc90c
RV
1357 (source
1358 (origin
1359 (method url-fetch)
1360 (uri (string-append
1361 "https://hackage.haskell.org/package/cereal/cereal-"
1362 version
1363 ".tar.gz"))
1364 (sha256
1365 (base32
bd95427e 1366 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1367 (build-system haskell-build-system)
1368 (native-inputs
1369 `(("ghc-quickcheck" ,ghc-quickcheck)
1370 ("ghc-fail" ,ghc-fail)
1371 ("ghc-test-framework" ,ghc-test-framework)
1372 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1373 (home-page "https://hackage.haskell.org/package/cereal")
1374 (synopsis "Binary serialization library")
1375 (description "This package provides a binary serialization library,
1376similar to @code{binary}, that introduces an @code{isolate} primitive for
1377parser isolation, and labeled blocks for better error messages.")
1378 (license license:bsd-3)))
1379
1380(define-public ghc-cereal-conduit
1381 (package
1382 (name "ghc-cereal-conduit")
1383 (version "0.8.0")
1384 (source
1385 (origin
1386 (method url-fetch)
1387 (uri (string-append "https://hackage.haskell.org/package/"
1388 "cereal-conduit/cereal-conduit-"
1389 version ".tar.gz"))
1390 (sha256
1391 (base32
1392 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1393 (build-system haskell-build-system)
1394 (inputs
1395 `(("ghc-conduit" ,ghc-conduit)
1396 ("ghc-resourcet" ,ghc-resourcet)
1397 ("ghc-cereal" ,ghc-cereal)))
1398 (native-inputs
1399 `(("ghc-hunit" ,ghc-hunit)))
1400 (home-page "https://github.com/snoyberg/conduit")
1401 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1402 (description
1403 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1404@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1405 (license license:bsd-3)))
1406
1407(define-public ghc-cgi
1408 (package
1409 (name "ghc-cgi")
b6b2c218 1410 (version "3001.4.0.0")
dddbc90c
RV
1411 (source
1412 (origin
1413 (method url-fetch)
1414 (uri (string-append
1415 "https://hackage.haskell.org/package/cgi/cgi-"
1416 version
1417 ".tar.gz"))
1418 (sha256
1419 (base32
b6b2c218 1420 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1421 (build-system haskell-build-system)
dddbc90c
RV
1422 (inputs
1423 `(("ghc-exceptions" ,ghc-exceptions)
1424 ("ghc-multipart" ,ghc-multipart)
1425 ("ghc-network-uri" ,ghc-network-uri)
1426 ("ghc-network" ,ghc-network)))
1427 (native-inputs
1428 `(("ghc-doctest" ,ghc-doctest)
1429 ("ghc-quickcheck" ,ghc-quickcheck)))
1430 (home-page
1431 "https://github.com/cheecheeo/haskell-cgi")
1432 (synopsis "Library for writing CGI programs")
1433 (description
1434 "This is a Haskell library for writing CGI programs.")
1435 (license license:bsd-3)))
1436
1437(define-public ghc-charset
1438 (package
1439 (name "ghc-charset")
1440 (version "0.3.7.1")
1441 (source
1442 (origin
1443 (method url-fetch)
1444 (uri (string-append
1445 "https://hackage.haskell.org/package/charset/charset-"
1446 version
1447 ".tar.gz"))
1448 (sha256
1449 (base32
1450 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1451 (build-system haskell-build-system)
35ee173c
TS
1452 (arguments
1453 `(#:cabal-revision
1454 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1455 (inputs
1456 `(("ghc-semigroups" ,ghc-semigroups)
1457 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1458 (home-page "https://github.com/ekmett/charset")
1459 (synopsis "Fast unicode character sets for Haskell")
1460 (description "This package provides fast unicode character sets for
1461Haskell, based on complemented PATRICIA tries.")
1462 (license license:bsd-3)))
1463
1464(define-public ghc-chart
1465 (package
1466 (name "ghc-chart")
1467 (version "1.9")
1468 (source
1469 (origin
1470 (method url-fetch)
1471 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1472 "Chart-" version ".tar.gz"))
1473 (sha256
1474 (base32
1475 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
1476 (build-system haskell-build-system)
1477 (inputs
1478 `(("ghc-old-locale" ,ghc-old-locale)
1479 ("ghc-lens" ,ghc-lens)
1480 ("ghc-colour" ,ghc-colour)
1481 ("ghc-data-default-class" ,ghc-data-default-class)
1482 ("ghc-operational" ,ghc-operational)
1483 ("ghc-vector" ,ghc-vector)))
1484 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1485 (synopsis "Library for generating 2D charts and plots")
1486 (description
1487 "This package provides a library for generating 2D charts and plots, with
1488backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1489 (license license:bsd-3)))
1490
1491(define-public ghc-chart-cairo
1492 (package
1493 (name "ghc-chart-cairo")
1494 (version "1.9")
1495 (source
1496 (origin
1497 (method url-fetch)
1498 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1499 "Chart-cairo-" version ".tar.gz"))
1500 (sha256
1501 (base32
1502 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1503 (build-system haskell-build-system)
1504 (inputs
1505 `(("ghc-old-locale" ,ghc-old-locale)
1506 ("ghc-cairo" ,ghc-cairo)
1507 ("ghc-colour" ,ghc-colour)
1508 ("ghc-data-default-class" ,ghc-data-default-class)
1509 ("ghc-operational" ,ghc-operational)
1510 ("ghc-lens" ,ghc-lens)
1511 ("ghc-chart" ,ghc-chart)))
1512 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1513 (synopsis "Cairo backend for Charts")
1514 (description "This package provides a Cairo vector graphics rendering
1515backend for the Charts library.")
1516 (license license:bsd-3)))
1517
1518(define-public ghc-chasingbottoms
1519 (package
1520 (name "ghc-chasingbottoms")
1f67853e 1521 (version "1.3.1.7")
dddbc90c
RV
1522 (source
1523 (origin
1524 (method url-fetch)
1525 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1526 "ChasingBottoms-" version ".tar.gz"))
1527 (sha256
1528 (base32
1f67853e 1529 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1530 (build-system haskell-build-system)
1531 (inputs
1532 `(("ghc-quickcheck" ,ghc-quickcheck)
1533 ("ghc-random" ,ghc-random)
1534 ("ghc-syb" ,ghc-syb)))
1535 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1536 (synopsis "Testing of partial and infinite values in Haskell")
1537 (description
1538 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1539 ;; rendered properly.
1540 "This is a library for testing code involving bottoms or infinite values.
1541For the underlying theory and a larger example involving use of QuickCheck,
1542see the article
1543@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1544\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1545Partial and Infinite Values\"}.")
1546 (license license:expat)))
1547
1548(define-public ghc-cheapskate
1549 (package
1550 (name "ghc-cheapskate")
5e18bb9e 1551 (version "0.1.1.1")
dddbc90c
RV
1552 (source
1553 (origin
1554 (method url-fetch)
1555 (uri (string-append
1556 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1557 version
1558 ".tar.gz"))
1559 (sha256
1560 (base32
5e18bb9e 1561 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1562 (build-system haskell-build-system)
1563 (inputs
1564 `(("ghc-blaze-html" ,ghc-blaze-html)
1565 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1566 ("ghc-data-default" ,ghc-data-default)
1567 ("ghc-syb" ,ghc-syb)
1568 ("ghc-uniplate" ,ghc-uniplate)))
1569 (home-page "https://github.com/jgm/cheapskate")
1570 (synopsis "Experimental markdown processor")
1571 (description "Cheapskate is an experimental Markdown processor in pure
1572Haskell. It aims to process Markdown efficiently and in the most forgiving
1573possible way. It is designed to deal with any input, including garbage, with
1574linear performance. Output is sanitized by default for protection against
1575cross-site scripting (@dfn{XSS}) attacks.")
1576 (license license:bsd-3)))
1577
1578(define-public ghc-chell
1579 (package
1580 (name "ghc-chell")
acdd03be 1581 (version "0.5")
dddbc90c
RV
1582 (source
1583 (origin
1584 (method url-fetch)
1585 (uri (string-append
1586 "https://hackage.haskell.org/package/chell/chell-"
1587 version ".tar.gz"))
1588 (sha256
1589 (base32
acdd03be 1590 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1591 (build-system haskell-build-system)
acdd03be
TS
1592 (arguments
1593 `(#:cabal-revision
1594 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1595 (inputs
1596 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1597 ("ghc-patience" ,ghc-patience)
1598 ("ghc-random" ,ghc-random)
1599 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1600 (home-page "https://john-millikin.com/software/chell/")
1601 (synopsis "Simple and intuitive library for automated testing")
1602 (description
1603 "Chell is a simple and intuitive library for automated testing.
1604It natively supports assertion-based testing, and can use companion
1605libraries such as @code{chell-quickcheck} to support more complex
1606testing strategies.")
1607 (license license:expat)))
1608
1609(define-public ghc-chell-quickcheck
1610 (package
1611 (name "ghc-chell-quickcheck")
e0e21831 1612 (version "0.2.5.2")
dddbc90c
RV
1613 (source
1614 (origin
1615 (method url-fetch)
1616 (uri (string-append
1617 "https://hackage.haskell.org/package/chell-quickcheck/"
1618 "chell-quickcheck-" version ".tar.gz"))
1619 (sha256
1620 (base32
e0e21831 1621 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1622 (build-system haskell-build-system)
1623 (arguments
1624 `(#:phases
1625 (modify-phases %standard-phases
1626 (add-before 'configure 'update-constraints
1627 (lambda _
1628 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1629 (("QuickCheck >= 2\\.3 && < 2\\.13")
1630 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1631 (inputs
1632 `(("ghc-chell" ,ghc-chell)
1633 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1634 ("ghc-random" ,ghc-random)
1635 ("ghc-quickcheck" ,ghc-quickcheck)))
1636 (home-page "https://john-millikin.com/software/chell/")
1637 (synopsis "QuickCheck support for the Chell testing library")
1638 (description "More complex tests for @code{chell}.")
1639 (license license:expat)))
1640
1641(define ghc-chell-quickcheck-bootstrap
1642 (package
1643 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1644 (version "0.2.5.2")
dddbc90c
RV
1645 (source
1646 (origin
1647 (method url-fetch)
1648 (uri (string-append
1649 "https://hackage.haskell.org/package/chell-quickcheck/"
1650 "chell-quickcheck-" version ".tar.gz"))
1651 (sha256
1652 (base32
e0e21831 1653 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1654 (build-system haskell-build-system)
1655 (inputs
1656 `(("ghc-chell" ,ghc-chell)
1657 ("ghc-random" ,ghc-random)
1658 ("ghc-quickcheck" ,ghc-quickcheck)))
1659 (arguments
1660 `(#:tests? #f
1661 #:phases
1662 (modify-phases %standard-phases
1663 (add-before 'configure 'update-constraints
1664 (lambda _
1665 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1666 (("QuickCheck >= 2\\.3 && < 2\\.13")
1667 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1668 (home-page "https://john-millikin.com/software/chell/")
1669 (synopsis "QuickCheck support for the Chell testing library")
1670 (description "More complex tests for @code{chell}.")
1671 (license license:expat)))
1672
1673(define-public ghc-chunked-data
1674 (package
1675 (name "ghc-chunked-data")
1676 (version "0.3.1")
1677 (source
1678 (origin
1679 (method url-fetch)
1680 (uri (string-append "https://hackage.haskell.org/package/"
1681 "chunked-data-" version "/"
1682 "chunked-data-" version ".tar.gz"))
1683 (sha256
1684 (base32
1685 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1686 (build-system haskell-build-system)
1687 (inputs `(("ghc-vector" ,ghc-vector)
1688 ("ghc-semigroups" ,ghc-semigroups)))
1689 (home-page "https://github.com/snoyberg/mono-traversable")
1690 (synopsis "Typeclasses for dealing with various chunked data
1691representations for Haskell")
1692 (description "This Haskell package was originally present in
1693classy-prelude.")
1694 (license license:expat)))
1695
1696(define-public ghc-clock
1697 (package
1698 (name "ghc-clock")
0841b6f2 1699 (version "0.8")
dddbc90c
RV
1700 (source
1701 (origin
1702 (method url-fetch)
1703 (uri (string-append
1704 "https://hackage.haskell.org/package/"
1705 "clock/"
1706 "clock-" version ".tar.gz"))
1707 (sha256
0841b6f2 1708 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1709 (build-system haskell-build-system)
1710 (inputs
1711 `(("ghc-tasty" ,ghc-tasty)
1712 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1713 (home-page "https://hackage.haskell.org/package/clock")
1714 (synopsis "High-resolution clock for Haskell")
1715 (description "A package for convenient access to high-resolution clock and
1716timer functions of different operating systems via a unified API.")
1717 (license license:bsd-3)))
1718
1719;; This package builds `clock` without tests, since the tests rely on tasty
1720;; and tasty-quickcheck, which in turn require clock to build.
1721(define-public ghc-clock-bootstrap
1722 (package
1723 (inherit ghc-clock)
1724 (name "ghc-clock-bootstrap")
1725 (arguments '(#:tests? #f))
1726 (inputs '())
1727 (properties '((hidden? #t)))))
1728
1729(define-public ghc-cmark
1730 (package
1731 (name "ghc-cmark")
6bdd36c0 1732 (version "0.6")
dddbc90c
RV
1733 (source (origin
1734 (method url-fetch)
6bdd36c0 1735 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1736 ;; See cbits/cmark_version.h.
1737 (uri (string-append "https://hackage.haskell.org/package/"
1738 "cmark/cmark-" version ".tar.gz"))
1739 (sha256
1740 (base32
6bdd36c0 1741 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1742 (build-system haskell-build-system)
1743 (native-inputs
1744 `(("ghc-hunit" ,ghc-hunit)))
1745 (home-page "https://github.com/jgm/commonmark-hs")
1746 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1747 (description
1748 "This package provides Haskell bindings for
1749@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1750CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1751sources, and does not require prior installation of the C library.")
1752 (license license:bsd-3)))
1753
1754(define-public ghc-cmark-gfm
1755 (package
1756 (name "ghc-cmark-gfm")
24fc8dae 1757 (version "0.2.0")
dddbc90c
RV
1758 (source
1759 (origin
1760 (method url-fetch)
1761 (uri (string-append "https://hackage.haskell.org/package/"
1762 "cmark-gfm/cmark-gfm-"
1763 version ".tar.gz"))
1764 (sha256
1765 (base32
24fc8dae 1766 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1767 (build-system haskell-build-system)
1768 (native-inputs
1769 `(("ghc-hunit" ,ghc-hunit)))
1770 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1771 (synopsis
1772 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1773 (description
1774 "This package provides Haskell bindings for libcmark-gfm, the reference
1775parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1776It includes sources for libcmark-gfm and does not require prior installation
1777of the C library.")
1778 (license license:bsd-3)))
1779
1780(define-public ghc-cmdargs
1781 (package
1782 (name "ghc-cmdargs")
1783 (version "0.10.20")
1784 (source
1785 (origin
1786 (method url-fetch)
1787 (uri (string-append
1788 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1789 version ".tar.gz"))
1790 (sha256
1791 (base32
1792 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1793 (build-system haskell-build-system)
1794 (home-page
1795 "http://community.haskell.org/~ndm/cmdargs/")
1796 (synopsis "Command line argument processing")
1797 (description
1798 "This library provides an easy way to define command line parsers.")
1799 (license license:bsd-3)))
1800
1801(define-public ghc-code-page
1802 (package
1803 (name "ghc-code-page")
f6bb6519 1804 (version "0.2")
dddbc90c
RV
1805 (source
1806 (origin
1807 (method url-fetch)
1808 (uri (string-append
1809 "https://hackage.haskell.org/package/code-page/code-page-"
1810 version ".tar.gz"))
1811 (sha256
1812 (base32
f6bb6519 1813 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1814 (build-system haskell-build-system)
1815 (home-page "https://github.com/RyanGlScott/code-page")
1816 (synopsis "Windows code page library for Haskell")
1817 (description "A cross-platform library with functions for adjusting
1818code pages on Windows. On all other operating systems, the library does
1819nothing.")
1820 (license license:bsd-3)))
1821
1822(define-public ghc-colour
1823(package
1824 (name "ghc-colour")
bc9d1af9 1825 (version "2.3.5")
dddbc90c
RV
1826 (source
1827 (origin
1828 (method url-fetch)
1829 (uri (string-append
1830 "https://hackage.haskell.org/package/colour/colour-"
1831 version ".tar.gz"))
1832 (sha256
1833 (base32
bc9d1af9 1834 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1835 (arguments
1836 ;; The tests for this package have the following dependency cycle:
1837 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1838 `(#:tests? #f))
1839 (build-system haskell-build-system)
1840 (home-page "https://www.haskell.org/haskellwiki/Colour")
1841 (synopsis "Model for human colour perception")
1842 (description
1843 "This package provides a data type for colours and transparency.
1844Colours can be blended and composed. Various colour spaces are
1845supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1846 (license license:expat)))
1847
1848(define-public ghc-comonad
1849 (package
1850 (name "ghc-comonad")
1a825512 1851 (version "5.0.5")
dddbc90c
RV
1852 (source
1853 (origin
1854 (method url-fetch)
1855 (uri (string-append
1856 "https://hackage.haskell.org/package/comonad/comonad-"
1857 version
1858 ".tar.gz"))
1859 (sha256
1860 (base32
1a825512 1861 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
1862 (build-system haskell-build-system)
1863 (native-inputs
1864 `(("cabal-doctest" ,cabal-doctest)
1865 ("ghc-doctest" ,ghc-doctest)))
1866 (inputs
1867 `(("ghc-contravariant" ,ghc-contravariant)
1868 ("ghc-distributive" ,ghc-distributive)
1869 ("ghc-semigroups" ,ghc-semigroups)
1870 ("ghc-tagged" ,ghc-tagged)
1871 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1872 (home-page "https://github.com/ekmett/comonad/")
1873 (synopsis "Comonads for Haskell")
1874 (description "This library provides @code{Comonad}s for Haskell.")
1875 (license license:bsd-3)))
1876
1877(define-public ghc-concatenative
1878 (package
1879 (name "ghc-concatenative")
1880 (version "1.0.1")
1881 (source (origin
1882 (method url-fetch)
1883 (uri (string-append
1884 "https://hackage.haskell.org/package/concatenative/concatenative-"
1885 version ".tar.gz"))
1886 (sha256
1887 (base32
1888 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1889 (build-system haskell-build-system)
1890 (home-page
1891 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1892 (synopsis "Library for postfix control flow")
1893 (description
1894 "Concatenative gives Haskell Factor-style combinators and arrows for
1895postfix notation. For more information on stack based languages, see
1896@uref{https://concatenative.org}.")
1897 (license license:bsd-3)))
1898
1899(define-public ghc-concurrent-extra
1900 (package
1901 (name "ghc-concurrent-extra")
1902 (version "0.7.0.12")
1903 (source
1904 (origin
1905 (method url-fetch)
1906 (uri (string-append "https://hackage.haskell.org/package/"
1907 "concurrent-extra/concurrent-extra-"
1908 version ".tar.gz"))
1909 (sha256
1910 (base32
1911 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1912 (build-system haskell-build-system)
1913 (arguments
1914 ;; XXX: The ReadWriteLock 'stressTest' fails.
1915 `(#:tests? #f))
1916 (inputs
1917 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1918 (native-inputs
1919 `(("ghc-async" ,ghc-async)
1920 ("ghc-hunit" ,ghc-hunit)
1921 ("ghc-random" ,ghc-random)
1922 ("ghc-test-framework" ,ghc-test-framework)
1923 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1924 (home-page "https://github.com/basvandijk/concurrent-extra")
1925 (synopsis "Extra concurrency primitives")
1926 (description "This Haskell library offers (among other things) the
1927following selection of synchronisation primitives:
1928
1929@itemize
1930@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1931@item @code{Event}: Wake multiple threads by signalling an event.
1932@item @code{Lock}: Enforce exclusive access to a resource. Also known
1933as a binary semaphore or mutex. The package additionally provides an
1934alternative that works in the STM monad.
1935@item @code{RLock}: A lock which can be acquired multiple times by the
1936same thread. Also known as a reentrant mutex.
1937@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1938to protect shared resources which may be concurrently read, but only
1939sequentially written.
1940@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1941@end itemize
1942
1943Please consult the API documentation of the individual modules for more
1944detailed information.
1945
1946This package was inspired by the concurrency libraries of Java and
1947Python.")
1948 (license license:bsd-3)))
1949
1950(define-public ghc-concurrent-output
1951 (package
1952 (name "ghc-concurrent-output")
4fce0a4a 1953 (version "1.10.11")
dddbc90c
RV
1954 (source
1955 (origin
1956 (method url-fetch)
1957 (uri (string-append
1958 "mirror://hackage/package/concurrent-output/concurrent-output-"
1959 version
1960 ".tar.gz"))
1961 (sha256
1962 (base32
4fce0a4a 1963 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
1964 (build-system haskell-build-system)
1965 (inputs
1966 `(("ghc-async" ,ghc-async)
1967 ("ghc-exceptions" ,ghc-exceptions)
1968 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1969 ("ghc-terminal-size" ,ghc-terminal-size)))
1970 (home-page
1971 "https://hackage.haskell.org/package/concurrent-output")
1972 (synopsis
1973 "Ungarble output from several threads or commands")
1974 (description
1975 "Lets multiple threads and external processes concurrently output to the
1976console, without it getting all garbled up.
1977
1978Built on top of that is a way of defining multiple output regions, which are
1979automatically laid out on the screen and can be individually updated by
1980concurrent threads. Can be used for progress displays etc.")
1981 (license license:bsd-2)))
1982
1983(define-public ghc-conduit
1984 (package
1985 (name "ghc-conduit")
1ac981d4 1986 (version "1.3.1.1")
dddbc90c
RV
1987 (source (origin
1988 (method url-fetch)
1989 (uri (string-append "https://hackage.haskell.org/package/"
1990 "conduit/conduit-" version ".tar.gz"))
1991 (sha256
1992 (base32
1ac981d4 1993 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
1994 (build-system haskell-build-system)
1995 (inputs
1996 `(("ghc-exceptions" ,ghc-exceptions)
1997 ("ghc-lifted-base" ,ghc-lifted-base)
1998 ("ghc-mono-traversable" ,ghc-mono-traversable)
1999 ("ghc-mmorph" ,ghc-mmorph)
2000 ("ghc-resourcet" ,ghc-resourcet)
2001 ("ghc-silently" ,ghc-silently)
2002 ("ghc-transformers-base" ,ghc-transformers-base)
2003 ("ghc-unliftio" ,ghc-unliftio)
2004 ("ghc-unliftio-core" ,ghc-unliftio-core)
2005 ("ghc-vector" ,ghc-vector)
2006 ("ghc-void" ,ghc-void)))
2007 (native-inputs
2008 `(("ghc-quickcheck" ,ghc-quickcheck)
2009 ("ghc-hspec" ,ghc-hspec)
2010 ("ghc-safe" ,ghc-safe)
2011 ("ghc-split" ,ghc-split)))
2012 (home-page "https://github.com/snoyberg/conduit")
2013 (synopsis "Streaming data library ")
2014 (description
2015 "The conduit package is a solution to the streaming data problem,
2016allowing for production, transformation, and consumption of streams of data
2017in constant memory. It is an alternative to lazy I/O which guarantees
2018deterministic resource handling, and fits in the same general solution
2019space as enumerator/iteratee and pipes.")
2020 (license license:expat)))
2021
2022(define-public ghc-conduit-algorithms
2023 (package
2024 (name "ghc-conduit-algorithms")
2025 (version "0.0.8.1")
2026 (source
2027 (origin
2028 (method url-fetch)
2029 (uri (string-append "https://hackage.haskell.org/package/"
2030 "conduit-algorithms/conduit-algorithms-"
2031 version ".tar.gz"))
2032 (sha256
2033 (base32
2034 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
2035 (build-system haskell-build-system)
2036 (inputs
2037 `(("ghc-async" ,ghc-async)
2038 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2039 ("ghc-conduit" ,ghc-conduit)
2040 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2041 ("ghc-conduit-extra" ,ghc-conduit-extra)
2042 ("ghc-exceptions" ,ghc-exceptions)
2043 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2044 ("ghc-monad-control" ,ghc-monad-control)
2045 ("ghc-pqueue" ,ghc-pqueue)
2046 ("ghc-resourcet" ,ghc-resourcet)
2047 ("ghc-stm-conduit" ,ghc-stm-conduit)
2048 ("ghc-streaming-commons" ,ghc-streaming-commons)
2049 ("ghc-unliftio-core" ,ghc-unliftio-core)
2050 ("ghc-vector" ,ghc-vector)))
2051 (native-inputs
2052 `(("ghc-hunit" ,ghc-hunit)
2053 ("ghc-test-framework" ,ghc-test-framework)
2054 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2055 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2056 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2057 (synopsis "Conduit-based algorithms")
2058 (description
2059 "This package provides algorithms on @code{Conduits}, including higher
2060level asynchronous processing and some other utilities.")
2061 (license license:expat)))
2062
2063(define-public ghc-conduit-combinators
2064 (package
2065 (name "ghc-conduit-combinators")
2066 (version "1.3.0")
2067 (source
2068 (origin
2069 (method url-fetch)
2070 (uri (string-append "https://hackage.haskell.org/package/"
2071 "conduit-combinators-" version "/"
2072 "conduit-combinators-" version ".tar.gz"))
2073 (sha256
2074 (base32
2075 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2076 (build-system haskell-build-system)
2077 (inputs `(("ghc-conduit" ,ghc-conduit)
2078 ("ghc-conduit-extra" ,ghc-conduit-extra)
2079 ("ghc-transformers-base" ,ghc-transformers-base)
2080 ("ghc-primitive" ,ghc-primitive)
2081 ("ghc-vector" ,ghc-vector)
2082 ("ghc-void" ,ghc-void)
2083 ("ghc-mwc-random" ,ghc-mwc-random)
2084 ("ghc-unix-compat" ,ghc-unix-compat)
2085 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2086 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2087 ("ghc-resourcet" ,ghc-resourcet)
2088 ("ghc-monad-control" ,ghc-monad-control)
2089 ("ghc-chunked-data" ,ghc-chunked-data)
2090 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2091 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2092 ("ghc-silently" ,ghc-silently)
2093 ("ghc-safe" ,ghc-safe)
2094 ("ghc-quickcheck" ,ghc-quickcheck)))
2095 (home-page "https://github.com/snoyberg/mono-traversable")
2096 (synopsis "Commonly used conduit functions, for both chunked and
2097unchunked data")
2098 (description "This Haskell package provides a replacement for Data.Conduit.List,
2099as well as a convenient Conduit module.")
2100 (license license:expat)))
2101
2102(define-public ghc-conduit-extra
2103 (package
2104 (name "ghc-conduit-extra")
151774d9 2105 (version "1.3.4")
dddbc90c
RV
2106 (source
2107 (origin
2108 (method url-fetch)
2109 (uri (string-append "https://hackage.haskell.org/package/"
2110 "conduit-extra/conduit-extra-"
2111 version ".tar.gz"))
2112 (sha256
2113 (base32
151774d9 2114 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2115 (build-system haskell-build-system)
2116 (inputs
2117 `(("ghc-conduit" ,ghc-conduit)
2118 ("ghc-exceptions" ,ghc-exceptions)
2119 ("ghc-monad-control" ,ghc-monad-control)
2120 ("ghc-transformers-base" ,ghc-transformers-base)
2121 ("ghc-typed-process" ,ghc-typed-process)
2122 ("ghc-async" ,ghc-async)
2123 ("ghc-attoparsec" ,ghc-attoparsec)
2124 ("ghc-blaze-builder" ,ghc-blaze-builder)
2125 ("ghc-network" ,ghc-network)
2126 ("ghc-primitive" ,ghc-primitive)
2127 ("ghc-resourcet" ,ghc-resourcet)
2128 ("ghc-streaming-commons" ,ghc-streaming-commons)
2129 ("ghc-hspec" ,ghc-hspec)
2130 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2131 ("ghc-quickcheck" ,ghc-quickcheck)))
2132 (native-inputs
2133 `(("hspec-discover" ,hspec-discover)))
2134 (home-page "https://github.com/snoyberg/conduit")
2135 (synopsis "Conduit adapters for common libraries")
2136 (description
2137 "The @code{conduit} package itself maintains relative small dependencies.
2138The purpose of this package is to collect commonly used utility functions
2139wrapping other library dependencies, without depending on heavier-weight
2140dependencies. The basic idea is that this package should only depend on
2141@code{haskell-platform} packages and @code{conduit}.")
2142 (license license:expat)))
2143
2144(define-public ghc-configurator
2145 (package
2146 (name "ghc-configurator")
2147 (version "0.3.0.0")
2148 (source
2149 (origin
2150 (method url-fetch)
2151 (uri (string-append "https://hackage.haskell.org/package/"
2152 "configurator/configurator-"
2153 version ".tar.gz"))
2154 (sha256
2155 (base32
2156 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2157 (build-system haskell-build-system)
2158 (inputs
2159 `(("ghc-attoparsec" ,ghc-attoparsec)
2160 ("ghc-hashable" ,ghc-hashable)
2161 ("ghc-unix-compat" ,ghc-unix-compat)
2162 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2163 (native-inputs
2164 `(("ghc-hunit" ,ghc-hunit)
2165 ("ghc-test-framework" ,ghc-test-framework)
2166 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2167 (home-page "http://github.com/bos/configurator")
2168 (synopsis "Configuration management")
2169 (description
2170 "This package provides a configuration management library for programs
2171and daemons. The features include:
2172
2173@enumerate
2174@item Automatic, dynamic reloading in response to modifications to
2175 configuration files.
2176@item A simple, but flexible, configuration language, supporting several of
2177 the most commonly needed types of data, along with interpolation of strings
2178 from the configuration or the system environment (e.g. @code{$(HOME)}).
2179@item Subscription-based notification of changes to configuration properties.
2180@item An @code{import} directive allows the configuration of a complex
2181 application to be split across several smaller files, or common configuration
2182 data to be shared across several applications.
2183@end enumerate\n")
2184 (license license:bsd-3)))
2185
2186(define-public ghc-connection
2187 (package
2188 (name "ghc-connection")
6ee0d258 2189 (version "0.3.1")
dddbc90c
RV
2190 (source (origin
2191 (method url-fetch)
2192 (uri (string-append "https://hackage.haskell.org/package/"
2193 "connection/connection-"
2194 version ".tar.gz"))
2195 (sha256
2196 (base32
6ee0d258 2197 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2198 (build-system haskell-build-system)
2199 (inputs
2200 `(("ghc-byteable" ,ghc-byteable)
2201 ("ghc-data-default-class" ,ghc-data-default-class)
2202 ("ghc-network" ,ghc-network)
2203 ("ghc-tls" ,ghc-tls)
2204 ("ghc-socks" ,ghc-socks)
2205 ("ghc-x509" ,ghc-x509)
2206 ("ghc-x509-store" ,ghc-x509-store)
2207 ("ghc-x509-system" ,ghc-x509-system)
2208 ("ghc-x509-validation" ,ghc-x509-validation)))
2209 (home-page "https://github.com/vincenthz/hs-connection")
2210 (synopsis "Simple and easy network connections API")
2211 (description
2212 "This package provides a simple network library for all your connection
2213needs. It provides a very simple API to create sockets to a destination with
2214the choice of SSL/TLS, and SOCKS.")
2215 (license license:bsd-3)))
2216
2217(define-public ghc-constraints
2218 (package
2219 (name "ghc-constraints")
2220 (version "0.10.1")
2221 (source
2222 (origin
2223 (method url-fetch)
2224 (uri (string-append
2225 "https://hackage.haskell.org/package/constraints/constraints-"
2226 version ".tar.gz"))
2227 (sha256
2228 (base32
2229 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2230 (build-system haskell-build-system)
2231 (inputs
2232 `(("ghc-hashable" ,ghc-hashable)
2233 ("ghc-semigroups" ,ghc-semigroups)
2234 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2235 (native-inputs
2236 `(("ghc-hspec" ,ghc-hspec)
2237 ("hspec-discover" ,hspec-discover)))
2238 (home-page "https://github.com/ekmett/constraints/")
2239 (synopsis "Constraint manipulation")
2240 (description
2241 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2242They stopped crashing the compiler in GHC 7.6. This package provides
2243a vocabulary for working with them.")
2244 (license license:bsd-3)))
2245
2246(define-public ghc-contravariant
2247 (package
2248 (name "ghc-contravariant")
e7b35ff0 2249 (version "1.5.2")
dddbc90c
RV
2250 (source
2251 (origin
2252 (method url-fetch)
2253 (uri (string-append
2254 "https://hackage.haskell.org/package/contravariant/contravariant-"
2255 version
2256 ".tar.gz"))
2257 (sha256
2258 (base32
e7b35ff0 2259 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2260 (build-system haskell-build-system)
2261 (inputs
2262 `(("ghc-void" ,ghc-void)
2263 ("ghc-transformers-compat" ,ghc-transformers-compat)
2264 ("ghc-statevar" ,ghc-statevar)
2265 ("ghc-semigroups" ,ghc-semigroups)))
2266 (home-page
2267 "https://github.com/ekmett/contravariant/")
2268 (synopsis "Contravariant functors")
2269 (description "Contravariant functors for Haskell.")
2270 (license license:bsd-3)))
2271
2272(define-public ghc-contravariant-extras
2273 (package
2274 (name "ghc-contravariant-extras")
2275 (version "0.3.4")
2276 (source
2277 (origin
2278 (method url-fetch)
2279 (uri (string-append "https://hackage.haskell.org/package/"
2280 "contravariant-extras-" version "/"
2281 "contravariant-extras-" version ".tar.gz"))
2282 (sha256
2283 (base32
2284 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2285 (build-system haskell-build-system)
f3aca086
TS
2286 (arguments
2287 `(#:cabal-revision
2288 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2289 (inputs
2290 `(("ghc-tuple-th" ,ghc-tuple-th)
2291 ("ghc-contravariant" ,ghc-contravariant)
2292 ("ghc-base-prelude" ,ghc-base-prelude)
2293 ("ghc-semigroups" ,ghc-semigroups)))
2294 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2295 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2296 (description "This Haskell package provides extras for the
2297@code{ghc-contravariant} package.")
2298 (license license:expat)))
2299
2300(define-public ghc-convertible
2301 (package
2302 (name "ghc-convertible")
2303 (version "1.1.1.0")
2304 (source
2305 (origin
2306 (method url-fetch)
2307 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2308 "convertible-" version ".tar.gz"))
2309 (sha256
2310 (base32
2311 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2312 (build-system haskell-build-system)
2313 (inputs
2314 `(("ghc-old-time" ,ghc-old-time)
2315 ("ghc-old-locale" ,ghc-old-locale)))
2316 (home-page "https://hackage.haskell.org/package/convertible")
2317 (synopsis "Typeclasses and instances for converting between types")
2318 (description
2319 "This package provides a typeclass with a single function that is
2320designed to help convert between different types: numeric values, dates and
2321times, and the like. The conversions perform bounds checking and return a
2322pure @code{Either} value. This means that you need not remember which specific
2323function performs the conversion you desire.")
2324 (license license:bsd-3)))
2325
2326(define-public ghc-data-accessor
2327 (package
2328 (name "ghc-data-accessor")
6dcca515 2329 (version "0.2.2.8")
dddbc90c
RV
2330 (source
2331 (origin
2332 (method url-fetch)
2333 (uri (string-append
2334 "mirror://hackage/package/data-accessor/data-accessor-"
2335 version ".tar.gz"))
2336 (sha256
6dcca515 2337 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2338 (build-system haskell-build-system)
2339 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2340 (synopsis
2341 "Haskell utilities for accessing and manipulating fields of records")
2342 (description "This package provides Haskell modules for accessing and
2343manipulating fields of records.")
2344 (license license:bsd-3)))
2345
2346(define-public ghc-data-accessor-transformers
2347 (package
2348 (name "ghc-data-accessor-transformers")
2349 (version "0.2.1.7")
2350 (source
2351 (origin
2352 (method url-fetch)
2353 (uri (string-append
2354 "mirror://hackage/package/data-accessor-transformers/"
2355 "data-accessor-transformers-" version ".tar.gz"))
2356 (sha256
2357 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2358 (build-system haskell-build-system)
2359 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2360 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2361 (synopsis "Use Accessor to access state in transformers State monad")
2362 (description "This package provides Haskell modules to allow use of
2363Accessor to access state in transformers State monad.")
2364 (license license:bsd-3)))
2365
2366(define-public ghc-data-default
2367 (package
2368 (name "ghc-data-default")
2369 (version "0.7.1.1")
2370 (source
2371 (origin
2372 (method url-fetch)
2373 (uri (string-append
2374 "https://hackage.haskell.org/package/data-default/data-default-"
2375 version
2376 ".tar.gz"))
2377 (sha256
2378 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2379 (build-system haskell-build-system)
2380 (inputs
2381 `(("ghc-data-default-class"
2382 ,ghc-data-default-class)
2383 ("ghc-data-default-instances-base"
2384 ,ghc-data-default-instances-base)
2385 ("ghc-data-default-instances-containers"
2386 ,ghc-data-default-instances-containers)
2387 ("ghc-data-default-instances-dlist"
2388 ,ghc-data-default-instances-dlist)
2389 ("ghc-data-default-instances-old-locale"
2390 ,ghc-data-default-instances-old-locale)))
2391 (home-page "https://hackage.haskell.org/package/data-default")
2392 (synopsis "Types with default values")
2393 (description
2394 "This package defines a class for types with a default value, and
2395provides instances for types from the base, containers, dlist and old-locale
2396packages.")
2397 (license license:bsd-3)))
2398
2399(define-public ghc-data-default-class
2400 (package
2401 (name "ghc-data-default-class")
2402 (version "0.1.2.0")
2403 (source
2404 (origin
2405 (method url-fetch)
2406 (uri (string-append
2407 "https://hackage.haskell.org/package/data-default-class/"
2408 "data-default-class-" version ".tar.gz"))
2409 (sha256
2410 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2411 (build-system haskell-build-system)
2412 (home-page "https://hackage.haskell.org/package/data-default-class")
2413 (synopsis "Types with default values")
2414 (description
2415 "This package defines a class for types with default values.")
2416 (license license:bsd-3)))
2417
2418(define-public ghc-data-default-instances-base
2419 (package
2420 (name "ghc-data-default-instances-base")
2421 (version "0.1.0.1")
2422 (source
2423 (origin
2424 (method url-fetch)
2425 (uri (string-append
2426 "https://hackage.haskell.org/package/"
2427 "data-default-instances-base/"
2428 "data-default-instances-base-" version ".tar.gz"))
2429 (sha256
2430 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2431 (build-system haskell-build-system)
2432 (inputs
2433 `(("ghc-data-default-class" ,ghc-data-default-class)))
2434 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2435 (synopsis "Default instances for types in base")
2436 (description
2437 "This package provides default instances for types from the base
2438package.")
2439 (license license:bsd-3)))
2440
2441(define-public ghc-data-default-instances-containers
2442 (package
2443 (name "ghc-data-default-instances-containers")
2444 (version "0.0.1")
2445 (source
2446 (origin
2447 (method url-fetch)
2448 (uri (string-append
2449 "https://hackage.haskell.org/package/"
2450 "data-default-instances-containers/"
2451 "data-default-instances-containers-" version ".tar.gz"))
2452 (sha256
2453 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2454 (build-system haskell-build-system)
2455 (inputs
2456 `(("ghc-data-default-class" ,ghc-data-default-class)))
2457 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2458 (synopsis "Default instances for types in containers")
2459 (description "Provides default instances for types from the containers
2460package.")
2461 (license license:bsd-3)))
2462
2463(define-public ghc-data-default-instances-dlist
2464 (package
2465 (name "ghc-data-default-instances-dlist")
2466 (version "0.0.1")
2467 (source
2468 (origin
2469 (method url-fetch)
2470 (uri (string-append
2471 "https://hackage.haskell.org/package/"
2472 "data-default-instances-dlist/"
2473 "data-default-instances-dlist-" version ".tar.gz"))
2474 (sha256
2475 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2476 (build-system haskell-build-system)
2477 (inputs
2478 `(("ghc-data-default-class" ,ghc-data-default-class)
2479 ("ghc-dlist" ,ghc-dlist)))
2480 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2481 (synopsis "Default instances for types in dlist")
2482 (description "Provides default instances for types from the dlist
2483package.")
2484 (license license:bsd-3)))
2485
2486(define-public ghc-data-default-instances-old-locale
2487 (package
2488 (name "ghc-data-default-instances-old-locale")
2489 (version "0.0.1")
2490 (source
2491 (origin
2492 (method url-fetch)
2493 (uri (string-append
2494 "https://hackage.haskell.org/package/"
2495 "data-default-instances-old-locale/"
2496 "data-default-instances-old-locale-" version ".tar.gz"))
2497 (sha256
2498 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2499 (build-system haskell-build-system)
2500 (inputs
2501 `(("ghc-data-default-class" ,ghc-data-default-class)
2502 ("ghc-old-locale" ,ghc-old-locale)))
2503 (home-page
2504 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2505 (synopsis "Default instances for types in old-locale")
2506 (description "Provides Default instances for types from the old-locale
2507 package.")
2508 (license license:bsd-3)))
2509
2510(define-public ghc-data-hash
2511 (package
2512 (name "ghc-data-hash")
2513 (version "0.2.0.1")
2514 (source
2515 (origin
2516 (method url-fetch)
2517 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2518 "/data-hash-" version ".tar.gz"))
2519 (sha256
2520 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2521 (build-system haskell-build-system)
2522 (inputs
2523 `(("ghc-quickcheck" ,ghc-quickcheck)
2524 ("ghc-test-framework" ,ghc-test-framework)
2525 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2526 (home-page "https://hackage.haskell.org/package/data-hash")
2527 (synopsis "Combinators for building fast hashing functions")
2528 (description
2529 "This package provides combinators for building fast hashing functions.
2530It includes hashing functions for all basic Haskell98 types.")
2531 (license license:bsd-3)))
2532
2533(define-public ghc-data-ordlist
2534 (package
2535 (name "ghc-data-ordlist")
2536 (version "0.4.7.0")
2537 (source
2538 (origin
2539 (method url-fetch)
2540 (uri (string-append
2541 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2542 version ".tar.gz"))
2543 (sha256
2544 (base32
2545 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2546 (build-system haskell-build-system)
2547 (home-page "https://hackage.haskell.org/package/data-ordlist")
2548 (synopsis "Set and bag operations on ordered lists")
2549 (description
2550 "This module provides set and multiset operations on ordered lists.")
2551 (license license:bsd-3)))
2552
2553(define-public ghc-deepseq-generics
2554 (package
2555 (name "ghc-deepseq-generics")
2556 (version "0.2.0.0")
2557 (source (origin
2558 (method url-fetch)
2559 (uri (string-append "https://hackage.haskell.org/package/"
2560 "deepseq-generics/deepseq-generics-"
2561 version ".tar.gz"))
2562 (sha256
2563 (base32
2564 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2565 (build-system haskell-build-system)
2566 (arguments
2567 `(#:cabal-revision
2568 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
2569 (native-inputs
2570 `(("ghc-hunit" ,ghc-hunit)
2571 ("ghc-test-framework" ,ghc-test-framework)
2572 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2573 (home-page "https://github.com/hvr/deepseq-generics")
2574 (synopsis "Generic RNF implementation")
2575 (description
2576 "This package provides a @code{GHC.Generics}-based
2577@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2578providing an @code{rnf} implementation.")
2579 (license license:bsd-3)))
2580
e924e17e
TS
2581(define-public ghc-dense-linear-algebra
2582 (package
2583 (name "ghc-dense-linear-algebra")
2584 (version "0.1.0.0")
2585 (source
2586 (origin
2587 (method url-fetch)
2588 (uri (string-append "https://hackage.haskell.org/package/"
2589 "dense-linear-algebra/dense-linear-algebra-"
2590 version ".tar.gz"))
2591 (sha256
2592 (base32
2593 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2594 (build-system haskell-build-system)
2595 (inputs
2596 `(("ghc-math-functions" ,ghc-math-functions)
2597 ("ghc-primitive" ,ghc-primitive)
2598 ("ghc-vector" ,ghc-vector)
2599 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2600 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2601 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2602 (native-inputs
2603 `(("ghc-hspec" ,ghc-hspec)
2604 ("ghc-quickcheck" ,ghc-quickcheck)))
2605 (home-page "http://hackage.haskell.org/package/dense-linear-algebra")
2606 (synopsis "Simple and incomplete implementation of linear algebra")
2607 (description "This library is simply a collection of linear-algebra
2608related modules split from the statistics library.")
2609 (license license:bsd-2)))
2610
dddbc90c
RV
2611(define-public ghc-descriptive
2612 (package
2613 (name "ghc-descriptive")
2614 (version "0.9.5")
2615 (source
2616 (origin
2617 (method url-fetch)
2618 (uri (string-append
2619 "https://hackage.haskell.org/package/descriptive/descriptive-"
2620 version
2621 ".tar.gz"))
2622 (sha256
2623 (base32
2624 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2625 (build-system haskell-build-system)
2626 (inputs
2627 `(("ghc-aeson" ,ghc-aeson)
2628 ("ghc-bifunctors" ,ghc-bifunctors)
2629 ("ghc-scientific" ,ghc-scientific)
2630 ("ghc-vector" ,ghc-vector)))
2631 (native-inputs
2632 `(("ghc-hunit" ,ghc-hunit)
2633 ("ghc-hspec" ,ghc-hspec)))
2634 (home-page
2635 "https://github.com/chrisdone/descriptive")
2636 (synopsis
2637 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2638 (description
2639 "This package provides datatypes and functions for creating consumers
2640and parsers with useful semantics.")
2641 (license license:bsd-3)))
2642
2643(define-public ghc-diff
2644 (package
2645 (name "ghc-diff")
2646 (version "0.3.4")
2647 (source (origin
2648 (method url-fetch)
2649 (uri (string-append "https://hackage.haskell.org/package/"
2650 "Diff/Diff-" version ".tar.gz"))
a531ff94 2651 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
2652 (sha256
2653 (base32
2654 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2655 (build-system haskell-build-system)
2656 (native-inputs
2657 `(("ghc-quickcheck" ,ghc-quickcheck)
2658 ("ghc-test-framework" ,ghc-test-framework)
2659 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2660 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2661 (synopsis "O(ND) diff algorithm in Haskell")
2662 (description
2663 "This package provides an implementation of the standard diff algorithm,
2664and utilities for pretty printing.")
2665 (license license:bsd-3)))
2666
2667(define-public ghc-disk-free-space
2668 (package
2669 (name "ghc-disk-free-space")
2670 (version "0.1.0.1")
2671 (source
2672 (origin
2673 (method url-fetch)
2674 (uri (string-append "https://hackage.haskell.org/package/"
2675 "disk-free-space/disk-free-space-"
2676 version ".tar.gz"))
2677 (sha256
2678 (base32
2679 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2680 (build-system haskell-build-system)
2681 (home-page "https://github.com/redneb/disk-free-space")
2682 (synopsis "Retrieve information about disk space usage")
2683 (description "A cross-platform library for retrieving information about
2684disk space usage.")
2685 (license license:bsd-3)))
2686
2687(define-public ghc-distributive
2688 (package
2689 (name "ghc-distributive")
e4c92f28 2690 (version "0.6.1")
dddbc90c
RV
2691 (source
2692 (origin
2693 (method url-fetch)
2694 (uri (string-append
2695 "https://hackage.haskell.org/package/distributive/distributive-"
2696 version
2697 ".tar.gz"))
2698 (sha256
2699 (base32
e4c92f28 2700 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 2701 (build-system haskell-build-system)
dddbc90c
RV
2702 (inputs
2703 `(("ghc-tagged" ,ghc-tagged)
2704 ("ghc-base-orphans" ,ghc-base-orphans)
2705 ("ghc-transformers-compat" ,ghc-transformers-compat)
2706 ("ghc-semigroups" ,ghc-semigroups)
2707 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2708 (native-inputs
2709 `(("cabal-doctest" ,cabal-doctest)
2710 ("ghc-doctest" ,ghc-doctest)
2711 ("ghc-hspec" ,ghc-hspec)
2712 ("hspec-discover" ,hspec-discover)))
2713 (home-page "https://github.com/ekmett/distributive/")
2714 (synopsis "Distributive functors for Haskell")
2715 (description "This package provides distributive functors for Haskell.
2716Dual to @code{Traversable}.")
2717 (license license:bsd-3)))
2718
2719(define-public ghc-dlist
2720 (package
2721 (name "ghc-dlist")
197ddf33 2722 (version "0.8.0.7")
dddbc90c
RV
2723 (source
2724 (origin
2725 (method url-fetch)
2726 (uri (string-append
2727 "https://hackage.haskell.org/package/dlist/dlist-"
2728 version
2729 ".tar.gz"))
2730 (sha256
197ddf33 2731 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
2732 (build-system haskell-build-system)
2733 (inputs
2734 `(("ghc-quickcheck" ,ghc-quickcheck)))
2735 (home-page "https://github.com/spl/dlist")
2736 (synopsis "Difference lists")
2737 (description
2738 "Difference lists are a list-like type supporting O(1) append. This is
2739particularly useful for efficient logging and pretty printing (e.g. with the
2740Writer monad), where list append quickly becomes too expensive.")
2741 (license license:bsd-3)))
2742
2743(define-public ghc-doctemplates
2744 (package
2745 (name "ghc-doctemplates")
2746 (version "0.2.2.1")
2747 (source
2748 (origin
2749 (method url-fetch)
2750 (uri (string-append "https://hackage.haskell.org/package/"
2751 "doctemplates/doctemplates-"
2752 version ".tar.gz"))
2753 (sha256
2754 (base32
2755 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2756 (build-system haskell-build-system)
2757 (inputs
2758 `(("ghc-aeson" ,ghc-aeson)
2759 ("ghc-blaze-markup" ,ghc-blaze-markup)
2760 ("ghc-blaze-html" ,ghc-blaze-html)
2761 ("ghc-vector" ,ghc-vector)
2762 ("ghc-unordered-containers" ,ghc-unordered-containers)
2763 ("ghc-scientific" ,ghc-scientific)))
2764 (native-inputs
2765 `(("ghc-hspec" ,ghc-hspec)))
2766 (home-page "https://github.com/jgm/doctemplates#readme")
2767 (synopsis "Pandoc-style document templates")
2768 (description
2769 "This package provides a simple text templating system used by pandoc.")
2770 (license license:bsd-3)))
2771
2772(define-public ghc-doctest
2773 (package
2774 (name "ghc-doctest")
19c14a0f 2775 (version "0.16.2")
dddbc90c
RV
2776 (source
2777 (origin
2778 (method url-fetch)
2779 (uri (string-append
2780 "https://hackage.haskell.org/package/doctest/doctest-"
2781 version
2782 ".tar.gz"))
2783 (sha256
2784 (base32
19c14a0f 2785 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
2786 (build-system haskell-build-system)
2787 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2788 (inputs
2789 `(("ghc-syb" ,ghc-syb)
2790 ("ghc-paths" ,ghc-paths)
2791 ("ghc-base-compat" ,ghc-base-compat)
2792 ("ghc-code-page" ,ghc-code-page)
2793 ("ghc-hunit" ,ghc-hunit)
2794 ("ghc-hspec" ,ghc-hspec)
2795 ("ghc-quickcheck" ,ghc-quickcheck)
2796 ("ghc-stringbuilder" ,ghc-stringbuilder)
2797 ("ghc-silently" ,ghc-silently)
2798 ("ghc-setenv" ,ghc-setenv)))
2799 (home-page
2800 "https://github.com/sol/doctest#readme")
2801 (synopsis "Test interactive Haskell examples")
2802 (description "The doctest program checks examples in source code comments.
2803It is modeled after doctest for Python, see
2804@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2805 (license license:expat)))
2806
2807(define-public ghc-double-conversion
2808 (package
2809 (name "ghc-double-conversion")
2810 (version "2.0.2.0")
2811 (source
2812 (origin
2813 (method url-fetch)
2814 (uri (string-append "https://hackage.haskell.org/package/"
2815 "double-conversion/double-conversion-"
2816 version ".tar.gz"))
2817 (sha256
2818 (base32
2819 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2820 (build-system haskell-build-system)
2821 (native-inputs
2822 `(("ghc-hunit" ,ghc-hunit)
2823 ("ghc-test-framework" ,ghc-test-framework)
2824 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2825 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2826 (home-page "https://github.com/bos/double-conversion")
2827 (synopsis "Fast conversion between double precision floating point and text")
2828 (description
2829 "This package provides a library that performs fast, accurate conversion
2830between double precision floating point and text.")
2831 (license license:bsd-3)))
2832
2833(define-public ghc-easy-file
2834 (package
2835 (name "ghc-easy-file")
2836 (version "0.2.2")
2837 (source
2838 (origin
2839 (method url-fetch)
2840 (uri (string-append
2841 "https://hackage.haskell.org/package/easy-file/easy-file-"
2842 version
2843 ".tar.gz"))
2844 (sha256
2845 (base32
2846 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2847 (build-system haskell-build-system)
2848 (home-page
2849 "https://github.com/kazu-yamamoto/easy-file")
2850 (synopsis "File handling library for Haskell")
2851 (description "This library provides file handling utilities for Haskell.")
2852 (license license:bsd-3)))
2853
2854(define-public ghc-easyplot
2855 (package
2856 (name "ghc-easyplot")
2857 (version "1.0")
2858 (source
2859 (origin
2860 (method url-fetch)
2861 (uri (string-append
2862 "https://hackage.haskell.org/package/easyplot/easyplot-"
2863 version ".tar.gz"))
2864 (sha256
2865 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2866 (build-system haskell-build-system)
2867 (propagated-inputs `(("gnuplot" ,gnuplot)))
2868 (arguments
2869 `(#:phases (modify-phases %standard-phases
2870 (add-after 'unpack 'fix-setup-suffix
2871 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2872 (home-page "https://hub.darcs.net/scravy/easyplot")
2873 (synopsis "Haskell plotting library based on gnuplot")
2874 (description "This package provides a plotting library for
2875Haskell, using gnuplot for rendering.")
2876 (license license:expat)))
2877
2878(define-public ghc-echo
2879 (package
2880 (name "ghc-echo")
2881 (version "0.1.3")
2882 (source
2883 (origin
2884 (method url-fetch)
2885 (uri (string-append
2886 "https://hackage.haskell.org/package/echo/echo-"
2887 version ".tar.gz"))
2888 (sha256
2889 (base32
2890 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2891 (build-system haskell-build-system)
2892 (arguments
2893 `(#:cabal-revision
2894 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2895 (home-page "https://github.com/RyanGlScott/echo")
2896 (synopsis "Echo terminal input portably")
2897 (description "The @code{base} library exposes the @code{hGetEcho} and
2898@code{hSetEcho} functions for querying and setting echo status, but
2899unfortunately, neither function works with MinTTY consoles on Windows.
2900This library provides an alternative interface which works with both
2901MinTTY and other consoles.")
2902 (license license:bsd-3)))
2903
2904(define-public ghc-edisonapi
2905 (package
2906 (name "ghc-edisonapi")
2907 (version "1.3.1")
2908 (source
2909 (origin
2910 (method url-fetch)
2911 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2912 "/EdisonAPI-" version ".tar.gz"))
2913 (sha256
2914 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2915 (build-system haskell-build-system)
2916 (home-page "http://rwd.rdockins.name/edison/home/")
2917 (synopsis "Library of efficient, purely-functional data structures (API)")
2918 (description
2919 "Edison is a library of purely functional data structures written by
2920Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2921value EDiSon (Efficient Data Structures). Edison provides several families of
2922abstractions, each with multiple implementations. The main abstractions
2923provided by Edison are: Sequences such as stacks, queues, and dequeues;
2924Collections such as sets, bags and heaps; and Associative Collections such as
2925finite maps and priority queues where the priority and element are distinct.")
2926 (license license:expat)))
2927
2928(define-public ghc-edisoncore
2929 (package
2930 (name "ghc-edisoncore")
2931 (version "1.3.2.1")
2932 (source
2933 (origin
2934 (method url-fetch)
2935 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2936 "/EdisonCore-" version ".tar.gz"))
2937 (sha256
2938 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2939 (build-system haskell-build-system)
2940 (inputs
2941 `(("ghc-quickcheck" ,ghc-quickcheck)
2942 ("ghc-edisonapi" ,ghc-edisonapi)))
2943 (home-page "http://rwd.rdockins.name/edison/home/")
2944 (synopsis "Library of efficient, purely-functional data structures")
2945 (description
2946 "This package provides the core Edison data structure implementations,
2947including multiple sequence, set, bag, and finite map concrete implementations
2948with various performance characteristics.")
2949 (license license:expat)))
2950
2951(define-public ghc-edit-distance
2952 (package
2953 (name "ghc-edit-distance")
2954 (version "0.2.2.1")
2955 (source
2956 (origin
2957 (method url-fetch)
2958 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2959 "/edit-distance-" version ".tar.gz"))
2960 (sha256
2961 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2962 (build-system haskell-build-system)
2963 (arguments
2964 `(#:phases
2965 (modify-phases %standard-phases
2966 (add-before 'configure 'update-constraints
2967 (lambda _
2968 (substitute* "edit-distance.cabal"
2969 (("QuickCheck >= 2\\.4 && <2\\.9")
d7d143e5 2970 "QuickCheck >= 2.4 && < 2.14")))))))
dddbc90c
RV
2971 (inputs
2972 `(("ghc-random" ,ghc-random)
2973 ("ghc-test-framework" ,ghc-test-framework)
2974 ("ghc-quickcheck" ,ghc-quickcheck)
2975 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2976 (home-page "https://github.com/phadej/edit-distance")
2977 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2978 (description
2979 "This package provides optimized functions to determine the edit
2980distances for fuzzy matching, including Levenshtein and restricted
2981Damerau-Levenshtein algorithms.")
2982 (license license:bsd-3)))
2983
2984(define-public ghc-either
2985 (package
2986 (name "ghc-either")
a3fd4dc7 2987 (version "5.0.1.1")
dddbc90c
RV
2988 (source
2989 (origin
2990 (method url-fetch)
2991 (uri (string-append "https://hackage.haskell.org/package/"
2992 "either-" version "/"
2993 "either-" version ".tar.gz"))
2994 (sha256
2995 (base32
a3fd4dc7 2996 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
2997 (build-system haskell-build-system)
2998 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2999 ("ghc-exceptions" ,ghc-exceptions)
3000 ("ghc-free" ,ghc-free)
3001 ("ghc-monad-control" ,ghc-monad-control)
3002 ("ghc-manodrandom" ,ghc-monadrandom)
3003 ("ghc-mmorph" ,ghc-mmorph)
3004 ("ghc-profunctors" ,ghc-profunctors)
3005 ("ghc-semigroups" ,ghc-semigroups)
3006 ("ghc-semigroupoids" ,ghc-semigroupoids)
3007 ("ghc-transformers-base" ,ghc-transformers-base)))
3008 (native-inputs
3009 `(("ghc-quickcheck" ,ghc-quickcheck)
3010 ("ghc-test-framework" ,ghc-test-framework)
3011 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3012 (home-page "https://github.com/ekmett/either")
3013 (synopsis "Provides an either monad transformer for Haskell")
3014 (description "This Haskell package provides an either monad transformer.")
3015 (license license:bsd-3)))
3016
3017(define-public ghc-email-validate
3018 (package
3019 (name "ghc-email-validate")
a4fe1c64 3020 (version "2.3.2.12")
dddbc90c
RV
3021 (source
3022 (origin
3023 (method url-fetch)
3024 (uri (string-append
3025 "https://hackage.haskell.org/package/"
3026 "email-validate/email-validate-"
3027 version
3028 ".tar.gz"))
3029 (sha256
3030 (base32
a4fe1c64 3031 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3032 (build-system haskell-build-system)
3033 (inputs
3034 `(("ghc-attoparsec" ,ghc-attoparsec)
3035 ("ghc-hspec" ,ghc-hspec)
3036 ("ghc-quickcheck" ,ghc-quickcheck)
3037 ("ghc-doctest" ,ghc-doctest)))
3038 (home-page
3039 "https://github.com/Porges/email-validate-hs")
3040 (synopsis "Email address validator for Haskell")
3041 (description
3042 "This Haskell package provides a validator that can validate an email
3043address string against RFC 5322.")
3044 (license license:bsd-3)))
3045
3046(define-public ghc-enclosed-exceptions
3047 (package
3048 (name "ghc-enclosed-exceptions")
3049 (version "1.0.3")
3050 (source (origin
3051 (method url-fetch)
3052 (uri (string-append "https://hackage.haskell.org/package/"
3053 "enclosed-exceptions/enclosed-exceptions-"
3054 version ".tar.gz"))
3055 (sha256
3056 (base32
3057 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3058 (build-system haskell-build-system)
3059 ;; FIXME: one of the tests blocks forever:
3060 ;; "thread blocked indefinitely in an MVar operation"
3061 (arguments '(#:tests? #f))
3062 (inputs
3063 `(("ghc-lifted-base" ,ghc-lifted-base)
3064 ("ghc-monad-control" ,ghc-monad-control)
3065 ("ghc-async" ,ghc-async)
3066 ("ghc-transformers-base" ,ghc-transformers-base)))
3067 (native-inputs
3068 `(("ghc-hspec" ,ghc-hspec)
3069 ("ghc-quickcheck" ,ghc-quickcheck)))
3070 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3071 (synopsis "Catch all exceptions from within an enclosed computation")
3072 (description
3073 "This library implements a technique to catch all exceptions raised
3074within an enclosed computation, while remaining responsive to (external)
3075asynchronous exceptions.")
3076 (license license:expat)))
3077
3078(define-public ghc-equivalence
3079 (package
3080 (name "ghc-equivalence")
3081 (version "0.3.2")
3082 (source
3083 (origin
3084 (method url-fetch)
3085 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3086 "/equivalence-" version ".tar.gz"))
3087 (sha256
3088 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3089 (build-system haskell-build-system)
3090 (inputs
3091 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3092 ("ghc-transformers-compat" ,ghc-transformers-compat)
3093 ("ghc-quickcheck" ,ghc-quickcheck)
3094 ("ghc-test-framework" ,ghc-test-framework)
3095 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3096 (home-page "https://github.com/pa-ba/equivalence")
3097 (synopsis "Maintaining an equivalence relation implemented as union-find")
3098 (description
3099 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3100Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
310122(2), 1975) in order to maintain an equivalence relation. This
3102implementation is a port of the @code{union-find} package using the @code{ST}
3103monad transformer (instead of the IO monad).")
3104 (license license:bsd-3)))
3105
3106(define-public ghc-erf
3107 (package
3108 (name "ghc-erf")
3109 (version "2.0.0.0")
3110 (source
3111 (origin
3112 (method url-fetch)
3113 (uri (string-append "https://hackage.haskell.org/package/"
3114 "erf-" version "/"
3115 "erf-" version ".tar.gz"))
3116 (sha256
3117 (base32
3118 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3119 (build-system haskell-build-system)
3120 (home-page "https://hackage.haskell.org/package/erf")
3121 (synopsis "The error function, erf, and related functions for Haskell")
3122 (description "This Haskell library provides a type class for the
3123error function, erf, and related functions. Instances for Float and
3124Double.")
3125 (license license:bsd-3)))
3126
3127(define-public ghc-errorcall-eq-instance
3128 (package
3129 (name "ghc-errorcall-eq-instance")
3130 (version "0.3.0")
3131 (source
3132 (origin
3133 (method url-fetch)
3134 (uri (string-append "https://hackage.haskell.org/package/"
3135 "errorcall-eq-instance/errorcall-eq-instance-"
3136 version ".tar.gz"))
3137 (sha256
3138 (base32
3139 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3140 (build-system haskell-build-system)
3141 (inputs
3142 `(("ghc-base-orphans" ,ghc-base-orphans)))
3143 (native-inputs
3144 `(("ghc-quickcheck" ,ghc-quickcheck)
3145 ("ghc-hspec" ,ghc-hspec)
3146 ("hspec-discover" ,hspec-discover)))
3147 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3148 (synopsis "Orphan Eq instance for ErrorCall")
3149 (description
3150 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3151This package provides an orphan instance.")
3152 (license license:expat)))
3153
3154(define-public ghc-errors
3155 (package
3156 (name "ghc-errors")
3157 (version "2.3.0")
3158 (source
3159 (origin
3160 (method url-fetch)
3161 (uri (string-append "https://hackage.haskell.org/package/"
3162 "errors-" version "/"
3163 "errors-" version ".tar.gz"))
3164 (sha256
3165 (base32
3166 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3167 (build-system haskell-build-system)
3168 (inputs
3169 `(("ghc-exceptions" ,ghc-exceptions)
3170 ("ghc-transformers-compat" ,ghc-transformers-compat)
3171 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3172 ("ghc-safe" ,ghc-safe)))
3173 (home-page "https://github.com/gabriel439/haskell-errors-library")
3174 (synopsis "Error handling library for Haskell")
3175 (description "This library encourages an error-handling style that
3176directly uses the type system, rather than out-of-band exceptions.")
3177 (license license:bsd-3)))
3178
3179(define-public ghc-esqueleto
3180 (let ((version "2.5.3")
3181 (revision "1")
3182 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3183 (package
3184 (name "ghc-esqueleto")
3185 (version (git-version version revision commit))
3186 (source
3187 (origin
3188 (method git-fetch)
3189 (uri (git-reference
3190 (url "https://github.com/bitemyapp/esqueleto")
3191 (commit commit)))
3192 (file-name (git-file-name name version))
3193 (sha256
3194 (base32
3195 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3196 (build-system haskell-build-system)
3197 (arguments
3198 `(#:haddock? #f ; Haddock reports an internal error.
3199 #:phases
3200 (modify-phases %standard-phases
3201 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3202 ;; SQLite backends. Since we only have Haskell packages for
3203 ;; SQLite, we remove the other two test suites. FIXME: Add the
3204 ;; other backends and run all three test suites.
3205 (add-before 'configure 'remove-non-sqlite-test-suites
3206 (lambda _
3207 (use-modules (ice-9 rdelim))
3208 (with-atomic-file-replacement "esqueleto.cabal"
3209 (lambda (in out)
3210 (let loop ((line (read-line in 'concat)) (deleting? #f))
3211 (cond
3212 ((eof-object? line) #t)
3213 ((string-every char-set:whitespace line)
3214 (unless deleting? (display line out))
3215 (loop (read-line in 'concat) #f))
3216 ((member line '("test-suite mysql\n"
3217 "test-suite postgresql\n"))
3218 (loop (read-line in 'concat) #t))
3219 (else
3220 (unless deleting? (display line out))
3221 (loop (read-line in 'concat) deleting?)))))))))))
3222 (inputs
3223 `(("ghc-blaze-html" ,ghc-blaze-html)
3224 ("ghc-conduit" ,ghc-conduit)
3225 ("ghc-monad-logger" ,ghc-monad-logger)
3226 ("ghc-persistent" ,ghc-persistent)
3227 ("ghc-resourcet" ,ghc-resourcet)
3228 ("ghc-tagged" ,ghc-tagged)
3229 ("ghc-unliftio" ,ghc-unliftio)
3230 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3231 (native-inputs
3232 `(("ghc-hspec" ,ghc-hspec)
3233 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3234 ("ghc-persistent-template" ,ghc-persistent-template)))
3235 (home-page "https://github.com/bitemyapp/esqueleto")
3236 (synopsis "Type-safe embedded domain specific language for SQL queries")
3237 (description "This library provides a type-safe embedded domain specific
3238language (EDSL) for SQL queries that works with SQL backends as provided by
3239@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3240to learn new concepts, just new syntax, and it's fairly easy to predict the
3241generated SQL and optimize it for your backend.")
3242 (license license:bsd-3))))
3243
3244(define-public ghc-exactprint
3245 (package
3246 (name "ghc-exactprint")
50614014 3247 (version "0.6.1")
dddbc90c
RV
3248 (source
3249 (origin
3250 (method url-fetch)
3251 (uri (string-append
3252 "https://hackage.haskell.org/package/"
3253 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3254 (sha256
3255 (base32
50614014 3256 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3257 (build-system haskell-build-system)
3258 (inputs
3259 `(("ghc-paths" ,ghc-paths)
3260 ("ghc-syb" ,ghc-syb)
3261 ("ghc-free" ,ghc-free)))
3262 (native-inputs
3263 `(("ghc-hunit" ,ghc-hunit)
3264 ("ghc-diff" ,ghc-diff)
3265 ("ghc-silently" ,ghc-silently)
3266 ("ghc-filemanip" ,ghc-filemanip)))
3267 (home-page
3268 "http://hackage.haskell.org/package/ghc-exactprint")
3269 (synopsis "ExactPrint for GHC")
3270 (description
3271 "Using the API Annotations available from GHC 7.10.2, this library
3272provides a means to round-trip any code that can be compiled by GHC, currently
3273excluding @file{.lhs} files.")
3274 (license license:bsd-3)))
3275
3276(define-public ghc-exceptions
3277 (package
3278 (name "ghc-exceptions")
46d3e65b 3279 (version "0.10.3")
dddbc90c
RV
3280 (source
3281 (origin
3282 (method url-fetch)
3283 (uri (string-append
3284 "https://hackage.haskell.org/package/exceptions/exceptions-"
3285 version
3286 ".tar.gz"))
3287 (sha256
3288 (base32
46d3e65b 3289 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3290 (build-system haskell-build-system)
3291 (native-inputs
3292 `(("ghc-quickcheck" ,ghc-quickcheck)
3293 ("ghc-test-framework" ,ghc-test-framework)
3294 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3295 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3296 (inputs
3297 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3298 (home-page "https://github.com/ekmett/exceptions/")
3299 (synopsis "Extensible optionally-pure exceptions")
3300 (description "This library provides extensible optionally-pure exceptions
3301for Haskell.")
3302 (license license:bsd-3)))
3303
3304(define-public ghc-executable-path
3305 (package
3306 (name "ghc-executable-path")
3307 (version "0.0.3.1")
3308 (source (origin
3309 (method url-fetch)
3310 (uri (string-append "https://hackage.haskell.org/package/"
3311 "executable-path/executable-path-"
3312 version ".tar.gz"))
3313 (sha256
3314 (base32
3315 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3316 (build-system haskell-build-system)
3317 (home-page "https://hackage.haskell.org/package/executable-path")
3318 (synopsis "Find out the full path of the executable")
3319 (description
3320 "The documentation of @code{System.Environment.getProgName} says that
3321\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3322instead, for maximum portability, we just return the leafname of the program
3323as invoked.\" This library tries to provide the missing path.")
3324 (license license:public-domain)))
3325
3326(define-public ghc-extensible-exceptions
3327 (package
3328 (name "ghc-extensible-exceptions")
3329 (version "0.1.1.4")
3330 (source
3331 (origin
3332 (method url-fetch)
3333 (uri (string-append "https://hackage.haskell.org/package/"
3334 "extensible-exceptions/extensible-exceptions-"
3335 version ".tar.gz"))
3336 (sha256
3337 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3338 (build-system haskell-build-system)
3339 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3340 (synopsis "Extensible exceptions for Haskell")
3341 (description
3342 "This package provides extensible exceptions for both new and old
3343versions of GHC (i.e., < 6.10).")
3344 (license license:bsd-3)))
3345
3346(define-public ghc-extra
3347 (package
3348 (name "ghc-extra")
10650c44 3349 (version "1.6.18")
dddbc90c
RV
3350 (source
3351 (origin
3352 (method url-fetch)
3353 (uri (string-append
3354 "https://hackage.haskell.org/package/extra/extra-"
3355 version
3356 ".tar.gz"))
3357 (sha256
3358 (base32
10650c44 3359 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3360 (build-system haskell-build-system)
3361 (inputs
3362 `(("ghc-clock" ,ghc-clock)
10650c44 3363 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3364 ("ghc-quickcheck" ,ghc-quickcheck)))
3365 (home-page "https://github.com/ndmitchell/extra")
3366 (synopsis "Extra Haskell functions")
3367 (description "This library provides extra functions for the standard
3368Haskell libraries. Most functions are simple additions, filling out missing
3369functionality. A few functions are available in later versions of GHC, but
3370this package makes them available back to GHC 7.2.")
3371 (license license:bsd-3)))
3372
3373(define-public ghc-fail
3374 (package
3375 (name "ghc-fail")
3376 (version "4.9.0.0")
3377 (source
3378 (origin
3379 (method url-fetch)
3380 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3381 version ".tar.gz"))
3382 (sha256
3383 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3384 (build-system haskell-build-system)
3385 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3386 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3387 (synopsis "Forward-compatible MonadFail class")
3388 (description
3389 "This package contains the @code{Control.Monad.Fail} module providing the
3390@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3391class that became available in
3392@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3393older @code{base} package versions. This package turns into an empty package
3394when used with GHC versions which already provide the
3395@code{Control.Monad.Fail} module.")
3396 (license license:bsd-3)))
3397
3398(define-public ghc-fast-logger
3399 (package
3400 (name "ghc-fast-logger")
d443a52a 3401 (version "2.4.17")
dddbc90c
RV
3402 (source
3403 (origin
3404 (method url-fetch)
3405 (uri (string-append
3406 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3407 version
3408 ".tar.gz"))
3409 (sha256
3410 (base32
d443a52a 3411 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3412 (build-system haskell-build-system)
3413 (inputs
3414 `(("ghc-auto-update" ,ghc-auto-update)
3415 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3416 ("ghc-unix-time" ,ghc-unix-time)
3417 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3418 (native-inputs
3419 `(("hspec-discover" ,hspec-discover)
3420 ("ghc-hspec" ,ghc-hspec)))
3421 (home-page "https://hackage.haskell.org/package/fast-logger")
3422 (synopsis "Fast logging system")
3423 (description "This library provides a fast logging system for Haskell.")
3424 (license license:bsd-3)))
3425
3426(define-public ghc-feed
3427 (package
3428 (name "ghc-feed")
a41c16dc 3429 (version "1.2.0.1")
dddbc90c
RV
3430 (source
3431 (origin
3432 (method url-fetch)
3433 (uri (string-append "https://hackage.haskell.org/package/"
3434 "feed/feed-" version ".tar.gz"))
3435 (sha256
3436 (base32
a41c16dc 3437 "004lwdng4slj6yl8mgscr3cgj0zzc8hzkf4450dby2l6cardg4w0"))))
dddbc90c 3438 (build-system haskell-build-system)
dddbc90c
RV
3439 (inputs
3440 `(("ghc-base-compat" ,ghc-base-compat)
3441 ("ghc-old-locale" ,ghc-old-locale)
3442 ("ghc-old-time" ,ghc-old-time)
3443 ("ghc-safe" ,ghc-safe)
3444 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3445 ("ghc-utf8-string" ,ghc-utf8-string)
3446 ("ghc-xml-conduit" ,ghc-xml-conduit)
3447 ("ghc-xml-types" ,ghc-xml-types)))
3448 (native-inputs
3449 `(("ghc-hunit" ,ghc-hunit)
a41c16dc 3450 ("ghc-markdown-unlit" ,ghc-markdown-unlit)
dddbc90c
RV
3451 ("ghc-test-framework" ,ghc-test-framework)
3452 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3453 (home-page "https://github.com/bergmark/feed")
3454 (synopsis "Haskell package for handling various syndication formats")
3455 (description "This Haskell package includes tools for generating and
3456consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3457 (license license:bsd-3)))
3458
3459(define-public ghc-fgl
3460 (package
3461 (name "ghc-fgl")
17482b26 3462 (version "5.7.0.1")
dddbc90c
RV
3463 (outputs '("out" "doc"))
3464 (source
3465 (origin
3466 (method url-fetch)
3467 (uri (string-append
3468 "https://hackage.haskell.org/package/fgl/fgl-"
3469 version
3470 ".tar.gz"))
3471 (sha256
3472 (base32
17482b26 3473 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3474 (build-system haskell-build-system)
3475 (arguments
3476 `(#:phases
3477 (modify-phases %standard-phases
3478 (add-before 'configure 'update-constraints
3479 (lambda _
3480 (substitute* "fgl.cabal"
17482b26
TS
3481 (("QuickCheck >= 2\\.8 && < 2\\.13")
3482 "QuickCheck >= 2.8 && < 2.14")
3483 (("hspec >= 2\\.1 && < 2\\.7")
3484 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3485 (inputs
3486 `(("ghc-hspec" ,ghc-hspec)
3487 ("ghc-quickcheck" ,ghc-quickcheck)))
3488 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3489 (synopsis
3490 "Martin Erwig's Functional Graph Library")
3491 (description "The functional graph library, FGL, is a collection of type
3492and function definitions to address graph problems. The basis of the library
3493is an inductive definition of graphs in the style of algebraic data types that
3494encourages inductive, recursive definitions of graph algorithms.")
3495 (license license:bsd-3)))
3496
3497(define-public ghc-fgl-arbitrary
3498 (package
3499 (name "ghc-fgl-arbitrary")
3500 (version "0.2.0.3")
3501 (source
3502 (origin
3503 (method url-fetch)
3504 (uri (string-append
3505 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3506 version ".tar.gz"))
3507 (sha256
3508 (base32
3509 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3510 (build-system haskell-build-system)
3511 (arguments
3512 `(#:phases
3513 (modify-phases %standard-phases
3514 (add-before 'configure 'update-constraints
3515 (lambda _
3516 (substitute* "fgl-arbitrary.cabal"
3517 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3518 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3519 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3520 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3521 (inputs
3522 `(("ghc-fgl" ,ghc-fgl)
3523 ("ghc-quickcheck" ,ghc-quickcheck)
3524 ("ghc-hspec" ,ghc-hspec)))
3525 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3526 (synopsis "QuickCheck support for fgl")
3527 (description
3528 "Provides Arbitrary instances for fgl graphs to avoid adding a
3529QuickCheck dependency for fgl whilst still making the instances
3530available to others. Also available are non-fgl-specific functions
3531for generating graph-like data structures.")
3532 (license license:bsd-3)))
3533
3534(define-public ghc-file-embed
3535 (package
3536 (name "ghc-file-embed")
b5920d50 3537 (version "0.0.11")
dddbc90c
RV
3538 (source
3539 (origin
3540 (method url-fetch)
3541 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3542 "file-embed-" version ".tar.gz"))
3543 (sha256
3544 (base32
b5920d50 3545 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3546 (build-system haskell-build-system)
3547 (home-page "https://github.com/snoyberg/file-embed")
3548 (synopsis "Use Template Haskell to embed file contents directly")
3549 (description
3550 "This package allows you to use Template Haskell to read a file or all
3551the files in a directory, and turn them into @code{(path, bytestring)} pairs
3552embedded in your Haskell code.")
3553 (license license:bsd-3)))
3554
3555(define-public ghc-filemanip
3556 (package
3557 (name "ghc-filemanip")
3558 (version "0.3.6.3")
3559 (source (origin
3560 (method url-fetch)
3561 (uri (string-append "https://hackage.haskell.org/package/"
3562 "filemanip/filemanip-" version ".tar.gz"))
3563 (sha256
3564 (base32
3565 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3566 (build-system haskell-build-system)
3567 (inputs
3568 `(("ghc-unix-compat" ,ghc-unix-compat)))
3569 (home-page "https://github.com/bos/filemanip")
3570 (synopsis "File and directory manipulation for Haskell")
3571 (description
3572 "This package provides a Haskell library for working with files and
3573directories. It includes code for pattern matching, finding files, modifying
3574file contents, and more.")
3575 (license license:bsd-3)))
3576
3577(define-public ghc-findbin
3578 (package
3579 (name "ghc-findbin")
3580 (version "0.0.5")
3581 (source
3582 (origin
3583 (method url-fetch)
3584 (uri (string-append
3585 "https://hackage.haskell.org/package/FindBin/FindBin-"
3586 version ".tar.gz"))
3587 (sha256
3588 (base32
3589 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3590 (build-system haskell-build-system)
3591 (home-page "https://github.com/audreyt/findbin")
3592 (synopsis "Get the absolute path of the running program")
3593 (description
3594 "This module locates the full directory of the running program, to allow
3595the use of paths relative to it. FindBin supports invocation of Haskell
3596programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3597an executable.")
3598 (license license:bsd-3)))
3599
3600(define-public ghc-fingertree
3601 (package
3602 (name "ghc-fingertree")
aac14fdc 3603 (version "0.1.4.2")
dddbc90c
RV
3604 (source
3605 (origin
3606 (method url-fetch)
3607 (uri (string-append
3608 "https://hackage.haskell.org/package/fingertree/fingertree-"
3609 version ".tar.gz"))
3610 (sha256
3611 (base32
aac14fdc 3612 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
3613 (build-system haskell-build-system)
3614 (native-inputs
3615 `(("ghc-hunit" ,ghc-hunit)
3616 ("ghc-quickcheck" ,ghc-quickcheck)
3617 ("ghc-test-framework" ,ghc-test-framework)
3618 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3619 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3620 (home-page "https://hackage.haskell.org/package/fingertree")
3621 (synopsis "Generic finger-tree structure")
3622 (description "This library provides finger trees, a general sequence
3623representation with arbitrary annotations, for use as a base for
3624implementations of various collection types. It includes examples, as
3625described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3626simple general-purpose data structure\".")
3627 (license license:bsd-3)))
3628
3629(define-public ghc-fixed
3630 (package
3631 (name "ghc-fixed")
099dda5b 3632 (version "0.3")
dddbc90c
RV
3633 (source
3634 (origin
3635 (method url-fetch)
3636 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3637 version ".tar.gz"))
3638 (sha256
3639 (base32
099dda5b 3640 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3641 (build-system haskell-build-system)
3642 (home-page "https://github.com/ekmett/fixed")
3643 (synopsis "Signed 15.16 precision fixed point arithmetic")
3644 (description
3645 "This package provides functions for signed 15.16 precision fixed point
3646arithmetic.")
3647 (license license:bsd-3)))
3648
f169f713
JS
3649(define-public ghc-fmlist
3650 (package
3651 (name "ghc-fmlist")
fe9b83a6 3652 (version "0.9.3")
f169f713
JS
3653 (source
3654 (origin
3655 (method url-fetch)
3656 (uri
3657 (string-append
3658 "https://hackage.haskell.org/package/fmlist/fmlist-"
3659 version ".tar.gz"))
3660 (sha256
3661 (base32
fe9b83a6 3662 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3663 (build-system haskell-build-system)
3664 (home-page "https://github.com/sjoerdvisscher/fmlist")
3665 (synopsis "FoldMap lists")
3666 (description "FoldMap lists are lists represented by their
3667@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3668append, just like DLists, but other operations might have favorable
3669performance characteristics as well. These wild claims are still
3670completely unverified though.")
3671 (license license:bsd-3)))
3672
dddbc90c
RV
3673(define-public ghc-foldl
3674 (package
3675 (name "ghc-foldl")
26c4104f 3676 (version "1.4.5")
dddbc90c
RV
3677 (source
3678 (origin
3679 (method url-fetch)
3680 (uri (string-append "https://hackage.haskell.org/package/"
3681 "foldl-" version "/"
3682 "foldl-" version ".tar.gz"))
3683 (sha256
3684 (base32
26c4104f 3685 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
3686 (build-system haskell-build-system)
3687 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3688 ("ghc-primitive" ,ghc-primitive)
3689 ("ghc-vector" ,ghc-vector)
3690 ("ghc-unordered-containers" ,ghc-unordered-containers)
3691 ("ghc-hashable" ,ghc-hashable)
3692 ("ghc-contravariant" ,ghc-contravariant)
3693 ("ghc-semigroups" ,ghc-semigroups)
3694 ("ghc-profunctors" ,ghc-profunctors)
3695 ("ghc-semigroupoids" ,ghc-semigroupoids)
3696 ("ghc-comonad" ,ghc-comonad)
3697 ("ghc-vector-builder" ,ghc-vector-builder)))
3698 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3699 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3700 (description "This Haskell library provides strict left folds that stream
3701in constant memory, and you can combine folds using @code{Applicative} style
3702to derive new folds. Derived folds still traverse the container just once
3703and are often as efficient as hand-written folds.")
3704 (license license:bsd-3)))
3705
3706(define-public ghc-foundation
3707 (package
3708 (name "ghc-foundation")
0a702df9 3709 (version "0.0.25")
dddbc90c
RV
3710 (source
3711 (origin
3712 (method url-fetch)
3713 (uri (string-append "https://hackage.haskell.org/package/"
3714 "foundation/foundation-" version ".tar.gz"))
3715 (sha256
3716 (base32
0a702df9 3717 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c
RV
3718 (build-system haskell-build-system)
3719 (inputs `(("ghc-basement" ,ghc-basement)))
3720 (home-page "https://github.com/haskell-foundation/foundation")
3721 (synopsis "Alternative prelude with batteries and no dependencies")
3722 (description
3723 "This package provides a custom prelude with no dependencies apart from
3724the base package.
3725
3726Foundation has the following goals:
3727
3728@enumerate
3729@item provide a base like sets of modules that provide a consistent set of
3730 features and bugfixes across multiple versions of GHC (unlike base).
3731@item provide a better and more efficient prelude than base's prelude.
3732@item be self-sufficient: no external dependencies apart from base;
3733@item provide better data-types: packed unicode string by default, arrays;
3734@item Numerical classes that better represent mathematical things (no more
3735 all-in-one @code{Num});
3736@item I/O system with less lazy IO.
3737@end enumerate\n")
3738 (license license:bsd-3)))
3739
3740(define-public ghc-free
3741 (package
3742 (name "ghc-free")
4081565d 3743 (version "5.1.2")
dddbc90c
RV
3744 (source
3745 (origin
3746 (method url-fetch)
3747 (uri (string-append
3748 "https://hackage.haskell.org/package/free/free-"
3749 version
3750 ".tar.gz"))
3751 (sha256
3752 (base32
4081565d 3753 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
3754 (build-system haskell-build-system)
3755 (inputs
3756 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3757 ("ghc-profunctors" ,ghc-profunctors)
3758 ("ghc-exceptions" ,ghc-exceptions)
3759 ("ghc-bifunctors" ,ghc-bifunctors)
3760 ("ghc-comonad" ,ghc-comonad)
3761 ("ghc-distributive" ,ghc-distributive)
3762 ("ghc-semigroupoids" ,ghc-semigroupoids)
3763 ("ghc-semigroups" ,ghc-semigroups)
3764 ("ghc-transformers-base" ,ghc-transformers-base)
3765 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3766 (home-page "https://github.com/ekmett/free/")
3767 (synopsis "Unrestricted monads for Haskell")
3768 (description "This library provides free monads, which are useful for many
3769tree-like structures and domain specific languages. If @code{f} is a
3770@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3771whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3772is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3773f} makes no constraining assumptions beyond those given by @code{f} and the
3774definition of @code{Monad}.")
3775 (license license:bsd-3)))
3776
3777(define-public ghc-fsnotify
3778 (package
3779 (name "ghc-fsnotify")
3780 (version "0.3.0.1")
3781 (source (origin
3782 (method url-fetch)
3783 (uri (string-append
3784 "https://hackage.haskell.org/package/fsnotify/"
3785 "fsnotify-" version ".tar.gz"))
3786 (sha256
3787 (base32
3788 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3789 (build-system haskell-build-system)
3790 (inputs
3791 `(("ghc-async" ,ghc-async)
3792 ("ghc-unix-compat" ,ghc-unix-compat)
3793 ("ghc-hinotify" ,ghc-hinotify)
3794 ("ghc-tasty" ,ghc-tasty)
3795 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3796 ("ghc-random" ,ghc-random)
3797 ("ghc-shelly" ,ghc-shelly)
3798 ("ghc-temporary" ,ghc-temporary)))
3799 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3800 (synopsis "Cross platform library for file change notification.")
3801 (description "Cross platform library for file creation, modification, and
3802deletion notification. This library builds upon existing libraries for platform
3803specific Windows, Mac, and Linux file system event notification.")
3804 (license license:bsd-3)))
3805
3806(define-public ghc-generic-deriving
3807 (package
3808 (name "ghc-generic-deriving")
55c1e6be 3809 (version "1.12.4")
dddbc90c
RV
3810 (source
3811 (origin
3812 (method url-fetch)
3813 (uri (string-append
3814 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3815 version
3816 ".tar.gz"))
3817 (sha256
3818 (base32
55c1e6be 3819 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
3820 (build-system haskell-build-system)
3821 (inputs
3822 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3823 (native-inputs
3824 `(("ghc-hspec" ,ghc-hspec)
3825 ("hspec-discover" ,hspec-discover)))
3826 (home-page "https://hackage.haskell.org/package/generic-deriving")
3827 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3828 (description "This package provides functionality for generalising the
3829deriving mechanism in Haskell to arbitrary classes.")
3830 (license license:bsd-3)))
3831
3832(define-public ghc-generics-sop
3833 (package
3834 (name "ghc-generics-sop")
3ed40e10 3835 (version "0.4.0.1")
dddbc90c
RV
3836 (source
3837 (origin
3838 (method url-fetch)
3839 (uri (string-append "https://hackage.haskell.org/package/"
3840 "generics-sop-" version "/"
3841 "generics-sop-" version ".tar.gz"))
3842 (sha256
3843 (base32
3ed40e10 3844 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 3845 (build-system haskell-build-system)
3ed40e10
TS
3846 (inputs
3847 `(("ghc-sop-core" ,ghc-sop-core)
3848 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
3849 (home-page "https://github.com/well-typed/generics-sop")
3850 (synopsis "Generic Programming using True Sums of Products for Haskell")
3851 (description "This Haskell package supports the definition of generic
3852functions. Datatypes are viewed in a uniform, structured way: the choice
3853between constructors is represented using an n-ary sum, and the arguments of
3854each constructor are represented using an n-ary product.")
3855 (license license:bsd-3)))
3856
3857(define-public ghc-geniplate-mirror
3858 (package
3859 (name "ghc-geniplate-mirror")
3860 (version "0.7.6")
3861 (source
3862 (origin
3863 (method url-fetch)
3864 (uri (string-append "https://hackage.haskell.org/package"
3865 "/geniplate-mirror"
3866 "/geniplate-mirror-" version ".tar.gz"))
3867 (sha256
3868 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3869 (build-system haskell-build-system)
3870 (home-page "https://github.com/danr/geniplate")
3871 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3872 (description
3873 "Use Template Haskell to generate Uniplate-like functions. This is a
3874maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3875geniplate} package, written by Lennart Augustsson.")
3876 (license license:bsd-3)))
3877
3878(define-public ghc-genvalidity
3879 (package
3880 (name "ghc-genvalidity")
920f44a1 3881 (version "0.8.0.0")
dddbc90c
RV
3882 (source
3883 (origin
3884 (method url-fetch)
3885 (uri (string-append
3886 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3887 version
3888 ".tar.gz"))
3889 (sha256
3890 (base32
920f44a1 3891 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
3892 (build-system haskell-build-system)
3893 (inputs
3894 `(("ghc-quickcheck" ,ghc-quickcheck)
3895 ("ghc-validity" ,ghc-validity)))
3896 (native-inputs
3897 `(("ghc-hspec" ,ghc-hspec)
3898 ("hspec-discover" ,hspec-discover)
3899 ("ghc-hspec-core" ,ghc-hspec-core)))
3900 (home-page
3901 "https://github.com/NorfairKing/validity")
3902 (synopsis
3903 "Testing utilities for the @code{validity} library")
3904 (description
3905 "This package provides testing utilities that are useful in conjunction
3906with the @code{Validity} typeclass.")
3907 (license license:expat)))
3908
3909(define-public ghc-genvalidity-property
3910 (package
3911 (name "ghc-genvalidity-property")
e4ede35b 3912 (version "0.4.0.0")
dddbc90c
RV
3913 (source
3914 (origin
3915 (method url-fetch)
3916 (uri (string-append
3917 "https://hackage.haskell.org/package/"
3918 "genvalidity-property/genvalidity-property-"
3919 version
3920 ".tar.gz"))
3921 (sha256
3922 (base32
e4ede35b 3923 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
3924 (build-system haskell-build-system)
3925 (inputs
3926 `(("ghc-quickcheck" ,ghc-quickcheck)
3927 ("ghc-genvalidity" ,ghc-genvalidity)
3928 ("ghc-hspec" ,ghc-hspec)
3929 ("hspec-discover" ,hspec-discover)
3930 ("ghc-validity" ,ghc-validity)))
3931 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3932 (home-page
3933 "https://github.com/NorfairKing/validity")
3934 (synopsis
3935 "Standard properties for functions on @code{Validity} types")
3936 (description
3937 "This package supplements the @code{Validity} typeclass with standard
3938properties for functions operating on them.")
3939 (license license:expat)))
3940
3941(define-public ghc-gitrev
3942 (package
3943 (name "ghc-gitrev")
3944 (version "1.3.1")
3945 (source
3946 (origin
3947 (method url-fetch)
3948 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3949 version ".tar.gz"))
3950 (sha256
3951 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3952 (build-system haskell-build-system)
3953 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3954 (home-page "https://github.com/acfoltzer/gitrev")
3955 (synopsis "Compile git revision info into Haskell projects")
3956 (description
3957 "This package provides some handy Template Haskell splices for including
3958the current git hash and branch in the code of your project. This is useful
3959for including in panic messages, @command{--version} output, or diagnostic
3960info for more informative bug reports.")
3961 (license license:bsd-3)))
3962
3963(define-public ghc-glob
3964 (package
3965 (name "ghc-glob")
b900f486 3966 (version "0.10.0")
dddbc90c
RV
3967 (source
3968 (origin
3969 (method url-fetch)
3970 (uri (string-append "https://hackage.haskell.org/package/"
3971 "Glob-" version "/"
3972 "Glob-" version ".tar.gz"))
3973 (sha256
3974 (base32
b900f486 3975 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
3976 (build-system haskell-build-system)
3977 (inputs
3978 `(("ghc-dlist" ,ghc-dlist)
3979 ("ghc-semigroups" ,ghc-semigroups)
3980 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3981 (native-inputs
3982 `(("ghc-hunit" ,ghc-hunit)
3983 ("ghc-quickcheck" ,ghc-quickcheck)
3984 ("ghc-test-framework" ,ghc-test-framework)
3985 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3986 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3987 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3988 (synopsis "Haskell library matching glob patterns against file paths")
3989 (description "This package provides a Haskell library for @dfn{globbing}:
3990matching patterns against file paths.")
3991 (license license:bsd-3)))
3992
3993(define-public ghc-gluraw
3994 (package
3995 (name "ghc-gluraw")
3996 (version "2.0.0.4")
3997 (source
3998 (origin
3999 (method url-fetch)
4000 (uri (string-append
4001 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4002 version
4003 ".tar.gz"))
4004 (sha256
4005 (base32
4006 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4007 (build-system haskell-build-system)
4008 (inputs
4009 `(("ghc-openglraw" ,ghc-openglraw)))
4010 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4011 (synopsis "Raw Haskell bindings GLU")
4012 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4013utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4014basis for a nicer interface.")
4015 (license license:bsd-3)))
4016
4017(define-public ghc-glut
4018 (package
4019 (name "ghc-glut")
8284bd09 4020 (version "2.7.0.15")
dddbc90c
RV
4021 (source
4022 (origin
4023 (method url-fetch)
4024 (uri (string-append
4025 "https://hackage.haskell.org/package/GLUT/GLUT-"
4026 version
4027 ".tar.gz"))
4028 (sha256
4029 (base32
8284bd09 4030 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4031 (build-system haskell-build-system)
4032 (inputs
4033 `(("ghc-statevar" ,ghc-statevar)
4034 ("ghc-opengl" ,ghc-opengl)
4035 ("ghc-openglraw" ,ghc-openglraw)
4036 ("freeglut" ,freeglut)))
4037 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4038 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4039 (description "This library provides Haskell bindings for the OpenGL
4040Utility Toolkit, a window system-independent toolkit for writing OpenGL
4041programs.")
4042 (license license:bsd-3)))
4043
4044(define-public ghc-gnuplot
4045 (package
4046 (name "ghc-gnuplot")
d34860c7 4047 (version "0.5.6")
dddbc90c
RV
4048 (source
4049 (origin
4050 (method url-fetch)
4051 (uri (string-append
4052 "mirror://hackage/package/gnuplot/gnuplot-"
4053 version ".tar.gz"))
4054 (sha256
d34860c7 4055 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4056 (build-system haskell-build-system)
4057 (inputs
4058 `(("ghc-temporary" ,ghc-temporary)
4059 ("ghc-utility-ht" ,ghc-utility-ht)
4060 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4061 ("ghc-data-accessor" ,ghc-data-accessor)
4062 ("ghc-semigroups" ,ghc-semigroups)
4063 ("gnuplot" ,gnuplot)))
4064 (arguments
4065 `(#:phases
4066 (modify-phases %standard-phases
4067 (add-before 'configure 'fix-path-to-gnuplot
4068 (lambda* (#:key inputs #:allow-other-keys)
4069 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4070 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4071 (("(gnuplotName = ).*$" all cmd)
4072 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4073 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4074 (synopsis "2D and 3D plots using gnuplot")
4075 (description "This package provides a Haskell module for creating 2D and
40763D plots using gnuplot.")
4077 (license license:bsd-3)))
4078
4079(define-public ghc-graphviz
4080 (package
4081 (name "ghc-graphviz")
c264bd42 4082 (version "2999.20.0.3")
dddbc90c
RV
4083 (source (origin
4084 (method url-fetch)
4085 (uri (string-append "https://hackage.haskell.org/package/"
4086 "graphviz/graphviz-" version ".tar.gz"))
4087 (sha256
4088 (base32
c264bd42 4089 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4090 (build-system haskell-build-system)
c264bd42
TS
4091 (arguments
4092 `(#:phases
4093 (modify-phases %standard-phases
4094 (add-before 'configure 'update-constraints
4095 (lambda _
4096 (substitute* "graphviz.cabal"
4097 (("QuickCheck >= 2\\.3 && < 2\\.13")
4098 "QuickCheck >= 2.3 && < 2.14")
4099 (("hspec >= 2\\.1 && < 2\\.7")
4100 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4101 (inputs
4102 `(("ghc-quickcheck" ,ghc-quickcheck)
4103 ("ghc-colour" ,ghc-colour)
4104 ("ghc-dlist" ,ghc-dlist)
4105 ("ghc-fgl" ,ghc-fgl)
4106 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4107 ("ghc-polyparse" ,ghc-polyparse)
4108 ("ghc-temporary" ,ghc-temporary)
4109 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4110 (native-inputs
4111 `(("ghc-hspec" ,ghc-hspec)
4112 ("graphviz" ,graphviz)
4113 ("hspec-discover" ,hspec-discover)))
4114 (home-page "https://hackage.haskell.org/package/graphviz")
4115 (synopsis "Bindings to Graphviz for graph visualisation")
4116 (description
4117 "This library provides bindings for the Dot language used by
4118the @uref{https://graphviz.org/, Graphviz} suite of programs for
4119visualising graphs, as well as functions to call those programs.
4120Main features of the graphviz library include:
4121
4122@enumerate
4123@item Almost complete coverage of all Graphviz attributes and syntax
4124@item Support for specifying clusters
4125@item The ability to use a custom node type
4126@item Functions for running a Graphviz layout tool with all specified output types
4127@item Generate and parse Dot code with two options: strict and liberal
4128@item Functions to convert FGL graphs and other graph-like data structures
4129@item Round-trip support for passing an FGL graph through Graphviz to augment node
4130and edge labels with positional information, etc.
4131@end enumerate\n")
4132 (license license:bsd-3)))
4133
4134(define-public ghc-gtk2hs-buildtools
4135 (package
4136 (name "ghc-gtk2hs-buildtools")
4137 (version "0.13.4.0")
4138 (source
4139 (origin
4140 (method url-fetch)
4141 (uri (string-append "https://hackage.haskell.org/package/"
4142 "gtk2hs-buildtools/gtk2hs-buildtools-"
4143 version ".tar.gz"))
4144 (sha256
4145 (base32
4146 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4147 (build-system haskell-build-system)
4148 (inputs
4149 `(("ghc-random" ,ghc-random)
4150 ("ghc-hashtables" ,ghc-hashtables)))
4151 (native-inputs
4152 `(("ghc-alex" ,ghc-alex)
4153 ("ghc-happy" ,ghc-happy)))
4154 (home-page "http://projects.haskell.org/gtk2hs/")
4155 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4156 (description
4157 "This package provides a set of helper programs necessary to build the
4158Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4159that is used to generate FFI declarations, a tool to build a type hierarchy
4160that mirrors the C type hierarchy of GObjects found in glib, and a generator
4161for signal declarations that are used to call back from C to Haskell. These
4162tools are not needed to actually run Gtk2Hs programs.")
4163 (license license:gpl2)))
4164
4165(define-public ghc-hackage-security
4166 (package
4167 (name "ghc-hackage-security")
4168 (version "0.5.3.0")
4169 (source
4170 (origin
4171 (method url-fetch)
4172 (uri (string-append "https://hackage.haskell.org/package/"
4173 "hackage-security/hackage-security-"
4174 version ".tar.gz"))
4175 (sha256
4176 (base32
4177 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4178 (build-system haskell-build-system)
4179 (arguments
034380f3
TS
4180 `(#:cabal-revision
4181 ("6" "1xs2nkzlvkdz8g27yzfxbjdbdadfmgiydnlpn5dm77cg18r495ay")
4182 #:tests? #f)) ; Tests fail because of framework updates.
dddbc90c
RV
4183 (inputs
4184 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4185 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4186 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4187 ("ghc-ed25519" ,ghc-ed25519)
4188 ("ghc-network" ,ghc-network)
4189 ("ghc-network-uri" ,ghc-network-uri)
4190 ("ghc-tar" ,ghc-tar)
4191 ("ghc-zlib" ,ghc-zlib)))
4192 (native-inputs
4193 `(("ghc-network-uri" ,ghc-network-uri)
4194 ("ghc-quickcheck" ,ghc-quickcheck)
4195 ("ghc-tar" ,ghc-tar)
4196 ("ghc-tasty" ,ghc-tasty)
4197 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4198 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4199 ("ghc-temporary" ,ghc-temporary)
4200 ("ghc-zlib" ,ghc-zlib)))
4201 (home-page "https://github.com/haskell/hackage-security")
4202 (synopsis "Hackage security library")
4203 (description "This Hackage security library provides both server and
4204client utilities for securing @uref{http://hackage.haskell.org/, the
4205Hackage package server}. It is based on
4206@uref{http://theupdateframework.com/, The Update Framework}, a set of
4207recommendations developed by security researchers at various universities
4208in the US as well as developers on the @uref{https://www.torproject.org/,
4209Tor project}.")
4210 (license license:bsd-3)))
4211
4212(define-public ghc-haddock
4213 (package
4214 (name "ghc-haddock")
4215 (version "2.19.0.1")
4216 (source
4217 (origin
4218 (method url-fetch)
4219 (uri (string-append
4220 "https://hackage.haskell.org/package/haddock/haddock-"
4221 version
4222 ".tar.gz"))
4223 (sha256
4224 (base32
4225 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4226 (build-system haskell-build-system)
4227 (arguments
4228 `(#:phases
4229 (modify-phases %standard-phases
4230 ;; There are four test suites that require the ghc-haddock-test
4231 ;; package, which no longer builds with GHC 8.4.3. This phase
4232 ;; removes these four test suites from the Cabal file, so that we
4233 ;; do not need ghc-haddock-test as an input.
4234 (add-before 'configure 'remove-haddock-test-test-suites
4235 (lambda _
4236 (use-modules (ice-9 rdelim))
4237 (with-atomic-file-replacement "haddock.cabal"
4238 (lambda (in out)
4239 (let loop ((line (read-line in 'concat)) (deleting? #f))
4240 (cond
4241 ((eof-object? line) #t)
4242 ((string-every char-set:whitespace line)
4243 (unless deleting? (display line out))
4244 (loop (read-line in 'concat) #f))
4245 ((member line '("test-suite html-test\n"
4246 "test-suite hypsrc-test\n"
4247 "test-suite latex-test\n"
4248 "test-suite hoogle-test\n"))
4249 (loop (read-line in 'concat) #t))
4250 (else
4251 (unless deleting? (display line out))
4252 (loop (read-line in 'concat) deleting?)))))))))))
4253 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4254 (native-inputs
4255 `(("ghc-hspec" ,ghc-hspec)))
4256 (home-page "https://www.haskell.org/haddock/")
4257 (synopsis
4258 "Documentation-generation tool for Haskell libraries")
4259 (description
4260 "Haddock is a documentation-generation tool for Haskell libraries.")
4261 (license license:bsd-3)))
4262
4263(define-public ghc-haddock-api
4264 (package
4265 (name "ghc-haddock-api")
4266 (version "2.19.0.1")
4267 (source
4268 (origin
4269 (method url-fetch)
4270 (uri (string-append
4271 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4272 version
4273 ".tar.gz"))
4274 (sha256
4275 (base32
4276 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4277 (build-system haskell-build-system)
4278 (arguments
4279 `(#:phases
4280 (modify-phases %standard-phases
4281 (add-before 'configure 'update-constraints
4282 (lambda _
4283 (substitute* "haddock-api.cabal"
4284 (("Cabal \\^>= 2\\.0\\.0")
4285 "Cabal ^>= 2.2.0")
4286 (("hspec \\^>= 2\\.4\\.4")
4287 "hspec >= 2.4.4 && < 2.6")))))))
4288 (inputs
4289 `(("ghc-paths" ,ghc-paths)
4290 ("ghc-haddock-library" ,ghc-haddock-library)))
4291 (native-inputs
4292 `(("ghc-quickcheck" ,ghc-quickcheck)
4293 ("ghc-hspec" ,ghc-hspec)
4294 ("hspec-discover" ,hspec-discover)))
4295 (home-page "https://www.haskell.org/haddock/")
4296 (synopsis "API for documentation-generation tool Haddock")
4297 (description "This package provides an API to Haddock, the
4298documentation-generation tool for Haskell libraries.")
4299 (license license:bsd-3)))
4300
4301(define-public ghc-haddock-library
4302 (package
4303 (name "ghc-haddock-library")
4304 (version "1.5.0.1")
4305 (source
4306 (origin
4307 (method url-fetch)
4308 (uri (string-append
4309 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4310 version
4311 ".tar.gz"))
4312 (sha256
4313 (base32
4314 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4315 (patches (search-patches
4316 "ghc-haddock-library-unbundle.patch"))
4317 (modules '((guix build utils)))
4318 (snippet '(begin
4319 (delete-file-recursively "vendor")
4320 #t))))
4321 (build-system haskell-build-system)
4322 (arguments
4323 `(#:phases
4324 (modify-phases %standard-phases
4325 (add-before 'configure 'relax-test-suite-dependencies
4326 (lambda _
4327 (substitute* "haddock-library.cabal"
4328 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4329 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4330 ;; The release tarball does not contain the "fixtures/examples"
4331 ;; directory, which is required for testing. In the upstream
4332 ;; repository, the directory exists and is populated. Here, we
4333 ;; create an empty directory to placate the tests.
4334 (add-before 'check 'add-examples-directory
4335 (lambda _
4336 (mkdir "fixtures/examples")
4337 #t)))))
4338 (native-inputs
4339 `(("ghc-base-compat" ,ghc-base-compat)
4340 ("ghc-hspec" ,ghc-hspec)
4341 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4342 ("ghc-quickcheck" ,ghc-quickcheck)
4343 ("ghc-tree-diff" ,ghc-tree-diff)
4344 ("hspec-discover" ,hspec-discover)))
4345 (home-page "https://www.haskell.org/haddock/")
4346 (synopsis "Library exposing some functionality of Haddock")
4347 (description
4348 "Haddock is a documentation-generation tool for Haskell libraries. These
4349modules expose some functionality of it without pulling in the GHC dependency.
4350Please note that the API is likely to change so specify upper bounds in your
4351project if you can't release often. For interacting with Haddock itself, see
4352the ‘haddock’ package.")
4353 (license license:bsd-3)))
4354
4355(define-public ghc-half
4356 (package
4357 (name "ghc-half")
4358 (version "0.3")
4359 (source
4360 (origin
4361 (method url-fetch)
4362 (uri (string-append
4363 "https://hackage.haskell.org/package/half/half-"
4364 version ".tar.gz"))
4365 (sha256
4366 (base32
4367 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4368 (build-system haskell-build-system)
4369 (native-inputs
4370 `(("ghc-hspec" ,ghc-hspec)
4371 ("ghc-quickcheck" ,ghc-quickcheck)))
4372 (home-page "https://github.com/ekmett/half")
4373 (synopsis "Half-precision floating-point computations")
4374 (description "This library provides a half-precision floating-point
4375computation library for Haskell.")
4376 (license license:bsd-3)))
4377
4378(define-public ghc-happy
4379 (package
4380 (name "ghc-happy")
90e7b0e4 4381 (version "1.19.12")
dddbc90c
RV
4382 (source
4383 (origin
4384 (method url-fetch)
4385 (uri (string-append
4386 "https://hackage.haskell.org/package/happy/happy-"
4387 version
4388 ".tar.gz"))
4389 (sha256
4390 (base32
90e7b0e4 4391 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4392 (build-system haskell-build-system)
4393 (arguments
4394 `(#:phases
4395 (modify-phases %standard-phases
4396 (add-after 'unpack 'skip-test-issue93
4397 (lambda _
4398 ;; Tests run out of memory on a system with 2GB of available RAM,
4399 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4400 (substitute* "tests/Makefile"
4401 ((" issue93.y ") " "))
4402 #t)))))
4403 (home-page "https://hackage.haskell.org/package/happy")
4404 (synopsis "Parser generator for Haskell")
4405 (description "Happy is a parser generator for Haskell. Given a grammar
4406specification in BNF, Happy generates Haskell code to parse the grammar.
4407Happy works in a similar way to the yacc tool for C.")
4408 (license license:bsd-3)))
4409
4410(define-public ghc-hashable
4411 (package
4412 (name "ghc-hashable")
4413 (version "1.2.7.0")
4414 (outputs '("out" "doc"))
4415 (source
4416 (origin
4417 (method url-fetch)
4418 (uri (string-append
4419 "https://hackage.haskell.org/package/hashable/hashable-"
4420 version
4421 ".tar.gz"))
4422 (sha256
4423 (base32
4424 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4425 (build-system haskell-build-system)
65a16a45
TS
4426 (arguments
4427 `(#:cabal-revision
4428 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4429 (inputs
4430 `(("ghc-random" ,ghc-random)))
4431 (native-inputs
4432 `(("ghc-test-framework" ,ghc-test-framework)
4433 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4434 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4435 ("ghc-hunit" ,ghc-hunit)
4436 ("ghc-quickcheck" ,ghc-quickcheck)))
4437 (home-page "https://github.com/tibbe/hashable")
4438 (synopsis "Class for types that can be converted to a hash value")
4439 (description
4440 "This package defines a class, @code{Hashable}, for types that can be
4441converted to a hash value. This class exists for the benefit of hashing-based
4442data structures. The package provides instances for basic types and a way to
4443combine hash values.")
4444 (license license:bsd-3)))
4445
4446(define-public ghc-hashable-bootstrap
4447 (package
4448 (inherit ghc-hashable)
4449 (name "ghc-hashable-bootstrap")
65a16a45
TS
4450 (arguments
4451 `(#:tests? #f
4452 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4453 (native-inputs '())
4454 (properties '((hidden? #t)))))
4455
4456(define-public ghc-hashable-time
4457 (package
4458 (name "ghc-hashable-time")
f5051e31 4459 (version "0.2.0.2")
dddbc90c
RV
4460 (source
4461 (origin
4462 (method url-fetch)
4463 (uri (string-append
4464 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4465 version
4466 ".tar.gz"))
4467 (sha256
4468 (base32
f5051e31 4469 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4470 (build-system haskell-build-system)
4471 (arguments
4472 `(#:cabal-revision
f5051e31 4473 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4474 (inputs `(("ghc-hashable" ,ghc-hashable)))
4475 (home-page "http://hackage.haskell.org/package/hashable-time")
4476 (synopsis "Hashable instances for Data.Time")
4477 (description
4478 "This package provides @code{Hashable} instances for types in
4479@code{Data.Time}.")
4480 (license license:bsd-3)))
4481
4482(define-public ghc-hashtables
4483 (package
4484 (name "ghc-hashtables")
19edf0d0 4485 (version "1.2.3.4")
dddbc90c
RV
4486 (source
4487 (origin
4488 (method url-fetch)
4489 (uri (string-append
4490 "https://hackage.haskell.org/package/hashtables/hashtables-"
4491 version ".tar.gz"))
4492 (sha256
19edf0d0 4493 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
4494 (build-system haskell-build-system)
4495 (inputs
4496 `(("ghc-hashable" ,ghc-hashable)
4497 ("ghc-primitive" ,ghc-primitive)
4498 ("ghc-vector" ,ghc-vector)))
4499 (home-page "https://github.com/gregorycollins/hashtables")
4500 (synopsis "Haskell Mutable hash tables in the ST monad")
4501 (description "This package provides a Haskell library including a
4502couple of different implementations of mutable hash tables in the ST
4503monad, as well as a typeclass abstracting their common operations, and
4504a set of wrappers to use the hash tables in the IO monad.")
4505 (license license:bsd-3)))
4506
4507(define-public ghc-haskell-lexer
4508 (package
4509 (name "ghc-haskell-lexer")
4510 (version "1.0.2")
4511 (source
4512 (origin
4513 (method url-fetch)
4514 (uri (string-append
4515 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4516 version ".tar.gz"))
4517 (sha256
4518 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4519 (build-system haskell-build-system)
4520 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4521 (synopsis "Fully compliant Haskell 98 lexer")
4522 (description
4523 "This package provides a fully compliant Haskell 98 lexer.")
4524 (license license:bsd-3)))
4525
4526(define-public ghc-haskell-src
4527 (package
4528 (name "ghc-haskell-src")
4529 (version "1.0.3.0")
4530 (source
4531 (origin
4532 (method url-fetch)
4533 (uri (string-append
4534 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4535 version
4536 ".tar.gz"))
4537 (sha256
4538 (base32
4539 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4540 (build-system haskell-build-system)
4541 (inputs
4542 `(("ghc-happy" ,ghc-happy)
4543 ("ghc-syb" ,ghc-syb)))
4544 (home-page
4545 "https://hackage.haskell.org/package/haskell-src")
4546 (synopsis
4547 "Support for manipulating Haskell source code")
4548 (description
4549 "The @code{haskell-src} package provides support for manipulating Haskell
4550source code. The package provides a lexer, parser and pretty-printer, and a
4551definition of a Haskell abstract syntax tree (AST). Common uses of this
4552package are to parse or generate Haskell 98 code.")
4553 (license license:bsd-3)))
4554
4555(define-public ghc-haskell-src-exts
4556 (package
4557 (name "ghc-haskell-src-exts")
37a05591 4558 (version "1.21.1")
dddbc90c
RV
4559 (source
4560 (origin
4561 (method url-fetch)
4562 (uri (string-append
4563 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4564 version
4565 ".tar.gz"))
4566 (sha256
4567 (base32
37a05591 4568 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
4569 (build-system haskell-build-system)
4570 (inputs
4571 `(("cpphs" ,cpphs)
4572 ("ghc-happy" ,ghc-happy)
4573 ("ghc-pretty-show" ,ghc-pretty-show)))
4574 (native-inputs
4575 `(("ghc-smallcheck" ,ghc-smallcheck)
4576 ("ghc-tasty" ,ghc-tasty)
4577 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4578 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4579 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4580 (synopsis "Library for manipulating Haskell source")
4581 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4582extension of the standard @code{haskell-src} package, and handles most
4583registered syntactic extensions to Haskell. All extensions implemented in GHC
4584are supported. Apart from these standard extensions, it also handles regular
4585patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4586 (license license:bsd-3)))
4587
4588(define-public ghc-haskell-src-exts-util
4589 (package
4590 (name "ghc-haskell-src-exts-util")
77355bdf 4591 (version "0.2.5")
dddbc90c
RV
4592 (source
4593 (origin
4594 (method url-fetch)
4595 (uri (string-append "https://hackage.haskell.org/package/"
4596 "haskell-src-exts-util/haskell-src-exts-util-"
4597 version ".tar.gz"))
4598 (sha256
4599 (base32
77355bdf 4600 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
4601 (build-system haskell-build-system)
4602 (inputs
4603 `(("ghc-data-default" ,ghc-data-default)
4604 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4605 ("ghc-semigroups" ,ghc-semigroups)
4606 ("ghc-uniplate" ,ghc-uniplate)))
4607 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4608 (synopsis "Helper functions for working with haskell-src-exts trees")
4609 (description
4610 "This package provides helper functions for working with
4611@code{haskell-src-exts} trees.")
4612 (license license:bsd-3)))
4613
4614(define-public ghc-haskell-src-meta
4615 (package
4616 (name "ghc-haskell-src-meta")
e94b3c72 4617 (version "0.8.3")
dddbc90c
RV
4618 (source (origin
4619 (method url-fetch)
4620 (uri (string-append "https://hackage.haskell.org/package/"
4621 "haskell-src-meta/haskell-src-meta-"
4622 version ".tar.gz"))
4623 (sha256
4624 (base32
e94b3c72 4625 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
4626 (build-system haskell-build-system)
4627 (inputs
4628 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4629 ("ghc-syb" ,ghc-syb)
4630 ("ghc-th-orphans" ,ghc-th-orphans)))
4631 (native-inputs
4632 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
4633 ("ghc-tasty" ,ghc-tasty)
4634 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
4635 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4636 (synopsis "Parse source to template-haskell abstract syntax")
4637 (description
4638 "This package provides tools to parse Haskell sources to the
4639template-haskell abstract syntax.")
4640 (license license:bsd-3)))
4641
4642(define-public ghc-hasktags
4643 (package
4644 (name "ghc-hasktags")
4645 (version "0.71.2")
4646 (source
4647 (origin
4648 (method url-fetch)
4649 (uri (string-append
4650 "https://hackage.haskell.org/package/hasktags/hasktags-"
4651 version
4652 ".tar.gz"))
4653 (sha256
4654 (base32
4655 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4656 (build-system haskell-build-system)
4657 (inputs
4658 `(("ghc-system-filepath" ,ghc-system-filepath)
4659 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4660 (native-inputs
4661 `(("ghc-json" ,ghc-json)
4662 ("ghc-utf8-string" ,ghc-utf8-string)
4663 ("ghc-microlens-platform" ,ghc-microlens-platform)
4664 ("ghc-hunit" ,ghc-hunit)))
4665 (home-page "http://github.com/MarcWeber/hasktags")
4666 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4667 (description
4668 "This package provides a means of generating tag files for Emacs and
4669Vim.")
4670 (license license:bsd-3)))
4671
4672(define-public ghc-hex
4673 (package
4674 (name "ghc-hex")
4675 (version "0.1.2")
4676 (source
4677 (origin
4678 (method url-fetch)
4679 (uri (string-append "https://hackage.haskell.org/package/"
4680 "hex-" version "/"
4681 "hex-" version ".tar.gz"))
4682 (sha256
4683 (base32
4684 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4685 (build-system haskell-build-system)
4686 (home-page "https://hackage.haskell.org/package/hex")
4687 (synopsis "Convert strings into hexadecimal and back")
4688 (description "This package provides conversion functions between
4689bytestrings and their hexademical representation.")
4690 (license license:bsd-3)))
4691
4692(define-public ghc-highlighting-kate
4693 (package
4694 (name "ghc-highlighting-kate")
4695 (version "0.6.4")
4696 (source (origin
4697 (method url-fetch)
4698 (uri (string-append "https://hackage.haskell.org/package/"
4699 "highlighting-kate/highlighting-kate-"
4700 version ".tar.gz"))
4701 (sha256
4702 (base32
4703 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4704 (build-system haskell-build-system)
4705 (inputs
4706 `(("ghc-diff" ,ghc-diff)
4707 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4708 (native-inputs
4709 `(("ghc-blaze-html" ,ghc-blaze-html)
4710 ("ghc-utf8-string" ,ghc-utf8-string)))
4711 (home-page "https://github.com/jgm/highlighting-kate")
4712 (synopsis "Syntax highlighting library")
4713 (description
4714 "Highlighting-kate is a syntax highlighting library with support for
4715nearly one hundred languages. The syntax parsers are automatically generated
4716from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4717supported by Kate can be added. An (optional) command-line program is
4718provided, along with a utility for generating new parsers from Kate XML syntax
4719descriptions.")
4720 (license license:gpl2+)))
4721
4722(define-public ghc-hindent
4723 (package
4724 (name "ghc-hindent")
4725 (version "5.3.0")
4726 (source
4727 (origin
4728 (method url-fetch)
4729 (uri (string-append
4730 "https://hackage.haskell.org/package/hindent/hindent-"
4731 version
4732 ".tar.gz"))
4733 (sha256
4734 (base32
4735 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4736 (build-system haskell-build-system)
4737 (arguments
4738 `(#:modules ((guix build haskell-build-system)
4739 (guix build utils)
4740 (guix build emacs-utils))
4741 #:imported-modules (,@%haskell-build-system-modules
4742 (guix build emacs-utils))
4743 #:phases
4744 (modify-phases %standard-phases
4745 (add-after 'install 'emacs-install
4746 (lambda* (#:key inputs outputs #:allow-other-keys)
4747 (let* ((out (assoc-ref outputs "out"))
4748 (elisp-file "elisp/hindent.el")
4749 (dest (string-append out "/share/emacs/site-lisp"
4750 "/guix.d/hindent-" ,version))
4751 (emacs (string-append (assoc-ref inputs "emacs")
4752 "/bin/emacs")))
4753 (make-file-writable elisp-file)
4754 (emacs-substitute-variables elisp-file
4755 ("hindent-process-path"
4756 (string-append out "/bin/hindent")))
4757 (install-file elisp-file dest)
4758 (emacs-generate-autoloads "hindent" dest)))))))
4759 (inputs
4760 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4761 ("ghc-monad-loops" ,ghc-monad-loops)
4762 ("ghc-utf8-string" ,ghc-utf8-string)
4763 ("ghc-exceptions" ,ghc-exceptions)
4764 ("ghc-yaml" ,ghc-yaml)
4765 ("ghc-unix-compat" ,ghc-unix-compat)
4766 ("ghc-path" ,ghc-path)
4767 ("ghc-path-io" ,ghc-path-io)
4768 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4769 (native-inputs
4770 `(("ghc-hspec" ,ghc-hspec)
4771 ("ghc-diff" ,ghc-diff)
4772 ("emacs" ,emacs-minimal)))
4773 (home-page
4774 "https://github.com/commercialhaskell/hindent")
4775 (synopsis "Extensible Haskell pretty printer")
4776 (description
4777 "This package provides automatic formatting for Haskell files. Both a
4778library and an executable.")
4779 (license license:bsd-3)))
4780
4781(define-public ghc-hinotify
4782 (package
4783 (name "ghc-hinotify")
c2342abb 4784 (version "0.4")
dddbc90c
RV
4785 (source (origin
4786 (method url-fetch)
4787 (uri (string-append
4788 "https://hackage.haskell.org/package/hinotify/"
4789 "hinotify-" version ".tar.gz"))
4790 (sha256
4791 (base32
c2342abb 4792 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
4793 (build-system haskell-build-system)
4794 (inputs
4795 `(("ghc-async" ,ghc-async)))
4796 (home-page "https://github.com/kolmodin/hinotify.git")
4797 (synopsis "Haskell binding to inotify")
4798 (description "This library provides a wrapper to the Linux kernel's inotify
4799feature, allowing applications to subscribe to notifications when a file is
4800accessed or modified.")
4801 (license license:bsd-3)))
4802
4803(define-public ghc-hmatrix
4804 (package
4805 (name "ghc-hmatrix")
65e29ed1 4806 (version "0.20.0.0")
dddbc90c
RV
4807 (source
4808 (origin
4809 (method url-fetch)
4810 (uri (string-append
4811 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4812 version ".tar.gz"))
4813 (sha256
65e29ed1 4814 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
4815 (build-system haskell-build-system)
4816 (inputs
4817 `(("ghc-random" ,ghc-random)
4818 ("ghc-split" ,ghc-split)
4819 ("ghc-storable-complex" ,ghc-storable-complex)
4820 ("ghc-semigroups" ,ghc-semigroups)
4821 ("ghc-vector" ,ghc-vector)
4822 ;;("openblas" ,openblas)
4823 ("lapack" ,lapack)))
4824 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4825 ;; disables inclusion of the LAPACK functions.
4826 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4827 (home-page "https://github.com/albertoruiz/hmatrix")
4828 (synopsis "Haskell numeric linear algebra library")
4829 (description "The HMatrix package provices a Haskell library for
4830dealing with linear systems, matrix decompositions, and other
4831numerical computations based on BLAS and LAPACK.")
4832 (license license:bsd-3)))
4833
4834(define-public ghc-hmatrix-gsl
4835 (package
4836 (name "ghc-hmatrix-gsl")
4837 (version "0.19.0.1")
4838 (source
4839 (origin
4840 (method url-fetch)
4841 (uri (string-append
4842 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4843 version ".tar.gz"))
4844 (sha256
4845 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4846 (build-system haskell-build-system)
4847 (inputs
4848 `(("ghc-hmatrix" ,ghc-hmatrix)
4849 ("ghc-vector" ,ghc-vector)
4850 ("ghc-random" ,ghc-random)
4851 ("gsl" ,gsl)))
4852 (native-inputs `(("pkg-config" ,pkg-config)))
4853 (home-page "https://github.com/albertoruiz/hmatrix")
4854 (synopsis "Haskell GSL binding")
4855 (description "This Haskell library provides a purely functional
4856interface to selected numerical computations, internally implemented
4857using GSL.")
4858 (license license:gpl3+)))
4859
4860(define-public ghc-hmatrix-gsl-stats
4861 (package
4862 (name "ghc-hmatrix-gsl-stats")
e9b359f5 4863 (version "0.4.1.8")
dddbc90c
RV
4864 (source
4865 (origin
4866 (method url-fetch)
4867 (uri
4868 (string-append
4869 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4870 version ".tar.gz"))
4871 (sha256
e9b359f5 4872 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
4873 (build-system haskell-build-system)
4874 (inputs
4875 `(("ghc-vector" ,ghc-vector)
4876 ("ghc-storable-complex" ,ghc-storable-complex)
4877 ("ghc-hmatrix" ,ghc-hmatrix)
4878 ("gsl" ,gsl)))
4879 (native-inputs `(("pkg-config" ,pkg-config)))
4880 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4881 (synopsis "GSL Statistics interface for Haskell")
4882 (description "This Haskell library provides a purely functional
4883interface for statistics based on hmatrix and GSL.")
4884 (license license:bsd-3)))
4885
4886(define-public ghc-hmatrix-special
4887 (package
4888 (name "ghc-hmatrix-special")
4889 (version "0.19.0.0")
4890 (source
4891 (origin
4892 (method url-fetch)
4893 (uri
4894 (string-append
4895 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4896 version ".tar.gz"))
4897 (sha256
4898 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4899 (build-system haskell-build-system)
4900 (inputs
4901 `(("ghc-hmatrix" ,ghc-hmatrix)
4902 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4903 (home-page "https://github.com/albertoruiz/hmatrix")
4904 (synopsis "Haskell interface to GSL special functions")
4905 (description "This library provides an interface to GSL special
4906functions for Haskell.")
4907 (license license:gpl3+)))
4908
4909(define-public ghc-hostname
4910 (package
4911 (name "ghc-hostname")
4912 (version "1.0")
4913 (source
4914 (origin
4915 (method url-fetch)
4916 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4917 "hostname-" version ".tar.gz"))
4918 (sha256
4919 (base32
4920 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4921 (build-system haskell-build-system)
4922 (home-page "https://hackage.haskell.org/package/hostname")
4923 (synopsis "Hostname in Haskell")
4924 (description "Network.HostName is a simple package providing a means to
4925determine the hostname.")
4926 (license license:bsd-3)))
4927
4928(define-public ghc-hourglass
4929 (package
4930 (name "ghc-hourglass")
4931 (version "0.2.12")
4932 (source (origin
4933 (method url-fetch)
4934 (uri (string-append "https://hackage.haskell.org/package/"
4935 "hourglass/hourglass-" version ".tar.gz"))
4936 (sha256
4937 (base32
4938 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4939 (build-system haskell-build-system)
4940 (inputs
4941 `(("ghc-old-locale" ,ghc-old-locale)))
4942 (native-inputs
4943 `(("ghc-tasty" ,ghc-tasty)
4944 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4945 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4946 (home-page "https://github.com/vincenthz/hs-hourglass")
4947 (synopsis "Simple time-related library for Haskell")
4948 (description
4949 "This is a simple time library providing a simple but powerful and
4950performant API. The backbone of the library are the @code{Timeable} and
4951@code{Time} type classes. Each @code{Timeable} instances can be converted to
4952a type that has a @code{Time} instances, and thus are different
4953representations of current time.")
4954 (license license:bsd-3)))
4955
4956(define-public ghc-hpack
4957 (package
4958 (name "ghc-hpack")
06344a3a 4959 (version "0.31.2")
dddbc90c
RV
4960 (source
4961 (origin
4962 (method url-fetch)
4963 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4964 "hpack-" version ".tar.gz"))
06344a3a 4965 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
4966 (sha256
4967 (base32
06344a3a 4968 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
4969 (build-system haskell-build-system)
4970 (inputs
4971 `(("ghc-aeson" ,ghc-aeson)
4972 ("ghc-bifunctors" ,ghc-bifunctors)
4973 ("ghc-cryptonite" ,ghc-cryptonite)
4974 ("ghc-glob" ,ghc-glob)
4975 ("ghc-http-client" ,ghc-http-client)
4976 ("ghc-http-client-tls" ,ghc-http-client-tls)
4977 ("ghc-http-types" ,ghc-http-types)
06344a3a 4978 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
4979 ("ghc-scientific" ,ghc-scientific)
4980 ("ghc-unordered-containers" ,ghc-unordered-containers)
4981 ("ghc-vector" ,ghc-vector)
4982 ("ghc-yaml" ,ghc-yaml)))
4983 (native-inputs
4984 `(("ghc-hspec" ,ghc-hspec)
4985 ("ghc-hunit" ,ghc-hunit)
4986 ("ghc-interpolate" ,ghc-interpolate)
4987 ("ghc-mockery" ,ghc-mockery)
4988 ("ghc-quickcheck" ,ghc-quickcheck)
4989 ("ghc-temporary" ,ghc-temporary)
4990 ("hspec-discover" ,hspec-discover)))
4991 (home-page "https://github.com/sol/hpack")
4992 (synopsis "Tools for an alternative Haskell package format")
4993 (description
4994 "Hpack is a format for Haskell packages. It is an alternative to the
4995Cabal package format and follows different design principles. Hpack packages
4996are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4997@code{stack} support @code{package.yaml} natively. For other build tools the
4998@code{hpack} executable can be used to generate a @code{.cabal} file from
4999@code{package.yaml}.")
5000 (license license:expat)))
5001
5002(define-public ghc-hs-bibutils
5003 (package
5004 (name "ghc-hs-bibutils")
ebcb4f23 5005 (version "6.7.0.0")
dddbc90c
RV
5006 (source
5007 (origin
5008 (method url-fetch)
5009 (uri (string-append
5010 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5011 version ".tar.gz"))
5012 (sha256
5013 (base32
ebcb4f23 5014 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5015 (build-system haskell-build-system)
5016 (inputs `(("ghc-syb" ,ghc-syb)))
5017 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5018 (synopsis "Haskell bindings to bibutils")
5019 (description
5020 "This package provides Haskell bindings to @code{bibutils}, a library
5021that interconverts between various bibliography formats using a common
5022MODS-format XML intermediate.")
5023 (license license:gpl2+)))
5024
5025(define-public ghc-hslogger
5026 (package
5027 (name "ghc-hslogger")
e5ccc5f7 5028 (version "1.2.12")
dddbc90c
RV
5029 (source
5030 (origin
5031 (method url-fetch)
5032 (uri (string-append "https://hackage.haskell.org/package/"
5033 "hslogger-" version "/" "hslogger-"
5034 version ".tar.gz"))
5035 (sha256 (base32
e5ccc5f7 5036 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5037 (build-system haskell-build-system)
5038 (inputs
5039 `(("ghc-network" ,ghc-network)
5040 ("ghc-old-locale" ,ghc-old-locale)))
5041 (native-inputs
5042 `(("ghc-hunit" ,ghc-hunit)))
5043 (home-page "https://software.complete.org/hslogger")
5044 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5045 (description "Hslogger lets each log message have a priority and source be
5046associated with it. The programmer can then define global handlers that route
5047or filter messages based on the priority and source. It also has a syslog
5048handler built in.")
5049 (license license:bsd-3)))
5050
5051(define-public ghc-hslua
5052 (package
5053 (name "ghc-hslua")
cc784d7b 5054 (version "1.0.3.2")
dddbc90c
RV
5055 (source (origin
5056 (method url-fetch)
5057 (uri (string-append "https://hackage.haskell.org/package/"
5058 "hslua/hslua-" version ".tar.gz"))
5059 (sha256
5060 (base32
cc784d7b 5061 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5062 (build-system haskell-build-system)
5063 (arguments
5064 `(#:configure-flags '("-fsystem-lua")))
5065 (inputs
5066 `(("lua" ,lua)
5067 ("ghc-exceptions" ,ghc-exceptions)
5068 ("ghc-fail" ,ghc-fail)))
5069 (native-inputs
5070 `(("ghc-tasty" ,ghc-tasty)
5071 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5072 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5073 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5074 ("ghc-quickcheck" ,ghc-quickcheck)
5075 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5076 (home-page "https://hackage.haskell.org/package/hslua")
5077 (synopsis "Lua language interpreter embedding in Haskell")
5078 (description
5079 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5080described in @url{https://www.lua.org/}.")
5081 (license license:expat)))
5082
5083(define-public ghc-hslua-module-text
5084 (package
5085 (name "ghc-hslua-module-text")
ecaf0b0c 5086 (version "0.2.1")
dddbc90c
RV
5087 (source
5088 (origin
5089 (method url-fetch)
5090 (uri (string-append "https://hackage.haskell.org/package/"
5091 "hslua-module-text/hslua-module-text-"
5092 version ".tar.gz"))
5093 (sha256
5094 (base32
ecaf0b0c 5095 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5096 (build-system haskell-build-system)
dddbc90c
RV
5097 (inputs
5098 `(("ghc-hslua" ,ghc-hslua)))
5099 (native-inputs
5100 `(("ghc-tasty" ,ghc-tasty)
5101 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5102 (home-page "https://github.com/hslua/hslua-module-text")
5103 (synopsis "Lua module for text")
5104 (description
5105 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5106for Haskell. The functions provided by this module are @code{upper},
5107@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5108 (license license:expat)))
5109
5110(define-public ghc-http-api-data
5111 (package
5112 (name "ghc-http-api-data")
a57236eb 5113 (version "0.4.1")
dddbc90c
RV
5114 (source
5115 (origin
5116 (method url-fetch)
5117 (uri (string-append "https://hackage.haskell.org/package/"
5118 "http-api-data-" version "/"
5119 "http-api-data-" version ".tar.gz"))
5120 (sha256
5121 (base32
a57236eb 5122 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5123 (build-system haskell-build-system)
dddbc90c
RV
5124 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5125 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 5126 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
5127 ("ghc-hashable" ,ghc-hashable)
5128 ("ghc-http-types" ,ghc-http-types)
a57236eb 5129 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 5130 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 5131 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
5132 (native-inputs
5133 `(("cabal-doctest" ,cabal-doctest)
5134 ("ghc-nats" ,ghc-nats)
5135 ("ghc-hunit" ,ghc-hunit)
5136 ("ghc-hspec" ,ghc-hspec)
5137 ("ghc-quickcheck" ,ghc-quickcheck)
5138 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5139 ("ghc-doctest" ,ghc-doctest)
5140 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
5141 (home-page "https://github.com/fizruk/http-api-data")
5142 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5143query parameters")
5144 (description "This Haskell package defines typeclasses used for converting
5145Haskell data types to and from HTTP API data.")
5146 (license license:bsd-3)))
5147
5148(define-public ghc-ieee754
5149 (package
5150 (name "ghc-ieee754")
5151 (version "0.8.0")
5152 (source (origin
5153 (method url-fetch)
5154 (uri (string-append
5155 "https://hackage.haskell.org/package/ieee754/"
5156 "ieee754-" version ".tar.gz"))
5157 (sha256
5158 (base32
5159 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5160 (build-system haskell-build-system)
5161 (home-page "https://github.com/patperry/hs-ieee754")
5162 (synopsis "Utilities for dealing with IEEE floating point numbers")
5163 (description "Utilities for dealing with IEEE floating point numbers,
5164ported from the Tango math library; approximate and exact equality comparisons
5165for general types.")
5166 (license license:bsd-3)))
5167
5168(define-public ghc-ifelse
5169 (package
5170 (name "ghc-ifelse")
5171 (version "0.85")
5172 (source
5173 (origin
5174 (method url-fetch)
5175 (uri (string-append "https://hackage.haskell.org/package/"
5176 "IfElse/IfElse-" version ".tar.gz"))
5177 (sha256
5178 (base32
5179 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5180 (build-system haskell-build-system)
5181 (home-page "http://hackage.haskell.org/package/IfElse")
5182 (synopsis "Monadic control flow with anaphoric variants")
5183 (description "This library provides functions for control flow inside of
5184monads with anaphoric variants on @code{if} and @code{when} and a C-like
5185@code{switch} function.")
5186 (license license:bsd-3)))
5187
5188(define-public ghc-indents
5189 (package
5190 (name "ghc-indents")
d66473fb 5191 (version "0.5.0.1")
dddbc90c
RV
5192 (source (origin
5193 (method url-fetch)
5194 (uri (string-append
5195 "https://hackage.haskell.org/package/indents/indents-"
5196 version ".tar.gz"))
5197 (sha256
5198 (base32
d66473fb 5199 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5200 (build-system haskell-build-system)
5201 ;; This package needs an older version of tasty.
5202 (arguments '(#:tests? #f))
5203 (inputs
5204 `(("ghc-concatenative" ,ghc-concatenative)))
5205 (native-inputs
5206 `(("ghc-tasty" ,ghc-tasty)
5207 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5208 (home-page "http://patch-tag.com/r/salazar/indents")
5209 (synopsis "Indentation sensitive parser-combinators for parsec")
5210 (description
5211 "This library provides functions for use in parsing indentation sensitive
5212contexts. It parses blocks of lines all indented to the same level as well as
5213lines continued at an indented level below.")
5214 (license license:bsd-3)))
5215
1f656b17
TS
5216(define-public ghc-infer-license
5217 (package
5218 (name "ghc-infer-license")
5219 (version "0.2.0")
5220 (source
5221 (origin
5222 (method url-fetch)
5223 (uri (string-append "https://hackage.haskell.org/package/"
5224 "infer-license/infer-license-" version ".tar.gz"))
5225 (sha256
5226 (base32
5227 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5228 (build-system haskell-build-system)
5229 (inputs
5230 `(("ghc-text-metrics" ,ghc-text-metrics)))
5231 (native-inputs
5232 `(("ghc-hspec" ,ghc-hspec)
5233 ("hspec-discover" ,hspec-discover)))
5234 (home-page "http://hackage.haskell.org/package/infer-license")
5235 (synopsis "Infer software license from a given license file")
5236 (description "This library provides tools to infer a software
5237license from a given license file.")
5238 (license license:expat)))
5239
dddbc90c
RV
5240(define-public ghc-inline-c
5241 (package
5242 (name "ghc-inline-c")
55ec98f2 5243 (version "0.7.0.1")
dddbc90c
RV
5244 (source
5245 (origin
5246 (method url-fetch)
5247 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5248 "inline-c-" version ".tar.gz"))
5249 (sha256
5250 (base32
55ec98f2 5251 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
5252 (build-system haskell-build-system)
5253 (inputs
5254 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5255 ("ghc-cryptohash" ,ghc-cryptohash)
5256 ("ghc-hashable" ,ghc-hashable)
5257 ("ghc-parsers" ,ghc-parsers)
5258 ("ghc-unordered-containers" ,ghc-unordered-containers)
5259 ("ghc-vector" ,ghc-vector)))
5260 (native-inputs
5261 `(("ghc-quickcheck" ,ghc-quickcheck)
5262 ("ghc-hspec" ,ghc-hspec)
5263 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5264 ("ghc-regex-posix" ,ghc-regex-posix)))
5265 (home-page "http://hackage.haskell.org/package/inline-c")
5266 (synopsis "Write Haskell source files including C code inline")
5267 (description
5268 "inline-c lets you seamlessly call C libraries and embed high-performance
5269inline C code in Haskell modules. Haskell and C can be freely intermixed in
5270the same source file, and data passed to and from code in either language with
5271minimal overhead. No FFI required.")
5272 (license license:expat)))
5273
5274(define-public ghc-inline-c-cpp
5275 (package
5276 (name "ghc-inline-c-cpp")
cae58e56 5277 (version "0.3.0.3")
dddbc90c
RV
5278 (source
5279 (origin
5280 (method url-fetch)
5281 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5282 "inline-c-cpp-" version ".tar.gz"))
5283 (sha256
5284 (base32
cae58e56 5285 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
5286 (build-system haskell-build-system)
5287 (inputs
5288 `(("ghc-inline-c" ,ghc-inline-c)
5289 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5290 (native-inputs
5291 `(("ghc-hspec" ,ghc-hspec)))
5292 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5293 (synopsis "Lets you embed C++ code into Haskell")
5294 (description
5295 "This package provides utilities to inline C++ code into Haskell using
5296@code{inline-c}.")
5297 (license license:expat)))
5298
5299(define-public ghc-integer-logarithms
5300 (package
5301 (name "ghc-integer-logarithms")
86a704db 5302 (version "1.0.3")
dddbc90c
RV
5303 (source
5304 (origin
5305 (method url-fetch)
5306 (uri (string-append "https://hackage.haskell.org/package/"
5307 "integer-logarithms/integer-logarithms-"
5308 version ".tar.gz"))
5309 (sha256
5310 (base32
86a704db 5311 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5312 (build-system haskell-build-system)
5313 (arguments
5314 `(#:phases
5315 (modify-phases %standard-phases
5316 (add-before 'configure 'update-constraints
5317 (lambda _
5318 (substitute* "integer-logarithms.cabal"
5319 (("tasty >= 0\\.10 && < 1\\.1")
5320 "tasty >= 0.10 && < 1.2")))))))
5321 (native-inputs
5322 `(("ghc-quickcheck" ,ghc-quickcheck)
5323 ("ghc-smallcheck" ,ghc-smallcheck)
5324 ("ghc-tasty" ,ghc-tasty)
5325 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5326 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5327 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5328 (home-page "https://github.com/Bodigrim/integer-logarithms")
5329 (synopsis "Integer logarithms")
5330 (description
5331 "This package provides the following modules:
5332@code{Math.NumberTheory.Logarithms} and
5333@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5334@code{GHC.Integer.Logarithms.Compat} and
5335@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5336in migrated modules.")
5337 (license license:expat)))
5338
5339(define-public ghc-integer-logarithms-bootstrap
5340 (package
5341 (inherit ghc-integer-logarithms)
5342 (name "ghc-integer-logarithms-bootstrap")
5343 (arguments `(#:tests? #f))
5344 (native-inputs '())
799d8d3c 5345 (properties '((hidden? #t)))))
dddbc90c
RV
5346
5347(define-public ghc-interpolate
5348 (package
5349 (name "ghc-interpolate")
5350 (version "0.2.0")
5351 (source
5352 (origin
5353 (method url-fetch)
5354 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5355 "interpolate-" version ".tar.gz"))
5356 (sha256
5357 (base32
5358 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5359 (build-system haskell-build-system)
5360 (inputs
5361 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5362 (native-inputs
5363 `(("ghc-base-compat" ,ghc-base-compat)
5364 ("ghc-hspec" ,ghc-hspec)
5365 ("ghc-quickcheck" ,ghc-quickcheck)
5366 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5367 ("hspec-discover" ,hspec-discover)))
5368 (home-page "https://github.com/sol/interpolate")
5369 (synopsis "String interpolation library")
5370 (description "This package provides a string interpolation library for
5371Haskell.")
5372 (license license:expat)))
5373
5374(define-public ghc-intervalmap
5375 (package
5376 (name "ghc-intervalmap")
e4946e32 5377 (version "0.6.1.1")
dddbc90c
RV
5378 (source
5379 (origin
5380 (method url-fetch)
5381 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5382 "IntervalMap-" version ".tar.gz"))
5383 (sha256
5384 (base32
e4946e32 5385 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5386 (build-system haskell-build-system)
5387 (native-inputs
5388 `(("ghc-quickcheck" ,ghc-quickcheck)))
5389 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5390 (synopsis "Containers for intervals, with efficient search")
5391 (description
5392 "This package provides ordered containers of intervals, with efficient
5393search for all keys containing a point or overlapping an interval. See the
5394example code on the home page for a quick introduction.")
5395 (license license:bsd-3)))
5396
5397(define-public ghc-invariant
5398 (package
5399 (name "ghc-invariant")
d3a0e0b4 5400 (version "0.5.3")
dddbc90c
RV
5401 (source
5402 (origin
5403 (method url-fetch)
5404 (uri (string-append
5405 "https://hackage.haskell.org/package/invariant/invariant-"
5406 version ".tar.gz"))
5407 (sha256
5408 (base32
d3a0e0b4 5409 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
5410 (build-system haskell-build-system)
5411 (inputs
5412 `(("ghc-bifunctors" ,ghc-bifunctors)
5413 ("ghc-comonad" ,ghc-comonad)
5414 ("ghc-contravariant" ,ghc-contravariant)
5415 ("ghc-profunctors" ,ghc-profunctors)
5416 ("ghc-semigroups" ,ghc-semigroups)
5417 ("ghc-statevar" ,ghc-statevar)
5418 ("ghc-tagged" ,ghc-tagged)
5419 ("ghc-th-abstraction" ,ghc-th-abstraction)
5420 ("ghc-transformers-compat" ,ghc-transformers-compat)
5421 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5422 (native-inputs
5423 `(("ghc-hspec" ,ghc-hspec)
5424 ("ghc-quickcheck" ,ghc-quickcheck)
5425 ("hspec-discover" ,hspec-discover)))
5426 (home-page "https://github.com/nfrisby/invariant-functors")
5427 (synopsis "Haskell98 invariant functors")
5428 (description "Haskell98 invariant functors (also known as exponential
5429functors). For more information, see Edward Kmett's article
5430@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5431 (license license:bsd-2)))
5432
5433(define-public ghc-io-streams
5434 (package
5435 (name "ghc-io-streams")
59e98d75 5436 (version "1.5.1.0")
dddbc90c
RV
5437 (source
5438 (origin
5439 (method url-fetch)
5440 (uri (string-append "https://hackage.haskell.org/package/"
5441 "io-streams/io-streams-" version ".tar.gz"))
5442 (sha256
5443 (base32
59e98d75 5444 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
5445 (build-system haskell-build-system)
5446 (inputs
5447 `(("ghc-attoparsec" ,ghc-attoparsec)
5448 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5449 ("ghc-network" ,ghc-network)
5450 ("ghc-primitive" ,ghc-primitive)
5451 ("ghc-vector" ,ghc-vector)
5452 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5453 (native-inputs
5454 `(("ghc-hunit" ,ghc-hunit)
5455 ("ghc-quickcheck" ,ghc-quickcheck)
5456 ("ghc-test-framework" ,ghc-test-framework)
5457 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5458 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5459 ("ghc-zlib" ,ghc-zlib)))
dddbc90c
RV
5460 (home-page "http://hackage.haskell.org/package/io-streams")
5461 (synopsis "Simple and composable stream I/O")
5462 (description "This library contains simple and easy-to-use
5463primitives for I/O using streams.")
5464 (license license:bsd-3)))
5465
5466(define-public ghc-io-streams-haproxy
5467 (package
5468 (name "ghc-io-streams-haproxy")
1a4fbc36 5469 (version "1.0.1.0")
dddbc90c
RV
5470 (source
5471 (origin
5472 (method url-fetch)
5473 (uri (string-append "https://hackage.haskell.org/package/"
5474 "io-streams-haproxy/io-streams-haproxy-"
5475 version ".tar.gz"))
5476 (sha256
5477 (base32
1a4fbc36 5478 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
5479 (build-system haskell-build-system)
5480 (inputs
5481 `(("ghc-attoparsec" ,ghc-attoparsec)
5482 ("ghc-io-streams" ,ghc-io-streams)
5483 ("ghc-network" ,ghc-network)))
5484 (native-inputs
5485 `(("ghc-hunit" ,ghc-hunit)
5486 ("ghc-test-framework" ,ghc-test-framework)
5487 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
5488 (home-page "http://snapframework.com/")
5489 (synopsis "HAProxy protocol 1.5 support for io-streams")
5490 (description "HAProxy protocol version 1.5 support
5491(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5492for applications using io-streams. The proxy protocol allows information
5493about a networked peer (like remote address and port) to be propagated
5494through a forwarding proxy that is configured to speak this protocol.")
5495 (license license:bsd-3)))
5496
5497(define-public ghc-iproute
5498 (package
5499 (name "ghc-iproute")
ec25d536 5500 (version "1.7.7")
dddbc90c
RV
5501 (source
5502 (origin
5503 (method url-fetch)
5504 (uri (string-append
5505 "https://hackage.haskell.org/package/iproute/iproute-"
5506 version
5507 ".tar.gz"))
5508 (sha256
5509 (base32
ec25d536 5510 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
5511 (build-system haskell-build-system)
5512 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5513 ; exported by ghc-byteorder. Doctest issue.
5514 (inputs
5515 `(("ghc-appar" ,ghc-appar)
5516 ("ghc-byteorder" ,ghc-byteorder)
5517 ("ghc-network" ,ghc-network)
5518 ("ghc-safe" ,ghc-safe)))
5519 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5520 (synopsis "IP routing table")
5521 (description "IP Routing Table is a tree of IP ranges to search one of
5522them on the longest match base. It is a kind of TRIE with one way branching
5523removed. Both IPv4 and IPv6 are supported.")
5524 (license license:bsd-3)))
5525
5526(define-public ghc-iwlib
5527 (package
5528 (name "ghc-iwlib")
5529 (version "0.1.0")
5530 (source
5531 (origin
5532 (method url-fetch)
5533 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5534 version ".tar.gz"))
5535 (sha256
5536 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5537 (build-system haskell-build-system)
5538 (inputs
5539 `(("wireless-tools" ,wireless-tools)))
5540 (home-page "https://github.com/jaor/iwlib")
5541 (synopsis "Haskell binding to the iw wireless networking library")
5542 (description
5543 "IWlib is a thin Haskell binding to the iw C library. It provides
5544information about the current wireless network connections, and adapters on
5545supported systems.")
5546 (license license:bsd-3)))
5547
5548(define-public ghc-json
5549 (package
5550 (name "ghc-json")
0ad3d574 5551 (version "0.9.3")
dddbc90c
RV
5552 (source
5553 (origin
5554 (method url-fetch)
5555 (uri (string-append "https://hackage.haskell.org/package/json/"
5556 "json-" version ".tar.gz"))
5557 (sha256
5558 (base32
0ad3d574 5559 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
5560 (build-system haskell-build-system)
5561 (inputs
5562 `(("ghc-syb" ,ghc-syb)))
5563 (home-page "https://hackage.haskell.org/package/json")
5564 (synopsis "Serializes Haskell data to and from JSON")
5565 (description "This package provides a parser and pretty printer for
5566converting between Haskell values and JSON.
5567JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5568 (license license:bsd-3)))
5569
5570(define-public ghc-juicypixels
5571 (package
5572 (name "ghc-juicypixels")
b50b6004 5573 (version "3.3.4")
dddbc90c
RV
5574 (source (origin
5575 (method url-fetch)
5576 (uri (string-append "https://hackage.haskell.org/package/"
5577 "JuicyPixels/JuicyPixels-"
5578 version ".tar.gz"))
5579 (sha256
5580 (base32
b50b6004 5581 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
5582 (build-system haskell-build-system)
5583 (inputs
5584 `(("ghc-zlib" ,ghc-zlib)
5585 ("ghc-vector" ,ghc-vector)
5586 ("ghc-primitive" ,ghc-primitive)
5587 ("ghc-mmap" ,ghc-mmap)))
5588 (home-page "https://github.com/Twinside/Juicy.Pixels")
5589 (synopsis "Picture loading and serialization library")
5590 (description
5591 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5592TIFF and GIF formats.")
5593 (license license:bsd-3)))
5594
5595(define-public ghc-kan-extensions
5596 (package
5597 (name "ghc-kan-extensions")
5598 (version "5.2")
5599 (source
5600 (origin
5601 (method url-fetch)
5602 (uri (string-append
5603 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5604 version
5605 ".tar.gz"))
5606 (sha256
5607 (base32
5608 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5609 (build-system haskell-build-system)
5610 (inputs
5611 `(("ghc-adjunctions" ,ghc-adjunctions)
5612 ("ghc-comonad" ,ghc-comonad)
5613 ("ghc-contravariant" ,ghc-contravariant)
5614 ("ghc-distributive" ,ghc-distributive)
5615 ("ghc-free" ,ghc-free)
5616 ("ghc-invariant" ,ghc-invariant)
5617 ("ghc-semigroupoids" ,ghc-semigroupoids)
5618 ("ghc-tagged" ,ghc-tagged)
5619 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5620 (home-page "https://github.com/ekmett/kan-extensions/")
5621 (synopsis "Kan extensions library")
5622 (description "This library provides Kan extensions, Kan lifts, various
5623forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5624 (license license:bsd-3)))
5625
5626(define-public ghc-language-c
5627 (package
5628 (name "ghc-language-c")
4e1cf651 5629 (version "0.8.3")
dddbc90c
RV
5630 (source
5631 (origin
5632 (method url-fetch)
5633 (uri (string-append "https://hackage.haskell.org/package/"
5634 "language-c/language-c-" version ".tar.gz"))
5635 (sha256
5636 (base32
4e1cf651 5637 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
5638 (build-system haskell-build-system)
5639 (inputs `(("ghc-syb" ,ghc-syb)))
5640 (native-inputs
5641 `(("ghc-happy" ,ghc-happy)
5642 ("ghc-alex" ,ghc-alex)))
5643 (home-page "https://visq.github.io/language-c/")
5644 (synopsis "Analysis and generation of C code")
5645 (description
5646 "Language C is a Haskell library for the analysis and generation of C code.
5647It features a complete, well-tested parser and pretty printer for all of C99
5648and a large set of GNU extensions.")
5649 (license license:bsd-3)))
5650
5651(define-public ghc-language-glsl
5652 (package
5653 (name "ghc-language-glsl")
5654 (version "0.3.0")
5655 (source
5656 (origin
5657 (method url-fetch)
5658 (uri (string-append "https://hackage.haskell.org/package/"
5659 "language-glsl/language-glsl-" version ".tar.gz"))
5660 (sha256
5661 (base32
5662 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5663 (build-system haskell-build-system)
5664 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5665 (arguments
5666 `(#:tests? #f
5667 #:cabal-revision
5668 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5669 (home-page "http://hackage.haskell.org/package/language-glsl")
5670 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5671 (description "This package is a Haskell library for the
5672representation, parsing, and pretty-printing of GLSL 1.50 code.")
5673 (license license:bsd-3)))
5674
5675(define-public ghc-language-haskell-extract
5676 (package
5677 (name "ghc-language-haskell-extract")
5678 (version "0.2.4")
5679 (source
5680 (origin
5681 (method url-fetch)
5682 (uri (string-append "https://hackage.haskell.org/package/"
5683 "language-haskell-extract-" version "/"
5684 "language-haskell-extract-" version ".tar.gz"))
5685 (sha256
5686 (base32
5687 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5688 (build-system haskell-build-system)
5689 (inputs
5690 `(("ghc-regex-posix" ,ghc-regex-posix)))
5691 (home-page "https://github.com/finnsson/template-helper")
5692 (synopsis "Haskell module to automatically extract functions from
5693the local code")
5694 (description "This package contains helper functions on top of
5695Template Haskell.
5696
5697For example, @code{functionExtractor} extracts all functions after a
5698regexp-pattern, which can be useful if you wish to extract all functions
5699beginning with @code{test} (for a test framework) or all functions beginning
5700with @code{wc} (for a web service).")
5701 (license license:bsd-3)))
5702
5703(define-public ghc-lens
5704 (package
5705 (name "ghc-lens")
262e6323 5706 (version "4.17.1")
dddbc90c
RV
5707 (source
5708 (origin
5709 (method url-fetch)
5710 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5711 version ".tar.gz"))
5712 (sha256
5713 (base32
262e6323 5714 "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7"))))
dddbc90c 5715 (build-system haskell-build-system)
dddbc90c
RV
5716 (inputs
5717 `(("ghc-base-orphans" ,ghc-base-orphans)
5718 ("ghc-bifunctors" ,ghc-bifunctors)
5719 ("ghc-distributive" ,ghc-distributive)
5720 ("ghc-exceptions" ,ghc-exceptions)
5721 ("ghc-free" ,ghc-free)
5722 ("ghc-kan-extensions" ,ghc-kan-extensions)
5723 ("ghc-parallel" ,ghc-parallel)
5724 ("ghc-reflection" ,ghc-reflection)
5725 ("ghc-semigroupoids" ,ghc-semigroupoids)
5726 ("ghc-vector" ,ghc-vector)
5727 ("ghc-call-stack" ,ghc-call-stack)
5728 ("ghc-comonad" ,ghc-comonad)
5729 ("ghc-contravariant" ,ghc-contravariant)
5730 ("ghc-hashable" ,ghc-hashable)
5731 ("ghc-profunctors" ,ghc-profunctors)
5732 ("ghc-semigroups" ,ghc-semigroups)
5733 ("ghc-tagged" ,ghc-tagged)
5734 ("ghc-transformers-compat" ,ghc-transformers-compat)
5735 ("ghc-unordered-containers" ,ghc-unordered-containers)
5736 ("ghc-void" ,ghc-void)
5737 ("ghc-generic-deriving" ,ghc-generic-deriving)
5738 ("ghc-nats" ,ghc-nats)
5739 ("ghc-simple-reflect" ,ghc-simple-reflect)
5740 ("hlint" ,hlint)))
5741 (native-inputs
5742 `(("cabal-doctest" ,cabal-doctest)
5743 ("ghc-doctest" ,ghc-doctest)
5744 ("ghc-hunit" ,ghc-hunit)
5745 ("ghc-test-framework" ,ghc-test-framework)
5746 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5747 ("ghc-test-framework-th" ,ghc-test-framework-th)
5748 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5749 ("ghc-quickcheck" ,ghc-quickcheck)))
5750 (home-page "https://github.com/ekmett/lens/")
5751 (synopsis "Lenses, Folds and Traversals")
5752 (description "This library provides @code{Control.Lens}. The combinators
5753in @code{Control.Lens} provide a highly generic toolbox for composing families
5754of getters, folds, isomorphisms, traversals, setters and lenses and their
5755indexed variants.")
5756 (license license:bsd-3)))
5757
5758(define-public ghc-libffi
5759 (package
5760 (name "ghc-libffi")
5761 (version "0.1")
5762 (source
5763 (origin
5764 (method url-fetch)
5765 (uri (string-append "https://hackage.haskell.org/package/"
5766 "libffi/libffi-" version ".tar.gz"))
5767 (sha256
5768 (base32
5769 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5770 (build-system haskell-build-system)
5771 (native-inputs `(("pkg-config" ,pkg-config)))
5772 (inputs `(("libffi" ,libffi)))
5773 (home-page "http://hackage.haskell.org/package/libffi")
5774 (synopsis "Haskell binding to libffi")
5775 (description
5776 "A binding to libffi, allowing C functions of types only known at runtime
5777to be called from Haskell.")
5778 (license license:bsd-3)))
5779
5780(define-public ghc-libmpd
5781 (package
5782 (name "ghc-libmpd")
bbf9845f 5783 (version "0.9.0.10")
dddbc90c
RV
5784 (source
5785 (origin
5786 (method url-fetch)
5787 (uri (string-append
5788 "mirror://hackage/package/libmpd/libmpd-"
5789 version
5790 ".tar.gz"))
5791 (sha256
5792 (base32
bbf9845f 5793 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
5794 (build-system haskell-build-system)
5795 ;; Tests fail on i686.
5796 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5797 (arguments `(#:tests? #f))
5798 (inputs
5799 `(("ghc-attoparsec" ,ghc-attoparsec)
5800 ("ghc-old-locale" ,ghc-old-locale)
5801 ("ghc-data-default-class" ,ghc-data-default-class)
5802 ("ghc-network" ,ghc-network)
bbf9845f 5803 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
5804 ("ghc-utf8-string" ,ghc-utf8-string)))
5805 (native-inputs
5806 `(("ghc-quickcheck" ,ghc-quickcheck)
5807 ("ghc-hspec" ,ghc-hspec)
5808 ("hspec-discover" ,hspec-discover)))
5809 (home-page "https://github.com/vimus/libmpd-haskell")
5810 (synopsis "Haskell client library for the Music Player Daemon")
5811 (description "This package provides a pure Haskell client library for the
5812Music Player Daemon.")
5813 (license license:expat)))
5814
e34df1c3
TS
5815(define-public ghc-lib-parser
5816 (package
5817 (name "ghc-lib-parser")
5818 (version "8.8.0.20190424")
5819 (source
5820 (origin
5821 (method url-fetch)
5822 (uri (string-append "https://hackage.haskell.org/package/"
5823 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
5824 (sha256
5825 (base32
5826 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
5827 (build-system haskell-build-system)
5828 (native-inputs
5829 `(("ghc-alex" ,ghc-alex)
5830 ("ghc-happy" ,ghc-happy)))
5831 (home-page "https://github.com/digital-asset/ghc-lib")
5832 (synopsis "The GHC API, decoupled from GHC versions")
5833 (description "This library implements the GHC API. It is like the
5834compiler-provided @code{ghc} package, but it can be loaded on many
5835compiler versions.")
5836 (license license:bsd-3)))
5837
dddbc90c
RV
5838(define-public ghc-libxml
5839 (package
5840 (name "ghc-libxml")
5841 (version "0.1.1")
5842 (source
5843 (origin
5844 (method url-fetch)
5845 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5846 "libxml-" version ".tar.gz"))
5847 (sha256
5848 (base32
5849 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5850 (build-system haskell-build-system)
5851 (inputs
5852 `(("libxml2" ,libxml2)))
5853 (arguments
5854 `(#:configure-flags
5855 `(,(string-append "--extra-include-dirs="
5856 (assoc-ref %build-inputs "libxml2")
5857 "/include/libxml2"))))
5858 (home-page "https://hackage.haskell.org/package/libxml")
5859 (synopsis "Haskell bindings to libxml2")
5860 (description
5861 "This library provides minimal Haskell binding to libxml2.")
5862 (license license:bsd-3)))
5863
0c2d6fc2
TS
5864(define-public ghc-libyaml
5865 (package
5866 (name "ghc-libyaml")
5867 (version "0.1.1.0")
5868 (source
5869 (origin
5870 (method url-fetch)
5871 (uri (string-append "https://hackage.haskell.org/package/"
5872 "libyaml/libyaml-" version ".tar.gz"))
5873 (sha256
5874 (base32
5875 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
5876 (modules '((guix build utils)))
5877 (snippet
5878 ;; Delete bundled LibYAML.
5879 '(begin
5880 (delete-file-recursively "libyaml_src")
5881 #t))))
5882 (build-system haskell-build-system)
5883 (arguments
5884 `(#:configure-flags `("--flags=system-libyaml")))
5885 (inputs
5886 `(("ghc-conduit" ,ghc-conduit)
5887 ("ghc-resourcet" ,ghc-resourcet)
5888 ("libyaml" ,libyaml-2.1)))
5889 (home-page "https://github.com/snoyberg/yaml#readme")
5890 (synopsis "Low-level, streaming YAML interface.")
5891 (description "This package provides a Haskell wrapper over the
5892LibYAML C library.")
5893 (license license:bsd-3)))
5894
dddbc90c
RV
5895(define-public ghc-lifted-async
5896 (package
5897 (name "ghc-lifted-async")
b5b6d7ea 5898 (version "0.10.0.4")
dddbc90c
RV
5899 (source
5900 (origin
5901 (method url-fetch)
5902 (uri (string-append
5903 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5904 version ".tar.gz"))
5905 (sha256
5906 (base32
b5b6d7ea 5907 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
5908 (build-system haskell-build-system)
5909 (inputs
5910 `(("ghc-async" ,ghc-async)
5911 ("ghc-lifted-base" ,ghc-lifted-base)
5912 ("ghc-transformers-base" ,ghc-transformers-base)
5913 ("ghc-monad-control" ,ghc-monad-control)
5914 ("ghc-constraints" ,ghc-constraints)
5915 ("ghc-hunit" ,ghc-hunit)
5916 ("ghc-tasty" ,ghc-tasty)
5917 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5918 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5919 ("ghc-tasty-th" ,ghc-tasty-th)))
5920 (home-page "https://github.com/maoe/lifted-async")
5921 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5922 (description
5923 "This package provides IO operations from @code{async} package lifted to any
5924instance of @code{MonadBase} or @code{MonadBaseControl}.")
5925 (license license:bsd-3)))
5926
5927(define-public ghc-lifted-base
5928 (package
5929 (name "ghc-lifted-base")
5930 (version "0.2.3.12")
5931 (source
5932 (origin
5933 (method url-fetch)
5934 (uri (string-append
5935 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5936 version
5937 ".tar.gz"))
5938 (sha256
5939 (base32
5940 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5941 (build-system haskell-build-system)
5942 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5943 (inputs
5944 `(("ghc-transformers-base" ,ghc-transformers-base)
5945 ("ghc-monad-control" ,ghc-monad-control)
5946 ("ghc-transformers-compat" ,ghc-transformers-compat)
5947 ("ghc-hunit" ,ghc-hunit)))
5948 (home-page "https://github.com/basvandijk/lifted-base")
5949 (synopsis "Lifted IO operations from the base library")
5950 (description "Lifted-base exports IO operations from the @code{base}
5951library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5952Note that not all modules from @code{base} are converted yet. The package
5953includes a copy of the @code{monad-peel} test suite written by Anders
5954Kaseorg.")
5955 (license license:bsd-3)))
5956
5957(define-public ghc-linear
5958 (package
5959 (name "ghc-linear")
5960 (version "1.20.8")
5961 (source
5962 (origin
5963 (method url-fetch)
5964 (uri (string-append "https://hackage.haskell.org/package/linear/"
5965 "linear-" version ".tar.gz"))
5966 (sha256
5967 (base32
5968 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5969 (build-system haskell-build-system)
5970 (inputs
5971 `(("ghc-adjunctions" ,ghc-adjunctions)
5972 ("ghc-base-orphans" ,ghc-base-orphans)
5973 ("ghc-bytes" ,ghc-bytes)
5974 ("ghc-cereal" ,ghc-cereal)
5975 ("ghc-distributive" ,ghc-distributive)
5976 ("ghc-hashable" ,ghc-hashable)
5977 ("ghc-lens" ,ghc-lens)
5978 ("ghc-reflection" ,ghc-reflection)
5979 ("ghc-semigroups" ,ghc-semigroups)
5980 ("ghc-semigroupoids" ,ghc-semigroupoids)
5981 ("ghc-tagged" ,ghc-tagged)
5982 ("ghc-transformers-compat" ,ghc-transformers-compat)
5983 ("ghc-unordered-containers" ,ghc-unordered-containers)
5984 ("ghc-vector" ,ghc-vector)
5985 ("ghc-void" ,ghc-void)))
5986 (native-inputs
5987 `(("cabal-doctest" ,cabal-doctest)
5988 ("ghc-doctest" ,ghc-doctest)
5989 ("ghc-simple-reflect" ,ghc-simple-reflect)
5990 ("ghc-test-framework" ,ghc-test-framework)
5991 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5992 ("ghc-hunit" ,ghc-hunit)))
5993 (home-page "http://github.com/ekmett/linear/")
5994 (synopsis "Linear algebra library for Haskell")
5995 (description
5996 "This package provides types and combinators for linear algebra on free
5997vector spaces.")
5998 (license license:bsd-3)))
1307e4c7
JS
5999
6000(define-public ghc-listlike
6001 (package
6002 (name "ghc-listlike")
6003 (version "4.6.2")
6004 (source
6005 (origin
6006 (method url-fetch)
6007 (uri
6008 (string-append
6009 "https://hackage.haskell.org/package/ListLike/ListLike-"
6010 version ".tar.gz"))
6011 (sha256
6012 (base32
6013 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6014 (build-system haskell-build-system)
6015 (inputs
6016 `(("ghc-vector" ,ghc-vector)
6017 ("ghc-dlist" ,ghc-dlist)
6018 ("ghc-fmlist" ,ghc-fmlist)
6019 ("ghc-hunit" ,ghc-hunit)
6020 ("ghc-quickcheck" ,ghc-quickcheck)
6021 ("ghc-random" ,ghc-random)
6022 ("ghc-utf8-string" ,ghc-utf8-string)))
6023 (home-page "https://github.com/JohnLato/listlike")
6024 (synopsis "Generic support for list-like structures")
6025 (description "The ListLike module provides a common interface to the
6026various Haskell types that are list-like. Predefined interfaces include
6027standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6028Custom types can easily be made ListLike instances as well.
6029
6030ListLike also provides for String-like types, such as String and
6031ByteString, for types that support input and output, and for types that
6032can handle infinite lists.")
6033 (license license:bsd-3)))
dddbc90c
RV
6034
6035(define-public ghc-logging-facade
6036 (package
6037 (name "ghc-logging-facade")
6038 (version "0.3.0")
6039 (source (origin
6040 (method url-fetch)
6041 (uri (string-append "https://hackage.haskell.org/package/"
6042 "logging-facade/logging-facade-"
6043 version ".tar.gz"))
6044 (sha256
6045 (base32
6046 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6047 (build-system haskell-build-system)
6048 (native-inputs
6049 `(("ghc-hspec" ,ghc-hspec)
6050 ("hspec-discover" ,hspec-discover)))
6051 (home-page "https://hackage.haskell.org/package/logging-facade")
6052 (synopsis "Simple logging abstraction that allows multiple back-ends")
6053 (description
6054 "This package provides a simple logging abstraction that allows multiple
6055back-ends.")
6056 (license license:expat)))
6057
6058(define-public ghc-logict
6059 (package
6060 (name "ghc-logict")
79d9326f 6061 (version "0.7.0.2")
dddbc90c
RV
6062 (source
6063 (origin
6064 (method url-fetch)
6065 (uri (string-append
6066 "https://hackage.haskell.org/package/logict/logict-"
6067 version
6068 ".tar.gz"))
6069 (sha256
6070 (base32
79d9326f 6071 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 6072 (build-system haskell-build-system)
79d9326f
TS
6073 (native-inputs
6074 `(("ghc-tasty" ,ghc-tasty)
6075 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
6076 (home-page "http://code.haskell.org/~dolio/")
6077 (synopsis "Backtracking logic-programming monad")
6078 (description "This library provides a continuation-based, backtracking,
6079logic programming monad. An adaptation of the two-continuation implementation
6080found in the paper \"Backtracking, Interleaving, and Terminating Monad
6081Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6082online}.")
6083 (license license:bsd-3)))
6084
6085(define-public ghc-lzma
6086 (package
6087 (name "ghc-lzma")
6088 (version "0.0.0.3")
6089 (source
6090 (origin
6091 (method url-fetch)
6092 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6093 "lzma-" version ".tar.gz"))
6094 (sha256
6095 (base32
6096 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6097 (build-system haskell-build-system)
6098 (arguments
6099 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6100 #:cabal-revision
6101 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6102 (native-inputs
6103 `(("ghc-hunit" ,ghc-hunit)
6104 ("ghc-quickcheck" ,ghc-quickcheck)
6105 ("ghc-tasty" ,ghc-tasty)
6106 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6107 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6108 (home-page "https://github.com/hvr/lzma")
6109 (synopsis "LZMA/XZ compression and decompression")
6110 (description
6111 "This package provides a pure interface for compressing and
6112decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6113monadic incremental interface is provided as well.")
6114 (license license:bsd-3)))
6115
6116(define-public ghc-lzma-conduit
6117 (package
6118 (name "ghc-lzma-conduit")
6119 (version "1.2.1")
6120 (source
6121 (origin
6122 (method url-fetch)
6123 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6124 "lzma-conduit-" version ".tar.gz"))
6125 (sha256
6126 (base32
6127 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6128 (build-system haskell-build-system)
6129 (inputs
6130 `(("ghc-conduit" ,ghc-conduit)
6131 ("ghc-lzma" ,ghc-lzma)
6132 ("ghc-resourcet" ,ghc-resourcet)))
6133 (native-inputs
6134 `(("ghc-base-compat" ,ghc-base-compat)
6135 ("ghc-test-framework" ,ghc-test-framework)
6136 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6137 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6138 ("ghc-hunit" ,ghc-hunit)
6139 ("ghc-quickcheck" ,ghc-quickcheck)))
6140 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6141 (synopsis "Conduit interface for lzma/xz compression")
6142 (description
6143 "This package provides a @code{Conduit} interface for the LZMA
6144compression algorithm used in the @code{.xz} file format.")
6145 (license license:bsd-3)))
6146
e405912c
KM
6147(define-public ghc-magic
6148 (package
6149 (name "ghc-magic")
6150 (version "1.1")
6151 (source
6152 (origin
6153 (method url-fetch)
6154 (uri (string-append
6155 "https://hackage.haskell.org/package/magic/magic-"
6156 version ".tar.gz"))
6157 (sha256
6158 (base32
6159 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6160 (build-system haskell-build-system)
6161 (home-page "http://hackage.haskell.org/package/magic")
6162 (synopsis "Interface to C file/magic library")
6163 (description
6164 "This package provides a full-featured binding to the C libmagic library.
6165With it, you can determine the type of a file by examining its contents rather
6166than its name.")
6167 (license license:bsd-3)))
6168
dddbc90c
RV
6169(define-public ghc-markdown-unlit
6170 (package
6171 (name "ghc-markdown-unlit")
6172 (version "0.5.0")
6173 (source (origin
6174 (method url-fetch)
6175 (uri (string-append
6176 "mirror://hackage/package/markdown-unlit/"
6177 "markdown-unlit-" version ".tar.gz"))
6178 (sha256
6179 (base32
6180 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6181 (build-system haskell-build-system)
6182 (inputs
6183 `(("ghc-base-compat" ,ghc-base-compat)
6184 ("ghc-hspec" ,ghc-hspec)
6185 ("ghc-quickcheck" ,ghc-quickcheck)
6186 ("ghc-silently" ,ghc-silently)
6187 ("ghc-stringbuilder" ,ghc-stringbuilder)
6188 ("ghc-temporary" ,ghc-temporary)
6189 ("hspec-discover" ,hspec-discover)))
6190 (home-page "https://github.com/sol/markdown-unlit#readme")
6191 (synopsis "Literate Haskell support for Markdown")
6192 (description "This package allows you to have a README.md that at the
6193same time is a literate Haskell program.")
6194 (license license:expat)))
6195
6196(define-public ghc-math-functions
6197 (package
6198 (name "ghc-math-functions")
b45de2bf 6199 (version "0.3.3.0")
dddbc90c
RV
6200 (source
6201 (origin
6202 (method url-fetch)
6203 (uri (string-append "https://hackage.haskell.org/package/"
6204 "math-functions-" version "/"
6205 "math-functions-" version ".tar.gz"))
6206 (sha256
6207 (base32
b45de2bf 6208 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6209 (build-system haskell-build-system)
6210 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6211 (inputs
b45de2bf
TS
6212 `(("ghc-data-default-class" ,ghc-data-default-class)
6213 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6214 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6215 (native-inputs
6216 `(("ghc-hunit" ,ghc-hunit)
6217 ("ghc-quickcheck" ,ghc-quickcheck)
6218 ("ghc-erf" ,ghc-erf)
6219 ("ghc-test-framework" ,ghc-test-framework)
6220 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6221 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6222 (home-page "https://github.com/bos/math-functions")
6223 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6224 (description "This Haskell library provides implementations of
6225special mathematical functions and Chebyshev polynomials. These
6226functions are often useful in statistical and numerical computing.")
6227 (license license:bsd-3)))
6228
6229(define-public ghc-megaparsec
6230 (package
6231 (name "ghc-megaparsec")
03b0c92e 6232 (version "7.0.5")
dddbc90c
RV
6233 (source
6234 (origin
6235 (method url-fetch)
6236 (uri (string-append "https://hackage.haskell.org/package/"
6237 "megaparsec/megaparsec-"
6238 version ".tar.gz"))
6239 (sha256
6240 (base32
03b0c92e 6241 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 6242 (build-system haskell-build-system)
dddbc90c
RV
6243 (inputs
6244 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6245 ("ghc-parser-combinators" ,ghc-parser-combinators)
6246 ("ghc-scientific" ,ghc-scientific)))
6247 (native-inputs
6248 `(("ghc-quickcheck" ,ghc-quickcheck)
6249 ("ghc-hspec" ,ghc-hspec)
6250 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6251 ("hspec-discover" ,hspec-discover)))
6252 (home-page "https://github.com/mrkkrp/megaparsec")
6253 (synopsis "Monadic parser combinators")
6254 (description
6255 "This is an industrial-strength monadic parser combinator library.
6256Megaparsec is a feature-rich package that strikes a nice balance between
6257speed, flexibility, and quality of parse errors.")
6258 (license license:bsd-2)))
6259
6260(define-public ghc-memory
6261 (package
6262 (name "ghc-memory")
d2c7d336 6263 (version "0.14.18")
dddbc90c
RV
6264 (source (origin
6265 (method url-fetch)
6266 (uri (string-append "https://hackage.haskell.org/package/"
6267 "memory/memory-" version ".tar.gz"))
6268 (sha256
6269 (base32
d2c7d336 6270 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6271 (build-system haskell-build-system)
6272 (inputs
6273 `(("ghc-basement" ,ghc-basement)
6274 ("ghc-foundation" ,ghc-foundation)))
6275 (native-inputs
6276 `(("ghc-tasty" ,ghc-tasty)
6277 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6278 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6279 (home-page "https://github.com/vincenthz/hs-memory")
6280 (synopsis "Memory abstractions for Haskell")
6281 (description
6282 "This package provides memory abstractions, such as chunk of memory,
6283polymorphic byte array management and manipulation functions. It contains a
6284polymorphic byte array abstraction and functions similar to strict ByteString,
6285different type of byte array abstraction, raw memory IO operations (memory
6286set, memory copy, ..) and more")
6287 (license license:bsd-3)))
6288
6289(define-public ghc-memotrie
6290 (package
6291 (name "ghc-memotrie")
6292 (version "0.6.9")
6293 (source
6294 (origin
6295 (method url-fetch)
6296 (uri (string-append
6297 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6298 version
6299 ".tar.gz"))
6300 (sha256
6301 (base32
6302 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6303 (build-system haskell-build-system)
6304 (inputs
6305 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6306 (home-page "https://github.com/conal/MemoTrie")
6307 (synopsis "Trie-based memo functions")
6308 (description "This package provides a functional library for creating
6309efficient memo functions using tries.")
6310 (license license:bsd-3)))
6311
6312(define-public ghc-microlens
6313 (package
6314 (name "ghc-microlens")
82478c58 6315 (version "0.4.10")
dddbc90c
RV
6316 (source
6317 (origin
6318 (method url-fetch)
6319 (uri (string-append "https://hackage.haskell.org/package/"
6320 "microlens-" version "/"
6321 "microlens-" version ".tar.gz"))
6322 (sha256
6323 (base32
82478c58 6324 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6325 (build-system haskell-build-system)
6326 (home-page
6327 "https://github.com/aelve/microlens")
6328 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6329 (description "This Haskell package provides a lens library, just like
6330@code{ghc-lens}, but smaller. It provides essential lenses and
6331traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6332nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6333combinators (like @code{failing} and @code{singular}), but everything else is
6334stripped. As the result, this package has no dependencies.")
6335 (license license:bsd-3)))
6336
6337(define-public ghc-microlens-ghc
6338 (package
6339 (name "ghc-microlens-ghc")
027beb55 6340 (version "0.4.10")
dddbc90c
RV
6341 (source
6342 (origin
6343 (method url-fetch)
6344 (uri (string-append
6345 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6346 version
6347 ".tar.gz"))
6348 (sha256
6349 (base32
027beb55 6350 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6351 (build-system haskell-build-system)
6352 (inputs `(("ghc-microlens" ,ghc-microlens)))
6353 (home-page "https://github.com/monadfix/microlens")
6354 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6355 (description "This library provides everything that @code{microlens}
6356provides plus instances to make @code{each}, @code{at}, and @code{ix}
6357usable with arrays, @code{ByteString}, and containers. This package is
6358a part of the @uref{http://hackage.haskell.org/package/microlens,
6359microlens} family; see the readme
6360@uref{https://github.com/aelve/microlens#readme, on Github}.")
6361 (license license:bsd-3)))
6362
6363(define-public ghc-microlens-mtl
6364 (package
6365 (name "ghc-microlens-mtl")
6366 (version "0.1.11.1")
6367 (source
6368 (origin
6369 (method url-fetch)
6370 (uri (string-append
6371 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6372 version
6373 ".tar.gz"))
6374 (sha256
6375 (base32
6376 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6377 (build-system haskell-build-system)
6378 (inputs
6379 `(("ghc-microlens" ,ghc-microlens)
6380 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6381 (home-page "https://github.com/monadfix/microlens")
6382 (synopsis
6383 "@code{microlens} support for Reader/Writer/State from mtl")
6384 (description
6385 "This package contains functions (like @code{view} or @code{+=}) which
6386work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6387mtl package. This package is a part of the
6388@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6389readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6390 (license license:bsd-3)))
6391
6392(define-public ghc-microlens-platform
6393 (package
6394 (name "ghc-microlens-platform")
85decc1f 6395 (version "0.3.11")
dddbc90c
RV
6396 (source
6397 (origin
6398 (method url-fetch)
6399 (uri (string-append
6400 "https://hackage.haskell.org/package/"
6401 "microlens-platform/microlens-platform-" version ".tar.gz"))
6402 (sha256
6403 (base32
85decc1f 6404 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6405 (build-system haskell-build-system)
6406 (inputs
6407 `(("ghc-hashable" ,ghc-hashable)
6408 ("ghc-microlens" ,ghc-microlens)
6409 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6410 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6411 ("ghc-microlens-th" ,ghc-microlens-th)
6412 ("ghc-unordered-containers" ,ghc-unordered-containers)
6413 ("ghc-vector" ,ghc-vector)))
6414 (home-page "https://github.com/monadfix/microlens")
6415 (synopsis "Feature-complete microlens")
6416 (description
6417 "This package exports a module which is the recommended starting point
6418for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6419you aren't trying to keep your dependencies minimal. By importing
6420@code{Lens.Micro.Platform} you get all functions and instances from
6421@uref{http://hackage.haskell.org/package/microlens, microlens},
6422@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6423@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6424@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6425well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6426minor and major versions of @code{microlens-platform} are incremented whenever
6427the minor and major versions of any other @code{microlens} package are
6428incremented, so you can depend on the exact version of
6429@code{microlens-platform} without specifying the version of @code{microlens}
6430you need. This package is a part of the
6431@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6432readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6433 (license license:bsd-3)))
6434
6435(define-public ghc-microlens-th
6436 (package
6437 (name "ghc-microlens-th")
7ae52867 6438 (version "0.4.2.3")
dddbc90c
RV
6439 (source
6440 (origin
6441 (method url-fetch)
6442 (uri (string-append "https://hackage.haskell.org/package/"
6443 "microlens-th-" version "/"
6444 "microlens-th-" version ".tar.gz"))
6445 (sha256
6446 (base32
7ae52867 6447 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6448 (build-system haskell-build-system)
7ae52867
TS
6449 (arguments
6450 `(#:cabal-revision
6451 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6452 (inputs `(("ghc-microlens" ,ghc-microlens)
6453 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6454 (home-page
6455 "https://github.com/aelve/microlens")
6456 (synopsis "Automatic generation of record lenses for
6457@code{ghc-microlens}")
6458 (description "This Haskell package lets you automatically generate lenses
6459for data types; code was extracted from the lens package, and therefore
6460generated lenses are fully compatible with ones generated by lens (and can be
6461used both from lens and microlens).")
6462 (license license:bsd-3)))
6463
6464(define-public ghc-missingh
6465 (package
6466 (name "ghc-missingh")
641207cb 6467 (version "1.4.1.0")
dddbc90c
RV
6468 (source
6469 (origin
6470 (method url-fetch)
6471 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6472 "MissingH-" version ".tar.gz"))
6473 (sha256
6474 (base32
641207cb 6475 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
6476 (build-system haskell-build-system)
6477 ;; Tests require the unmaintained testpack package, which depends on the
6478 ;; outdated QuickCheck version 2.7, which can no longer be built with
6479 ;; recent versions of GHC and Haskell libraries.
6480 (arguments '(#:tests? #f))
6481 (inputs
6482 `(("ghc-network" ,ghc-network)
6483 ("ghc-hunit" ,ghc-hunit)
6484 ("ghc-regex-compat" ,ghc-regex-compat)
6485 ("ghc-hslogger" ,ghc-hslogger)
6486 ("ghc-random" ,ghc-random)
6487 ("ghc-old-time" ,ghc-old-time)
6488 ("ghc-old-locale" ,ghc-old-locale)))
6489 (native-inputs
6490 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6491 ("ghc-quickcheck" ,ghc-quickcheck)
6492 ("ghc-hunit" ,ghc-hunit)))
6493 (home-page "http://software.complete.org/missingh")
6494 (synopsis "Large utility library")
6495 (description
6496 "MissingH is a library of all sorts of utility functions for Haskell
6497programmers. It is written in pure Haskell and thus should be extremely
6498portable and easy to use.")
6499 (license license:bsd-3)))
6500
6501(define-public ghc-mmap
6502 (package
6503 (name "ghc-mmap")
6504 (version "0.5.9")
6505 (source (origin
6506 (method url-fetch)
6507 (uri (string-append "https://hackage.haskell.org/package/"
6508 "mmap/mmap-" version ".tar.gz"))
6509 (sha256
6510 (base32
6511 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6512 (build-system haskell-build-system)
6513 (home-page "https://hackage.haskell.org/package/mmap")
6514 (synopsis "Memory mapped files for Haskell")
6515 (description
6516 "This library provides a wrapper to @code{mmap}, allowing files or
6517devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6518@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6519do on-demand loading.")
6520 (license license:bsd-3)))
6521
6522(define-public ghc-mmorph
6523 (package
6524 (name "ghc-mmorph")
e0389704 6525 (version "1.1.3")
dddbc90c
RV
6526 (source
6527 (origin
6528 (method url-fetch)
6529 (uri (string-append
6530 "https://hackage.haskell.org/package/mmorph/mmorph-"
6531 version
6532 ".tar.gz"))
6533 (sha256
6534 (base32
e0389704 6535 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6536 (build-system haskell-build-system)
6537 (inputs
6538 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6539 (home-page "https://hackage.haskell.org/package/mmorph")
6540 (synopsis "Monad morphisms")
6541 (description
6542 "This library provides monad morphism utilities, most commonly used for
6543manipulating monad transformer stacks.")
6544 (license license:bsd-3)))
6545
6546(define-public ghc-mockery
6547 (package
6548 (name "ghc-mockery")
6549 (version "0.3.5")
6550 (source (origin
6551 (method url-fetch)
6552 (uri (string-append "https://hackage.haskell.org/package/"
6553 "mockery/mockery-" version ".tar.gz"))
6554 (sha256
6555 (base32
6556 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6557 (build-system haskell-build-system)
6558 (inputs
6559 `(("ghc-temporary" ,ghc-temporary)
6560 ("ghc-logging-facade" ,ghc-logging-facade)
6561 ("ghc-base-compat" ,ghc-base-compat)))
6562 (native-inputs
6563 `(("ghc-hspec" ,ghc-hspec)
6564 ("hspec-discover" ,hspec-discover)))
6565 (home-page "https://hackage.haskell.org/package/mockery")
6566 (synopsis "Support functions for automated testing")
6567 (description
6568 "The mockery package provides support functions for automated testing.")
6569 (license license:expat)))
6570
6571(define-public ghc-monad-control
6572 (package
6573 (name "ghc-monad-control")
6574 (version "1.0.2.3")
6575 (source
6576 (origin
6577 (method url-fetch)
6578 (uri (string-append
6579 "https://hackage.haskell.org/package/monad-control"
6580 "/monad-control-" version ".tar.gz"))
6581 (sha256
6582 (base32
6583 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6584 (build-system haskell-build-system)
6585 (inputs
6586 `(("ghc-transformers-base" ,ghc-transformers-base)
6587 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6588 (home-page "https://github.com/basvandijk/monad-control")
6589 (synopsis "Monad transformers to lift control operations like exception
6590catching")
6591 (description "This package defines the type class @code{MonadBaseControl},
6592a subset of @code{MonadBase} into which generic control operations such as
6593@code{catch} can be lifted from @code{IO} or any other base monad.")
6594 (license license:bsd-3)))
6595
6596(define-public ghc-monad-logger
6597 (package
6598 (name "ghc-monad-logger")
26980aae 6599 (version "0.3.30")
dddbc90c
RV
6600 (source
6601 (origin
6602 (method url-fetch)
6603 (uri (string-append "https://hackage.haskell.org/package/"
6604 "monad-logger-" version "/"
6605 "monad-logger-" version ".tar.gz"))
6606 (sha256
6607 (base32
26980aae 6608 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
6609 (build-system haskell-build-system)
6610 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6611 ("ghc-stm-chans" ,ghc-stm-chans)
6612 ("ghc-lifted-base" ,ghc-lifted-base)
6613 ("ghc-resourcet" ,ghc-resourcet)
6614 ("ghc-conduit" ,ghc-conduit)
6615 ("ghc-conduit-extra" ,ghc-conduit-extra)
6616 ("ghc-fast-logger" ,ghc-fast-logger)
6617 ("ghc-transformers-base" ,ghc-transformers-base)
6618 ("ghc-monad-control" ,ghc-monad-control)
6619 ("ghc-monad-loops" ,ghc-monad-loops)
6620 ("ghc-blaze-builder" ,ghc-blaze-builder)
6621 ("ghc-exceptions" ,ghc-exceptions)))
6622 (home-page "https://github.com/kazu-yamamoto/logger")
6623 (synopsis "Provides a class of monads which can log messages for Haskell")
6624 (description "This Haskell package uses a monad transformer approach
6625for logging.
6626
6627This package provides Template Haskell functions for determining source
6628code locations of messages.")
6629 (license license:expat)))
6630
6631(define-public ghc-monad-loops
6632 (package
6633 (name "ghc-monad-loops")
6634 (version "0.4.3")
6635 (source
6636 (origin
6637 (method url-fetch)
6638 (uri (string-append "https://hackage.haskell.org/package/"
6639 "monad-loops-" version "/"
6640 "monad-loops-" version ".tar.gz"))
6641 (sha256
6642 (base32
6643 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6644 (build-system haskell-build-system)
6645 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6646 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6647 (home-page "https://github.com/mokus0/monad-loops")
6648 (synopsis "Monadic loops for Haskell")
6649 (description "This Haskell package provides some useful control
6650operators for looping.")
6651 (license license:public-domain)))
6652
6653(define-public ghc-monad-par
6654 (package
6655 (name "ghc-monad-par")
6656 (version "0.3.4.8")
6657 (source
6658 (origin
6659 (method url-fetch)
6660 (uri (string-append "https://hackage.haskell.org/package/"
6661 "monad-par-" version "/"
6662 "monad-par-" version ".tar.gz"))
faac56f3 6663 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
6664 (sha256
6665 (base32
6666 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6667 (build-system haskell-build-system)
6668 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6669 ("ghc-abstract-deque" ,ghc-abstract-deque)
6670 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6671 ("ghc-mwc-random" ,ghc-mwc-random)
6672 ("ghc-parallel" ,ghc-parallel)))
6673 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6674 ("ghc-hunit" ,ghc-hunit)
6675 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6676 ("ghc-test-framework-quickcheck2"
6677 ,ghc-test-framework-quickcheck2)
6678 ("ghc-test-framework" ,ghc-test-framework)
6679 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6680 (home-page "https://github.com/simonmar/monad-par")
6681 (synopsis "Haskell library for parallel programming based on a monad")
6682 (description "The @code{Par} monad offers an API for parallel
6683programming. The library works for parallelising both pure and @code{IO}
6684computations, although only the pure version is deterministic. The default
6685implementation provides a work-stealing scheduler and supports forking tasks
6686that are much lighter weight than IO-threads.")
6687 (license license:bsd-3)))
6688
6689(define-public ghc-monad-par-extras
6690 (package
6691 (name "ghc-monad-par-extras")
6692 (version "0.3.3")
6693 (source
6694 (origin
6695 (method url-fetch)
6696 (uri (string-append "https://hackage.haskell.org/package/"
6697 "monad-par-extras-" version "/"
6698 "monad-par-extras-" version ".tar.gz"))
6699 (sha256
6700 (base32
6701 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6702 (build-system haskell-build-system)
6703 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6704 ("ghc-cereal" ,ghc-cereal)
6705 ("ghc-random" ,ghc-random)))
6706 (home-page "https://github.com/simonmar/monad-par")
6707 (synopsis "Combinators and extra features for Par monads for Haskell")
6708 (description "This Haskell package provides additional data structures,
6709and other added capabilities layered on top of the @code{Par} monad.")
6710 (license license:bsd-3)))
6711
6712(define-public ghc-monadplus
6713 (package
6714 (name "ghc-monadplus")
6715 (version "1.4.2")
6716 (source
6717 (origin
6718 (method url-fetch)
6719 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6720 "/monadplus-" version ".tar.gz"))
6721 (sha256
6722 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6723 (build-system haskell-build-system)
6724 (home-page "https://hackage.haskell.org/package/monadplus")
6725 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6726 (description
6727 "This package generalizes many common stream operations such as
6728@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6729arbitrary @code{MonadPlus} instances.")
6730 (license license:bsd-3)))
6731
6732(define-public ghc-monadrandom
6733 (package
6734 (name "ghc-monadrandom")
6735 (version "0.5.1.1")
6736 (source
6737 (origin
6738 (method url-fetch)
6739 (uri (string-append "https://hackage.haskell.org/package/"
6740 "MonadRandom-" version "/"
6741 "MonadRandom-" version ".tar.gz"))
6742 (sha256
6743 (base32
6744 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6745 (build-system haskell-build-system)
6746 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6747 ("ghc-primitive" ,ghc-primitive)
6748 ("ghc-fail" ,ghc-fail)
6749 ("ghc-random" ,ghc-random)))
6750 (home-page "https://github.com/byorgey/MonadRandom")
6751 (synopsis "Random-number generation monad for Haskell")
6752 (description "This Haskell package provides support for computations
6753which consume random values.")
6754 (license license:bsd-3)))
6755
6756(define-public ghc-monads-tf
6757 (package
6758 (name "ghc-monads-tf")
6759 (version "0.1.0.3")
6760 (source
6761 (origin
6762 (method url-fetch)
6763 (uri (string-append
6764 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6765 version ".tar.gz"))
6766 (sha256
6767 (base32
6768 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6769 (build-system haskell-build-system)
6770 (home-page "https://hackage.haskell.org/package/monads-tf")
6771 (synopsis "Monad classes, using type families")
6772 (description
6773 "Monad classes using type families, with instances for various monad transformers,
6774inspired by the paper 'Functional Programming with Overloading and Higher-Order
6775Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6776the @code{mtl-tf} package.")
6777 (license license:bsd-3)))
6778
6779(define-public ghc-mono-traversable
6780 (package
6781 (name "ghc-mono-traversable")
23bb445b 6782 (version "1.0.13.0")
dddbc90c
RV
6783 (source
6784 (origin
6785 (method url-fetch)
6786 (uri (string-append "https://hackage.haskell.org/package/"
6787 "mono-traversable-" version "/"
6788 "mono-traversable-" version ".tar.gz"))
6789 (sha256
6790 (base32
23bb445b 6791 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
6792 (build-system haskell-build-system)
6793 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6794 ("ghc-hashable" ,ghc-hashable)
6795 ("ghc-vector" ,ghc-vector)
6796 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6797 ("ghc-split" ,ghc-split)))
6798 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6799 ("ghc-hunit" ,ghc-hunit)
6800 ("ghc-quickcheck" ,ghc-quickcheck)
6801 ("ghc-semigroups" ,ghc-semigroups)
6802 ("ghc-foldl" ,ghc-foldl)))
6803 (home-page "https://github.com/snoyberg/mono-traversable")
6804 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6805containers")
6806 (description "This Haskell package provides Monomorphic variants of the
6807Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6808basic typeclasses, you understand mono-traversable. In addition to what
6809you are used to, it adds on an IsSequence typeclass and has code for marking
6810data structures as non-empty.")
6811 (license license:expat)))
6812
6813(define-public ghc-murmur-hash
6814 (package
6815 (name "ghc-murmur-hash")
6816 (version "0.1.0.9")
6817 (source
6818 (origin
6819 (method url-fetch)
6820 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6821 "/murmur-hash-" version ".tar.gz"))
6822 (sha256
6823 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6824 (build-system haskell-build-system)
6825 (home-page "https://github.com/nominolo/murmur-hash")
6826 (synopsis "MurmurHash2 implementation for Haskell")
6827 (description
6828 "This package provides an implementation of MurmurHash2, a good, fast,
6829general-purpose, non-cryptographic hashing function. See
6830@url{https://sites.google.com/site/murmurhash/} for details. This
6831implementation is pure Haskell, so it might be a bit slower than a C FFI
6832binding.")
6833 (license license:bsd-3)))
6834
6835(define-public ghc-mwc-random
6836 (package
6837 (name "ghc-mwc-random")
33268e2c 6838 (version "0.14.0.0")
dddbc90c
RV
6839 (source
6840 (origin
6841 (method url-fetch)
6842 (uri (string-append "https://hackage.haskell.org/package/"
6843 "mwc-random-" version "/"
6844 "mwc-random-" version ".tar.gz"))
6845 (sha256
6846 (base32
33268e2c 6847 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
6848 (build-system haskell-build-system)
6849 (inputs
6850 `(("ghc-primitive" ,ghc-primitive)
6851 ("ghc-vector" ,ghc-vector)
6852 ("ghc-math-functions" ,ghc-math-functions)))
6853 (arguments
6854 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6855 (native-inputs
6856 `(("ghc-hunit" ,ghc-hunit)
6857 ("ghc-quickcheck" ,ghc-quickcheck)
6858 ("ghc-test-framework" ,ghc-test-framework)
6859 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6860 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6861 (home-page "https://github.com/bos/mwc-random")
6862 (synopsis "Random number generation library for Haskell")
6863 (description "This Haskell package contains code for generating
6864high quality random numbers that follow either a uniform or normal
6865distribution. The generated numbers are suitable for use in
6866statistical applications.
6867
6868The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6869multiply-with-carry generator, which has a period of 2^{8222} and
6870fares well in tests of randomness. It is also extremely fast,
6871between 2 and 3 times faster than the Mersenne Twister.")
6872 (license license:bsd-3)))
6873
6874(define-public ghc-nats
6875 (package
6876 (name "ghc-nats")
6877 (version "1.1.2")
6878 (source
6879 (origin
6880 (method url-fetch)
6881 (uri (string-append
6882 "https://hackage.haskell.org/package/nats/nats-"
6883 version
6884 ".tar.gz"))
6885 (sha256
6886 (base32
6887 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6888 (build-system haskell-build-system)
6889 (arguments `(#:haddock? #f))
6890 (inputs
6891 `(("ghc-hashable" ,ghc-hashable)))
6892 (home-page "https://hackage.haskell.org/package/nats")
6893 (synopsis "Natural numbers")
6894 (description "This library provides the natural numbers for Haskell.")
6895 (license license:bsd-3)))
6896
6897(define-public ghc-nats-bootstrap
6898 (package
6899 (inherit ghc-nats)
6900 (name "ghc-nats-bootstrap")
6901 (inputs
6902 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6903 (properties '((hidden? #t)))))
6904
52915062
EF
6905(define-public ghc-ncurses
6906 (package
6907 (name "ghc-ncurses")
6908 (version "0.2.16")
6909 (source
6910 (origin
6911 (method url-fetch)
6912 (uri (string-append
6913 "https://hackage.haskell.org/package/ncurses/ncurses-"
6914 version ".tar.gz"))
6915 (sha256
6916 (base32
6917 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6918 (build-system haskell-build-system)
6919 (arguments
6920 '(#:phases
6921 (modify-phases %standard-phases
6922 (add-before 'build 'fix-includes
6923 (lambda _
6924 (substitute* '("cbits/hsncurses-shim.h"
6925 "lib/UI/NCurses.chs"
6926 "lib/UI/NCurses/Enums.chs"
6927 "lib/UI/NCurses/Panel.chs")
6928 (("<ncursesw/") "<"))
6929 #t)))
6930 #:cabal-revision
6931 ("1"
6932 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6933 (inputs `(("ncurses" ,ncurses)))
6934 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6935 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6936 (synopsis "Modernised bindings to GNU ncurses")
6937 (description "GNU ncurses is a library for creating command-line application
6938with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6939ncurses.")
6940 (license license:gpl3)))
6941
dddbc90c
RV
6942(define-public ghc-network
6943 (package
6944 (name "ghc-network")
d4473202 6945 (version "2.8.0.1")
dddbc90c
RV
6946 (outputs '("out" "doc"))
6947 (source
6948 (origin
6949 (method url-fetch)
6950 (uri (string-append
6951 "https://hackage.haskell.org/package/network/network-"
6952 version
6953 ".tar.gz"))
6954 (sha256
6955 (base32
d4473202 6956 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
6957 (build-system haskell-build-system)
6958 ;; The regression tests depend on an unpublished module.
6959 (arguments `(#:tests? #f))
6960 (native-inputs
6961 `(("ghc-hunit" ,ghc-hunit)
6962 ("ghc-doctest" ,ghc-doctest)
6963 ("ghc-test-framework" ,ghc-test-framework)
6964 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6965 (home-page "https://github.com/haskell/network")
6966 (synopsis "Low-level networking interface")
6967 (description
6968 "This package provides a low-level networking interface.")
6969 (license license:bsd-3)))
4780db2c 6970
30eebbe6
TS
6971(define-public ghc-network-bsd
6972 (package
6973 (name "ghc-network-bsd")
6974 (version "2.8.0.0")
6975 (source
6976 (origin
6977 (method url-fetch)
6978 (uri (string-append "https://hackage.haskell.org/package/"
6979 "network-bsd/network-bsd-" version ".tar.gz"))
6980 (sha256
6981 (base32
6982 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
6983 (build-system haskell-build-system)
6984 (inputs
6985 `(("ghc-network" ,ghc-network)))
6986 (home-page "https://github.com/haskell/network-bsd")
6987 (synopsis "POSIX network database (<netdb.h>) API")
6988 (description "This package provides Haskell bindings to the the POSIX
6989network database (<netdb.h>) API.")
6990 (license license:bsd-3)))
6991
096781a1
TS
6992(define-public ghc-network-byte-order
6993 (package
6994 (name "ghc-network-byte-order")
6995 (version "0.1.1.1")
6996 (source
6997 (origin
6998 (method url-fetch)
6999 (uri (string-append "https://hackage.haskell.org/package/"
7000 "network-byte-order/network-byte-order-"
7001 version ".tar.gz"))
7002 (sha256
7003 (base32
7004 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7005 (build-system haskell-build-system)
7006 (native-inputs
7007 `(("ghc-doctest" ,ghc-doctest)))
7008 (home-page "http://hackage.haskell.org/package/network-byte-order")
7009 (synopsis "Network byte order utilities")
7010 (description "This library provides peek and poke functions for network
7011byte order.")
7012 (license license:bsd-3)))
7013
dddbc90c
RV
7014(define-public ghc-network-info
7015 (package
7016 (name "ghc-network-info")
7017 (version "0.2.0.10")
7018 (source
7019 (origin
7020 (method url-fetch)
7021 (uri (string-append "https://hackage.haskell.org/package/"
7022 "network-info-" version "/"
7023 "network-info-" version ".tar.gz"))
7024 (sha256
7025 (base32
7026 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7027 (build-system haskell-build-system)
7028 (home-page "https://github.com/jystic/network-info")
7029 (synopsis "Access the local computer's basic network configuration")
7030 (description "This Haskell library provides simple read-only access to the
7031local computer's networking configuration. It is currently capable of
7032getting a list of all the network interfaces and their respective
7033IPv4, IPv6 and MAC addresses.")
7034 (license license:bsd-3)))
7035
7036(define-public ghc-network-uri
7037 (package
7038 (name "ghc-network-uri")
7039 (version "2.6.1.0")
7040 (outputs '("out" "doc"))
7041 (source
7042 (origin
7043 (method url-fetch)
7044 (uri (string-append
7045 "https://hackage.haskell.org/package/network-uri/network-uri-"
7046 version
7047 ".tar.gz"))
7048 (sha256
7049 (base32
7050 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7051 (build-system haskell-build-system)
7052 (arguments
7053 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7054 (inputs
7055 `(("ghc-network" ,ghc-network)))
7056 (native-inputs
7057 `(("ghc-hunit" ,ghc-hunit)))
7058 (home-page
7059 "https://github.com/haskell/network-uri")
7060 (synopsis "Library for URI manipulation")
7061 (description "This package provides an URI manipulation interface. In
7062@code{network-2.6} the @code{Network.URI} module was split off from the
7063@code{network} package into this package.")
7064 (license license:bsd-3)))
7065
7066(define-public ghc-newtype-generics
7067 (package
7068 (name "ghc-newtype-generics")
c07e16dd 7069 (version "0.5.4")
dddbc90c
RV
7070 (source
7071 (origin
7072 (method url-fetch)
7073 (uri (string-append "https://hackage.haskell.org/package/"
7074 "newtype-generics/newtype-generics-"
7075 version ".tar.gz"))
7076 (sha256
7077 (base32
c07e16dd 7078 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
7079 (build-system haskell-build-system)
7080 (native-inputs
7081 `(("ghc-hspec" ,ghc-hspec)
7082 ("hspec-discover" ,hspec-discover)))
7083 (home-page "http://github.com/sjakobi/newtype-generics")
7084 (synopsis "Typeclass and set of functions for working with newtypes")
7085 (description "The @code{Newtype} typeclass represents the packing and
7086unpacking of a newtype, and allows you to operate under that newtype with
7087functions such as @code{ala}. Generics support was added in version 0.4,
7088making this package a full replacement for the original newtype package,
7089and an alternative to newtype-th.")
7090 (license license:bsd-3)))
7091
6b652f5a
JS
7092(define-public ghc-non-negative
7093 (package
7094 (name "ghc-non-negative")
7095 (version "0.1.2")
7096 (source
7097 (origin
7098 (method url-fetch)
7099 (uri
7100 (string-append
7101 "https://hackage.haskell.org/package/non-negative/non-negative-"
7102 version ".tar.gz"))
7103 (sha256
7104 (base32
7105 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7106 (build-system haskell-build-system)
7107 (inputs
7108 `(("ghc-semigroups" ,ghc-semigroups)
7109 ("ghc-utility-ht" ,ghc-utility-ht)
7110 ("ghc-quickcheck" ,ghc-quickcheck)))
7111 (home-page "https://hackage.haskell.org/package/non-negative")
7112 (synopsis "Non-negative numbers class")
7113 (description "This library provides a class for non-negative numbers,
7114a wrapper which can turn any ordered numeric type into a member of that
7115class, and a lazy number type for non-negative numbers (a generalization
7116of Peano numbers).")
7117 (license license:gpl3+)))
7118
dddbc90c
RV
7119(define-public ghc-objectname
7120 (package
7121 (name "ghc-objectname")
7122 (version "1.1.0.1")
7123 (source
7124 (origin
7125 (method url-fetch)
7126 (uri (string-append
7127 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7128 version
7129 ".tar.gz"))
7130 (sha256
7131 (base32
7132 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7133 (build-system haskell-build-system)
7134 (home-page "https://hackage.haskell.org/package/ObjectName")
7135 (synopsis "Helper library for Haskell OpenGL")
7136 (description "This tiny package contains the class ObjectName, which
7137corresponds to the general notion of explicitly handled identifiers for API
7138objects, e.g. a texture object name in OpenGL or a buffer object name in
7139OpenAL.")
7140 (license license:bsd-3)))
7141
7142(define-public ghc-old-locale
7143 (package
7144 (name "ghc-old-locale")
7145 (version "1.0.0.7")
7146 (source
7147 (origin
7148 (method url-fetch)
7149 (uri (string-append
7150 "https://hackage.haskell.org/package/old-locale/old-locale-"
7151 version
7152 ".tar.gz"))
7153 (sha256
7154 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7155 (build-system haskell-build-system)
7156 (arguments
7157 `(#:cabal-revision
7158 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7159 (home-page "https://hackage.haskell.org/package/old-locale")
7160 (synopsis "Adapt to locale conventions")
7161 (description
7162 "This package provides the ability to adapt to locale conventions such as
7163date and time formats.")
7164 (license license:bsd-3)))
7165
7166(define-public ghc-old-time
7167 (package
7168 (name "ghc-old-time")
7169 (version "1.1.0.3")
7170 (source
7171 (origin
7172 (method url-fetch)
7173 (uri (string-append
7174 "https://hackage.haskell.org/package/old-time/old-time-"
7175 version
7176 ".tar.gz"))
7177 (sha256
7178 (base32
7179 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7180 (build-system haskell-build-system)
7181 (arguments
7182 `(#:cabal-revision
7183 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7184 (inputs
7185 `(("ghc-old-locale" ,ghc-old-locale)))
7186 (home-page "https://hackage.haskell.org/package/old-time")
7187 (synopsis "Time compatibility library for Haskell")
7188 (description "Old-time is a package for backwards compatibility with the
7189old @code{time} library. For new projects, the newer
7190@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7191 (license license:bsd-3)))
7192
7193(define-public ghc-opengl
7194 (package
7195 (name "ghc-opengl")
79a06910 7196 (version "3.0.3.0")
dddbc90c
RV
7197 (source
7198 (origin
7199 (method url-fetch)
7200 (uri (string-append
7201 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7202 version
7203 ".tar.gz"))
7204 (sha256
7205 (base32
79a06910 7206 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 7207 (build-system haskell-build-system)
79a06910
TS
7208 (arguments
7209 `(#:cabal-revision
7210 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
7211 (inputs
7212 `(("ghc-objectname" ,ghc-objectname)
7213 ("ghc-gluraw" ,ghc-gluraw)
7214 ("ghc-statevar" ,ghc-statevar)
7215 ("ghc-openglraw" ,ghc-openglraw)))
7216 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7217 (synopsis "Haskell bindings for the OpenGL graphics system")
7218 (description "This package provides Haskell bindings for the OpenGL
7219graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7220version 1.3).")
7221 (license license:bsd-3)))
7222
7223(define-public ghc-openglraw
7224 (package
7225 (name "ghc-openglraw")
15ebc815 7226 (version "3.3.3.0")
dddbc90c
RV
7227 (source
7228 (origin
7229 (method url-fetch)
7230 (uri (string-append
7231 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7232 version
7233 ".tar.gz"))
7234 (sha256
7235 (base32
15ebc815 7236 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7237 (build-system haskell-build-system)
7238 (inputs
7239 `(("ghc-half" ,ghc-half)
7240 ("ghc-fixed" ,ghc-fixed)
7241 ("glu" ,glu)))
7242 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7243 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7244 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7245graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7246of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7247offers access to all necessary functions, tokens and types plus a general
7248facility for loading extension entries. The module hierarchy closely mirrors
7249the naming structure of the OpenGL extensions, making it easy to find the
7250right module to import. All API entries are loaded dynamically, so no special
7251C header files are needed for building this package. If an API entry is not
7252found at runtime, a userError is thrown.")
7253 (license license:bsd-3)))
7254
7255(define-public ghc-operational
7256 (package
7257 (name "ghc-operational")
7258 (version "0.2.3.5")
7259 (source
7260 (origin
7261 (method url-fetch)
7262 (uri (string-append "https://hackage.haskell.org/package/operational/"
7263 "operational-" version ".tar.gz"))
7264 (sha256
7265 (base32
7266 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7267 (build-system haskell-build-system)
7268 (inputs
7269 `(("ghc-random" ,ghc-random)))
7270 (home-page "http://wiki.haskell.org/Operational")
7271 (synopsis "Implementation of difficult monads made easy with operational semantics")
7272 (description
7273 "This library makes it easy to implement monads with tricky control
7274flow. This is useful for: writing web applications in a sequential style,
7275programming games with a uniform interface for human and AI players and easy
7276replay capababilities, implementing fast parser monads, designing monadic
7277DSLs, etc.")
7278 (license license:bsd-3)))
7279
7280(define-public ghc-options
7281 (package
7282 (name "ghc-options")
7283 (version "1.2.1.1")
7284 (source
7285 (origin
7286 (method url-fetch)
7287 (uri (string-append
7288 "https://hackage.haskell.org/package/options/options-"
7289 version ".tar.gz"))
7290 (sha256
7291 (base32
7292 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7293 (build-system haskell-build-system)
7294 (inputs
7295 `(("ghc-monads-tf" ,ghc-monads-tf)
7296 ("ghc-chell" ,ghc-chell)
7297 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7298 (home-page "https://john-millikin.com/software/haskell-options/")
7299 (synopsis "Powerful and easy-to-use command-line option parser")
7300 (description
7301 "The @code{options} package lets library and application developers
7302easily work with command-line options.")
7303 (license license:expat)))
7304
7305;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7306(define ghc-options-bootstrap
7307 (package
7308 (name "ghc-options-bootstrap")
7309 (version "1.2.1.1")
7310 (source
7311 (origin
7312 (method url-fetch)
7313 (uri (string-append
7314 "https://hackage.haskell.org/package/options/options-"
7315 version ".tar.gz"))
7316 (sha256
7317 (base32
7318 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7319 (build-system haskell-build-system)
7320 (arguments
7321 `(#:tests? #f))
7322 (inputs
7323 `(("ghc-monads-tf" ,ghc-monads-tf)))
7324 (home-page "https://john-millikin.com/software/haskell-options/")
7325 (synopsis "Powerful and easy-to-use command-line option parser")
7326 (description
7327 "The @code{options} package lets library and application developers
7328easily work with command-line options.")
7329 (license license:expat)))
7330
7331
7332(define-public ghc-optparse-applicative
7333 (package
7334 (name "ghc-optparse-applicative")
74bf6965 7335 (version "0.14.3.0")
dddbc90c
RV
7336 (source
7337 (origin
7338 (method url-fetch)
7339 (uri (string-append
7340 "https://hackage.haskell.org/package/optparse-applicative"
7341 "/optparse-applicative-" version ".tar.gz"))
7342 (sha256
7343 (base32
74bf6965 7344 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7345 (build-system haskell-build-system)
74bf6965
TS
7346 (arguments
7347 `(#:cabal-revision
7348 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7349 (inputs
7350 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7351 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7352 (native-inputs
7353 `(("ghc-quickcheck" ,ghc-quickcheck)))
7354 (home-page "https://github.com/pcapriotti/optparse-applicative")
7355 (synopsis "Utilities and combinators for parsing command line options")
7356 (description "This package provides utilities and combinators for parsing
7357command line options in Haskell.")
7358 (license license:bsd-3)))
7359
7360(define-public ghc-pandoc
7361 (package
7362 (name "ghc-pandoc")
7363 (version "2.2.1")
7364 (source
7365 (origin
7366 (method url-fetch)
7367 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7368 version ".tar.gz"))
7369 (sha256
7370 (base32
7371 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7372 (build-system haskell-build-system)
7373 (arguments
7374 `(#:phases
7375 (modify-phases %standard-phases
7376 (add-before 'configure 'update-constraints
7377 (lambda _
7378 (substitute* "pandoc.cabal"
7379 (("tasty >= 0\\.11 && < 1\\.1")
7380 "tasty >= 0.11 && < 1.1.1"))))
7381 (add-before 'configure 'patch-tests
7382 (lambda _
7383 ;; These tests fail benignly and have been adjusted upstream:
7384 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7385 (substitute* "test/Tests/Old.hs"
7386 (("lhsWriterTests \"html\"") "[]")))))))
7387 (inputs
7388 `(("ghc-aeson" ,ghc-aeson)
7389 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7390 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7391 ("ghc-blaze-html" ,ghc-blaze-html)
7392 ("ghc-blaze-markup" ,ghc-blaze-markup)
7393 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7394 ("ghc-data-default" ,ghc-data-default)
7395 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7396 ("ghc-diff" ,ghc-diff)
7397 ("ghc-doctemplates" ,ghc-doctemplates)
7398 ("ghc-executable-path" ,ghc-executable-path)
7399 ("ghc-glob" ,ghc-glob)
7400 ("ghc-haddock-library" ,ghc-haddock-library)
7401 ("ghc-hslua" ,ghc-hslua)
7402 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7403 ("ghc-http" ,ghc-http)
7404 ("ghc-http-client" ,ghc-http-client)
7405 ("ghc-http-client-tls" ,ghc-http-client-tls)
7406 ("ghc-http-types" ,ghc-http-types)
7407 ("ghc-juicypixels" ,ghc-juicypixels)
7408 ("ghc-network" ,ghc-network)
7409 ("ghc-network-uri" ,ghc-network-uri)
7410 ("ghc-old-locale" ,ghc-old-locale)
7411 ("ghc-pandoc-types" ,ghc-pandoc-types)
7412 ("ghc-random" ,ghc-random)
7413 ("ghc-scientific" ,ghc-scientific)
7414 ("ghc-sha" ,ghc-sha)
7415 ("ghc-skylighting" ,ghc-skylighting)
7416 ("ghc-split" ,ghc-split)
7417 ("ghc-syb" ,ghc-syb)
7418 ("ghc-tagsoup" ,ghc-tagsoup)
7419 ("ghc-temporary" ,ghc-temporary)
7420 ("ghc-texmath" ,ghc-texmath)
7421 ("ghc-unordered-containers" ,ghc-unordered-containers)
7422 ("ghc-vector" ,ghc-vector)
7423 ("ghc-xml" ,ghc-xml)
7424 ("ghc-yaml" ,ghc-yaml)
7425 ("ghc-zip-archive" ,ghc-zip-archive)
7426 ("ghc-zlib" ,ghc-zlib)))
7427 (native-inputs
7428 `(("ghc-tasty" ,ghc-tasty)
7429 ("ghc-tasty-golden" ,ghc-tasty-golden)
7430 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7431 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7432 ("ghc-quickcheck" ,ghc-quickcheck)
7433 ("ghc-hunit" ,ghc-hunit)))
7434 (home-page "https://pandoc.org")
7435 (synopsis "Conversion between markup formats")
7436 (description
7437 "Pandoc is a Haskell library for converting from one markup format to
7438another, and a command-line tool that uses this library. It can read and
7439write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7440LaTeX, DocBook, and many more.
7441
7442Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7443definition lists, tables, and other features. A compatibility mode is
7444provided for those who need a drop-in replacement for Markdown.pl.")
7445 (license license:gpl2+)))
7446
7447(define-public ghc-pandoc-citeproc
7448 (package
7449 (name "ghc-pandoc-citeproc")
7450 (version "0.14.3.1")
7451 (source
7452 (origin
7453 (method url-fetch)
7454 (uri (string-append "https://hackage.haskell.org/package/"
7455 "pandoc-citeproc/pandoc-citeproc-"
7456 version ".tar.gz"))
7457 (sha256
7458 (base32
7459 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7460 (build-system haskell-build-system)
7461 (arguments
7462 `(#:phases
7463 (modify-phases %standard-phases
7464 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7465 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7466 (add-before 'configure 'patch-tests
7467 (lambda _
7468 (substitute* "tests/test-pandoc-citeproc.hs"
7469 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7470 "let allTests = citeprocTests"))))
7471 ;; Tests need to be run after installation.
7472 (delete 'check)
7473 (add-after 'install 'post-install-check
7474 (assoc-ref %standard-phases 'check)))))
7475 (inputs
7476 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7477 ("ghc-pandoc" ,ghc-pandoc)
7478 ("ghc-tagsoup" ,ghc-tagsoup)
7479 ("ghc-aeson" ,ghc-aeson)
7480 ("ghc-vector" ,ghc-vector)
7481 ("ghc-xml-conduit" ,ghc-xml-conduit)
7482 ("ghc-unordered-containers" ,ghc-unordered-containers)
7483 ("ghc-data-default" ,ghc-data-default)
7484 ("ghc-setenv" ,ghc-setenv)
7485 ("ghc-split" ,ghc-split)
7486 ("ghc-yaml" ,ghc-yaml)
7487 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7488 ("ghc-rfc5051" ,ghc-rfc5051)
7489 ("ghc-syb" ,ghc-syb)
7490 ("ghc-old-locale" ,ghc-old-locale)
7491 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7492 ("ghc-attoparsec" ,ghc-attoparsec)
7493 ("ghc-temporary" ,ghc-temporary)))
7494 (home-page "https://github.com/jgm/pandoc-citeproc")
7495 (synopsis "Library for using pandoc with citeproc")
7496 (description
7497 "The @code{pandoc-citeproc} library exports functions for using the
7498citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7499rendering bibliographic reference citations into a variety of styles using a
7500macro language called @dfn{Citation Style Language} (CSL). This package also
7501contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7502and also has a mode for converting bibliographic databases a YAML format
7503suitable for inclusion in pandoc YAML metadata.")
7504 (license license:bsd-3)))
7505
7506(define-public ghc-pandoc-types
7507 (package
7508 (name "ghc-pandoc-types")
0eaa88c8 7509 (version "1.17.6.1")
dddbc90c
RV
7510 (source (origin
7511 (method url-fetch)
7512 (uri (string-append "https://hackage.haskell.org/package/"
7513 "pandoc-types/pandoc-types-"
7514 version ".tar.gz"))
7515 (sha256
7516 (base32
0eaa88c8 7517 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
7518 (build-system haskell-build-system)
7519 (inputs
7520 `(("ghc-syb" ,ghc-syb)
7521 ("ghc-aeson" ,ghc-aeson)
7522 ("ghc-string-qq" ,ghc-string-qq)))
7523 (native-inputs
7524 `(("ghc-quickcheck" ,ghc-quickcheck)
7525 ("ghc-test-framework" ,ghc-test-framework)
7526 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7527 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7528 ("ghc-hunit" ,ghc-hunit)))
7529 (home-page "http://johnmacfarlane.net/pandoc")
7530 (synopsis "Types for representing a structured document")
7531 (description
7532 "This module defines the @code{Pandoc} data structure, which is used by
7533pandoc to represent structured documents. It also provides functions for
7534building up, manipulating and serialising @code{Pandoc} structures.")
7535 (license license:bsd-3)))
7536
7537(define-public ghc-parallel
7538 (package
7539 (name "ghc-parallel")
7540 (version "3.2.2.0")
7541 (outputs '("out" "doc"))
7542 (source
7543 (origin
7544 (method url-fetch)
7545 (uri (string-append
7546 "https://hackage.haskell.org/package/parallel/parallel-"
7547 version
7548 ".tar.gz"))
7549 (sha256
7550 (base32
7551 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7552 (build-system haskell-build-system)
7553 (home-page "https://hackage.haskell.org/package/parallel")
7554 (synopsis "Parallel programming library")
7555 (description
7556 "This package provides a library for parallel programming.")
7557 (license license:bsd-3)))
7558
7559(define-public ghc-parsec-numbers
7560 (package
7561 (name "ghc-parsec-numbers")
7562 (version "0.1.0")
7563 (source
7564 (origin
7565 (method url-fetch)
7566 (uri (string-append "https://hackage.haskell.org/package/"
7567 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7568 (sha256
7569 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7570 (build-system haskell-build-system)
7571 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7572 (synopsis "Utilities for parsing numbers from strings")
7573 (description
7574 "This package provides the number parsers without the need to use a large
7575(and unportable) token parser.")
7576 (license license:bsd-3)))
7577
7578(define-public ghc-parser-combinators
7579 (package
7580 (name "ghc-parser-combinators")
2f173160 7581 (version "1.1.0")
dddbc90c
RV
7582 (source
7583 (origin
7584 (method url-fetch)
7585 (uri (string-append "https://hackage.haskell.org/package/"
7586 "parser-combinators/parser-combinators-"
7587 version ".tar.gz"))
7588 (sha256
7589 (base32
2f173160 7590 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7591 (build-system haskell-build-system)
7592 (home-page "https://github.com/mrkkrp/parser-combinators")
7593 (synopsis "Commonly useful parser combinators")
7594 (description
7595 "This is a lightweight package providing commonly useful parser
7596combinators.")
7597 (license license:bsd-3)))
7598
7599(define-public ghc-parsers
7600 (package
7601 (name "ghc-parsers")
6818f970 7602 (version "0.12.10")
dddbc90c
RV
7603 (source
7604 (origin
7605 (method url-fetch)
7606 (uri (string-append
7607 "https://hackage.haskell.org/package/parsers/parsers-"
7608 version
7609 ".tar.gz"))
7610 (sha256
7611 (base32
6818f970 7612 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
7613 (build-system haskell-build-system)
7614 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7615 ; -package attoparsec-0.13.0.1"
7616 (inputs
7617 `(("ghc-base-orphans" ,ghc-base-orphans)
7618 ("ghc-attoparsec" ,ghc-attoparsec)
7619 ("ghc-scientific" ,ghc-scientific)
7620 ("ghc-charset" ,ghc-charset)
7621 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7622 (home-page "https://github.com/ekmett/parsers/")
7623 (synopsis "Parsing combinators")
7624 (description "This library provides convenient combinators for working
7625with and building parsing combinator libraries. Given a few simple instances,
7626you get access to a large number of canned definitions. Instances exist for
7627the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7628@code{Text.Read}.")
7629 (license license:bsd-3)))
7630
7631(define-public ghc-path
7632 (package
7633 (name "ghc-path")
7634 (version "0.6.1")
7635 (source
7636 (origin
7637 (method url-fetch)
7638 (uri (string-append
7639 "https://hackage.haskell.org/package/path/path-"
7640 version
7641 ".tar.gz"))
7642 (sha256
7643 (base32
7644 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7645 (build-system haskell-build-system)
7646 (arguments
7647 ;; TODO: There are some Windows-related tests and modules that need to be
7648 ;; danced around.
7649 `(#:tests? #f
7650 #:cabal-revision
7651 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7652 (inputs
7653 `(("ghc-aeson" ,ghc-aeson)
7654 ("ghc-exceptions" ,ghc-exceptions)
7655 ("ghc-hashable" ,ghc-hashable)))
7656 (native-inputs
7657 `(("ghc-hspec" ,ghc-hspec)
7658 ("ghc-quickcheck" ,ghc-quickcheck)
7659 ("ghc-genvalidity" ,ghc-genvalidity)
7660 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7661 ("ghc-hspec" ,ghc-hspec)
7662 ("ghc-validity" ,ghc-validity)))
7663 (home-page
7664 "http://hackage.haskell.org/package/path")
7665 (synopsis "Support for well-typed paths")
7666 (description "This package introduces a type for paths upholding useful
7667invariants.")
7668 (license license:bsd-3)))
7669
7670(define-public ghc-path-io
7671 (package
7672 (name "ghc-path-io")
a06613ea 7673 (version "1.4.2")
dddbc90c
RV
7674 (source
7675 (origin
7676 (method url-fetch)
7677 (uri (string-append
7678 "https://hackage.haskell.org/package/path-io/path-io-"
7679 version
7680 ".tar.gz"))
7681 (sha256
7682 (base32
a06613ea 7683 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
7684 (build-system haskell-build-system)
7685 (inputs
7686 `(("ghc-dlist" ,ghc-dlist)
7687 ("ghc-exceptions" ,ghc-exceptions)
7688 ("ghc-path" ,ghc-path)
7689 ("ghc-transformers-base" ,ghc-transformers-base)
7690 ("ghc-unix-compat" ,ghc-unix-compat)
7691 ("ghc-temporary" ,ghc-temporary)))
7692 (native-inputs
7693 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
7694 (home-page
7695 "https://github.com/mrkkrp/path-io")
7696 (synopsis "Functions for manipulating well-typed paths")
7697 (description "This package provides an interface to the @code{directory}
7698package for users of @code{path}. It also implements some missing stuff like
7699recursive scanning and copying of directories, working with temporary
7700files/directories, and more.")
7701 (license license:bsd-3)))
7702
7703(define-public ghc-paths
7704 (package
7705 (name "ghc-paths")
9a8adeb1 7706 (version "0.1.0.12")
dddbc90c
RV
7707 (outputs '("out" "doc"))
7708 (source
7709 (origin
7710 (method url-fetch)
7711 (uri (string-append
7712 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7713 version
7714 ".tar.gz"))
7715 (sha256
7716 (base32
9a8adeb1 7717 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7718 (build-system haskell-build-system)
7719 (home-page "https://github.com/simonmar/ghc-paths")
7720 (synopsis
7721 "Knowledge of GHC's installation directories")
7722 (description
7723 "Knowledge of GHC's installation directories.")
7724 (license license:bsd-3)))
7725
7726(define-public ghc-patience
7727 (package
7728 (name "ghc-patience")
484476f3 7729 (version "0.3")
dddbc90c
RV
7730 (source
7731 (origin
7732 (method url-fetch)
7733 (uri (string-append
7734 "https://hackage.haskell.org/package/patience/patience-"
7735 version ".tar.gz"))
7736 (sha256
7737 (base32
484476f3 7738 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
7739 (build-system haskell-build-system)
7740 (home-page "https://hackage.haskell.org/package/patience")
7741 (synopsis "Patience diff and longest increasing subsequence")
7742 (description
7743 "This library implements the 'patience diff' algorithm, as well as the
7744patience algorithm for the longest increasing subsequence problem.
7745Patience diff computes the difference between two lists, for example the lines
7746of two versions of a source file. It provides a good balance between
7747performance, nice output for humans, and simplicity of implementation.")
7748 (license license:bsd-3)))
7749
7750(define-public ghc-pcre-light
7751 (package
7752 (name "ghc-pcre-light")
7753 (version "0.4.0.4")
7754 (source
7755 (origin
7756 (method url-fetch)
7757 (uri (string-append
7758 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7759 version
7760 ".tar.gz"))
7761 (sha256
7762 (base32
7763 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7764 (build-system haskell-build-system)
7765 (inputs
7766 `(("pcre" ,pcre)))
7767 (native-inputs
7768 `(("pkg-config" ,pkg-config)))
7769 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7770 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7771 (description "This package provides a small, efficient, and portable regex
7772library for Perl 5 compatible regular expressions. The PCRE library is a set
7773of functions that implement regular expression pattern matching using the same
7774syntax and semantics as Perl 5.")
7775 (license license:bsd-3)))
7776
7777(define-public ghc-persistent
7778 (package
7779 (name "ghc-persistent")
18a38da5 7780 (version "2.9.2")
dddbc90c
RV
7781 (source
7782 (origin
7783 (method url-fetch)
7784 (uri (string-append "https://hackage.haskell.org/package/"
7785 "persistent-" version "/"
7786 "persistent-" version ".tar.gz"))
7787 (sha256
7788 (base32
18a38da5 7789 "1wsa3kn427v88a6r0vwr6mz23snik2krbsgc8zqp18xajqn5szj9"))))
dddbc90c
RV
7790 (build-system haskell-build-system)
7791 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7792 ("ghc-conduit" ,ghc-conduit)
7793 ("ghc-resourcet" ,ghc-resourcet)
7794 ("ghc-exceptions" ,ghc-exceptions)
7795 ("ghc-monad-control" ,ghc-monad-control)
7796 ("ghc-lifted-base" ,ghc-lifted-base)
7797 ("ghc-resource-pool" ,ghc-resource-pool)
7798 ("ghc-path-pieces" ,ghc-path-pieces)
7799 ("ghc-http-api-data" ,ghc-http-api-data)
7800 ("ghc-aeson" ,ghc-aeson)
7801 ("ghc-monad-logger" ,ghc-monad-logger)
7802 ("ghc-transformers-base" ,ghc-transformers-base)
7803 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7804 ("ghc-unordered-containers" ,ghc-unordered-containers)
7805 ("ghc-vector" ,ghc-vector)
7806 ("ghc-attoparsec" ,ghc-attoparsec)
7807 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7808 ("ghc-blaze-html" ,ghc-blaze-html)
7809 ("ghc-blaze-markup" ,ghc-blaze-markup)
7810 ("ghc-silently" ,ghc-silently)
7811 ("ghc-fast-logger" ,ghc-fast-logger)
7812 ("ghc-scientific" ,ghc-scientific)
7813 ("ghc-tagged" ,ghc-tagged)
7814 ("ghc-void" ,ghc-void)))
7815 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7816 (home-page "https://www.yesodweb.com/book/persistent")
7817 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7818 (description "This Haskell package allows Haskell programs to access data
7819storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7820way.")
7821 (license license:expat)))
7822
7823(define-public ghc-persistent-sqlite
7824 (package
7825 (name "ghc-persistent-sqlite")
7826 (version "2.8.2")
7827 (source
7828 (origin
7829 (method url-fetch)
7830 (uri (string-append "https://hackage.haskell.org/package/"
7831 "persistent-sqlite-" version "/"
7832 "persistent-sqlite-" version ".tar.gz"))
7833 (sha256
7834 (base32
7835 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7836 (build-system haskell-build-system)
7837 (inputs `(("ghc-persistent" ,ghc-persistent)
7838 ("ghc-unliftio-core" ,ghc-unliftio-core)
7839 ("ghc-aeson" ,ghc-aeson)
7840 ("ghc-conduit" ,ghc-conduit)
7841 ("ghc-monad-logger" ,ghc-monad-logger)
7842 ("ghc-microlens-th" ,ghc-microlens-th)
7843 ("ghc-resourcet" ,ghc-resourcet)
7844 ("ghc-old-locale" ,ghc-old-locale)
7845 ("ghc-resource-pool" ,ghc-resource-pool)
7846 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7847 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7848 ("ghc-persistent-template" ,ghc-persistent-template)
7849 ("ghc-temporary" ,ghc-temporary)))
7850 (home-page
7851 "https://www.yesodweb.com/book/persistent")
7852 (synopsis "Backend for the persistent library using sqlite3")
7853 (description "This Haskell package includes a thin sqlite3 wrapper based
7854on the direct-sqlite package, as well as the entire C library, so there are no
7855system dependencies.")
7856 (license license:expat)))
7857
7858(define-public ghc-persistent-template
7859 (package
7860 (name "ghc-persistent-template")
7861 (version "2.5.4")
7862 (source
7863 (origin
7864 (method url-fetch)
7865 (uri (string-append "https://hackage.haskell.org/package/"
7866 "persistent-template-" version "/"
7867 "persistent-template-" version ".tar.gz"))
7868 (sha256
7869 (base32
7870 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7871 (build-system haskell-build-system)
7872 (arguments
7873 `(#:cabal-revision
7874 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7875 (inputs `(("ghc-persistent" ,ghc-persistent)
7876 ("ghc-monad-control" ,ghc-monad-control)
7877 ("ghc-aeson" ,ghc-aeson)
7878 ("ghc-aeson-compat" ,ghc-aeson-compat)
7879 ("ghc-monad-logger" ,ghc-monad-logger)
7880 ("ghc-unordered-containers" ,ghc-unordered-containers)
7881 ("ghc-tagged" ,ghc-tagged)
7882 ("ghc-path-pieces" ,ghc-path-pieces)
7883 ("ghc-http-api-data" ,ghc-http-api-data)))
7884 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7885 ("ghc-quickcheck" ,ghc-quickcheck)))
7886 (home-page "https://www.yesodweb.com/book/persistent")
7887 (synopsis "Type-safe, non-relational, multi-backend persistence")
7888 (description "This Haskell package provides interfaces and helper
7889functions for the ghc-persistent package.")
7890 (license license:expat)))
7891
7892(define-public ghc-polyparse
7893 (package
7894 (name "ghc-polyparse")
9822b9ca 7895 (version "1.12.1")
dddbc90c
RV
7896 (source
7897 (origin
7898 (method url-fetch)
7899 (uri (string-append
7900 "https://hackage.haskell.org/package/polyparse/polyparse-"
7901 version
7902 ".tar.gz"))
7903 (sha256
7904 (base32
9822b9ca 7905 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
7906 (build-system haskell-build-system)
7907 (home-page
7908 "http://code.haskell.org/~malcolm/polyparse/")
7909 (synopsis
7910 "Alternative parser combinator libraries")
7911 (description
7912 "This package provides a variety of alternative parser combinator
7913libraries, including the original HuttonMeijer set. The Poly sets have
7914features like good error reporting, arbitrary token type, running state, lazy
7915parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7916standard Read class, for better deserialisation of Haskell values from
7917Strings.")
7918 (license license:lgpl2.1)))
7919
7920(define-public ghc-pqueue
7921 (package
7922 (name "ghc-pqueue")
142415b0 7923 (version "1.4.1.2")
dddbc90c
RV
7924 (source
7925 (origin
7926 (method url-fetch)
7927 (uri (string-append "https://hackage.haskell.org/package/"
7928 "pqueue/pqueue-" version ".tar.gz"))
7929 (sha256
7930 (base32
142415b0 7931 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
7932 (build-system haskell-build-system)
7933 (native-inputs
7934 `(("ghc-quickcheck" ,ghc-quickcheck)))
7935 (home-page "https://hackage.haskell.org/package/pqueue")
7936 (synopsis "Reliable, persistent, fast priority queues")
7937 (description
7938 "This package provides a fast, reliable priority queue implementation
7939based on a binomial heap.")
7940 (license license:bsd-3)))
7941
7942(define-public ghc-prelude-extras
7943 (package
7944 (name "ghc-prelude-extras")
7945 (version "0.4.0.3")
7946 (source
7947 (origin
7948 (method url-fetch)
7949 (uri (string-append
7950 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7951 version
7952 ".tar.gz"))
7953 (sha256
7954 (base32
7955 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7956 (build-system haskell-build-system)
7957 (home-page "https://github.com/ekmett/prelude-extras")
7958 (synopsis "Higher order versions of Prelude classes")
7959 (description "This library provides higher order versions of
7960@code{Prelude} classes to ease programming with polymorphic recursion and
7961reduce @code{UndecidableInstances}.")
7962 (license license:bsd-3)))
7963
7964(define-public ghc-prettyclass
7965 (package
7966 (name "ghc-prettyclass")
7967 (version "1.0.0.0")
7968 (source
7969 (origin
7970 (method url-fetch)
7971 (uri (string-append "https://hackage.haskell.org/package/"
7972 "prettyclass/prettyclass-" version ".tar.gz"))
7973 (sha256
7974 (base32
7975 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7976 (build-system haskell-build-system)
7977 (home-page "http://hackage.haskell.org/package/prettyclass")
7978 (synopsis "Pretty printing class similar to Show")
7979 (description "This package provides a pretty printing class similar
7980to @code{Show}, based on the HughesPJ pretty printing library. It
7981provides the pretty printing class and instances for the Prelude
7982types.")
7983 (license license:bsd-3)))
7984
7985(define-public ghc-pretty-hex
7986 (package
7987 (name "ghc-pretty-hex")
7988 (version "1.0")
7989 (source
7990 (origin
7991 (method url-fetch)
7992 (uri (string-append "https://hackage.haskell.org/package/"
7993 "pretty-hex-" version "/"
7994 "pretty-hex-" version ".tar.gz"))
7995 (sha256
7996 (base32
7997 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7998 (build-system haskell-build-system)
7999 (home-page "https://github.com/GaloisInc/hexdump")
8000 (synopsis "Haskell library for hex dumps of ByteStrings")
8001 (description "This Haskell library generates pretty hex dumps of
8002ByteStrings in the style of other common *nix hex dump tools.")
8003 (license license:bsd-3)))
8004
8005(define-public ghc-pretty-show
8006 (package
8007 (name "ghc-pretty-show")
7683a084 8008 (version "1.9.5")
dddbc90c
RV
8009 (source
8010 (origin
8011 (method url-fetch)
8012 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
8013 "pretty-show-" version ".tar.gz"))
8014 (sha256
8015 (base32
7683a084 8016 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
8017 (build-system haskell-build-system)
8018 (inputs
8019 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
8020 ("ghc-happy" ,ghc-happy)))
8021 (home-page "http://wiki.github.com/yav/pretty-show")
8022 (synopsis "Tools for working with derived `Show` instances")
8023 (description
8024 "This package provides a library and an executable for working with
8025derived @code{Show} instances. By using the library, derived @code{Show}
8026instances can be parsed into a generic data structure. The @code{ppsh} tool
8027uses the library to produce human-readable versions of @code{Show} instances,
8028which can be quite handy for debugging Haskell programs. We can also render
8029complex generic values into an interactive Html page, for easier
8030examination.")
8031 (license license:expat)))
8032
8033(define-public ghc-primitive
8034 (package
8035 (name "ghc-primitive")
8036 (version "0.6.4.0")
8037 (outputs '("out" "doc"))
8038 (source
8039 (origin
8040 (method url-fetch)
8041 (uri (string-append
8042 "https://hackage.haskell.org/package/primitive/primitive-"
8043 version
8044 ".tar.gz"))
8045 (sha256
8046 (base32
8047 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
8048 (build-system haskell-build-system)
6cf0daa4
TS
8049 (arguments
8050 `(#:cabal-revision
8051 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
8052 (home-page
8053 "https://github.com/haskell/primitive")
8054 (synopsis "Primitive memory-related operations")
8055 (description
8056 "This package provides various primitive memory-related operations.")
8057 (license license:bsd-3)))
8058
21f5b9a9
JS
8059(define-public ghc-process-extras
8060 (package
8061 (name "ghc-process-extras")
8062 (version "0.7.4")
8063 (source
8064 (origin
8065 (method url-fetch)
8066 (uri
8067 (string-append
8068 "https://hackage.haskell.org/package/process-extras/"
8069 "process-extras-" version ".tar.gz"))
8070 (sha256
8071 (base32
8072 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
8073 (build-system haskell-build-system)
8074 (inputs
8075 `(("ghc-data-default" ,ghc-data-default)
8076 ("ghc-generic-deriving" ,ghc-generic-deriving)
8077 ("ghc-hunit" ,ghc-hunit)
8078 ("ghc-listlike" ,ghc-listlike)))
8079 (home-page "https://github.com/seereason/process-extras")
8080 (synopsis "Extra tools for managing processes")
f74b6983 8081 (description "This package extends
21f5b9a9
JS
8082@url{http://hackage.haskell.org/package/process}. It allows you to read
8083process input and output as ByteStrings or Text, or write your own
8084ProcessOutput instance. It also provides lazy process input and output,
8085and a ProcessMaker class for more flexibility in the process creation
8086API.")
8087 (license license:expat)))
8088
dddbc90c
RV
8089(define-public ghc-profunctors
8090 (package
8091 (name "ghc-profunctors")
899b5297 8092 (version "5.3")
dddbc90c
RV
8093 (source
8094 (origin
8095 (method url-fetch)
8096 (uri (string-append
8097 "https://hackage.haskell.org/package/profunctors/profunctors-"
8098 version
8099 ".tar.gz"))
8100 (sha256
8101 (base32
899b5297 8102 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 8103 (build-system haskell-build-system)
dddbc90c
RV
8104 (inputs
8105 `(("ghc-base-orphans" ,ghc-base-orphans)
8106 ("ghc-bifunctors" ,ghc-bifunctors)
8107 ("ghc-comonad" ,ghc-comonad)
8108 ("ghc-contravariant" ,ghc-contravariant)
8109 ("ghc-distributive" ,ghc-distributive)
8110 ("ghc-semigroups" ,ghc-semigroups)
8111 ("ghc-tagged" ,ghc-tagged)))
8112 (home-page "https://github.com/ekmett/profunctors/")
8113 (synopsis "Profunctors for Haskell")
8114 (description "This library provides profunctors for Haskell.")
8115 (license license:bsd-3)))
8116
8117(define-public ghc-psqueues
8118 (package
8119 (name "ghc-psqueues")
5d133942 8120 (version "0.2.7.2")
dddbc90c
RV
8121 (source
8122 (origin
8123 (method url-fetch)
8124 (uri (string-append "https://hackage.haskell.org/package/"
8125 "psqueues-" version "/"
8126 "psqueues-" version ".tar.gz"))
8127 (sha256
8128 (base32
5d133942 8129 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
8130 (build-system haskell-build-system)
8131 (inputs
8132 `(("ghc-hashable" ,ghc-hashable)))
8133 (native-inputs
8134 `(("ghc-hunit" ,ghc-hunit)
8135 ("ghc-quickcheck" ,ghc-quickcheck)
8136 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
8137 ("ghc-tasty" ,ghc-tasty)
8138 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8139 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
8140 (home-page "https://github.com/jaspervdj/psqueues")
8141 (synopsis "Pure priority search queues")
8142 (description "The psqueues package provides
8143@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8144three different flavors:
8145
8146@itemize
8147@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8148fast insertion, deletion and lookup. This implementation is based on Ralf
8149Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8150Implementation Technique for Priority Search Queues}.
8151
8152Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8153PSQueue} library, although it is considerably faster and provides a slightly
8154different API.
8155
8156@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8157key type to @code{Int} and uses a
8158@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8159with an additional min-heap property.
8160
8161@item @code{HashPSQ k p v} is a fairly straightforward extension
8162of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8163@code{IntPSQ}. If there are any hash collisions, it uses an
8164@code{OrdPSQ} to resolve those. The performance of this implementation
8165is comparable to that of @code{IntPSQ}, but it is more widely
8166applicable since the keys are not restricted to @code{Int},
8167but rather to any @code{Hashable} datatype.
8168@end itemize
8169
8170Each of the three implementations provides the same API, so they can
8171be used interchangeably.
8172
8173Typical applications of Priority Search Queues include:
8174
8175@itemize
8176@item Caches, and more specifically LRU Caches;
8177@item Schedulers;
8178@item Pathfinding algorithms, such as Dijkstra's and A*.
8179@end itemize")
8180 (license license:bsd-3)))
8181
8182(define-public ghc-random
8183 (package
8184 (name "ghc-random")
8185 (version "1.1")
8186 (outputs '("out" "doc"))
8187 (source
8188 (origin
8189 (method url-fetch)
8190 (uri (string-append
8191 "https://hackage.haskell.org/package/random/random-"
8192 version
8193 ".tar.gz"))
8194 (sha256
8195 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8196 (build-system haskell-build-system)
8197 (home-page "https://hackage.haskell.org/package/random")
8198 (synopsis "Random number library")
8199 (description "This package provides a basic random number generation
8200library, including the ability to split random number generators.")
8201 (license license:bsd-3)))
8202
8203(define-public ghc-raw-strings-qq
8204 (package
8205 (name "ghc-raw-strings-qq")
8206 (version "1.1")
8207 (source
8208 (origin
8209 (method url-fetch)
8210 (uri (string-append "https://hackage.haskell.org/package/"
8211 "raw-strings-qq/raw-strings-qq-"
8212 version ".tar.gz"))
8213 (sha256
8214 (base32
8215 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8216 (build-system haskell-build-system)
8217 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8218 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8219 (synopsis "Raw string literals for Haskell")
8220 (description
8221 "This package provides a quasiquoter for raw string literals, i.e. string
8222literals that don't recognise the standard escape sequences. Basically, they
8223make your code more readable by freeing you from the responsibility to escape
8224backslashes. They are useful when working with regular expressions,
8225DOS/Windows paths and markup languages (such as XML).")
8226 (license license:bsd-3)))
8227
8228(define-public ghc-readable
8229 (package
8230 (name "ghc-readable")
8231 (version "0.3.1")
8232 (source
8233 (origin
8234 (method url-fetch)
8235 (uri (string-append "https://hackage.haskell.org/package/"
8236 "readable/readable-" version ".tar.gz"))
8237 (sha256
8238 (base32
8239 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8240 (build-system haskell-build-system)
8241 (home-page "https://github.com/mightybyte/readable")
8242 (synopsis "Type class for reading from Text and ByteString")
8243 (description "This package provides a @code{Readable} type class for
8244reading data types from @code{ByteString} and @code{Text}. It also
8245includes efficient implementations for common data types.")
8246 (license license:bsd-3)))
8247
8248(define-public ghc-rebase
8249 (package
8250 (name "ghc-rebase")
8d2ae3fe 8251 (version "1.3.1.1")
dddbc90c
RV
8252 (source
8253 (origin
8254 (method url-fetch)
8255 (uri (string-append "https://hackage.haskell.org/package/"
8256 "rebase-" version "/"
8257 "rebase-" version ".tar.gz"))
8258 (sha256
8259 (base32
8d2ae3fe 8260 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
8261 (build-system haskell-build-system)
8262 (inputs `(("ghc-hashable" ,ghc-hashable)
8263 ("ghc-vector" ,ghc-vector)
8264 ("ghc-unordered-containers" ,ghc-unordered-containers)
8265 ("ghc-scientific" ,ghc-scientific)
8266 ("ghc-uuid" ,ghc-uuid)
8267 ("ghc-dlist" ,ghc-dlist)
8268 ("ghc-void" ,ghc-void)
8269 ("ghc-bifunctors" ,ghc-bifunctors)
8270 ("ghc-profunctors" ,ghc-profunctors)
8271 ("ghc-contravariant" ,ghc-contravariant)
8272 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8273 ("ghc-semigroups" ,ghc-semigroups)
8274 ("ghc-either" ,ghc-either)
8275 ("ghc-fail" ,ghc-fail)
8276 ("ghc-base-prelude" ,ghc-base-prelude)))
8277 (home-page "https://github.com/nikita-volkov/rebase")
8278 (synopsis "Progressive alternative to the base package
8279for Haskell")
8280 (description "This Haskell package is intended for those who are
8281tired of keeping long lists of dependencies to the same essential libraries
8282in each package as well as the endless imports of the same APIs all over again.
8283
8284It also supports the modern tendencies in the language.
8285
8286To solve those problems this package does the following:
8287
8288@itemize
8289@item Reexport the original APIs under the @code{Rebase} namespace.
8290
8291@item Export all the possible non-conflicting symbols from the
8292@code{Rebase.Prelude} module.
8293
8294@item Give priority to the modern practices in the conflicting cases.
8295@end itemize
8296
8297The policy behind the package is only to reexport the non-ambiguous and
8298non-controversial APIs, which the community has obviously settled on.
8299The package is intended to rapidly evolve with the contribution from
8300the community, with the missing features being added with pull-requests.")
8301 (license license:expat)))
8302
8303(define-public ghc-reducers
8304 (package
8305 (name "ghc-reducers")
8306 (version "3.12.3")
8307 (source
8308 (origin
8309 (method url-fetch)
8310 (uri (string-append
8311 "https://hackage.haskell.org/package/reducers/reducers-"
8312 version
8313 ".tar.gz"))
8314 (sha256
8315 (base32
8316 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8317 (build-system haskell-build-system)
8318 (inputs
8319 `(("ghc-fingertree" ,ghc-fingertree)
8320 ("ghc-hashable" ,ghc-hashable)
8321 ("ghc-unordered-containers" ,ghc-unordered-containers)
8322 ("ghc-semigroupoids" ,ghc-semigroupoids)
8323 ("ghc-semigroups" ,ghc-semigroups)))
8324 (home-page "https://github.com/ekmett/reducers/")
8325 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8326 (description "This library provides various semigroups, specialized
8327containers and a general map/reduce framework for Haskell.")
8328 (license license:bsd-3)))
8329
8330(define-public ghc-refact
8331 (package
8332 (name "ghc-refact")
8333 (version "0.3.0.2")
8334 (source
8335 (origin
8336 (method url-fetch)
8337 (uri (string-append "https://hackage.haskell.org/package/"
8338 "refact/refact-"
8339 version ".tar.gz"))
8340 (sha256
8341 (base32
8342 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8343 (build-system haskell-build-system)
8344 (home-page "http://hackage.haskell.org/package/refact")
8345 (synopsis "Specify refactorings to perform with apply-refact")
8346 (description
8347 "This library provides a datatype which can be interpreted by
8348@code{apply-refact}. It exists as a separate library so that applications can
8349specify refactorings without depending on GHC.")
8350 (license license:bsd-3)))
8351
8352(define-public ghc-reflection
8353 (package
8354 (name "ghc-reflection")
d215f1cc 8355 (version "2.1.5")
dddbc90c
RV
8356 (source
8357 (origin
8358 (method url-fetch)
8359 (uri (string-append
8360 "https://hackage.haskell.org/package/reflection/reflection-"
8361 version
8362 ".tar.gz"))
8363 (sha256
8364 (base32
d215f1cc 8365 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8366 (build-system haskell-build-system)
8367 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8368 (native-inputs
8369 `(("ghc-hspec" ,ghc-hspec)
8370 ("ghc-quickcheck" ,ghc-quickcheck)
8371 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8372 (home-page "https://github.com/ekmett/reflection")
8373 (synopsis "Reify arbitrary terms into types that can be reflected back
8374into terms")
8375 (description "This package addresses the 'configuration problem' which is
8376propagating configurations that are available at run-time, allowing multiple
8377configurations to coexist without resorting to mutable global variables or
8378@code{System.IO.Unsafe.unsafePerformIO}.")
8379 (license license:bsd-3)))
8380
8381(define-public ghc-regex
8382 (package
8383 (name "ghc-regex")
b9a5e634 8384 (version "1.0.2.0")
dddbc90c
RV
8385 (source
8386 (origin
8387 (method url-fetch)
8388 (uri (string-append "https://hackage.haskell.org/package/regex/"
8389 "regex-" version ".tar.gz"))
8390 (sha256
8391 (base32
b9a5e634 8392 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
8393 (build-system haskell-build-system)
8394 (arguments
8395 `(#:phases
8396 (modify-phases %standard-phases
8397 (add-after 'unpack 'relax-dependencies
8398 (lambda _
8399 (substitute* "regex.cabal"
8400 (("base-compat.*>=.*0.6.*")
8401 "base-compat >= 0.6\n")
8402 (("template-haskell.*>=.*2.7.*")
8403 "template-haskell >= 2.7\n"))
8404 #t)))))
8405 (inputs
8406 `(("ghc-base-compat" ,ghc-base-compat)
8407 ("ghc-hashable" ,ghc-hashable)
8408 ("ghc-regex-base" ,ghc-regex-base)
8409 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8410 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8411 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8412 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8413 ("ghc-unordered-containers" ,ghc-unordered-containers)
8414 ("ghc-utf8-string" ,ghc-utf8-string)))
8415 (home-page "http://regex.uk")
8416 (synopsis "Toolkit for regex-base")
8417 (description
8418 "This package provides a regular expression toolkit for @code{regex-base}
8419with compile-time checking of regular expression syntax, data types for
8420matches and captures, a text replacement toolkit, portable options, high-level
8421AWK-like tools for building text processing apps, regular expression macros
8422with parsers and test bench, comprehensive documentation, tutorials and
8423copious examples.")
8424 (license license:bsd-3)))
8425
8426(define-public ghc-regex-applicative
8427 (package
8428 (name "ghc-regex-applicative")
30f60e42 8429 (version "0.3.3.1")
dddbc90c
RV
8430 (source
8431 (origin
8432 (method url-fetch)
8433 (uri (string-append
8434 "https://hackage.haskell.org/package/regex-applicative/"
8435 "regex-applicative-" version ".tar.gz"))
8436 (sha256
8437 (base32
30f60e42 8438 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8439 (build-system haskell-build-system)
8440 (inputs
8441 `(("ghc-smallcheck" ,ghc-smallcheck)
8442 ("ghc-tasty" ,ghc-tasty)
8443 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8444 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8445 (home-page "https://github.com/feuerbach/regex-applicative")
8446 (synopsis "Regex-based parsing with applicative interface")
8447 (description
8448 "@code{regex-applicative} is a Haskell library for parsing using
8449regular expressions. Parsers can be built using Applicative interface.")
8450 (license license:expat)))
8451
8452(define-public ghc-regex-base
8453 (package
8454 (name "ghc-regex-base")
8455 (version "0.93.2")
8456 (source
8457 (origin
8458 (method url-fetch)
8459 (uri (string-append
8460 "https://hackage.haskell.org/package/regex-base/regex-base-"
8461 version
8462 ".tar.gz"))
8463 (sha256
8464 (base32
8465 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8466 (build-system haskell-build-system)
8467 (home-page
8468 "https://sourceforge.net/projects/lazy-regex")
8469 (synopsis "Replaces/Enhances Text.Regex")
8470 (description "@code{Text.Regex.Base} provides the interface API for
8471regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8472 (license license:bsd-3)))
8473
8474(define-public ghc-regex-compat
8475 (package
8476 (name "ghc-regex-compat")
8477 (version "0.95.1")
8478 (source
8479 (origin
8480 (method url-fetch)
8481 (uri (string-append
8482 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8483 version
8484 ".tar.gz"))
8485 (sha256
8486 (base32
8487 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8488 (build-system haskell-build-system)
8489 (inputs
8490 `(("ghc-regex-base" ,ghc-regex-base)
8491 ("ghc-regex-posix" ,ghc-regex-posix)))
8492 (home-page "https://sourceforge.net/projects/lazy-regex")
8493 (synopsis "Replaces/Enhances Text.Regex")
8494 (description "This library provides one module layer over
8495@code{regex-posix} to replace @code{Text.Regex}.")
8496 (license license:bsd-3)))
8497
8498(define-public ghc-regex-compat-tdfa
8499 (package
8500 (name "ghc-regex-compat-tdfa")
8501 (version "0.95.1.4")
8502 (source
8503 (origin
8504 (method url-fetch)
8505 (uri (string-append
8506 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8507 version ".tar.gz"))
8508 (sha256
8509 (base32
8510 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8511 (build-system haskell-build-system)
8512 (inputs
8513 `(("ghc-regex-base" ,ghc-regex-base)
8514 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8515 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8516 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8517 (description
8518 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8519@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8520This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8521this problem.")
8522 (license license:bsd-3)))
8523
8524(define-public ghc-regex-pcre-builtin
8525 (package
8526 (name "ghc-regex-pcre-builtin")
ee946143 8527 (version "0.94.5.8.8.35")
dddbc90c
RV
8528 (source (origin
8529 (method url-fetch)
8530 (uri (string-append "https://hackage.haskell.org/package/"
8531 "regex-pcre-builtin/regex-pcre-builtin-"
8532 version ".tar.gz"))
8533 (sha256
8534 (base32
ee946143 8535 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8536 (build-system haskell-build-system)
8537 (inputs
8538 `(("ghc-regex-base" ,ghc-regex-base)))
8539 (home-page "https://hackage.haskell.org/package/regex-pcre")
8540 (synopsis "Enhancement of the builtin Text.Regex library")
8541 (description
8542 "This package is an enhancement of the @code{Text.Regex} library,
8543providing the PCRE backend to accompany regex-base, with bundled code from
8544@url{https://www.pcre.org}.")
8545 (license license:bsd-3)))
8546
8547(define-public ghc-regex-posix
8548 (package
8549 (name "ghc-regex-posix")
8550 (version "0.95.2")
8551 (source
8552 (origin
8553 (method url-fetch)
8554 (uri (string-append
8555 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8556 version
8557 ".tar.gz"))
8558 (sha256
8559 (base32
8560 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8561 (build-system haskell-build-system)
8562 (inputs
8563 `(("ghc-regex-base" ,ghc-regex-base)))
8564 (home-page "https://sourceforge.net/projects/lazy-regex")
8565 (synopsis "POSIX regular expressions for Haskell")
8566 (description "This library provides the POSIX regex backend used by the
8567Haskell library @code{regex-base}.")
8568 (license license:bsd-3)))
8569
8570(define-public ghc-regex-tdfa
8571 (package
8572 (name "ghc-regex-tdfa")
ce684db0 8573 (version "1.2.3.2")
dddbc90c
RV
8574 (source
8575 (origin
8576 (method url-fetch)
8577 (uri (string-append
8578 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8579 version ".tar.gz"))
8580 (sha256
8581 (base32
ce684db0 8582 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8583 (build-system haskell-build-system)
8584 (inputs
8585 `(("ghc-regex-base" ,ghc-regex-base)))
8586 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8587 (synopsis "POSIX extended regular expressions in Haskell.")
8588 (description
8589 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8590extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8591inspired by libtre.")
8592 (license license:bsd-3)))
8593
8594(define-public ghc-regex-tdfa-text
8595 (package
8596 (name "ghc-regex-tdfa-text")
8597 (version "1.0.0.3")
8598 (source
8599 (origin
8600 (method url-fetch)
8601 (uri (string-append
8602 "https://hackage.haskell.org/package/regex-tdfa-text/"
8603 "regex-tdfa-text-" version ".tar.gz"))
8604 (sha256
8605 (base32
8606 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8607 (build-system haskell-build-system)
8608 (inputs
8609 `(("ghc-regex-base" ,ghc-regex-base)
8610 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8611 (home-page
8612 "http://hackage.haskell.org/package/regex-tdfa-text")
8613 (synopsis "Text interface for regex-tdfa")
8614 (description
8615 "This provides an extra text interface for regex-tdfa.")
8616 (license license:bsd-3)))
8617
8618(define-public ghc-rerebase
8619 (package
8620 (name "ghc-rerebase")
cdec7b8c 8621 (version "1.3.1.1")
dddbc90c
RV
8622 (source
8623 (origin
8624 (method url-fetch)
8625 (uri (string-append
8626 "https://hackage.haskell.org/package/rerebase/rerebase-"
8627 version ".tar.gz"))
8628 (sha256
8629 (base32
cdec7b8c 8630 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
8631 (build-system haskell-build-system)
8632 (inputs
8633 `(("ghc-rebase" ,ghc-rebase)))
8634 (home-page "https://github.com/nikita-volkov/rerebase")
8635 (synopsis "Reexports from ``base'' with many other standard libraries")
8636 (description "A rich drop-in replacement for @code{base}. For details and
8637documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8638the project's home page}.")
8639 (license license:expat)))
8640
8641(define-public ghc-resolv
8642 (package
8643 (name "ghc-resolv")
87309478 8644 (version "0.1.1.2")
dddbc90c
RV
8645 (source
8646 (origin
8647 (method url-fetch)
8648 (uri (string-append
8649 "https://hackage.haskell.org/package/resolv/resolv-"
8650 version ".tar.gz"))
8651 (sha256
8652 (base32
87309478 8653 "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4"))))
dddbc90c
RV
8654 (build-system haskell-build-system)
8655 (arguments
87309478
TS
8656 `(#:phases
8657 (modify-phases %standard-phases
8658 (add-before 'configure 'update-constraints
8659 (lambda _
8660 (substitute* "resolv.cabal"
8661 (("tasty >= 1\\.1 && < 1\\.2")
8662 "tasty >= 1.1 && < 1.3"))
8663 #t)))))
dddbc90c
RV
8664 (inputs
8665 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
87309478
TS
8666 (native-inputs
8667 `(("ghc-tasty" ,ghc-tasty)
8668 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
8669 (home-page "https://github.com/haskell/hackage-security")
8670 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8671 (description "This package implements an API for accessing the
8672@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8673resolver service via the standard @code{libresolv} system library (whose
8674API is often available directly via the standard @code{libc} C library) on
8675Unix systems.")
8676 (license license:gpl3)))
8677
8678(define-public ghc-resource-pool
8679 (package
8680 (name "ghc-resource-pool")
8681 (version "0.2.3.2")
8682 (source
8683 (origin
8684 (method url-fetch)
8685 (uri (string-append "https://hackage.haskell.org/package/"
8686 "resource-pool-" version "/"
8687 "resource-pool-" version ".tar.gz"))
8688 (sha256
8689 (base32
8690 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8691 (build-system haskell-build-system)
8692 (inputs `(("ghc-hashable" ,ghc-hashable)
8693 ("ghc-monad-control" ,ghc-monad-control)
8694 ("ghc-transformers-base" ,ghc-transformers-base)
8695 ("ghc-vector" ,ghc-vector)))
8696 (home-page "https://github.com/bos/pool")
8697 (synopsis "Striped resource pooling implementation in Haskell")
8698 (description "This Haskell package provides striped pooling abstraction
8699for managing flexibly-sized collections of resources such as database
8700connections.")
8701 (license license:bsd-3)))
8702
8703(define-public ghc-resourcet
8704 (package
8705 (name "ghc-resourcet")
9ac341ac 8706 (version "1.2.2")
dddbc90c
RV
8707 (source
8708 (origin
8709 (method url-fetch)
8710 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8711 "resourcet-" version ".tar.gz"))
8712 (sha256
8713 (base32
9ac341ac 8714 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
8715 (build-system haskell-build-system)
8716 (inputs
8717 `(("ghc-transformers-base" ,ghc-transformers-base)
8718 ("ghc-monad-control" ,ghc-monad-control)
8719 ("ghc-transformers-compat" ,ghc-transformers-compat)
8720 ("ghc-mmorph" ,ghc-mmorph)
8721 ("ghc-exceptions" ,ghc-exceptions)
8722 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8723 (native-inputs
8724 `(("ghc-lifted-base" ,ghc-lifted-base)
8725 ("ghc-hspec" ,ghc-hspec)))
8726 (home-page "https://github.com/snoyberg/conduit")
8727 (synopsis "Deterministic allocation and freeing of scarce resources")
8728 (description "ResourceT is a monad transformer which creates a region of
8729code where you can safely allocate resources.")
8730 (license license:bsd-3)))
8731
b9debc37
TS
8732(define-public ghc-retry
8733 (package
8734 (name "ghc-retry")
8735 (version "0.8.1.0")
8736 (source
8737 (origin
8738 (method url-fetch)
8739 (uri (string-append "https://hackage.haskell.org/package/"
8740 "retry/retry-" version ".tar.gz"))
8741 (sha256
8742 (base32
8743 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
8744 (build-system haskell-build-system)
8745 (inputs
8746 `(("ghc-exceptions" ,ghc-exceptions)
8747 ("ghc-random" ,ghc-random)))
8748 (native-inputs
8749 `(("ghc-hunit" ,ghc-hunit)
8750 ("ghc-tasty" ,ghc-tasty)
8751 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8752 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
8753 ("ghc-hedgehog" ,ghc-hedgehog)))
8754 (home-page "http://github.com/Soostone/retry")
8755 (synopsis "Retry combinators for monadic actions that may fail")
8756 (description "This package exposes combinators that can wrap
8757arbitrary monadic actions. They run the action and potentially retry
8758running it with some configurable delay for a configurable number of
8759times. The purpose is to make it easier to work with IO and especially
8760network IO actions that often experience temporary failure and warrant
8761retrying of the original action. For example, a database query may time
8762out for a while, in which case we should hang back for a bit and retry
8763the query instead of simply raising an exception.")
8764 (license license:bsd-3)))
8765
dddbc90c
RV
8766(define-public ghc-rfc5051
8767 (package
8768 (name "ghc-rfc5051")
ec42ab7c 8769 (version "0.1.0.4")
dddbc90c
RV
8770 (source
8771 (origin
8772 (method url-fetch)
8773 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8774 "rfc5051-" version ".tar.gz"))
8775 (sha256
8776 (base32
ec42ab7c 8777 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
8778 (build-system haskell-build-system)
8779 (home-page "https://hackage.haskell.org/package/rfc5051")
8780 (synopsis "Simple unicode collation as per RFC5051")
8781 (description
8782 "This library implements @code{unicode-casemap}, the simple, non
8783locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8784unicode collation can be done using @code{text-icu}, but that is a big
8785dependency that depends on a large C library, and @code{rfc5051} might be
8786better for some purposes.")
8787 (license license:bsd-3)))
8788
8789(define-public ghc-rio
8790 (package
8791 (name "ghc-rio")
8bda2fa7 8792 (version "0.1.12.0")
dddbc90c
RV
8793 (source
8794 (origin
8795 (method url-fetch)
8796 (uri (string-append
8797 "https://hackage.haskell.org/package/rio/rio-"
8798 version ".tar.gz"))
8799 (sha256
8800 (base32
8bda2fa7 8801 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
8802 (build-system haskell-build-system)
8803 (inputs
8804 `(("ghc-exceptions" ,ghc-exceptions)
8805 ("ghc-hashable" ,ghc-hashable)
8806 ("ghc-microlens" ,ghc-microlens)
8807 ("ghc-primitive" ,ghc-primitive)
8808 ("ghc-typed-process" ,ghc-typed-process)
8809 ("ghc-unliftio" ,ghc-unliftio)
8810 ("ghc-unordered-containers" ,ghc-unordered-containers)
8811 ("ghc-vector" ,ghc-vector)))
8812 (native-inputs
8813 `(("ghc-hspec" ,ghc-hspec)
8814 ("hspec-discover" ,hspec-discover)))
8815 (home-page "https://github.com/commercialhaskell/rio#readme")
8816 (synopsis "A standard library for Haskell")
8817 (description "This package works as a prelude replacement for Haskell,
8818providing more functionality and types out of the box than the standard
8819prelude (such as common data types like @code{ByteString} and
8820@code{Text}), as well as removing common ``gotchas'', like partial
8821functions and lazy I/O. The guiding principle here is:
8822@itemize
8823@item If something is safe to use in general and has no expected naming
8824conflicts, expose it.
8825@item If something should not always be used, or has naming conflicts,
8826expose it from another module in the hierarchy.
8827@end itemize")
8828 (license license:expat)))
8829
8830(define-public ghc-safe
8831 (package
8832 (name "ghc-safe")
8833 (version "0.3.17")
8834 (source
8835 (origin
8836 (method url-fetch)
8837 (uri (string-append
8838 "https://hackage.haskell.org/package/safe/safe-"
8839 version
8840 ".tar.gz"))
8841 (sha256
8842 (base32
8843 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8844 (build-system haskell-build-system)
8845 (native-inputs
8846 `(("ghc-quickcheck" ,ghc-quickcheck)))
8847 (home-page "https://github.com/ndmitchell/safe#readme")
8848 (synopsis "Library of safe (exception free) functions")
8849 (description "This library provides wrappers around @code{Prelude} and
8850@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8851exceptions.")
8852 (license license:bsd-3)))
8853
8854(define-public ghc-safe-exceptions
8855 (package
8856 (name "ghc-safe-exceptions")
8857 (version "0.1.7.0")
8858 (source
8859 (origin
8860 (method url-fetch)
8861 (uri (string-append "https://hackage.haskell.org/package/"
8862 "safe-exceptions/safe-exceptions-"
8863 version ".tar.gz"))
8864 (sha256
8865 (base32
8866 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8867 (build-system haskell-build-system)
8868 (arguments
8869 '(#:cabal-revision
8870 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8871 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8872 (native-inputs
8873 `(("ghc-hspec" ,ghc-hspec)
8874 ("ghc-void" ,ghc-void)
8875 ("hspec-discover" ,hspec-discover)))
8876 (home-page "https://github.com/fpco/safe-exceptions")
8877 (synopsis "Safe, consistent, and easy exception handling")
8878 (description "Runtime exceptions - as exposed in @code{base} by the
8879@code{Control.Exception} module - have long been an intimidating part of the
8880Haskell ecosystem. This package is intended to overcome this. It provides a
8881safe and simple API on top of the existing exception handling machinery. The
8882API is equivalent to the underlying implementation in terms of power but
8883encourages best practices to minimize the chances of getting the exception
8884handling wrong.")
8885 (license license:expat)))
8886
8887(define-public ghc-safeio
8888 (package
8889 (name "ghc-safeio")
8890 (version "0.0.5.0")
8891 (source
8892 (origin
8893 (method url-fetch)
8894 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8895 "safeio-" version ".tar.gz"))
8896 (sha256
8897 (base32
8898 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8899 (build-system haskell-build-system)
8900 (inputs
8901 `(("ghc-conduit" ,ghc-conduit)
8902 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8903 ("ghc-exceptions" ,ghc-exceptions)
8904 ("ghc-resourcet" ,ghc-resourcet)))
8905 (native-inputs
8906 `(("ghc-hunit" ,ghc-hunit)
8907 ("ghc-test-framework" ,ghc-test-framework)
8908 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8909 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8910 (home-page "https://github.com/luispedro/safeio")
8911 (synopsis "Write output to disk atomically")
8912 (description
8913 "This package implements utilities to perform atomic output so as to
8914avoid the problem of partial intermediate files.")
8915 (license license:expat)))
8916
8917(define-public ghc-safesemaphore
8918 (package
8919 (name "ghc-safesemaphore")
8920 (version "0.10.1")
8921 (source
8922 (origin
8923 (method url-fetch)
8924 (uri (string-append "https://hackage.haskell.org/package/"
8925 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8926 (sha256
8927 (base32
8928 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8929 (build-system haskell-build-system)
8930 (native-inputs
8931 `(("ghc-hunit" ,ghc-hunit)))
8932 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8933 (synopsis "Exception safe semaphores")
8934 (description "This library provides exception safe semaphores that can be
8935used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8936are not exception safe and can be broken by @code{killThread}.")
8937 (license license:bsd-3)))
8938
8939(define-public ghc-sandi
8940 (package
8941 (name "ghc-sandi")
8942 (version "0.4.2")
8943 (source
8944 (origin
8945 (method url-fetch)
8946 (uri (string-append
8947 "https://hackage.haskell.org/package/sandi/sandi-"
8948 version ".tar.gz"))
8949 (sha256
8950 (base32
8951 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8952 (build-system haskell-build-system)
8953 (inputs
8954 `(("ghc-stringsearch" ,ghc-stringsearch)
8955 ("ghc-conduit" ,ghc-conduit)
8956 ("ghc-exceptions" ,ghc-exceptions)
8957 ("ghc-hunit" ,ghc-hunit)
8958 ("ghc-tasty" ,ghc-tasty)
8959 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8960 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8961 ("ghc-tasty-th" ,ghc-tasty-th)))
8962 (home-page "https://hackage.haskell.org/package/sandi")
8963 (synopsis "Data encoding library")
8964 (description "Reasonably fast data encoding library.")
8965 (license license:bsd-3)))
8966
8967(define-public ghc-scientific
8968 (package
8969 (name "ghc-scientific")
8970 (version "0.3.6.2")
8971 (source
8972 (origin
8973 (method url-fetch)
8974 (uri (string-append
8975 "https://hackage.haskell.org/package/scientific/scientific-"
8976 version
8977 ".tar.gz"))
8978 (sha256
8979 (base32
8980 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8981 (build-system haskell-build-system)
8982 (inputs
8983 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8984 ("ghc-hashable" ,ghc-hashable)
8985 ("ghc-primitive" ,ghc-primitive)))
8986 (native-inputs
8987 `(("ghc-tasty" ,ghc-tasty)
8988 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8989 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8990 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8991 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8992 ("ghc-smallcheck" ,ghc-smallcheck)
8993 ("ghc-quickcheck" ,ghc-quickcheck)))
8994 (home-page "https://github.com/basvandijk/scientific")
8995 (synopsis "Numbers represented using scientific notation")
8996 (description "This package provides @code{Data.Scientific}, which provides
8997the number type @code{Scientific}. Scientific numbers are arbitrary precision
8998and space efficient. They are represented using
8999@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
9000notation}.")
9001 (license license:bsd-3)))
9002
9003(define-public ghc-scientific-bootstrap
9004 (package
9005 (inherit ghc-scientific)
9006 (name "ghc-scientific-bootstrap")
9007 (arguments `(#:tests? #f))
9008 (inputs
9009 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
9010 ("ghc-hashable" ,ghc-hashable)
9011 ("ghc-primitive" ,ghc-primitive)))
9012 (native-inputs '())
799d8d3c 9013 (properties '((hidden? #t)))))
dddbc90c
RV
9014
9015(define-public ghc-sdl
9016 (package
9017 (name "ghc-sdl")
9018 (version "0.6.7.0")
9019 (source
9020 (origin
9021 (method url-fetch)
9022 (uri (string-append
9023 "https://hackage.haskell.org/package/SDL/SDL-"
9024 version
9025 ".tar.gz"))
9026 (sha256
9027 (base32
9028 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
9029 (build-system haskell-build-system)
9030 (inputs
9031 `(("sdl" ,sdl)))
9032 (home-page "https://hackage.haskell.org/package/SDL")
9033 (synopsis "LibSDL for Haskell")
9034 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
9035multimedia library designed to provide low level access to audio, keyboard,
9036mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
9037by MPEG playback software, emulators, and many popular games, including the
9038award winning Linux port of \"Civilization: Call To Power.\"")
9039 (license license:bsd-3)))
9040
1874cdc1
RV
9041(define-public ghc-sdl2
9042 (package
9043 (name "ghc-sdl2")
9044 (version "2.4.1.0")
9045 (source
9046 (origin
9047 (method url-fetch)
9048 (uri (string-append "https://hackage.haskell.org/package/"
9049 "sdl2/sdl2-" version ".tar.gz"))
9050 (sha256
9051 (base32
9052 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
9053 (build-system haskell-build-system)
9054 (arguments '(#:tests? #f)) ; tests require graphical environment
9055 (inputs
9056 `(("ghc-exceptions" ,ghc-exceptions)
9057 ("ghc-linear" ,ghc-linear)
9058 ("ghc-statevar" ,ghc-statevar)
9059 ("ghc-vector" ,ghc-vector)
9060 ("sdl2" ,sdl2)))
9061 (native-inputs
9062 `(("ghc-weigh" ,ghc-weigh)
9063 ("pkg-config" ,pkg-config)))
9064 (home-page "http://hackage.haskell.org/package/sdl2")
9065 (synopsis "High- and low-level bindings to the SDL library")
9066 (description
9067 "This package contains bindings to the SDL 2 library, in both high- and
9068low-level forms. The @code{SDL} namespace contains high-level bindings, where
9069enumerations are split into sum types, and we perform automatic
9070error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
9071translation of the C API into Haskell FFI calls. As such, this does not
9072contain sum types nor error checking. Thus this namespace is suitable for
9073building your own abstraction over SDL, but is not recommended for day-to-day
9074programming.")
9075 (license license:bsd-3)))
9076
9077(define-public ghc-sdl2-image
9078 (package
9079 (name "ghc-sdl2-image")
9080 (version "2.0.0")
9081 (source
9082 (origin
9083 (method url-fetch)
9084 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
9085 "sdl2-image-" version ".tar.gz"))
9086 (sha256
9087 (base32
9088 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
9089 (build-system haskell-build-system)
9090 (inputs
9091 `(("ghc-sdl2" ,ghc-sdl2)
9092 ("sdl2-image" ,sdl2-image)))
9093 (native-inputs
9094 `(("pkg-config" ,pkg-config)))
9095 (home-page "http://hackage.haskell.org/package/sdl2-image")
9096 (synopsis "Bindings to SDL2_image")
9097 (description "This package provides Haskell bindings to
9098@code{SDL2_image}.")
9099 (license license:expat)))
9100
9101(define-public ghc-sdl2-mixer
9102 (package
9103 (name "ghc-sdl2-mixer")
9104 (version "1.1.0")
9105 (source
9106 (origin
9107 (method url-fetch)
9108 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
9109 "sdl2-mixer-" version ".tar.gz"))
9110 (sha256
9111 (base32
9112 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
9113 (build-system haskell-build-system)
9114 (inputs
9115 `(("ghc-data-default-class" ,ghc-data-default-class)
9116 ("ghc-lifted-base" ,ghc-lifted-base)
9117 ("ghc-monad-control" ,ghc-monad-control)
9118 ("ghc-sdl2" ,ghc-sdl2)
9119 ("ghc-vector" ,ghc-vector)
9120 ("sdl2-mixer" ,sdl2-mixer)))
9121 (native-inputs
9122 `(("pkg-config" ,pkg-config)))
9123 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
9124 (synopsis "Bindings to SDL2 mixer")
9125 (description "This package provides Haskell bindings to
9126@code{SDL2_mixer}.")
9127 (license license:bsd-3)))
9128
dddbc90c
RV
9129(define-public ghc-sdl-image
9130 (package
9131 (name "ghc-sdl-image")
9132 (version "0.6.2.0")
9133 (source
9134 (origin
9135 (method url-fetch)
9136 (uri (string-append
9137 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
9138 version
9139 ".tar.gz"))
9140 (sha256
9141 (base32
9142 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
9143 (build-system haskell-build-system)
9144 (arguments
9145 `(#:configure-flags
9146 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
9147 (sdl-image-include (string-append sdl-image "/include/SDL")))
9148 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
9149 (inputs
9150 `(("ghc-sdl" ,ghc-sdl)
9151 ("sdl-image" ,sdl-image)))
9152 (home-page "https://hackage.haskell.org/package/SDL-image")
9153 (synopsis "Haskell bindings to libSDL_image")
9154 (description "SDL_image is an image file loading library. It loads images
9155as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
9156PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
9157 (license license:bsd-3)))
9158
9159(define-public ghc-sdl-mixer
9160 (package
9161 (name "ghc-sdl-mixer")
9162 (version "0.6.3.0")
9163 (source
9164 (origin
9165 (method url-fetch)
9166 (uri (string-append
9167 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
9168 version
9169 ".tar.gz"))
9170 (sha256
9171 (base32
9172 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
9173 (build-system haskell-build-system)
9174 (arguments
9175 `(#:configure-flags
9176 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
9177 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
9178 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
9179 (inputs
9180 `(("ghc-sdl" ,ghc-sdl)
9181 ("sdl-mixer" ,sdl-mixer)))
9182 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9183 (synopsis "Haskell bindings to libSDL_mixer")
9184 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9185supports any number of simultaneously playing channels of 16 bit stereo audio,
9186plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9187MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9188 (license license:bsd-3)))
9189
9190(define-public ghc-securemem
9191 (package
9192 (name "ghc-securemem")
9193 (version "0.1.10")
9194 (source
9195 (origin
9196 (method url-fetch)
9197 (uri (string-append "https://hackage.haskell.org/package/"
9198 "securemem-" version "/"
9199 "securemem-" version ".tar.gz"))
9200 (sha256
9201 (base32
9202 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9203 (build-system haskell-build-system)
9204 (inputs `(("ghc-byteable" ,ghc-byteable)
9205 ("ghc-memory" ,ghc-memory)))
9206 (home-page "https://github.com/vincenthz/hs-securemem")
9207 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9208Haskell")
9209 (description "SecureMem is similar to ByteString, except that it provides
9210a memory chunk that will be auto-scrubbed after it run out of scope.")
9211 (license license:bsd-3)))
9212
9213(define-public ghc-semigroupoids
9214 (package
9215 (name "ghc-semigroupoids")
a8aaadf2 9216 (version "5.3.3")
dddbc90c
RV
9217 (source
9218 (origin
9219 (method url-fetch)
9220 (uri (string-append
9221 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9222 version
9223 ".tar.gz"))
9224 (sha256
9225 (base32
a8aaadf2 9226 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 9227 (build-system haskell-build-system)
dddbc90c
RV
9228 (inputs
9229 `(("ghc-base-orphans" ,ghc-base-orphans)
9230 ("ghc-transformers-compat" ,ghc-transformers-compat)
9231 ("ghc-bifunctors" ,ghc-bifunctors)
9232 ("ghc-comonad" ,ghc-comonad)
9233 ("ghc-contravariant" ,ghc-contravariant)
9234 ("ghc-distributive" ,ghc-distributive)
9235 ("ghc-hashable" ,ghc-hashable)
9236 ("ghc-semigroups" ,ghc-semigroups)
9237 ("ghc-tagged" ,ghc-tagged)
9238 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9239 (native-inputs
9240 `(("cabal-doctest" ,cabal-doctest)
9241 ("ghc-doctest" ,ghc-doctest)))
9242 (home-page "https://github.com/ekmett/semigroupoids")
9243 (synopsis "Semigroupoids operations for Haskell")
9244 (description "This library provides a wide array of (semi)groupoids and
9245operations for working with them. A @code{Semigroupoid} is a @code{Category}
9246without the requirement of identity arrows for every object in the category.
9247A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9248Finally, to work with these weaker structures it is beneficial to have
9249containers that can provide stronger guarantees about their contents, so
9250versions of @code{Traversable} and @code{Foldable} that can be folded with
9251just a @code{Semigroup} are added.")
9252 (license license:bsd-3)))
9253
9254(define-public ghc-semigroups
9255 (package
9256 (name "ghc-semigroups")
9257 (version "0.18.5")
9258 (source
9259 (origin
9260 (method url-fetch)
9261 (uri (string-append
9262 "https://hackage.haskell.org/package/semigroups/semigroups-"
9263 version
9264 ".tar.gz"))
9265 (sha256
9266 (base32
9267 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9268 (build-system haskell-build-system)
9269 (inputs
9270 `(("ghc-nats" ,ghc-nats)
9271 ("ghc-tagged" ,ghc-tagged)
9272 ("ghc-unordered-containers" ,ghc-unordered-containers)
9273 ("ghc-hashable" ,ghc-hashable)))
9274 (home-page "https://github.com/ekmett/semigroups/")
9275 (synopsis "Semigroup operations for Haskell")
9276 (description "This package provides semigroups for Haskell. In
9277mathematics, a semigroup is an algebraic structure consisting of a set
9278together with an associative binary operation. A semigroup generalizes a
9279monoid in that there might not exist an identity element. It
9280also (originally) generalized a group (a monoid with all inverses) to a type
9281where every element did not have to have an inverse, thus the name
9282semigroup.")
9283 (license license:bsd-3)))
9284
9285(define-public ghc-semigroups-bootstrap
9286 (package
9287 (inherit ghc-semigroups)
9288 (name "ghc-semigroups-bootstrap")
9289 (inputs
9290 `(("ghc-nats" ,ghc-nats-bootstrap)
9291 ("ghc-tagged" ,ghc-tagged)
9292 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9293 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9294 (properties '((hidden? #t)))))
dddbc90c
RV
9295
9296(define-public ghc-setenv
9297 (package
9298 (name "ghc-setenv")
9299 (version "0.1.1.3")
9300 (source
9301 (origin
9302 (method url-fetch)
9303 (uri (string-append
9304 "https://hackage.haskell.org/package/setenv/setenv-"
9305 version
9306 ".tar.gz"))
9307 (sha256
9308 (base32
9309 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9310 (build-system haskell-build-system)
9311 (home-page "https://hackage.haskell.org/package/setenv")
9312 (synopsis "Library for setting environment variables")
9313 (description "This package provides a Haskell library for setting
9314environment variables.")
9315 (license license:expat)))
9316
9317(define-public ghc-setlocale
9318 (package
9319 (name "ghc-setlocale")
9d7cfc9b 9320 (version "1.0.0.9")
dddbc90c
RV
9321 (source (origin
9322 (method url-fetch)
9323 (uri (string-append
9324 "https://hackage.haskell.org/package/setlocale-"
9325 version "/setlocale-" version ".tar.gz"))
9326 (sha256
9327 (base32
9d7cfc9b 9328 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9329 (build-system haskell-build-system)
9330 (home-page "https://hackage.haskell.org/package/setlocale")
9331 (synopsis "Haskell bindings to setlocale")
9332 (description "This package provides Haskell bindings to the
9333@code{setlocale} C function.")
9334 (license license:bsd-3)))
9335
9336(define-public ghc-shakespeare
9337 (package
9338 (name "ghc-shakespeare")
f680955f 9339 (version "2.0.22")
dddbc90c
RV
9340 (source
9341 (origin
9342 (method url-fetch)
9343 (uri (string-append "https://hackage.haskell.org/package/"
9344 "shakespeare-" version "/"
9345 "shakespeare-" version ".tar.gz"))
9346 (sha256
9347 (base32
f680955f 9348 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
9349 (build-system haskell-build-system)
9350 (inputs `(("ghc-aeson" ,ghc-aeson)
9351 ("ghc-blaze-markup" ,ghc-blaze-markup)
9352 ("ghc-blaze-html" ,ghc-blaze-html)
9353 ("ghc-exceptions" ,ghc-exceptions)
9354 ("ghc-vector" ,ghc-vector)
9355 ("ghc-unordered-containers" ,ghc-unordered-containers)
9356 ("ghc-scientific" ,ghc-scientific)))
9357 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9358 ("ghc-hunit" ,ghc-hunit)
9359 ("hspec-discover" ,hspec-discover)))
9360 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9361 (synopsis "Family of type-safe template languages for Haskell")
9362 (description "This Haskell package provides a family of type-safe
9363templates with simple variable interpolation. Shakespeare templates can
9364be used inline with a quasi-quoter or in an external file and it
9365interpolates variables according to the type being inserted.")
9366 (license license:expat)))
9367
9368(define-public ghc-shelly
9369 (package
9370 (name "ghc-shelly")
9371 (version "1.8.1")
9372 (source
9373 (origin
9374 (method url-fetch)
9375 (uri (string-append
9376 "https://hackage.haskell.org/package/shelly/shelly-"
9377 version ".tar.gz"))
9378 (sha256
9379 (base32
9380 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9381 (build-system haskell-build-system)
9382 (inputs
9383 `(("ghc-unix-compat" ,ghc-unix-compat)
9384 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9385 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9386 ("ghc-monad-control" ,ghc-monad-control)
9387 ("ghc-lifted-base" ,ghc-lifted-base)
9388 ("ghc-lifted-async" ,ghc-lifted-async)
9389 ("ghc-exceptions" ,ghc-exceptions)
9390 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9391 ("ghc-async" ,ghc-async)
9392 ("ghc-transformers-base" ,ghc-transformers-base)
9393 ("ghc-hunit" ,ghc-hunit)
9394 ("ghc-hspec" ,ghc-hspec)
9395 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9396 (home-page "https://github.com/yesodweb/Shelly.hs")
9397 (synopsis "Shell-like (systems) programming in Haskell")
9398 (description
9399 "Shelly provides convenient systems programming in Haskell, similar in
9400spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9401 (license license:bsd-3)))
9402
9403(define-public ghc-silently
9404 (package
9405 (name "ghc-silently")
544bb369 9406 (version "1.2.5.1")
dddbc90c
RV
9407 (source
9408 (origin
9409 (method url-fetch)
9410 (uri (string-append
9411 "https://hackage.haskell.org/package/silently/silently-"
9412 version
9413 ".tar.gz"))
9414 (sha256
9415 (base32
544bb369 9416 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9417 (build-system haskell-build-system)
9418 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9419 ;; (inputs
9420 ;; `(("ghc-temporary" ,ghc-temporary)))
9421 (home-page "https://github.com/hspec/silently")
9422 (synopsis "Prevent writing to stdout")
9423 (description "This package provides functions to prevent or capture
9424writing to stdout and other handles.")
9425 (license license:bsd-3)))
9426
9427(define-public ghc-simple-reflect
9428 (package
9429 (name "ghc-simple-reflect")
9430 (version "0.3.3")
9431 (source
9432 (origin
9433 (method url-fetch)
9434 (uri (string-append
9435 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9436 version
9437 ".tar.gz"))
9438 (sha256
9439 (base32
9440 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9441 (build-system haskell-build-system)
9442 (home-page
9443 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9444 (synopsis
9445 "Simple reflection of expressions containing variables")
9446 (description
9447 "This package allows simple reflection of expressions containing
9448variables. Reflection here means that a Haskell expression is turned into a
9449string. The primary aim of this package is teaching and understanding; there
9450are no options for manipulating the reflected expressions beyond showing
9451them.")
9452 (license license:bsd-3)))
9453
9454(define-public ghc-simple-sendfile
9455 (package
9456 (name "ghc-simple-sendfile")
08f54390 9457 (version "0.2.30")
dddbc90c
RV
9458 (source
9459 (origin
9460 (method url-fetch)
9461 (uri (string-append "https://hackage.haskell.org/package/"
9462 "simple-sendfile-" version "/"
9463 "simple-sendfile-" version ".tar.gz"))
9464 (sha256
9465 (base32
08f54390 9466 "112j0qfsjazf9wg1zywf7hjybgsiywk9wkm27yi8xzv27hmlv1mn"))))
dddbc90c
RV
9467 (build-system haskell-build-system)
9468 (inputs
9469 `(("ghc-conduit" ,ghc-conduit)
9470 ("ghc-conduit-extra" ,ghc-conduit-extra)
9471 ("ghc-network" ,ghc-network)
9472 ("ghc-resourcet" ,ghc-resourcet)))
9473 (native-inputs
9474 `(("ghc-hspec" ,ghc-hspec)
9475 ("hspec-discover" ,hspec-discover)))
9476 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9477 (synopsis "Cross platform library for the sendfile system call")
9478 (description "This library tries to call minimum system calls which
9479are the bottleneck of web servers.")
9480 (license license:bsd-3)))
9481
9482(define-public ghc-skylighting-core
9483 (package
9484 (name "ghc-skylighting-core")
1826c2a8 9485 (version "0.8.2.1")
dddbc90c
RV
9486 (source (origin
9487 (method url-fetch)
9488 (uri (string-append "https://hackage.haskell.org/package/"
9489 "skylighting-core/skylighting-core-"
9490 version ".tar.gz"))
9491 (sha256
9492 (base32
1826c2a8 9493 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
9494 (build-system haskell-build-system)
9495 (inputs
9496 `(("ghc-aeson" ,ghc-aeson)
9497 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9498 ("ghc-attoparsec" ,ghc-attoparsec)
9499 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9500 ("ghc-blaze-html" ,ghc-blaze-html)
9501 ("ghc-case-insensitive" ,ghc-case-insensitive)
9502 ("ghc-colour" ,ghc-colour)
9503 ("ghc-hxt" ,ghc-hxt)
9504 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9505 ("ghc-safe" ,ghc-safe)
9506 ("ghc-utf8-string" ,ghc-utf8-string)))
9507 (native-inputs
9508 `(("ghc-diff" ,ghc-diff)
9509 ("ghc-hunit" ,ghc-hunit)
9510 ("ghc-pretty-show" ,ghc-pretty-show)
9511 ("ghc-quickcheck" ,ghc-quickcheck)
9512 ("ghc-tasty" ,ghc-tasty)
9513 ("ghc-tasty-golden" ,ghc-tasty-golden)
9514 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9515 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9516 (home-page "https://github.com/jgm/skylighting")
9517 (synopsis "Syntax highlighting library")
9518 (description "Skylighting is a syntax highlighting library with support
9519for over one hundred languages. It derives its tokenizers from XML syntax
9520definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9521supported by that framework can be added. An optional command-line program is
9522provided. Skylighting is intended to be the successor to highlighting-kate.")
9523 (license license:gpl2)))
9524
9525(define-public ghc-skylighting
9526 (package
9527 (inherit ghc-skylighting-core)
9528 (name "ghc-skylighting")
36c940cf 9529 (version "0.8.2.1")
dddbc90c
RV
9530 (source (origin
9531 (method url-fetch)
9532 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9533 version "/skylighting-" version ".tar.gz"))
9534 (sha256
9535 (base32
36c940cf 9536 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
9537 (inputs
9538 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9539 ,@(package-inputs ghc-skylighting-core)))))
9540
9541(define-public ghc-smallcheck
9542 (package
9543 (name "ghc-smallcheck")
9544 (version "1.1.5")
9545 (source
9546 (origin
9547 (method url-fetch)
9548 (uri (string-append
9549 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9550 version
9551 ".tar.gz"))
9552 (sha256
9553 (base32
9554 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9555 (build-system haskell-build-system)
9556 (inputs
9557 `(("ghc-logict" ,ghc-logict)))
9558 (home-page
9559 "https://github.com/feuerbach/smallcheck")
9560 (synopsis "Property-based testing library")
9561 (description "SmallCheck is a testing library that allows to verify
9562properties for all test cases up to some depth. The test cases are generated
9563automatically by SmallCheck.")
9564 (license license:bsd-3)))
9565
9566(define-public ghc-socks
9567 (package
9568 (name "ghc-socks")
ab761e9d 9569 (version "0.6.1")
dddbc90c
RV
9570 (source (origin
9571 (method url-fetch)
9572 (uri (string-append "https://hackage.haskell.org/package/"
9573 "socks/socks-" version ".tar.gz"))
9574 (sha256
9575 (base32
ab761e9d 9576 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
9577 (build-system haskell-build-system)
9578 (inputs
9579 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 9580 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
9581 ("ghc-network" ,ghc-network)))
9582 (home-page "https://github.com/vincenthz/hs-socks")
9583 (synopsis "SOCKS proxy (version 5) implementation")
9584 (description
9585 "This library provides a SOCKS proxy (version 5) implementation.")
9586 (license license:bsd-3)))
9587
081d85d6
TS
9588(define-public ghc-sop-core
9589 (package
9590 (name "ghc-sop-core")
9591 (version "0.4.0.0")
9592 (source
9593 (origin
9594 (method url-fetch)
9595 (uri (string-append "https://hackage.haskell.org/package/"
9596 "sop-core/sop-core-" version ".tar.gz"))
9597 (sha256
9598 (base32
9599 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9600 (build-system haskell-build-system)
9601 (home-page "http://hackage.haskell.org/package/sop-core")
9602 (synopsis "True Sums of Products")
9603 (description "This package provides an implementation of
9604@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9605is the main module of this library and contains more detailed
9606documentation. The main use case of this package is to serve as the
9607core of @url{https://hackage.haskell.org/package/generics-sop,
9608generics-sop}.")
9609 (license license:bsd-3)))
9610
dddbc90c
RV
9611(define-public ghc-split
9612 (package
9613 (name "ghc-split")
9614 (version "0.2.3.3")
9615 (outputs '("out" "doc"))
9616 (source
9617 (origin
9618 (method url-fetch)
9619 (uri (string-append
9620 "https://hackage.haskell.org/package/split/split-"
9621 version
9622 ".tar.gz"))
9623 (sha256
9624 (base32
9625 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9626 (build-system haskell-build-system)
9bbc21a7
TS
9627 (arguments
9628 `(#:cabal-revision
9629 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
9630 (native-inputs
9631 `(("ghc-quickcheck" ,ghc-quickcheck)))
9632 (home-page "https://hackage.haskell.org/package/split")
9633 (synopsis "Combinator library for splitting lists")
9634 (description "This package provides a collection of Haskell functions for
9635splitting lists into parts, akin to the @code{split} function found in several
9636mainstream languages.")
9637 (license license:bsd-3)))
9638
7799d17f 9639(define-public ghc-splitmix
49367c92 9640 (package
7799d17f 9641 (name "ghc-splitmix")
49367c92
TS
9642 (version "0.0.3")
9643 (source
9644 (origin
9645 (method url-fetch)
9646 (uri (string-append "https://hackage.haskell.org/package/"
9647 "splitmix/splitmix-" version ".tar.gz"))
9648 (sha256
9649 (base32
9650 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 9651 (build-system haskell-build-system)
49367c92
TS
9652 (inputs
9653 `(("ghc-random" ,ghc-random)))
7799d17f
TS
9654 (native-inputs
9655 `(("ghc-hunit" ,ghc-hunit)
9656 ("ghc-async" ,ghc-async)
9657 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
9658 ("ghc-tf-random" ,ghc-tf-random)
9659 ("ghc-vector" ,ghc-vector)))
49367c92
TS
9660 (home-page "http://hackage.haskell.org/package/splitmix")
9661 (synopsis "Fast and splittable pseudorandom number generator")
9662 (description "This package provides a Pure Haskell implementation of the
9663SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
9664pseudorandom number generator that is quite fast: 9 64-bit
9665arithmetic/logical operations per 64 bits generated. SplitMix is tested
9666with two standard statistical test suites (DieHarder and TestU01, this
9667implementation only using the former) and it appears to be adequate for
9668\"everyday\" use, such as Monte Carlo algorithms and randomized data
9669structures where speed is important. In particular, it @strong{should not
9670be used for cryptographic or security applications}, because generated
9671sequences of pseudorandom values are too predictable (the mixing functions
9672are easily inverted, and two successive outputs suffice to reconstruct the
9673internal state).")
9674 (license license:bsd-3)))
9675
7799d17f
TS
9676(define-public ghc-splitmix-bootstrap
9677 (package
9678 (inherit ghc-splitmix)
9679 (name "ghc-splitmix-bootstrap")
9680 (arguments `(#:tests? #f))
9681 (native-inputs '())
9682 (properties '((hidden? #t)))))
9683
dddbc90c
RV
9684(define-public ghc-statevar
9685 (package
9686 (name "ghc-statevar")
19419709 9687 (version "1.2")
dddbc90c
RV
9688 (source
9689 (origin
9690 (method url-fetch)
9691 (uri (string-append
9692 "https://hackage.haskell.org/package/StateVar/StateVar-"
9693 version
9694 ".tar.gz"))
9695 (sha256
9696 (base32
19419709 9697 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9698 (build-system haskell-build-system)
9699 (home-page "https://hackage.haskell.org/package/StateVar")
9700 (synopsis "State variables for Haskell")
9701 (description "This package provides state variables, which are references
9702in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9703 (license license:bsd-3)))
9704
9705(define-public ghc-statistics
9706 (package
9707 (name "ghc-statistics")
60e78e68 9708 (version "0.15.1.1")
dddbc90c
RV
9709 (source
9710 (origin
9711 (method url-fetch)
9712 (uri (string-append "https://hackage.haskell.org/package/"
9713 "statistics-" version "/"
9714 "statistics-" version ".tar.gz"))
9715 (sha256
9716 (base32
60e78e68 9717 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
9718 (build-system haskell-build-system)
9719 (arguments
60e78e68 9720 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
9721 #:tests? #f))
9722 (inputs
9723 `(("ghc-aeson" ,ghc-aeson)
60e78e68 9724 ("ghc-async" ,ghc-async)
dddbc90c 9725 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 9726 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
9727 ("ghc-math-functions" ,ghc-math-functions)
9728 ("ghc-monad-par" ,ghc-monad-par)
9729 ("ghc-mwc-random" ,ghc-mwc-random)
9730 ("ghc-primitive" ,ghc-primitive)
9731 ("ghc-vector" ,ghc-vector)
9732 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9733 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9734 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9735 (native-inputs
9736 `(("ghc-hunit" ,ghc-hunit)
9737 ("ghc-quickcheck" ,ghc-quickcheck)
9738 ("ghc-ieee754" ,ghc-ieee754)
9739 ("ghc-test-framework" ,ghc-test-framework)
9740 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9741 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9742 (home-page "https://github.com/bos/mwc-random")
9743 (synopsis "Haskell library of statistical types, data, and functions")
9744 (description "This library provides a number of common functions
9745and types useful in statistics. We focus on high performance, numerical
9746robustness, and use of good algorithms. Where possible, we provide references
9747to the statistical literature.
9748
9749The library's facilities can be divided into four broad categories:
9750
9751@itemize
9752@item Working with widely used discrete and continuous probability
9753distributions. (There are dozens of exotic distributions in use; we focus
9754on the most common.)
9755
9756@item Computing with sample data: quantile estimation, kernel density
9757estimation, histograms, bootstrap methods, significance testing,
9758and regression and autocorrelation analysis.
9759
9760@item Random variate generation under several different distributions.
9761
9762@item Common statistical tests for significant differences between samples.
9763@end itemize")
9764 (license license:bsd-2)))
9765
9766(define-public ghc-stm-chans
9767 (package
9768 (name "ghc-stm-chans")
9769 (version "3.0.0.4")
9770 (source
9771 (origin
9772 (method url-fetch)
9773 (uri (string-append "https://hackage.haskell.org/package/"
9774 "stm-chans-" version "/"
9775 "stm-chans-" version ".tar.gz"))
9776 (sha256
9777 (base32
9778 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9779 (build-system haskell-build-system)
9780 (home-page "https://hackage.haskell.org/package/stm-chans")
9781 (synopsis "Additional types of channels for ghc-stm")
9782 (description "This Haskell package offers a collection of channel types,
9783similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9784features.")
9785 (license license:bsd-3)))
9786
9787(define-public ghc-stm-conduit
9788 (package
9789 (name "ghc-stm-conduit")
cd518e95 9790 (version "4.0.1")
dddbc90c
RV
9791 (source
9792 (origin
9793 (method url-fetch)
9794 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9795 "stm-conduit-" version ".tar.gz"))
9796 (sha256
9797 (base32
cd518e95 9798 "0hhlxvpp7mah8dcvkknh6skx44jfk3092zz2w52zlr255bkmn3p8"))))
dddbc90c
RV
9799 (build-system haskell-build-system)
9800 (inputs
9801 `(("ghc-stm-chans" ,ghc-stm-chans)
9802 ("ghc-cereal" ,ghc-cereal)
9803 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9804 ("ghc-conduit" ,ghc-conduit)
9805 ("ghc-conduit-extra" ,ghc-conduit-extra)
9806 ("ghc-exceptions" ,ghc-exceptions)
9807 ("ghc-resourcet" ,ghc-resourcet)
9808 ("ghc-async" ,ghc-async)
9809 ("ghc-monad-loops" ,ghc-monad-loops)
9810 ("ghc-unliftio" ,ghc-unliftio)))
9811 (native-inputs
9812 `(("ghc-doctest" ,ghc-doctest)
9813 ("ghc-quickcheck" ,ghc-quickcheck)
9814 ("ghc-hunit" ,ghc-hunit)
9815 ("ghc-test-framework" ,ghc-test-framework)
9816 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9817 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9818 (home-page "https://github.com/cgaebel/stm-conduit")
9819 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9820 (description
9821 "This package provides two simple conduit wrappers around STM channels: a
9822source and a sink.")
9823 (license license:bsd-3)))
9824
9825(define-public ghc-stmonadtrans
9826 (package
9827 (name "ghc-stmonadtrans")
9828 (version "0.4.3")
9829 (source
9830 (origin
9831 (method url-fetch)
9832 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9833 "/STMonadTrans-" version ".tar.gz"))
9834 (sha256
9835 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9836 (build-system haskell-build-system)
9837 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9838 (synopsis "Monad transformer version of the ST monad")
9839 (description
9840 "This package provides a monad transformer version of the @code{ST} monad
9841for strict state threads.")
9842 (license license:bsd-3)))
9843
9844(define-public ghc-storable-complex
9845 (package
9846 (name "ghc-storable-complex")
4a35e3c3 9847 (version "0.2.3.0")
dddbc90c
RV
9848 (source
9849 (origin
9850 (method url-fetch)
9851 (uri (string-append
9852 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9853 version ".tar.gz"))
9854 (sha256
4a35e3c3 9855 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 9856 (build-system haskell-build-system)
4a35e3c3
TS
9857 (inputs
9858 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
9859 (home-page "https://github.com/cartazio/storable-complex")
9860 (synopsis "Haskell Storable instance for Complex")
9861 (description "This package provides a Haskell library including a
9862Storable instance for Complex which is binary compatible with C99, C++
9863and Fortran complex data types.")
9864 (license license:bsd-3)))
9865
ad80074a
JS
9866(define-public ghc-storable-record
9867 (package
9868 (name "ghc-storable-record")
9869 (version "0.0.4")
9870 (source
9871 (origin
9872 (method url-fetch)
9873 (uri
9874 (string-append
9875 "https://hackage.haskell.org/package/storable-record/"
9876 "storable-record-" version ".tar.gz"))
9877 (sha256
9878 (base32
9879 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9880 (build-system haskell-build-system)
9881 (inputs
9882 `(("ghc-semigroups" ,ghc-semigroups)
9883 ("ghc-utility-ht" ,ghc-utility-ht)
9884 ("ghc-storablevector" ,ghc-storablevector)
9885 ("ghc-timeit" ,ghc-timeit)))
9886 (home-page "https://hackage.haskell.org/package/storable-record")
9887 (synopsis "Elegant definition of Storable instances for records")
9888 (description "With this package you can build a Storable instance of
9889a record type from Storable instances of its elements in an elegant way.
9890It does not do any magic, just a bit arithmetic to compute the right
9891offsets, that would be otherwise done manually or by a preprocessor like
9892C2HS. There is no guarantee that the generated memory layout is
9893compatible with that of a corresponding C struct. However, the module
9894generates the smallest layout that is possible with respect to the
9895alignment of the record elements.")
9896 (license license:bsd-3)))
9897
55f4c653
JS
9898(define-public ghc-storable-tuple
9899 (package
9900 (name "ghc-storable-tuple")
9901 (version "0.0.3.3")
9902 (source
9903 (origin
9904 (method url-fetch)
9905 (uri
9906 (string-append
9907 "https://hackage.haskell.org/package/storable-tuple/"
9908 "storable-tuple-" version ".tar.gz"))
9909 (sha256
9910 (base32
9911 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9912 (build-system haskell-build-system)
9913 (inputs
9914 `(("ghc-storable-record" ,ghc-storable-record)
9915 ("ghc-utility-ht" ,ghc-utility-ht)
9916 ("ghc-base-orphans" ,ghc-base-orphans)))
9917 (home-page "https://hackage.haskell.org/package/storable-tuple")
9918 (synopsis "Storable instance for pairs and triples")
9919 (description "This package provides a Storable instance for pairs
9920and triples which should be binary compatible with C99 and C++. The
9921only purpose of this package is to provide a standard location for this
9922instance so that other packages needing this instance can play nicely
9923together.")
9924 (license license:bsd-3)))
9925
bc06ca45
JS
9926(define-public ghc-storablevector
9927 (package
9928 (name "ghc-storablevector")
9929 (version "0.2.13")
9930 (source
9931 (origin
9932 (method url-fetch)
9933 (uri
9934 (string-append
9935 "https://hackage.haskell.org/package/storablevector/storablevector-"
9936 version ".tar.gz"))
9937 (sha256
9938 (base32
9939 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9940 (build-system haskell-build-system)
9941 (inputs
9942 `(("ghc-non-negative" ,ghc-non-negative)
9943 ("ghc-utility-ht" ,ghc-utility-ht)
9944 ("ghc-semigroups" ,ghc-semigroups)
9945 ("ghc-unsafe" ,ghc-unsafe)
9946 ("ghc-quickcheck" ,ghc-quickcheck)
9947 ("ghc-syb" ,ghc-syb)))
9948 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9949 (synopsis "Fast, packed, strict storable arrays with a list interface")
9950 (description "This library provides fast, packed, strict storable
9951arrays with a list interface, a chunky lazy list interface with variable
9952chunk size and an interface for write access via the ST monad. This is
9953much like bytestring and binary but can be used for every
9954@code{Foreign.Storable.Storable} type. See also
9955@url{http://hackage.haskell.org/package/vector}, a library with a
9956similar intention.
9957
9958This library does not do advanced fusion optimization, since especially
9959for lazy vectors this would either be incorrect or not applicable. See
9960@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9961a library that provides fusion with lazy lists.")
9962 (license license:bsd-3)))
9963
dddbc90c
RV
9964(define-public ghc-streaming-commons
9965 (package
9966 (name "ghc-streaming-commons")
9967 (version "0.2.1.1")
9968 (source
9969 (origin
9970 (method url-fetch)
9971 (uri (string-append "https://hackage.haskell.org/package/"
9972 "streaming-commons/streaming-commons-"
9973 version ".tar.gz"))
9974 (sha256
9975 (base32
9976 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9977 (build-system haskell-build-system)
9978 (inputs
9979 `(("ghc-async" ,ghc-async)
9980 ("ghc-blaze-builder" ,ghc-blaze-builder)
9981 ("ghc-network" ,ghc-network)
9982 ("ghc-random" ,ghc-random)
9983 ("ghc-zlib" ,ghc-zlib)))
9984 (native-inputs
9985 `(("ghc-quickcheck" ,ghc-quickcheck)
9986 ("ghc-hspec" ,ghc-hspec)
9987 ("hspec-discover" ,hspec-discover)))
9988 (home-page "https://hackage.haskell.org/package/streaming-commons")
9989 (synopsis "Conduit and pipes needed by some streaming data libraries")
9990 (description "This package provides low-dependency functionality commonly
9991needed by various Haskell streaming data libraries, such as @code{conduit} and
9992@code{pipe}s.")
9993 (license license:expat)))
9994
9995(define-public ghc-strict
9996 (package
9997 (name "ghc-strict")
9998 (version "0.3.2")
9999 (source
10000 (origin
10001 (method url-fetch)
10002 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
10003 version ".tar.gz"))
10004 (sha256
10005 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
10006 (build-system haskell-build-system)
10007 (home-page "https://hackage.haskell.org/package/strict")
10008 (synopsis "Strict data types and String IO")
10009 (description
10010 "This package provides strict versions of some standard Haskell data
10011types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
10012IO operations.")
10013 (license license:bsd-3)))
10014
10015(define-public ghc-stringbuilder
10016 (package
10017 (name "ghc-stringbuilder")
10018 (version "0.5.1")
10019 (source
10020 (origin
10021 (method url-fetch)
10022 (uri (string-append
10023 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
10024 version
10025 ".tar.gz"))
10026 (sha256
10027 (base32
10028 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
10029 (build-system haskell-build-system)
10030 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
10031 ; enabled
10032 (home-page "https://hackage.haskell.org/package/stringbuilder")
10033 (synopsis "Writer monad for multi-line string literals")
10034 (description "This package provides a writer monad for multi-line string
10035literals.")
10036 (license license:expat)))
10037
10038(define-public ghc-string-qq
10039 (package
10040 (name "ghc-string-qq")
4d6fddc3 10041 (version "0.0.4")
dddbc90c
RV
10042 (source
10043 (origin
10044 (method url-fetch)
10045 (uri (string-append
10046 "https://hackage.haskell.org/package/string-qq/string-qq-"
10047 version
10048 ".tar.gz"))
10049 (sha256
10050 (base32
4d6fddc3 10051 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 10052 (build-system haskell-build-system)
4d6fddc3
TS
10053 (native-inputs
10054 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
10055 (home-page "http://hackage.haskell.org/package/string-qq")
10056 (synopsis
10057 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
10058 (description
10059 "This package provides a quasiquoter for non-interpolated strings, texts
10060and bytestrings.")
10061 (license license:public-domain)))
10062
10063(define-public ghc-stringsearch
10064 (package
10065 (name "ghc-stringsearch")
10066 (version "0.3.6.6")
10067 (source
10068 (origin
10069 (method url-fetch)
10070 (uri (string-append
10071 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
10072 version
10073 ".tar.gz"))
10074 (sha256
10075 (base32
10076 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
10077 (build-system haskell-build-system)
e2303abb
TS
10078 (arguments
10079 `(#:cabal-revision
10080 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
10081 (home-page "https://bitbucket.org/dafis/stringsearch")
10082 (synopsis "Fast searching, splitting and replacing of ByteStrings")
10083 (description "This package provides several functions to quickly search
10084for substrings in strict or lazy @code{ByteStrings}. It also provides
10085functions for breaking or splitting on substrings and replacing all
10086occurrences of a substring (the first in case of overlaps) with another.")
10087 (license license:bsd-3)))
10088
10089(define-public ghc-stylish-haskell
10090 (package
10091 (name "ghc-stylish-haskell")
10092 (version "0.9.2.1")
10093 (source
10094 (origin
10095 (method url-fetch)
10096 (uri (string-append
10097 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
10098 version
10099 ".tar.gz"))
10100 (sha256
10101 (base32
10102 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
10103 (build-system haskell-build-system)
10104 (inputs
10105 `(("ghc-aeson" ,ghc-aeson)
10106 ("ghc-file-embed" ,ghc-file-embed)
10107 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
10108 ("ghc-semigroups" ,ghc-semigroups)
10109 ("ghc-syb" ,ghc-syb)
10110 ("ghc-yaml" ,ghc-yaml)
10111 ("ghc-strict" ,ghc-strict)
10112 ("ghc-optparse-applicative"
10113 ,ghc-optparse-applicative)))
10114 (native-inputs
10115 `(("ghc-hunit" ,ghc-hunit)
10116 ("ghc-test-framework" ,ghc-test-framework)
10117 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10118 (home-page "https://github.com/jaspervdj/stylish-haskell")
10119 (synopsis "Haskell code prettifier")
10120 (description "Stylish-haskell is a Haskell code prettifier. The goal is
10121not to format all of the code in a file, to avoid \"getting in the way\".
10122However, this tool can e.g. clean up import statements and help doing various
10123tasks that get tedious very quickly. It can
10124@itemize
10125@item
10126Align and sort @code{import} statements
10127@item
10128Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
10129pragmas
10130@item
10131Remove trailing whitespaces
10132@item
10133Align branches in @code{case} and fields in records
10134@item
10135Convert line endings (customisable)
10136@item
10137Replace tabs by four spaces (turned off by default)
10138@item
10139Replace some ASCII sequences by their Unicode equivalent (turned off by
10140default)
10141@end itemize")
10142 (license license:bsd-3)))
10143
10144(define-public ghc-syb
10145 (package
10146 (name "ghc-syb")
07d65eef 10147 (version "0.7.1")
dddbc90c
RV
10148 (outputs '("out" "doc"))
10149 (source
10150 (origin
10151 (method url-fetch)
10152 (uri (string-append
10153 "https://hackage.haskell.org/package/syb/syb-"
10154 version
10155 ".tar.gz"))
10156 (sha256
10157 (base32
07d65eef 10158 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
10159 (build-system haskell-build-system)
10160 (inputs
10161 `(("ghc-hunit" ,ghc-hunit)))
10162 (home-page
10163 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
10164 (synopsis "Scrap Your Boilerplate")
10165 (description "This package contains the generics system described in the
10166/Scrap Your Boilerplate/ papers (see
10167@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
10168defines the @code{Data} class of types permitting folding and unfolding of
10169constructor applications, instances of this class for primitive types, and a
10170variety of traversals.")
10171 (license license:bsd-3)))
10172
10173(define-public ghc-system-fileio
10174 (package
10175 (name "ghc-system-fileio")
dcfb99d4 10176 (version "0.3.16.4")
dddbc90c
RV
10177 (source
10178 (origin
10179 (method url-fetch)
10180 (uri (string-append
10181 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10182 version ".tar.gz"))
10183 (sha256
10184 (base32
dcfb99d4 10185 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 10186 (build-system haskell-build-system)
dcfb99d4
TS
10187 (arguments
10188 `(#:phases
10189 (modify-phases %standard-phases
10190 (add-before 'configure 'update-constraints
10191 (lambda _
10192 (substitute* "system-fileio.cabal"
10193 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
10194 #t)))))
dddbc90c
RV
10195 (inputs
10196 `(("ghc-system-filepath" ,ghc-system-filepath)
10197 ("ghc-chell" ,ghc-chell)
10198 ("ghc-temporary" ,ghc-temporary)))
10199 (home-page "https://github.com/fpco/haskell-filesystem")
10200 (synopsis "Consistent file system interaction across GHC versions")
10201 (description
10202 "This is a small wrapper around the directory, unix, and Win32 packages,
10203for use with system-filepath. It provides a consistent API to the various
10204versions of these packages distributed with different versions of GHC.
10205In particular, this library supports working with POSIX files that have paths
10206which can't be decoded in the current locale encoding.")
10207 (license license:expat)))
10208
10209;; See ghc-system-filepath-bootstrap. In addition this package depends on
10210;; ghc-system-filepath.
10211(define ghc-system-fileio-bootstrap
10212 (package
10213 (name "ghc-system-fileio-bootstrap")
10214 (version "0.3.16.3")
10215 (source
10216 (origin
10217 (method url-fetch)
10218 (uri (string-append
10219 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10220 version ".tar.gz"))
10221 (sha256
10222 (base32
10223 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10224 (build-system haskell-build-system)
10225 (arguments
10226 `(#:tests? #f))
10227 (inputs
10228 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10229 ("ghc-temporary" ,ghc-temporary)))
10230 (home-page "https://github.com/fpco/haskell-filesystem")
10231 (synopsis "Consistent file system interaction across GHC versions")
10232 (description
10233 "This is a small wrapper around the directory, unix, and Win32 packages,
10234for use with system-filepath. It provides a consistent API to the various
10235versions of these packages distributed with different versions of GHC.
10236In particular, this library supports working with POSIX files that have paths
10237which can't be decoded in the current locale encoding.")
10238 (license license:expat)))
10239
10240
10241(define-public ghc-system-filepath
10242 (package
10243 (name "ghc-system-filepath")
10244 (version "0.4.14")
10245 (source
10246 (origin
10247 (method url-fetch)
10248 (uri (string-append
10249 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10250 version ".tar.gz"))
10251 (sha256
10252 (base32
10253 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10254 (build-system haskell-build-system)
10255 ;; FIXME: One of the tests fails:
10256 ;; [ FAIL ] tests.validity.posix
10257 ;; note: seed=7310214548328823169
10258 ;; *** Failed! Falsifiable (after 24 tests):
10259 ;; 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"
10260 (arguments `(#:tests? #f))
10261 (inputs
10262 `(("ghc-chell" ,ghc-chell)
10263 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10264 ("ghc-quickcheck" ,ghc-quickcheck)))
10265 (home-page "https://github.com/fpco/haskell-filesystem")
10266 (synopsis "High-level, byte-based file and directory path manipulations")
10267 (description
10268 "Provides a FilePath datatype and utility functions for operating on it.
10269Unlike the filepath package, this package does not simply reuse String,
10270increasing type safety.")
10271 (license license:expat)))
10272
10273;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10274;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10275;; which depends on ghc-chell and ghc-chell-quickcheck.
10276;; Therefore we bootstrap it with tests disabled.
10277(define ghc-system-filepath-bootstrap
10278 (package
10279 (name "ghc-system-filepath-bootstrap")
10280 (version "0.4.14")
10281 (source
10282 (origin
10283 (method url-fetch)
10284 (uri (string-append
10285 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10286 version ".tar.gz"))
10287 (sha256
10288 (base32
10289 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10290 (build-system haskell-build-system)
10291 (arguments
10292 `(#:tests? #f))
10293 (inputs
10294 `(("ghc-quickcheck" ,ghc-quickcheck)))
10295 (home-page "https://github.com/fpco/haskell-filesystem")
10296 (synopsis "High-level, byte-based file and directory path manipulations")
10297 (description
10298 "Provides a FilePath datatype and utility functions for operating on it.
10299Unlike the filepath package, this package does not simply reuse String,
10300increasing type safety.")
10301 (license license:expat)))
10302
10303
10304(define-public ghc-tagged
10305 (package
10306 (name "ghc-tagged")
f0f3756a 10307 (version "0.8.6")
dddbc90c
RV
10308 (source
10309 (origin
10310 (method url-fetch)
10311 (uri (string-append
10312 "https://hackage.haskell.org/package/tagged/tagged-"
10313 version
10314 ".tar.gz"))
10315 (sha256
10316 (base32
f0f3756a 10317 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10318 (build-system haskell-build-system)
10319 (arguments
10320 `(#:cabal-revision
f0f3756a 10321 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10322 (inputs
10323 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10324 (home-page "https://hackage.haskell.org/package/tagged")
10325 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10326 (description "This library provides phantom types for Haskell 98, to avoid
10327having to unsafely pass dummy arguments.")
10328 (license license:bsd-3)))
10329
10330(define-public ghc-tar
10331 (package
10332 (name "ghc-tar")
ec83929f 10333 (version "0.5.1.1")
dddbc90c
RV
10334 (source
10335 (origin
10336 (method url-fetch)
10337 (uri (string-append
10338 "https://hackage.haskell.org/package/tar/tar-"
10339 version ".tar.gz"))
10340 (sha256
10341 (base32
ec83929f 10342 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10343 (build-system haskell-build-system)
10344 ;; FIXME: 2/24 tests fail.
10345 (arguments `(#:tests? #f))
10346 (inputs
10347 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10348 ("ghc-quickcheck" ,ghc-quickcheck)
10349 ("ghc-tasty" ,ghc-tasty)
10350 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10351 (home-page "https://hackage.haskell.org/package/tar")
10352 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10353 (description
10354 "This library is for working with \\\"@.tar@\\\" archive files.
10355It can read and write a range of common variations of the tar archive format
10356including V7, POSIX USTAR and GNU formats. It provides support for packing and
10357unpacking portable archives. This makes it suitable for distribution but not
10358backup because details like file ownership and exact permissions are not
10359preserved. It also provides features for random access to archive content using
10360an index.")
10361 (license license:bsd-3)))
10362
10363(define-public ghc-temporary
10364 (package
10365 (name "ghc-temporary")
10366 (version "1.3")
10367 (source
10368 (origin
10369 (method url-fetch)
10370 (uri (string-append
10371 "https://hackage.haskell.org/package/temporary/temporary-"
10372 version
10373 ".tar.gz"))
10374 (sha256
10375 (base32
10376 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10377 (build-system haskell-build-system)
10378 (inputs
10379 `(("ghc-exceptions" ,ghc-exceptions)
10380 ("ghc-random" ,ghc-random)))
10381 (native-inputs
10382 `(("ghc-base-compat" ,ghc-base-compat)
10383 ("ghc-tasty" ,ghc-tasty)
10384 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10385 (home-page "https://www.github.com/batterseapower/temporary")
10386 (synopsis "Temporary file and directory support")
10387 (description "The functions for creating temporary files and directories
10388in the Haskelll base library are quite limited. This library just repackages
10389the Cabal implementations of its own temporary file and folder functions so
10390that you can use them without linking against Cabal or depending on it being
10391installed.")
10392 (license license:bsd-3)))
10393
10394(define-public ghc-temporary-rc
10395 (package
10396 (name "ghc-temporary-rc")
10397 (version "1.2.0.3")
10398 (source
10399 (origin
10400 (method url-fetch)
10401 (uri (string-append
10402 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10403 version
10404 ".tar.gz"))
10405 (sha256
10406 (base32
10407 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10408 (build-system haskell-build-system)
10409 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10410 (home-page
10411 "https://www.github.com/feuerbach/temporary")
10412 (synopsis
10413 "Portable temporary file and directory support")
10414 (description
10415 "The functions for creating temporary files and directories in the base
10416library are quite limited. The unixutils package contains some good ones, but
10417they aren't portable to Windows. This library just repackages the Cabal
10418implementations of its own temporary file and folder functions so that you can
10419use them without linking against Cabal or depending on it being installed.
10420This is a better maintained fork of the \"temporary\" package.")
10421 (license license:bsd-3)))
10422
10423(define-public ghc-terminal-size
10424 (package
10425 (name "ghc-terminal-size")
10426 (version "0.3.2.1")
10427 (source (origin
10428 (method url-fetch)
10429 (uri (string-append
10430 "https://hackage.haskell.org/package/terminal-size/"
10431 "terminal-size-" version ".tar.gz"))
10432 (sha256
10433 (base32
10434 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10435 (build-system haskell-build-system)
10436 (home-page "https://hackage.haskell.org/package/terminal-size")
10437 (synopsis "Get terminal window height and width")
10438 (description "Get terminal window height and width without ncurses
10439dependency.")
10440 (license license:bsd-3)))
10441
10442(define-public ghc-texmath
10443 (package
10444 (name "ghc-texmath")
7fec7e66 10445 (version "0.11.3")
dddbc90c
RV
10446 (source (origin
10447 (method url-fetch)
10448 (uri (string-append "https://hackage.haskell.org/package/"
10449 "texmath/texmath-" version ".tar.gz"))
10450 (sha256
10451 (base32
7fec7e66 10452 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
10453 (build-system haskell-build-system)
10454 (inputs
10455 `(("ghc-syb" ,ghc-syb)
10456 ("ghc-network-uri" ,ghc-network-uri)
10457 ("ghc-split" ,ghc-split)
10458 ("ghc-temporary" ,ghc-temporary)
10459 ("ghc-utf8-string" ,ghc-utf8-string)
10460 ("ghc-xml" ,ghc-xml)
10461 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10462 (home-page "https://github.com/jgm/texmath")
10463 (synopsis "Conversion between formats used to represent mathematics")
10464 (description
10465 "The texmath library provides functions to read and write TeX math,
10466presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10467Office). Support is also included for converting math formats to pandoc's
10468native format (allowing conversion, via pandoc, to a variety of different
10469markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10470it can parse and apply LaTeX macros.")
10471 (license license:gpl2+)))
10472
10473(define-public ghc-text-binary
10474 (package
10475 (name "ghc-text-binary")
10476 (version "0.2.1.1")
10477 (source
10478 (origin
10479 (method url-fetch)
10480 (uri (string-append "https://hackage.haskell.org/package/"
10481 "text-binary/text-binary-"
10482 version ".tar.gz"))
10483 (sha256
10484 (base32
10485 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10486 (build-system haskell-build-system)
10487 (home-page "https://github.com/kawu/text-binary")
10488 (synopsis "Binary instances for text types")
10489 (description
10490 "This package provides a compatibility layer providing @code{Binary}
10491instances for strict and lazy text types for versions older than 1.2.1 of the
10492text package.")
10493 (license license:bsd-2)))
10494
bdc877c4
TS
10495(define-public ghc-text-metrics
10496 (package
10497 (name "ghc-text-metrics")
10498 (version "0.3.0")
10499 (source
10500 (origin
10501 (method url-fetch)
10502 (uri (string-append "https://hackage.haskell.org/package/"
10503 "text-metrics/text-metrics-" version ".tar.gz"))
10504 (sha256
10505 (base32
10506 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
10507 (build-system haskell-build-system)
10508 (inputs
10509 `(("ghc-vector" ,ghc-vector)))
10510 (native-inputs
10511 `(("ghc-quickcheck" ,ghc-quickcheck)
10512 ("ghc-hspec" ,ghc-hspec)))
10513 (arguments
10514 `(#:cabal-revision
10515 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
10516 (home-page "https://github.com/mrkkrp/text-metrics")
10517 (synopsis "Calculate various string metrics efficiently")
10518 (description "This library provides tools to calculate various
10519string metrics efficiently.")
10520 (license license:bsd-3)))
10521
dddbc90c
RV
10522(define-public ghc-tf-random
10523 (package
10524 (name "ghc-tf-random")
10525 (version "0.5")
10526 (outputs '("out" "doc"))
10527 (source
10528 (origin
10529 (method url-fetch)
10530 (uri (string-append
10531 "https://hackage.haskell.org/package/tf-random/tf-random-"
10532 version
10533 ".tar.gz"))
10534 (sha256
10535 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10536 (build-system haskell-build-system)
10537 (inputs
10538 `(("ghc-primitive" ,ghc-primitive)
10539 ("ghc-random" ,ghc-random)))
10540 (home-page "https://hackage.haskell.org/package/tf-random")
10541 (synopsis "High-quality splittable pseudorandom number generator")
10542 (description "This package contains an implementation of a high-quality
10543splittable pseudorandom number generator. The generator is based on a
10544cryptographic hash function built on top of the ThreeFish block cipher. See
10545the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10546Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10547 (license license:bsd-3)))
10548
10549(define-public ghc-th-abstraction
10550 (package
10551 (name "ghc-th-abstraction")
1188eabb 10552 (version "0.3.1.0")
dddbc90c
RV
10553 (source
10554 (origin
10555 (method url-fetch)
10556 (uri (string-append "https://hackage.haskell.org/package/"
10557 "th-abstraction/th-abstraction-"
10558 version ".tar.gz"))
10559 (sha256
10560 (base32
1188eabb 10561 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10562 (build-system haskell-build-system)
10563 (home-page "https://github.com/glguy/th-abstraction")
10564 (synopsis "Nicer interface for reified information about data types")
10565 (description
10566 "This package normalizes variations in the interface for inspecting
10567datatype information via Template Haskell so that packages and support a
10568single, easier to use informational datatype while supporting many versions of
10569Template Haskell.")
10570 (license license:isc)))
10571
10572(define-public ghc-th-expand-syns
10573 (package
10574 (name "ghc-th-expand-syns")
8c766600 10575 (version "0.4.5.0")
dddbc90c
RV
10576 (source (origin
10577 (method url-fetch)
10578 (uri (string-append "https://hackage.haskell.org/package/"
10579 "th-expand-syns/th-expand-syns-"
10580 version ".tar.gz"))
10581 (sha256
10582 (base32
8c766600 10583 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
10584 (build-system haskell-build-system)
10585 (inputs
10586 `(("ghc-syb" ,ghc-syb)))
10587 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10588 (synopsis "Expands type synonyms in Template Haskell ASTs")
10589 (description
10590 "This package enables users to expand type synonyms in Template Haskell
10591@dfn{abstract syntax trees} (ASTs).")
10592 (license license:bsd-3)))
10593
10594(define-public ghc-th-lift
10595 (package
10596 (name "ghc-th-lift")
bd76b20a 10597 (version "0.8.0.1")
dddbc90c
RV
10598 (source (origin
10599 (method url-fetch)
10600 (uri (string-append "https://hackage.haskell.org/package/"
10601 "th-lift/th-lift-" version ".tar.gz"))
10602 (sha256
10603 (base32
bd76b20a 10604 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10605 (build-system haskell-build-system)
10606 (inputs
10607 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10608 (home-page "https://github.com/mboes/th-lift")
10609 (synopsis "Derive Template Haskell's Lift class for datatypes")
10610 (description
10611 "This is a Haskell library to derive Template Haskell's Lift class for
10612datatypes.")
10613 (license license:bsd-3)))
10614
10615(define-public ghc-th-lift-instances
10616 (package
10617 (name "ghc-th-lift-instances")
d3db399e 10618 (version "0.1.14")
dddbc90c
RV
10619 (source
10620 (origin
10621 (method url-fetch)
10622 (uri (string-append "https://hackage.haskell.org/package/"
10623 "th-lift-instances/th-lift-instances-"
10624 version ".tar.gz"))
10625 (sha256
10626 (base32
d3db399e 10627 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
10628 (build-system haskell-build-system)
10629 (inputs
10630 `(("ghc-th-lift" ,ghc-th-lift)
10631 ("ghc-vector" ,ghc-vector)
10632 ("ghc-quickcheck" ,ghc-quickcheck)))
10633 (home-page "https://github.com/bennofs/th-lift-instances/")
10634 (synopsis "Lift instances for template-haskell for common data types.")
10635 (description "Most data types in the Haskell platform do not have Lift
10636instances. This package provides orphan instances for @code{containers},
10637@code{text}, @code{bytestring} and @code{vector}.")
10638 (license license:bsd-3)))
10639
10640(define-public ghc-th-orphans
10641 (package
10642 (name "ghc-th-orphans")
882b23e2 10643 (version "0.13.9")
dddbc90c
RV
10644 (source (origin
10645 (method url-fetch)
10646 (uri (string-append "https://hackage.haskell.org/package/"
10647 "th-orphans/th-orphans-" version ".tar.gz"))
10648 (sha256
10649 (base32
882b23e2 10650 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
10651 (build-system haskell-build-system)
10652 (inputs
10653 `(("ghc-th-lift" ,ghc-th-lift)
10654 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10655 ("ghc-th-reify-many" ,ghc-th-reify-many)
10656 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10657 (native-inputs
10658 `(("ghc-hspec" ,ghc-hspec)))
10659 (home-page "https://hackage.haskell.org/package/th-orphans")
10660 (synopsis "Orphan instances for TH datatypes")
10661 (description
10662 "This package provides orphan instances for Template Haskell datatypes. In particular,
10663instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10664and @code{Eq} instances. These instances used to live in the haskell-src-meta
10665package, and that's where the version number started.")
10666 (license license:bsd-3)))
10667
10668(define-public ghc-threads
10669 (package
10670 (name "ghc-threads")
10671 (version "0.5.1.6")
10672 (source
10673 (origin
10674 (method url-fetch)
10675 (uri (string-append "https://hackage.haskell.org/package/"
10676 "threads/threads-" version ".tar.gz"))
10677 (sha256
10678 (base32
10679 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10680 (build-system haskell-build-system)
10681 (native-inputs
10682 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10683 ("ghc-hunit" ,ghc-hunit)
10684 ("ghc-test-framework" ,ghc-test-framework)
10685 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10686 (home-page "https://github.com/basvandijk/threads")
10687 (synopsis "Fork threads and wait for their result")
10688 (description "This package provides functions to fork threads and
10689wait for their result, whether it's an exception or a normal value.
10690Besides waiting for the termination of a single thread this package also
10691provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10692package is similar to the @code{threadmanager}, @code{async} and
10693@code{spawn} packages. The advantages of this package are:
10694
dddbc90c
RV
10695@itemize
10696@item Simpler API.
10697@item More efficient in both space and time.
10698@item No space-leak when forking a large number of threads.
10699@item Correct handling of asynchronous exceptions.
10700@item GHC specific functionality like @code{forkOn} and
10701@code{forkIOWithUnmask}.
10702@end itemize")
10703 (license license:bsd-3)))
10704
10705(define-public ghc-th-reify-many
10706 (package
10707 (name "ghc-th-reify-many")
32d4a6ae 10708 (version "0.1.9")
dddbc90c
RV
10709 (source (origin
10710 (method url-fetch)
10711 (uri (string-append "https://hackage.haskell.org/package/"
10712 "th-reify-many/th-reify-many-"
10713 version ".tar.gz"))
10714 (sha256
10715 (base32
32d4a6ae 10716 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
10717 (build-system haskell-build-system)
10718 (inputs
10719 `(("ghc-safe" ,ghc-safe)
10720 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10721 (home-page "https://github.com/mgsloan/th-reify-many")
10722 (synopsis "Recurseively reify template haskell datatype info")
10723 (description
10724 "th-reify-many provides functions for recursively reifying top level
10725declarations. The main intended use case is for enumerating the names of
10726datatypes reachable from an initial datatype, and passing these names to some
10727function which generates instances.")
10728 (license license:bsd-3)))
10729
75cfc9a2
TS
10730(define-public ghc-time-compat
10731 (package
10732 (name "ghc-time-compat")
10733 (version "1.9.2.2")
10734 (source
10735 (origin
10736 (method url-fetch)
10737 (uri (string-append "https://hackage.haskell.org/package/"
10738 "time-compat/time-compat-" version ".tar.gz"))
10739 (sha256
10740 (base32
10741 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
10742 (build-system haskell-build-system)
10743 (inputs
10744 `(("ghc-base-orphans" ,ghc-base-orphans)))
10745 (native-inputs
10746 `(("ghc-hunit" ,ghc-hunit)
10747 ("ghc-base-compat" ,ghc-base-compat)
10748 ("ghc-quickcheck" ,ghc-quickcheck)
10749 ("ghc-tagged" ,ghc-tagged)
10750 ("ghc-tasty" ,ghc-tasty)
10751 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10752 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10753 (arguments
10754 `(#:cabal-revision
10755 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
10756 (home-page "https://github.com/phadej/time-compat")
10757 (synopsis "Compatibility package for time")
10758 (description "This packages tries to compat as many @code{time}
10759features as possible.")
10760 (license license:bsd-3)))
10761
dddbc90c
RV
10762(define-public ghc-time-locale-compat
10763 (package
10764 (name "ghc-time-locale-compat")
10765 (version "0.1.1.5")
10766 (source
10767 (origin
10768 (method url-fetch)
10769 (uri (string-append "https://hackage.haskell.org/package/"
10770 "time-locale-compat/time-locale-compat-"
10771 version ".tar.gz"))
10772 (sha256
10773 (base32
10774 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10775 (build-system haskell-build-system)
10776 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10777 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10778 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10779 (description "This package contains a wrapped name module for
10780@code{TimeLocale}.")
10781 (license license:bsd-3)))
10782
7bbfa392
JS
10783(define-public ghc-timeit
10784 (package
10785 (name "ghc-timeit")
10786 (version "2.0")
10787 (source
10788 (origin
10789 (method url-fetch)
10790 (uri
10791 (string-append
10792 "https://hackage.haskell.org/package/timeit/timeit-"
10793 version ".tar.gz"))
10794 (sha256
10795 (base32
10796 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10797 (build-system haskell-build-system)
10798 (home-page "https://github.com/merijn/timeit")
10799 (synopsis "Time monadic computations with an IO base")
10800 (description "This package provides a simple wrapper to show the
10801used CPU time of monadic computation with an IO base.")
10802 (license license:bsd-3)))
10803
dddbc90c
RV
10804(define-public ghc-tldr
10805 (package
10806 (name "ghc-tldr")
871ceb31 10807 (version "0.4.0.2")
dddbc90c
RV
10808 (source
10809 (origin
10810 (method url-fetch)
10811 (uri (string-append
10812 "https://hackage.haskell.org/package/tldr/tldr-"
10813 version
10814 ".tar.gz"))
10815 (sha256
10816 (base32
871ceb31 10817 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
10818 (build-system haskell-build-system)
10819 (inputs
10820 `(("ghc-cmark" ,ghc-cmark)
10821 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10822 ("ghc-typed-process" ,ghc-typed-process)
10823 ("ghc-semigroups" ,ghc-semigroups)))
10824 (native-inputs
10825 `(("ghc-tasty" ,ghc-tasty)
10826 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10827 (home-page "https://github.com/psibi/tldr-hs#readme")
10828 (synopsis "Haskell tldr client")
10829 (description "This package provides the @command{tldr} command and a
10830Haskell client library allowing users to update and view @code{tldr} pages
10831from a shell. The @code{tldr} pages are a community effort to simplify the
10832man pages with practical examples.")
10833 (license license:bsd-3)))
10834
10835(define-public ghc-transformers-base
10836 (package
10837 (name "ghc-transformers-base")
10838 (version "0.4.5.2")
10839 (source
10840 (origin
10841 (method url-fetch)
10842 (uri (string-append
10843 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10844 version
10845 ".tar.gz"))
10846 (sha256
10847 (base32
10848 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10849 (build-system haskell-build-system)
10850 (inputs
10851 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10852 (home-page
10853 "https://hackage.haskell.org/package/transformers-compat")
10854 (synopsis
10855 "Backported transformer library")
10856 (description
10857 "Backported versions of types that were added to transformers in
10858transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10859compatibility to run on old versions of the platform.")
10860 (license license:bsd-3)))
10861
10862(define-public ghc-transformers-compat
10863 (package
10864 (name "ghc-transformers-compat")
1c9c4d58 10865 (version "0.6.5")
dddbc90c
RV
10866 (source
10867 (origin
10868 (method url-fetch)
10869 (uri (string-append
10870 "https://hackage.haskell.org/package/transformers-compat"
10871 "/transformers-compat-" version ".tar.gz"))
10872 (sha256
10873 (base32
1c9c4d58 10874 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
10875 (build-system haskell-build-system)
10876 (home-page "https://github.com/ekmett/transformers-compat/")
10877 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10878 (description "This package includes backported versions of types that were
10879added to transformers in transformers 0.3 and 0.4 for users who need strict
10880transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10881but also need those types.")
10882 (license license:bsd-3)))
10883
10884(define-public ghc-tree-diff
10885 (package
10886 (name "ghc-tree-diff")
10887 (version "0.0.1")
10888 (source
10889 (origin
10890 (method url-fetch)
10891 (uri (string-append
10892 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10893 version
10894 ".tar.gz"))
10895 (sha256
10896 (base32
10897 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10898 (build-system haskell-build-system)
10899 (arguments
10900 `(#:cabal-revision
10901 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10902 #:phases
10903 (modify-phases %standard-phases
10904 (add-before 'configure 'update-constraints
10905 (lambda _
10906 (substitute* "tree-diff.cabal"
10907 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10908 "trifecta >=1.7.1.1 && <=2")))))))
10909 (inputs
10910 `(("ghc-aeson" ,ghc-aeson)
10911 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10912 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10913 ("ghc-base-compat" ,ghc-base-compat)
10914 ("ghc-generics-sop" ,ghc-generics-sop)
10915 ("ghc-hashable" ,ghc-hashable)
10916 ("ghc-memotrie" ,ghc-memotrie)
10917 ("ghc-parsers" ,ghc-parsers)
10918 ("ghc-quickcheck" ,ghc-quickcheck)
10919 ("ghc-scientific" ,ghc-scientific)
10920 ("ghc-tagged" ,ghc-tagged)
10921 ("ghc-unordered-containers" ,ghc-unordered-containers)
10922 ("ghc-uuid-types" ,ghc-uuid-types)
10923 ("ghc-vector" ,ghc-vector)))
10924 (native-inputs
10925 `(("ghc-base-compat" ,ghc-base-compat)
10926 ("ghc-quickcheck" ,ghc-quickcheck)
10927 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10928 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10929 ("ghc-trifecta" ,ghc-trifecta)
10930 ("ghc-tasty" ,ghc-tasty)
10931 ("ghc-tasty-golden" ,ghc-tasty-golden)
10932 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10933 (home-page "https://github.com/phadej/tree-diff")
10934 (synopsis "Compute difference between (expression) trees")
10935 (description "This Haskell library provides a function for computing
10936the difference between (expression) trees. It also provides a way to
10937compute the difference between arbitrary abstract datatypes (ADTs) using
10938@code{Generics}-derivable helpers.")
10939 (license license:bsd-3)))
10940
10941(define-public ghc-trifecta
10942 (package
10943 (name "ghc-trifecta")
10944 (version "2")
10945 (source (origin
10946 (method url-fetch)
10947 (uri (string-append
10948 "https://hackage.haskell.org/package/trifecta/"
10949 "trifecta-" version ".tar.gz"))
10950 (sha256
10951 (base32
10952 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10953 (build-system haskell-build-system)
5ffe8cfd
TS
10954 (arguments
10955 `(#:tests? #f ; doctest suite fails to build on i686
10956 #:cabal-revision
10957 ("4" "0xbwyvwl6f2zylk60f2akwgq03qv49113xil7b1z1s3vlwbn5aj1")))
dddbc90c
RV
10958 (inputs
10959 `(("ghc-reducers" ,ghc-reducers)
10960 ("ghc-semigroups" ,ghc-semigroups)
10961 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10962 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10963 ("ghc-blaze-builder" ,ghc-blaze-builder)
10964 ("ghc-blaze-html" ,ghc-blaze-html)
10965 ("ghc-blaze-markup" ,ghc-blaze-markup)
10966 ("ghc-charset" ,ghc-charset)
10967 ("ghc-comonad" ,ghc-comonad)
10968 ("ghc-fingertree" ,ghc-fingertree)
10969 ("ghc-hashable" ,ghc-hashable)
10970 ("ghc-lens" ,ghc-lens)
10971 ("ghc-parsers" ,ghc-parsers)
10972 ("ghc-profunctors" ,ghc-profunctors)
10973 ("ghc-unordered-containers" ,ghc-unordered-containers)
10974 ("ghc-utf8-string" ,ghc-utf8-string)))
10975 (native-inputs
10976 `(("cabal-doctest" ,cabal-doctest)
10977 ("ghc-doctest" ,ghc-doctest)
10978 ("ghc-quickcheck" ,ghc-quickcheck)))
10979 (home-page "https://github.com/ekmett/trifecta/")
10980 (synopsis "Parser combinator library with convenient diagnostics")
10981 (description "Trifecta is a modern parser combinator library for Haskell,
10982with slicing and Clang-style colored diagnostics.")
10983 (license license:bsd-3)))
10984
10985(define-public ghc-tuple-th
10986 (package
10987 (name "ghc-tuple-th")
10988 (version "0.2.5")
10989 (source
10990 (origin
10991 (method url-fetch)
10992 (uri (string-append "https://hackage.haskell.org/package/"
10993 "tuple-th-" version "/"
10994 "tuple-th-" version ".tar.gz"))
10995 (sha256
10996 (base32
10997 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10998 (build-system haskell-build-system)
10999 (home-page "https://github.com/DanielSchuessler/tuple-th")
11000 (synopsis "Generate utility functions for tuples of statically known size
11001for Haskell")
11002 (description "This Haskell package contains Template Haskell functions for
11003generating functions similar to those in @code{Data.List} for tuples of
11004statically known size.")
11005 (license license:bsd-3)))
11006
11007(define-public ghc-typed-process
11008 (package
11009 (name "ghc-typed-process")
72fb84a5 11010 (version "0.2.6.0")
dddbc90c
RV
11011 (source
11012 (origin
11013 (method url-fetch)
11014 (uri (string-append "https://hackage.haskell.org/package/"
11015 "typed-process/typed-process-"
11016 version ".tar.gz"))
11017 (sha256
11018 (base32
72fb84a5 11019 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
11020 (build-system haskell-build-system)
11021 (inputs
72fb84a5
TS
11022 `(("ghc-async" ,ghc-async)
11023 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
11024 (native-inputs
11025 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
11026 ("ghc-hspec" ,ghc-hspec)
11027 ("hspec-discover" ,hspec-discover)
11028 ("ghc-temporary" ,ghc-temporary)))
11029 (home-page "https://haskell-lang.org/library/typed-process")
11030 (synopsis "Run external processes with strong typing of streams")
11031 (description
11032 "This library provides the ability to launch and interact with external
11033processes. It wraps around the @code{process} library, and intends to improve
11034upon it.")
11035 (license license:expat)))
11036
d392f803
AG
11037(define-public ghc-unagi-chan
11038 (package
11039 (name "ghc-unagi-chan")
11040 (version "0.4.1.2")
11041 (source
11042 (origin
11043 (method url-fetch)
11044 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
11045 "/unagi-chan-" version ".tar.gz"))
11046 (sha256
11047 (base32
11048 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
11049 (build-system haskell-build-system)
11050 (inputs
11051 `(("ghc-atomic-primops" ,ghc-atomic-primops)
11052 ("ghc-primitive" ,ghc-primitive)))
11053 (arguments
11054 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
11055 #:cabal-revision
11056 ("1"
11057 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
11058 (home-page "http://hackage.haskell.org/package/unagi-chan")
11059 (synopsis "Fast concurrent queues with a Chan-like API, and more")
11060 (description
11061 "This library provides implementations of concurrent FIFO queues (for
11062both general boxed and primitive unboxed values) that are fast, perform well
11063under contention, and offer a Chan-like interface. The library may be of
11064limited usefulness outside of x86 architectures where the fetch-and-add
11065instruction is not available.")
11066 (license license:bsd-3)))
11067
dddbc90c
RV
11068(define-public ghc-unbounded-delays
11069 (package
11070 (name "ghc-unbounded-delays")
11071 (version "0.1.1.0")
11072 (source
11073 (origin
11074 (method url-fetch)
11075 (uri (string-append
11076 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
11077 version
11078 ".tar.gz"))
11079 (sha256
11080 (base32
11081 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
11082 (build-system haskell-build-system)
11083 (home-page "https://github.com/basvandijk/unbounded-delays")
11084 (synopsis "Unbounded thread delays and timeouts")
11085 (description "The @code{threadDelay} and @code{timeout} functions from the
11086Haskell base library use the bounded @code{Int} type for specifying the delay
11087or timeout period. This package provides alternative functions which use the
11088unbounded @code{Integer} type.")
11089 (license license:bsd-3)))
11090
11091(define-public ghc-unexceptionalio
11092 (package
11093 (name "ghc-unexceptionalio")
11094 (version "0.4.0")
11095 (source
11096 (origin
11097 (method url-fetch)
11098 (uri (string-append "https://hackage.haskell.org/package/"
11099 "unexceptionalio-" version "/" "unexceptionalio-"
11100 version ".tar.gz"))
11101 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
11102 (build-system haskell-build-system)
11103 (home-page "https://github.com/singpolyma/unexceptionalio")
11104 (synopsis "IO without any non-error, synchronous exceptions")
11105 (description "When you've caught all the exceptions that can be
11106handled safely, this is what you're left with.")
11107 (license license:isc)))
11108
11109(define-public ghc-union-find
11110 (package
11111 (name "ghc-union-find")
11112 (version "0.2")
11113 (source (origin
11114 (method url-fetch)
11115 (uri (string-append
11116 "https://hackage.haskell.org/package/union-find/union-find-"
11117 version ".tar.gz"))
11118 (sha256
11119 (base32
11120 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
11121 (build-system haskell-build-system)
11122 (home-page "https://github.com/nominolo/union-find")
11123 (synopsis "Efficient union and equivalence testing of sets")
11124 (description
11125 "The Union/Find algorithm implements these operations in (effectively)
11126constant-time:
11127@enumerate
11128@item Check whether two elements are in the same equivalence class.
11129@item Create a union of two equivalence classes.
11130@item Look up the descriptor of the equivalence class.
11131@end enumerate\n")
11132 (license license:bsd-3)))
11133
11134(define-public ghc-uniplate
11135 (package
11136 (name "ghc-uniplate")
11137 (version "1.6.12")
11138 (source
11139 (origin
11140 (method url-fetch)
11141 (uri (string-append
11142 "https://hackage.haskell.org/package/uniplate/uniplate-"
11143 version
11144 ".tar.gz"))
11145 (sha256
11146 (base32
11147 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
11148 (build-system haskell-build-system)
11149 (inputs
11150 `(("ghc-syb" ,ghc-syb)
11151 ("ghc-hashable" ,ghc-hashable)
11152 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11153 (home-page "http://community.haskell.org/~ndm/uniplate/")
11154 (synopsis "Simple, concise and fast generic operations")
11155 (description "Uniplate is a library for writing simple and concise generic
11156operations. Uniplate has similar goals to the original Scrap Your Boilerplate
11157work, but is substantially simpler and faster.")
11158 (license license:bsd-3)))
11159
11160(define-public ghc-unix-compat
11161 (package
11162 (name "ghc-unix-compat")
bc82e9f5 11163 (version "0.5.2")
dddbc90c
RV
11164 (source
11165 (origin
11166 (method url-fetch)
11167 (uri (string-append
11168 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
11169 version
11170 ".tar.gz"))
11171 (sha256
11172 (base32
bc82e9f5 11173 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
11174 (build-system haskell-build-system)
11175 (home-page
11176 "https://github.com/jystic/unix-compat")
11177 (synopsis "Portable POSIX-compatibility layer")
11178 (description
11179 "This package provides portable implementations of parts of the unix
11180package. This package re-exports the unix package when available. When it
11181isn't available, portable implementations are used.")
11182 (license license:bsd-3)))
11183
11184(define-public ghc-unix-time
11185 (package
11186 (name "ghc-unix-time")
fad9cff2 11187 (version "0.4.7")
dddbc90c
RV
11188 (source
11189 (origin
11190 (method url-fetch)
11191 (uri (string-append
11192 "https://hackage.haskell.org/package/unix-time/unix-time-"
11193 version
11194 ".tar.gz"))
11195 (sha256
11196 (base32
fad9cff2 11197 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
11198 (build-system haskell-build-system)
11199 (arguments
11200 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
11201 ; is weird, that should be provided by GHC 7.10.2.
11202 (inputs
11203 `(("ghc-old-time" ,ghc-old-time)
11204 ("ghc-old-locale" ,ghc-old-locale)))
11205 (home-page "https://hackage.haskell.org/package/unix-time")
11206 (synopsis "Unix time parser/formatter and utilities")
11207 (description "This library provides fast parsing and formatting utilities
11208for Unix time in Haskell.")
11209 (license license:bsd-3)))
11210
11211(define-public ghc-unliftio
11212 (package
11213 (name "ghc-unliftio")
a4084db1 11214 (version "0.2.12")
dddbc90c
RV
11215 (source
11216 (origin
11217 (method url-fetch)
11218 (uri (string-append
11219 "https://hackage.haskell.org/package/unliftio/unliftio-"
11220 version
11221 ".tar.gz"))
11222 (sha256
11223 (base32
a4084db1 11224 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
11225 (build-system haskell-build-system)
11226 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
11227 (inputs
11228 `(("ghc-async" ,ghc-async)
11229 ("ghc-unliftio-core" ,ghc-unliftio-core)))
11230 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
11231 (home-page "https://github.com/fpco/unliftio")
11232 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
11233IO (batteries included)")
11234 (description "This Haskell package provides the core @code{MonadUnliftIO}
11235typeclass, a number of common instances, and a collection of common functions
11236working with it.")
11237 (license license:expat)))
11238
11239(define-public ghc-unliftio-core
11240 (package
11241 (name "ghc-unliftio-core")
2ae42618 11242 (version "0.1.2.0")
dddbc90c
RV
11243 (source
11244 (origin
11245 (method url-fetch)
11246 (uri (string-append "https://hackage.haskell.org/package/"
11247 "unliftio-core-" version "/"
11248 "unliftio-core-" version ".tar.gz"))
11249 (sha256
11250 (base32
2ae42618 11251 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
11252 (build-system haskell-build-system)
11253 (arguments
11254 `(#:cabal-revision
2ae42618 11255 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
11256 (home-page
11257 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11258 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11259 (description "This Haskell package provides the core @code{MonadUnliftIO}
11260typeclass, instances for base and transformers, and basic utility
11261functions.")
11262 (license license:expat)))
11263
11264(define-public ghc-unordered-containers
11265 (package
11266 (name "ghc-unordered-containers")
ca01f8d3 11267 (version "0.2.10.0")
dddbc90c
RV
11268 (outputs '("out" "doc"))
11269 (source
11270 (origin
11271 (method url-fetch)
11272 (uri (string-append
11273 "https://hackage.haskell.org/package/unordered-containers"
11274 "/unordered-containers-" version ".tar.gz"))
11275 (sha256
11276 (base32
ca01f8d3 11277 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
11278 (build-system haskell-build-system)
11279 (inputs
11280 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11281 ("ghc-hunit" ,ghc-hunit)
11282 ("ghc-quickcheck" ,ghc-quickcheck)
11283 ("ghc-test-framework" ,ghc-test-framework)
11284 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11285 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11286 ("ghc-hashable" ,ghc-hashable)))
11287 (home-page
11288 "https://github.com/tibbe/unordered-containers")
11289 (synopsis
11290 "Efficient hashing-based container types")
11291 (description
11292 "Efficient hashing-based container types. The containers have been
11293optimized for performance critical use, both in terms of large data quantities
11294and high speed.")
11295 (license license:bsd-3)))
11296
11297(define-public ghc-unordered-containers-bootstrap
11298 (package
11299 (inherit ghc-unordered-containers)
11300 (name "ghc-unordered-containers-bootstrap")
11301 (arguments `(#:tests? #f))
11302 (inputs
11303 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11304 (properties '((hidden? #t)))))
dddbc90c 11305
a52f4c57
JS
11306(define-public ghc-unsafe
11307 (package
11308 (name "ghc-unsafe")
11309 (version "0.0")
11310 (source
11311 (origin
11312 (method url-fetch)
11313 (uri
11314 (string-append
11315 "https://hackage.haskell.org/package/unsafe/unsafe-"
11316 version ".tar.gz"))
11317 (sha256
11318 (base32
11319 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11320 (build-system haskell-build-system)
11321 (home-page "https://hackage.haskell.org/package/unsafe")
11322 (synopsis "Unified interface to unsafe functions")
11323 (description "Safe Haskell introduced the notion of safe and unsafe
11324modules. In order to make as many as possible modules ``safe'', the
11325well-known unsafe functions were moved to distinguished modules. This
11326makes it hard to write packages that work with both old and new versions
11327of GHC. This package provides a single module System.Unsafe that
11328exports the unsafe functions from the base package. It provides them in
11329a style ready for qualification, that is, you should import them by
11330@code{import qualified System.Unsafe as Unsafe}.")
11331 (license license:bsd-3)))
11332
dddbc90c
RV
11333(define-public ghc-uri-bytestring
11334 (package
11335 (name "ghc-uri-bytestring")
d35ffd39 11336 (version "0.3.2.2")
dddbc90c
RV
11337 (source
11338 (origin
11339 (method url-fetch)
11340 (uri (string-append "https://hackage.haskell.org/package/"
11341 "uri-bytestring-" version "/"
11342 "uri-bytestring-" version ".tar.gz"))
11343 (sha256
11344 (base32
d35ffd39 11345 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
11346 (build-system haskell-build-system)
11347 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
11348 ("ghc-blaze-builder" ,ghc-blaze-builder)
11349 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 11350 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
11351 ("ghc-tasty" ,ghc-tasty)
11352 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
11353 ("ghc-hedgehog" ,ghc-hedgehog)
11354 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 11355 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 11356 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 11357 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
11358 (home-page "https://github.com/Soostone/uri-bytestring")
11359 (synopsis "Haskell URI parsing as ByteStrings")
11360 (description "This Haskell package aims to be an RFC3986 compliant URI
11361parser that uses ByteStrings for parsing and representing the URI data.")
11362 (license license:bsd-3)))
11363
11364(define-public ghc-utf8-string
11365 (package
11366 (name "ghc-utf8-string")
11367 (version "1.0.1.1")
11368 (source
11369 (origin
11370 (method url-fetch)
11371 (uri (string-append
11372 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11373 version
11374 ".tar.gz"))
11375 (sha256
11376 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11377 (build-system haskell-build-system)
11378 (arguments
11379 `(#:cabal-revision
11380 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11381 (home-page "https://github.com/glguy/utf8-string/")
11382 (synopsis "Support for reading and writing UTF8 Strings")
11383 (description
11384 "A UTF8 layer for Strings. The utf8-string package provides operations
11385for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11386UTF8 without truncation.")
11387 (license license:bsd-3)))
11388
11389(define-public ghc-utility-ht
11390 (package
11391 (name "ghc-utility-ht")
11392 (version "0.0.14")
11393 (home-page "https://hackage.haskell.org/package/utility-ht")
11394 (source
11395 (origin
11396 (method url-fetch)
11397 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11398 (sha256
11399 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11400 (build-system haskell-build-system)
11401 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11402 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11403 (description "This package includes Hakell modules providing various
11404helper functions for Lists, Maybes, Tuples, Functions.")
11405 (license license:bsd-3)))
11406
11407(define-public ghc-uuid
11408 (package
11409 (name "ghc-uuid")
11410 (version "1.3.13")
11411 (source
11412 (origin
11413 (method url-fetch)
11414 (uri (string-append "https://hackage.haskell.org/package/"
11415 "uuid-" version "/"
11416 "uuid-" version ".tar.gz"))
11417 (sha256
11418 (base32
11419 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11420 (build-system haskell-build-system)
11421 (arguments
11422 `(#:cabal-revision
11423 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11424 #:phases
11425 (modify-phases %standard-phases
11426 (add-before 'configure 'strip-test-framework-constraints
11427 (lambda _
11428 (substitute* "uuid.cabal"
11429 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11430 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11431 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11432 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11433 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11434 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11435 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11436 ("ghc-entropy" ,ghc-entropy)
11437 ("ghc-network-info" ,ghc-network-info)
11438 ("ghc-random" ,ghc-random)
11439 ("ghc-uuid-types" ,ghc-uuid-types)))
11440 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11441 ("ghc-quickcheck" ,ghc-quickcheck)
11442 ("ghc-tasty" ,ghc-tasty)
11443 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11444 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11445 (home-page "https://github.com/hvr/uuid")
11446 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11447 (description "This Haskell library provides utilities creating, comparing,
11448parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11449 (license license:bsd-3)))
11450
11451(define-public ghc-uuid-types
11452 (package
11453 (name "ghc-uuid-types")
11454 (version "1.0.3")
11455 (source
11456 (origin
11457 (method url-fetch)
11458 (uri (string-append "https://hackage.haskell.org/package/"
11459 "uuid-types-" version "/"
11460 "uuid-types-" version ".tar.gz"))
11461 (sha256
11462 (base32
11463 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11464 (build-system haskell-build-system)
11465 (arguments
11466 `(#:phases
11467 (modify-phases %standard-phases
11468 (add-before 'configure 'strip-test-framework-constraints
11469 (lambda _
11470 (substitute* "uuid-types.cabal"
11471 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11472 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11473 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11474 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11475 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11476 (inputs `(("ghc-hashable" ,ghc-hashable)
11477 ("ghc-random" ,ghc-random)))
11478 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11479 ("ghc-quickcheck" ,ghc-quickcheck)
11480 ("ghc-tasty" ,ghc-tasty)
11481 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11482 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11483 (home-page "https://github.com/hvr/uuid")
11484 (synopsis "Haskell type definitions for UUIDs")
11485 (description "This Haskell library contains type definitions for
11486@dfn{Universally Unique Identifiers} or
11487@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11488functions.")
11489 (license license:bsd-3)))
11490
11491(define-public ghc-validation
11492 (package
11493 (name "ghc-validation")
11494 (version "1")
11495 (source
11496 (origin
11497 (method url-fetch)
11498 (uri (string-append
11499 "mirror://hackage/package/validation/validation-"
11500 version
11501 ".tar.gz"))
11502 (sha256
11503 (base32
11504 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11505 (build-system haskell-build-system)
11506 (arguments
11507 `(#:cabal-revision
11508 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11509 (inputs
11510 `(("ghc-semigroups" ,ghc-semigroups)
11511 ("ghc-semigroupoids" ,ghc-semigroupoids)
11512 ("ghc-bifunctors" ,ghc-bifunctors)
11513 ("ghc-lens" ,ghc-lens)))
11514 (native-inputs
11515 `(("ghc-hedgehog" ,ghc-hedgehog)
11516 ("ghc-hunit" ,ghc-hunit)))
11517 (home-page "https://github.com/qfpl/validation")
11518 (synopsis
11519 "Data-type like Either but with an accumulating Applicative")
11520 (description
11521 "A data-type like Either but with differing properties and type-class
11522instances.
11523
11524Library support is provided for this different representation, including
11525@code{lens}-related functions for converting between each and abstracting over
11526their similarities.
11527
11528The @code{Validation} data type is isomorphic to @code{Either}, but has an
11529instance of @code{Applicative} that accumulates on the error side. That is to
11530say, if two (or more) errors are encountered, they are appended using a
11531@{Semigroup} operation.
11532
11533As a consequence of this @code{Applicative} instance, there is no
11534corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11535example of, \"An applicative functor that is not a monad.\"")
11536 (license license:bsd-3)))
11537
11538(define-public ghc-validity
11539 (package
11540 (name "ghc-validity")
3f1ba75d 11541 (version "0.9.0.2")
dddbc90c
RV
11542 (source
11543 (origin
11544 (method url-fetch)
11545 (uri (string-append
11546 "https://hackage.haskell.org/package/validity/validity-"
11547 version
11548 ".tar.gz"))
11549 (sha256
11550 (base32
3f1ba75d 11551 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
11552 (build-system haskell-build-system)
11553 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11554 ("hspec-discover" ,hspec-discover)))
11555 (home-page
11556 "https://github.com/NorfairKing/validity")
11557 (synopsis "Validity typeclass")
11558 (description
11559 "Values of custom types usually have invariants imposed upon them. This
11560package provides the @code{Validity} type class, which makes these invariants
11561explicit by providing a function to check whether the invariants hold.")
11562 (license license:expat)))
11563
11564(define-public ghc-vault
11565 (package
11566 (name "ghc-vault")
b40a436e 11567 (version "0.3.1.3")
dddbc90c
RV
11568 (source
11569 (origin
11570 (method url-fetch)
11571 (uri (string-append
11572 "https://hackage.haskell.org/package/vault/vault-"
11573 version
11574 ".tar.gz"))
11575 (sha256
11576 (base32
b40a436e 11577 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
11578 (build-system haskell-build-system)
11579 (inputs
11580 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11581 ("ghc-hashable" ,ghc-hashable)
b40a436e 11582 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
11583 (home-page
11584 "https://github.com/HeinrichApfelmus/vault")
11585 (synopsis "Persistent store for arbitrary values")
11586 (description "This package provides vaults for Haskell. A vault is a
11587persistent store for values of arbitrary types. It's like having first-class
11588access to the storage space behind @code{IORefs}. The data structure is
11589analogous to a bank vault, where you can access different bank boxes with
11590different keys; hence the name. Also provided is a @code{locker} type,
11591representing a store for a single element.")
11592 (license license:bsd-3)))
11593
11594(define-public ghc-vector
11595 (package
11596 (name "ghc-vector")
3ad67f6b 11597 (version "0.12.0.3")
dddbc90c
RV
11598 (outputs '("out" "doc"))
11599 (source
11600 (origin
11601 (method url-fetch)
11602 (uri (string-append
11603 "https://hackage.haskell.org/package/vector/vector-"
11604 version
11605 ".tar.gz"))
11606 (sha256
11607 (base32
3ad67f6b 11608 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
11609 (build-system haskell-build-system)
11610 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11611 ;; disabled for now.
11612 (arguments
3ad67f6b 11613 `(#:tests? #f))
dddbc90c
RV
11614 (inputs
11615 `(("ghc-primitive" ,ghc-primitive)
11616 ("ghc-random" ,ghc-random)
11617 ("ghc-quickcheck" ,ghc-quickcheck)
11618 ;; ("ghc-hunit" ,ghc-hunit)
11619 ;; ("ghc-test-framework" ,ghc-test-framework)
11620 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11621 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11622 ))
11623 (home-page "https://github.com/haskell/vector")
11624 (synopsis "Efficient Arrays")
11625 (description "This library provides an efficient implementation of
11626Int-indexed arrays (both mutable and immutable), with a powerful loop
11627optimisation framework.")
11628 (license license:bsd-3)))
11629
11630(define-public ghc-vector-algorithms
11631 (package
11632 (name "ghc-vector-algorithms")
e71f316f 11633 (version "0.8.0.1")
dddbc90c
RV
11634 (source
11635 (origin
11636 (method url-fetch)
11637 (uri (string-append "https://hackage.haskell.org/package/"
11638 "vector-algorithms-" version "/"
11639 "vector-algorithms-" version ".tar.gz"))
11640 (sha256
11641 (base32
e71f316f 11642 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
11643 (build-system haskell-build-system)
11644 (inputs
11645 `(("ghc-vector" ,ghc-vector)))
11646 (native-inputs
11647 `(("ghc-quickcheck" ,ghc-quickcheck)))
11648 (home-page "https://github.com/bos/math-functions")
11649 (synopsis "Algorithms for vector arrays in Haskell")
11650 (description "This Haskell library algorithms for vector arrays.")
11651 (license license:bsd-3)))
11652
11653(define-public ghc-vector-binary-instances
11654 (package
11655 (name "ghc-vector-binary-instances")
ca0701ef 11656 (version "0.2.5.1")
dddbc90c
RV
11657 (source
11658 (origin
11659 (method url-fetch)
11660 (uri (string-append
11661 "https://hackage.haskell.org/package/"
11662 "vector-binary-instances/vector-binary-instances-"
11663 version ".tar.gz"))
11664 (sha256
11665 (base32
ca0701ef 11666 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 11667 (build-system haskell-build-system)
dddbc90c
RV
11668 (inputs
11669 `(("ghc-vector" ,ghc-vector)))
11670 (native-inputs
11671 `(("ghc-tasty" ,ghc-tasty)
11672 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11673 (home-page "https://github.com/bos/vector-binary-instances")
11674 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11675 (description "This library provides instances of @code{Binary} for the
11676types defined in the @code{vector} package, making it easy to serialize
11677vectors to and from disk. We use the generic interface to vectors, so all
11678vector types are supported. Specific instances are provided for unboxed,
11679boxed and storable vectors.")
11680 (license license:bsd-3)))
11681
11682(define-public ghc-vector-builder
11683 (package
11684 (name "ghc-vector-builder")
1fc05441 11685 (version "0.3.8")
dddbc90c
RV
11686 (source
11687 (origin
11688 (method url-fetch)
11689 (uri (string-append "https://hackage.haskell.org/package/"
11690 "vector-builder-" version "/"
11691 "vector-builder-" version ".tar.gz"))
11692 (sha256
11693 (base32
1fc05441 11694 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
11695 (build-system haskell-build-system)
11696 (inputs `(("ghc-vector" ,ghc-vector)
11697 ("ghc-semigroups" ,ghc-semigroups)
11698 ("ghc-base-prelude" ,ghc-base-prelude)))
11699 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11700 ("ghc-tasty" ,ghc-tasty)
11701 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11702 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11703 ("ghc-hunit" ,ghc-hunit)
11704 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11705 ("ghc-rerebase" ,ghc-rerebase)))
11706 (home-page "https://github.com/nikita-volkov/vector-builder")
11707 (synopsis "Vector builder for Haskell")
11708 (description "This Haskell package provides an API for constructing vectors.
11709It provides the composable @code{Builder} abstraction, which has instances of the
11710@code{Monoid} and @code{Semigroup} classes.
11711
11712You would first use the @code{Builder} abstraction to specify the structure of
11713the vector; then you can execute the builder to actually produce the
11714vector. ")
11715 (license license:expat)))
11716
11717(define-public ghc-vector-th-unbox
11718 (package
11719 (name "ghc-vector-th-unbox")
63056e61 11720 (version "0.2.1.7")
dddbc90c
RV
11721 (source
11722 (origin
11723 (method url-fetch)
11724 (uri (string-append "https://hackage.haskell.org/package/"
11725 "vector-th-unbox-" version "/"
11726 "vector-th-unbox-" version ".tar.gz"))
11727 (sha256
11728 (base32
63056e61 11729 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
11730 (build-system haskell-build-system)
11731 (inputs
11732 `(("ghc-vector" ,ghc-vector)
11733 ("ghc-data-default" ,ghc-data-default)))
11734 (home-page "https://github.com/liyang/vector-th-unbox")
11735 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11736 (description "This Haskell library provides a Template Haskell
11737deriver for unboxed vectors, given a pair of coercion functions to
11738and from some existing type with an Unbox instance.")
11739 (license license:bsd-3)))
11740
11741(define-public ghc-void
11742 (package
11743 (name "ghc-void")
51889121 11744 (version "0.7.3")
dddbc90c
RV
11745 (source
11746 (origin
11747 (method url-fetch)
11748 (uri (string-append
11749 "https://hackage.haskell.org/package/void/void-"
11750 version
11751 ".tar.gz"))
11752 (sha256
11753 (base32
51889121 11754 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
11755 (build-system haskell-build-system)
11756 (inputs
11757 `(("ghc-semigroups" ,ghc-semigroups)
11758 ("ghc-hashable" ,ghc-hashable)))
11759 (home-page "https://github.com/ekmett/void")
11760 (synopsis
11761 "Logically uninhabited data type")
11762 (description
11763 "A Haskell 98 logically uninhabited data type, used to indicate that a
11764given term should not exist.")
11765 (license license:bsd-3)))
11766
11767(define-public ghc-wave
11768 (package
11769 (name "ghc-wave")
1631a0f7 11770 (version "0.2.0")
dddbc90c
RV
11771 (source (origin
11772 (method url-fetch)
11773 (uri (string-append
11774 "https://hackage.haskell.org/package/wave/wave-"
11775 version
11776 ".tar.gz"))
11777 (sha256
11778 (base32
1631a0f7 11779 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
11780 (build-system haskell-build-system)
11781 (arguments
11782 '(#:phases
11783 (modify-phases %standard-phases
11784 (add-before 'configure 'update-constraints
11785 (lambda _
11786 (substitute* "wave.cabal"
11787 (("temporary.* < 1\\.3")
11788 "temporary >= 1.1 && < 1.4")))))))
11789 (inputs
11790 `(("ghc-cereal" ,ghc-cereal)
11791 ("ghc-data-default-class"
11792 ,ghc-data-default-class)
11793 ("ghc-quickcheck" ,ghc-quickcheck)
11794 ("ghc-temporary" ,ghc-temporary)))
11795 (native-inputs
11796 `(("hspec-discover" ,hspec-discover)
11797 ("ghc-hspec" ,ghc-hspec)))
11798 (home-page "https://github.com/mrkkrp/wave")
11799 (synopsis "Work with WAVE and RF64 files in Haskell")
11800 (description "This package allows you to work with WAVE and RF64
11801files in Haskell.")
11802 (license license:bsd-3)))
11803
11804(define-public ghc-wcwidth
11805 (package
11806 (name "ghc-wcwidth")
11807 (version "0.0.2")
11808 (source
11809 (origin
11810 (method url-fetch)
11811 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11812 version ".tar.gz"))
11813 (sha256
11814 (base32
11815 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11816 (build-system haskell-build-system)
11817 (inputs
11818 `(("ghc-setlocale" ,ghc-setlocale)
11819 ("ghc-utf8-string" ,ghc-utf8-string)
11820 ("ghc-attoparsec" ,ghc-attoparsec)))
11821 (home-page "https://github.com/solidsnack/wcwidth/")
11822 (synopsis "Haskell bindings to wcwidth")
11823 (description "This package provides Haskell bindings to your system's
11824native wcwidth and a command line tool to examine the widths assigned by it.
11825The command line tool can compile a width table to Haskell code that assigns
11826widths to the Char type.")
11827 (license license:bsd-3)))
11828
11829(define-public ghc-wcwidth-bootstrap
11830 (package
11831 (inherit ghc-wcwidth)
11832 (name "ghc-wcwidth-bootstrap")
11833 (inputs
11834 `(("ghc-setlocale" ,ghc-setlocale)
11835 ("ghc-utf8-string" ,ghc-utf8-string)
11836 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11837 (properties '((hidden? #t)))))
dddbc90c
RV
11838
11839(define-public ghc-weigh
11840 (package
11841 (name "ghc-weigh")
b6d9777f 11842 (version "0.0.14")
dddbc90c
RV
11843 (source
11844 (origin
11845 (method url-fetch)
11846 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11847 "weigh-" version ".tar.gz"))
11848 (sha256
11849 (base32
b6d9777f 11850 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
11851 (build-system haskell-build-system)
11852 (inputs
11853 `(("ghc-split" ,ghc-split)
11854 ("ghc-temporary" ,ghc-temporary)))
11855 (home-page "https://github.com/fpco/weigh#readme")
11856 (synopsis "Measure allocations of a Haskell functions/values")
11857 (description "This package provides tools to measure the memory usage of a
11858Haskell value or function.")
11859 (license license:bsd-3)))
11860
11861(define-public ghc-wl-pprint
11862 (package
11863 (name "ghc-wl-pprint")
11864 (version "1.2.1")
11865 (source (origin
11866 (method url-fetch)
11867 (uri (string-append
11868 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11869 version ".tar.gz"))
11870 (sha256
11871 (base32
11872 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11873 (build-system haskell-build-system)
11874 (home-page "https://hackage.haskell.org/package/wl-pprint")
11875 (synopsis "Wadler/Leijen pretty printer")
11876 (description
11877 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11878Printer}. This version allows the library user to declare overlapping
11879instances of the @code{Pretty} class.")
11880 (license license:bsd-3)))
11881
11882(define-public ghc-wl-pprint-annotated
11883 (package
11884 (name "ghc-wl-pprint-annotated")
11885 (version "0.1.0.1")
11886 (source
11887 (origin
11888 (method url-fetch)
11889 (uri (string-append
11890 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11891 version
11892 ".tar.gz"))
11893 (sha256
11894 (base32
11895 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11896 (build-system haskell-build-system)
11897 (native-inputs
11898 `(("ghc-tasty" ,ghc-tasty)
11899 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11900 (home-page
11901 "https://github.com/minad/wl-pprint-annotated#readme")
11902 (synopsis
11903 "Wadler/Leijen pretty printer with annotation support")
11904 (description
11905 "Annotations are useful for coloring. This is a limited version of
11906@code{wl-pprint-extras} without support for point effects and without the free
11907monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11908Compared to @code{annotated-wl-pprint} this library provides a slightly
11909modernized interface.")
11910 (license license:bsd-3)))
11911
11912(define-public ghc-wl-pprint-text
11913 (package
11914 (name "ghc-wl-pprint-text")
11915 (version "1.2.0.0")
11916 (source
11917 (origin
11918 (method url-fetch)
11919 (uri (string-append
11920 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11921 version ".tar.gz"))
11922 (sha256
11923 (base32
11924 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11925 (build-system haskell-build-system)
11926 (inputs
11927 `(("ghc-base-compat" ,ghc-base-compat)))
11928 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11929 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11930 (description
11931 "A clone of wl-pprint for use with the text library.")
11932 (license license:bsd-3)))
11933
11934(define-public ghc-word8
11935 (package
11936 (name "ghc-word8")
11937 (version "0.1.3")
11938 (source
11939 (origin
11940 (method url-fetch)
11941 (uri (string-append
11942 "https://hackage.haskell.org/package/word8/word8-"
11943 version
11944 ".tar.gz"))
11945 (sha256
11946 (base32
11947 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11948 (build-system haskell-build-system)
11949 (native-inputs
11950 `(("ghc-hspec" ,ghc-hspec)
11951 ("hspec-discover" ,hspec-discover)))
11952 (home-page "https://hackage.haskell.org/package/word8")
11953 (synopsis "Word8 library for Haskell")
11954 (description "Word8 library to be used with @code{Data.ByteString}.")
11955 (license license:bsd-3)))
11956
11957(define-public ghc-x11
11958 (package
11959 (name "ghc-x11")
6c4581a3 11960 (version "1.9.1")
dddbc90c
RV
11961 (source
11962 (origin
11963 (method url-fetch)
11964 (uri (string-append "https://hackage.haskell.org/package/X11/"
11965 "X11-" version ".tar.gz"))
11966 (sha256
6c4581a3 11967 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
11968 (build-system haskell-build-system)
11969 (inputs
11970 `(("libx11" ,libx11)
11971 ("libxrandr" ,libxrandr)
11972 ("libxinerama" ,libxinerama)
11973 ("libxscrnsaver" ,libxscrnsaver)
11974 ("ghc-data-default" ,ghc-data-default)))
11975 (home-page "https://github.com/haskell-pkg-janitors/X11")
11976 (synopsis "Bindings to the X11 graphics library")
11977 (description
11978 "This package provides Haskell bindings to the X11 graphics library. The
11979bindings are a direct translation of the C bindings.")
11980 (license license:bsd-3)))
11981
11982(define-public ghc-x11-xft
11983 (package
11984 (name "ghc-x11-xft")
11985 (version "0.3.1")
11986 (source
11987 (origin
11988 (method url-fetch)
11989 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11990 "X11-xft-" version ".tar.gz"))
11991 (sha256
11992 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11993 (inputs
11994 `(("ghc-x11" ,ghc-x11)
11995 ("ghc-utf8-string" ,ghc-utf8-string)
11996 ("libx11" ,libx11)
11997 ("libxft" ,libxft)
11998 ("xorgproto" ,xorgproto)))
11999 (native-inputs
12000 `(("pkg-config" ,pkg-config)))
12001 (build-system haskell-build-system)
12002 (home-page "https://hackage.haskell.org/package/X11-xft")
12003 (synopsis "Bindings to Xft")
12004 (description
12005 "Bindings to the Xft, X Free Type interface library, and some Xrender
12006parts.")
12007 (license license:lgpl2.1)))
12008
12009(define-public ghc-xdg-basedir
12010 (package
12011 (name "ghc-xdg-basedir")
12012 (version "0.2.2")
12013 (source
12014 (origin
12015 (method url-fetch)
12016 (uri (string-append
12017 "https://hackage.haskell.org/package/xdg-basedir/"
12018 "xdg-basedir-" version ".tar.gz"))
12019 (sha256
12020 (base32
12021 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
12022 (build-system haskell-build-system)
12023 (home-page "http://github.com/willdonnelly/xdg-basedir")
12024 (synopsis "XDG Base Directory library for Haskell")
12025 (description "This package provides a library implementing the XDG Base Directory spec.")
12026 (license license:bsd-3)))
12027
12028(define-public ghc-xml
12029 (package
12030 (name "ghc-xml")
12031 (version "1.3.14")
12032 (source
12033 (origin
12034 (method url-fetch)
12035 (uri (string-append
12036 "https://hackage.haskell.org/package/xml/xml-"
12037 version
12038 ".tar.gz"))
12039 (sha256
12040 (base32
12041 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
12042 (build-system haskell-build-system)
12043 (home-page "http://code.galois.com")
12044 (synopsis "Simple XML library for Haskell")
12045 (description "This package provides a simple XML library for Haskell.")
12046 (license license:bsd-3)))
12047
12048(define-public ghc-xml-conduit
12049 (package
12050 (name "ghc-xml-conduit")
12051 (version "1.8.0.1")
12052 (source
12053 (origin
12054 (method url-fetch)
12055 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
12056 "xml-conduit-" version ".tar.gz"))
12057 (sha256
12058 (base32
12059 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
12060 (build-system haskell-build-system)
12061 (inputs
12062 `(("ghc-conduit" ,ghc-conduit)
12063 ("ghc-conduit-extra" ,ghc-conduit-extra)
12064 ("ghc-doctest" ,ghc-doctest)
12065 ("ghc-resourcet" ,ghc-resourcet)
12066 ("ghc-xml-types" ,ghc-xml-types)
12067 ("ghc-attoparsec" ,ghc-attoparsec)
12068 ("ghc-data-default-class" ,ghc-data-default-class)
12069 ("ghc-blaze-markup" ,ghc-blaze-markup)
12070 ("ghc-blaze-html" ,ghc-blaze-html)
12071 ("ghc-monad-control" ,ghc-monad-control)
12072 ("ghc-hspec" ,ghc-hspec)
12073 ("ghc-hunit" ,ghc-hunit)))
12074 (home-page "https://github.com/snoyberg/xml")
12075 (synopsis "Utilities for dealing with XML with the conduit package")
12076 (description
12077 "This package provides pure-Haskell utilities for dealing with XML with
12078the @code{conduit} package.")
12079 (license license:expat)))
12080
12081(define-public ghc-xml-types
12082 (package
12083 (name "ghc-xml-types")
12084 (version "0.3.6")
12085 (source
12086 (origin
12087 (method url-fetch)
12088 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
12089 "xml-types-" version ".tar.gz"))
12090 (sha256
12091 (base32
12092 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
12093 (build-system haskell-build-system)
12094 (home-page "https://john-millikin.com/software/haskell-xml/")
12095 (synopsis "Basic types for representing XML")
12096 (description "This package provides basic types for representing XML
12097documents.")
12098 (license license:expat)))
12099
12100(define-public ghc-yaml
12101 (package
12102 (name "ghc-yaml")
b58e5b84 12103 (version "0.11.1.2")
dddbc90c
RV
12104 (source (origin
12105 (method url-fetch)
12106 (uri (string-append "https://hackage.haskell.org/package/"
12107 "yaml/yaml-" version ".tar.gz"))
12108 (sha256
12109 (base32
b58e5b84 12110 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 12111 (build-system haskell-build-system)
dddbc90c
RV
12112 (inputs
12113 `(("ghc-conduit" ,ghc-conduit)
12114 ("ghc-resourcet" ,ghc-resourcet)
12115 ("ghc-aeson" ,ghc-aeson)
12116 ("ghc-unordered-containers" ,ghc-unordered-containers)
12117 ("ghc-vector" ,ghc-vector)
12118 ("ghc-attoparsec" ,ghc-attoparsec)
12119 ("ghc-scientific" ,ghc-scientific)
12120 ("ghc-semigroups" ,ghc-semigroups)
12121 ("ghc-temporary" ,ghc-temporary)
12122 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
12123 ("ghc-base-compat" ,ghc-base-compat)
12124 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
12125 (native-inputs
12126 `(("ghc-hspec" ,ghc-hspec)
12127 ("ghc-hunit" ,ghc-hunit)
12128 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
12129 ("ghc-mockery" ,ghc-mockery)
12130 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
12131 (home-page "https://github.com/snoyberg/yaml/")
12132 (synopsis "Parsing and rendering YAML documents")
12133 (description
12134 "This package provides a library to parse and render YAML documents.")
12135 (license license:bsd-3)))
12136
12137(define-public ghc-zip-archive
12138 (package
12139 (name "ghc-zip-archive")
93c1fdd3 12140 (version "0.4.1")
dddbc90c
RV
12141 (source
12142 (origin
12143 (method url-fetch)
12144 (uri (string-append
12145 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
12146 version
12147 ".tar.gz"))
12148 (sha256
12149 (base32
93c1fdd3 12150 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 12151 (build-system haskell-build-system)
93c1fdd3
TS
12152 (arguments
12153 `(#:phases
12154 (modify-phases %standard-phases
12155 (add-before 'check 'set-PATH-for-tests
12156 (lambda* (#:key inputs #:allow-other-keys)
12157 (let ((unzip (assoc-ref inputs "unzip"))
12158 (which (assoc-ref inputs "which"))
12159 (path (getenv "PATH")))
12160 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
12161 #t))))))
dddbc90c
RV
12162 (inputs
12163 `(("ghc-digest" ,ghc-digest)
12164 ("ghc-temporary" ,ghc-temporary)
12165 ("ghc-zlib" ,ghc-zlib)))
12166 (native-inputs
12167 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
12168 ("unzip" ,unzip)
12169 ("which" ,which)))
dddbc90c
RV
12170 (home-page "https://hackage.haskell.org/package/zip-archive")
12171 (synopsis "Zip archive library for Haskell")
12172 (description "The zip-archive library provides functions for creating,
12173modifying, and extracting files from zip archives in Haskell.")
12174 (license license:bsd-3)))
12175
12176(define-public ghc-zlib
12177 (package
12178 (name "ghc-zlib")
bf12089a 12179 (version "0.6.2.1")
dddbc90c
RV
12180 (outputs '("out" "doc"))
12181 (source
12182 (origin
12183 (method url-fetch)
12184 (uri (string-append
12185 "https://hackage.haskell.org/package/zlib/zlib-"
12186 version
12187 ".tar.gz"))
12188 (sha256
12189 (base32
bf12089a 12190 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
12191 (build-system haskell-build-system)
12192 (arguments
12193 `(#:phases
12194 (modify-phases %standard-phases
12195 (add-before 'configure 'strip-test-framework-constraints
12196 (lambda _
12197 (substitute* "zlib.cabal"
12198 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
12199 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
12200 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12201 (inputs `(("zlib" ,zlib)))
12202 (native-inputs
12203 `(("ghc-quickcheck" ,ghc-quickcheck)
12204 ("ghc-tasty" ,ghc-tasty)
12205 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12206 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12207 (home-page "https://hackage.haskell.org/package/zlib")
12208 (synopsis
12209 "Compression and decompression in the gzip and zlib formats")
12210 (description
12211 "This package provides a pure interface for compressing and decompressing
12212streams of data represented as lazy @code{ByteString}s. It uses the zlib C
12213library so it has high performance. It supports the @code{zlib}, @code{gzip}
12214and @code{raw} compression formats. It provides a convenient high level API
12215suitable for most tasks and for the few cases where more control is needed it
12216provides access to the full zlib feature set.")
bbf8bf31 12217 (license license:bsd-3)))
14e41996
RV
12218
12219(define-public ghc-zlib-bindings
12220 (package
12221 (name "ghc-zlib-bindings")
12222 (version "0.1.1.5")
12223 (source
12224 (origin
12225 (method url-fetch)
12226 (uri (string-append "https://hackage.haskell.org/package/"
12227 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
12228 (sha256
12229 (base32
12230 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
12231 (build-system haskell-build-system)
12232 (inputs
12233 `(("ghc-zlib" ,ghc-zlib)))
12234 (native-inputs
12235 `(("ghc-hspec" ,ghc-hspec)
12236 ("ghc-quickcheck" ,ghc-quickcheck)))
12237 (arguments
12238 `(#:cabal-revision
12239 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
12240 (home-page "https://github.com/snapframework/zlib-bindings")
12241 (synopsis "Low-level bindings to the @code{zlib} package")
12242 (description "This package provides low-level bindings to the
12243@code{zlib} package.")
12244 (license license:bsd-3)))