gnu: ghc-hpack: Update to 0.31.2.
[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
RV
146 (build-system haskell-build-system)
147 (inputs
dddbc90c
RV
148 `(("ghc-profunctors" ,ghc-profunctors)
149 ("ghc-comonad" ,ghc-comonad)
150 ("ghc-contravariant" ,ghc-contravariant)
151 ("ghc-distributive" ,ghc-distributive)
152 ("ghc-free" ,ghc-free)
153 ("ghc-tagged" ,ghc-tagged)
154 ("ghc-semigroupoids" ,ghc-semigroupoids)
155 ("ghc-semigroups" ,ghc-semigroups)
156 ("ghc-transformers-compat" ,ghc-transformers-compat)
157 ("ghc-void" ,ghc-void)))
658dbc7f 158 (native-inputs
dddbc90c
RV
159 `(("ghc-generic-deriving" ,ghc-generic-deriving)
160 ("ghc-hspec" ,ghc-hspec)
161 ("hspec-discover" ,hspec-discover)))
162 (home-page "https://github.com/ekmett/adjunctions/")
163 (synopsis "Adjunctions and representable functors")
164 (description "This library provides adjunctions and representable functors
165for Haskell.")
166 (license license:bsd-3)))
167
168(define-public ghc-aeson-compat
169 (package
170 (name "ghc-aeson-compat")
0bafb755 171 (version "0.3.9")
dddbc90c
RV
172 (source
173 (origin
174 (method url-fetch)
175 (uri (string-append "https://hackage.haskell.org/package/"
176 "aeson-compat-" version "/"
177 "aeson-compat-" version ".tar.gz"))
178 (sha256
179 (base32
0bafb755 180 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
181 (build-system haskell-build-system)
182 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
183 (inputs `(("ghc-base-compat" ,ghc-base-compat)
184 ("ghc-aeson" ,ghc-aeson)
185 ("ghc-attoparsec" ,ghc-attoparsec)
186 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
187 ("ghc-exceptions" ,ghc-exceptions)
188 ("ghc-hashable" ,ghc-hashable)
189 ("ghc-scientific" ,ghc-scientific)
190 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
191 ("ghc-unordered-containers" ,ghc-unordered-containers)
192 ("ghc-vector" ,ghc-vector)
193 ("ghc-tagged" ,ghc-tagged)
194 ("ghc-semigroups" ,ghc-semigroups)
195 ("ghc-nats" ,ghc-nats)))
196 (home-page "https://github.com/phadej/aeson-compat")
197 (synopsis "Compatibility layer for ghc-aeson")
198 (description "This Haskell package provides compatibility layer for
199ghc-aeson.")
200 (license license:bsd-3)))
201
202(define-public ghc-alex
203 (package
204 (name "ghc-alex")
205 (version "3.2.4")
206 (source
207 (origin
208 (method url-fetch)
209 (uri (string-append
210 "https://hackage.haskell.org/package/alex/alex-"
211 version
212 ".tar.gz"))
213 (sha256
214 (base32
215 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
216 (build-system haskell-build-system)
658dbc7f 217 (arguments
dddbc90c
RV
218 `(#:phases
219 (modify-phases %standard-phases
220 (add-before 'check 'set-check-variables
221 (lambda _
222 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
223 (getenv "PATH")))
224 (setenv "alex_datadir" (string-append (getcwd) "/data"))
225 #t)))))
226 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
227 (native-inputs
228 `(("which" ,which)))
229 (home-page "https://www.haskell.org/alex/")
230 (synopsis
231 "Tool for generating lexical analysers in Haskell")
232 (description
233 "Alex is a tool for generating lexical analysers in Haskell. It takes a
234description of tokens based on regular expressions and generates a Haskell
235module containing code for scanning text efficiently. It is similar to the
236tool lex or flex for C/C++.")
658dbc7f
RV
237 (license license:bsd-3)))
238
dddbc90c 239(define-public ghc-alsa-core
7b01a977 240 (package
dddbc90c
RV
241 (name "ghc-alsa-core")
242 (version "0.5.0.1")
243 (source
244 (origin
245 (method url-fetch)
246 (uri (string-append
247 "mirror://hackage/package/alsa-core/alsa-core-"
248 version
249 ".tar.gz"))
250 (sha256
251 (base32
252 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
253 (build-system haskell-build-system)
254 (inputs
255 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
256 ("alsa-lib" ,alsa-lib)))
257 (native-inputs
258 `(("pkg-config" ,pkg-config)))
259 (home-page "http://www.haskell.org/haskellwiki/ALSA")
260 (synopsis "Binding to the ALSA Library API (Exceptions)")
261 (description "This package provides access to ALSA infrastructure, that is
262needed by both alsa-seq and alsa-pcm.")
263 (license license:bsd-3)))
264
265(define-public ghc-annotated-wl-pprint
266 (package
267 (name "ghc-annotated-wl-pprint")
268 (version "0.7.0")
269 (source
270 (origin
271 (method url-fetch)
272 (uri (string-append
273 "https://hackage.haskell.org/package/annotated-wl-pprint"
274 "/annotated-wl-pprint-" version
275 ".tar.gz"))
276 (sha256
277 (base32
278 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
279 (build-system haskell-build-system)
280 (home-page
281 "https://github.com/david-christiansen/annotated-wl-pprint")
282 (synopsis
283 "The Wadler/Leijen Pretty Printer, with annotation support")
284 (description "This is a modified version of wl-pprint, which was based on
285Wadler's paper \"A Prettier Printer\". This version allows the library user
286to annotate the text with semantic information, which can later be rendered in
287a variety of ways.")
288 (license license:bsd-3)))
289
290(define-public ghc-ansi-terminal
291 (package
292 (name "ghc-ansi-terminal")
f1b4a73f 293 (version "0.9.1")
dddbc90c
RV
294 (source
295 (origin
296 (method url-fetch)
297 (uri (string-append
298 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
299 version
300 ".tar.gz"))
301 (sha256
302 (base32
f1b4a73f 303 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
304 (build-system haskell-build-system)
305 (inputs
306 `(("ghc-colour" ,ghc-colour)))
307 (home-page "https://github.com/feuerbach/ansi-terminal")
308 (synopsis "ANSI terminal support for Haskell")
309 (description "This package provides ANSI terminal support for Haskell. It
310allows cursor movement, screen clearing, color output showing or hiding the
311cursor, and changing the title.")
312 (license license:bsd-3)))
313
314(define-public ghc-ansi-wl-pprint
315 (package
316 (name "ghc-ansi-wl-pprint")
c38746eb 317 (version "0.6.9")
7b01a977
RV
318 (source
319 (origin
320 (method url-fetch)
321 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 322 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
323 version ".tar.gz"))
324 (sha256
325 (base32
c38746eb 326 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
327 (build-system haskell-build-system)
328 (inputs
dddbc90c
RV
329 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
330 (home-page "https://github.com/ekmett/ansi-wl-pprint")
331 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
332 (description "This is a pretty printing library based on Wadler's paper
333\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
334colored output using the ansi-terminal package.")
335 (license license:bsd-3)))
336
337(define-public ghc-appar
338 (package
339 (name "ghc-appar")
1159d1a5 340 (version "0.1.8")
dddbc90c
RV
341 (source
342 (origin
343 (method url-fetch)
344 (uri (string-append
345 "https://hackage.haskell.org/package/appar/appar-"
346 version
347 ".tar.gz"))
348 (sha256
349 (base32
1159d1a5 350 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
351 (build-system haskell-build-system)
352 (home-page
353 "https://hackage.haskell.org/package/appar")
354 (synopsis "Simple applicative parser")
355 (description "This package provides a simple applicative parser in Parsec
356style.")
357 (license license:bsd-3)))
358
359(define-public ghc-async
360 (package
361 (name "ghc-async")
048ef066 362 (version "2.2.2")
dddbc90c
RV
363 (source
364 (origin
365 (method url-fetch)
366 (uri (string-append
367 "https://hackage.haskell.org/package/async/async-"
368 version
369 ".tar.gz"))
370 (sha256
371 (base32
048ef066 372 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
373 (build-system haskell-build-system)
374 (inputs
375 `(("ghc-hashable" ,ghc-hashable)
376 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
377 ("ghc-test-framework" ,ghc-test-framework)
378 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
379 (home-page "https://github.com/simonmar/async")
380 (synopsis "Library to run IO operations asynchronously")
381 (description "Async provides a library to run IO operations
382asynchronously, and wait for their results. It is a higher-level interface
383over threads in Haskell, in which @code{Async a} is a concurrent thread that
384will eventually deliver a value of type @code{a}.")
7b01a977
RV
385 (license license:bsd-3)))
386
9ad9ec2e
AG
387(define-public ghc-atomic-primops
388 (package
389 (name "ghc-atomic-primops")
390 (version "0.8.2")
391 (source
392 (origin
393 (method url-fetch)
394 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
395 "/atomic-primops-" version ".tar.gz"))
396 (sha256
397 (base32
398 "0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37"))))
399 (build-system haskell-build-system)
400 (inputs `(("ghc-primitive" ,ghc-primitive)))
401 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
402 (synopsis "Safe approach to CAS and other atomic ops")
403 (description
404 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
405use safely, because pointer equality is a highly unstable property in Haskell.
406This library provides a safer method based on the concept of @code{Ticket}s.")
407 (license license:bsd-3)))
408
dddbc90c 409(define-public ghc-atomic-write
79fcc5e5 410 (package
dddbc90c 411 (name "ghc-atomic-write")
c09d1e62 412 (version "0.2.0.6")
79fcc5e5
RV
413 (source
414 (origin
415 (method url-fetch)
dddbc90c
RV
416 (uri (string-append
417 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
418 version
419 ".tar.gz"))
79fcc5e5
RV
420 (sha256
421 (base32
c09d1e62 422 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
423 (build-system haskell-build-system)
424 (inputs
425 `(("ghc-temporary" ,ghc-temporary)
426 ("ghc-unix-compat" ,ghc-unix-compat)))
427 (native-inputs
428 `(("ghc-temporary" ,ghc-temporary)
429 ("ghc-unix-compat" ,ghc-unix-compat)
430 ("ghc-hspec" ,ghc-hspec)
431 ("hspec-discover" ,hspec-discover)))
432 (home-page "https://github.com/stackbuilders/atomic-write")
433 (synopsis "Atomically write to a file")
434 (description
435 "Atomically write to a file on POSIX-compliant systems while preserving
436permissions. @code{mv} is an atomic operation. This makes it simple to write
437to a file atomically just by using the @code{mv} operation. However, this
438will destroy the permissions on the original file. This library preserves
439permissions while atomically writing to a file.")
440 (license license:expat)))
441
442(define-public ghc-attoparsec
443 (package
444 (name "ghc-attoparsec")
511c3204 445 (version "0.13.2.3")
dddbc90c
RV
446 (source
447 (origin
448 (method url-fetch)
449 (uri (string-append
450 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
451 version
452 ".tar.gz"))
453 (sha256
454 (base32
511c3204 455 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 456 (build-system haskell-build-system)
79fcc5e5 457 (arguments
dddbc90c
RV
458 `(#:phases
459 (modify-phases %standard-phases
460 (add-after 'unpack 'patch-for-newer-quickcheck
461 (lambda _
462 (substitute* "attoparsec.cabal"
463 (("QuickCheck >= 2\\.7 && < 2\\.10")
464 "QuickCheck >= 2.7 && < 2.12"))
465 ;; This test fails because of the newer QuickCheck:
466 ;; <https://github.com/bos/attoparsec/issues/134>.
467 (substitute* "tests/QC/ByteString.hs"
468 ((", testProperty \"satisfyWith\" satisfyWith")
469 "")))))))
470 (inputs
471 `(("ghc-scientific" ,ghc-scientific)))
472 (native-inputs
473 `(("ghc-tasty" ,ghc-tasty)
474 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
475 ("ghc-quickcheck" ,ghc-quickcheck)
476 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
477 ("ghc-vector" ,ghc-vector)))
478 (home-page "https://github.com/bos/attoparsec")
479 (synopsis "Fast combinator parsing for bytestrings and text")
480 (description "This library provides a fast parser combinator library,
481aimed particularly at dealing efficiently with network protocols and
482complicated text/binary file formats.")
79fcc5e5
RV
483 (license license:bsd-3)))
484
dddbc90c 485(define-public ghc-attoparsec-bootstrap
6b34d01c 486 (package
dddbc90c
RV
487 (inherit ghc-attoparsec)
488 (name "ghc-attoparsec-bootstrap")
489 (arguments `(#:tests? #f))
490 (inputs
491 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
492 (native-inputs '())
799d8d3c 493 (properties '((hidden? #t)))))
dddbc90c
RV
494
495(define-public ghc-attoparsec-iso8601
496 (package
497 (name "ghc-attoparsec-iso8601")
97f267c8 498 (version "1.0.1.0")
6b34d01c
RV
499 (source
500 (origin
501 (method url-fetch)
502 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
503 "attoparsec-iso8601-" version "/"
504 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
505 (sha256
506 (base32
97f267c8 507 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 508 (build-system haskell-build-system)
dddbc90c
RV
509 (arguments
510 `(#:cabal-revision
97f267c8 511 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
512 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
513 ("ghc-base-compat" ,ghc-base-compat)))
514 (home-page "https://github.com/bos/aeson")
515 (synopsis "Parse ISO 8601 dates")
516 (description "Haskell library for parsing of ISO 8601 dates, originally
517from aeson.")
6b34d01c 518 (license license:bsd-3)))
b57e99f5 519
dddbc90c 520(define-public ghc-auto-update
b57e99f5 521 (package
dddbc90c 522 (name "ghc-auto-update")
11b1b6cd 523 (version "0.1.6")
dddbc90c
RV
524 (source
525 (origin
526 (method url-fetch)
527 (uri (string-append
528 "https://hackage.haskell.org/package/auto-update/auto-update-"
529 version
530 ".tar.gz"))
531 (sha256
532 (base32
11b1b6cd 533 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 534 (build-system haskell-build-system)
11b1b6cd
TS
535 (native-inputs
536 `(("ghc-hspec" ,ghc-hspec)
537 ("ghc-hunit" ,ghc-hunit)
538 ("ghc-retry" ,ghc-retry)
539 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
540 (home-page "https://github.com/yesodweb/wai")
541 (synopsis "Efficiently run periodic, on-demand actions")
542 (description "This library provides mechanisms to efficiently run
543periodic, on-demand actions in Haskell.")
544 (license license:expat)))
545
546(define-public ghc-aws
547 (package
548 (name "ghc-aws")
549 (version "0.20")
b57e99f5
RV
550 (source
551 (origin
552 (method url-fetch)
553 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
554 "aws-" version "/aws-" version ".tar.gz"))
555 (sha256 (base32
556 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
557 (build-system haskell-build-system)
558 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
559 (inputs
560 `(("ghc-aeson" ,ghc-aeson)
561 ("ghc-attoparsec" ,ghc-attoparsec)
562 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
563 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
564 ("ghc-blaze-builder" ,ghc-blaze-builder)
565 ("ghc-byteable" ,ghc-byteable)
566 ("ghc-case-insensitive" ,ghc-case-insensitive)
567 ("ghc-cereal" ,ghc-cereal)
568 ("ghc-conduit" ,ghc-conduit)
569 ("ghc-conduit-extra" ,ghc-conduit-extra)
570 ("ghc-cryptonite" ,ghc-cryptonite)
571 ("ghc-data-default" ,ghc-data-default)
572 ("ghc-http-conduit" ,ghc-http-conduit)
573 ("ghc-http-types" ,ghc-http-types)
574 ("ghc-lifted-base" ,ghc-lifted-base)
575 ("ghc-monad-control" ,ghc-monad-control)
576 ("ghc-network" ,ghc-network)
577 ("ghc-old-locale" ,ghc-old-locale)
578 ("ghc-safe" ,ghc-safe)
579 ("ghc-scientific" ,ghc-scientific)
580 ("ghc-tagged" ,ghc-tagged)
581 ("ghc-unordered-containers" ,ghc-unordered-containers)
582 ("ghc-utf8-string" ,ghc-utf8-string)
583 ("ghc-vector" ,ghc-vector)
584 ("ghc-xml-conduit" ,ghc-xml-conduit)))
585 (native-inputs
586 `(("ghc-quickcheck" ,ghc-quickcheck)
587 ("ghc-errors" ,ghc-errors)
588 ("ghc-http-client" ,ghc-http-client)
589 ("ghc-http-client-tls" ,ghc-http-client-tls)
590 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
591 ("ghc-tasty" ,ghc-tasty)
592 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
593 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
594 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
595 (home-page "https://github.com/aristidb/aws")
596 (synopsis "Amazon Web Services for Haskell")
597 (description "This package attempts to provide support for using
598Amazon Web Services like S3 (storage), SQS (queuing) and others to
599Haskell programmers. The ultimate goal is to support all Amazon
600Web Services.")
601 (license license:bsd-3)))
602
603(define-public ghc-base16-bytestring
604 (package
605 (name "ghc-base16-bytestring")
606 (version "0.1.1.6")
607 (source
608 (origin
609 (method url-fetch)
610 (uri (string-append
611 "https://hackage.haskell.org/package/base16-bytestring/"
612 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
613 (sha256
614 (base32
dddbc90c 615 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 616 (build-system haskell-build-system)
dddbc90c
RV
617 (home-page "https://github.com/bos/base16-bytestring")
618 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
619 (description
620 "This package provides a Haskell library for working with base16-encoded
621data quickly and efficiently, using the ByteString type.")
b57e99f5 622 (license license:bsd-3)))
bbf8bf31 623
dddbc90c 624(define-public ghc-base64-bytestring
bbf8bf31 625 (package
dddbc90c
RV
626 (name "ghc-base64-bytestring")
627 (version "1.0.0.2")
bbf8bf31
RV
628 (source
629 (origin
630 (method url-fetch)
dddbc90c
RV
631 (uri (string-append
632 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
633 version
634 ".tar.gz"))
635 (sha256
636 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
637 (build-system haskell-build-system)
638 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
639 (home-page "https://github.com/bos/base64-bytestring")
640 (synopsis "Base64 encoding and decoding for ByteStrings")
641 (description "This library provides fast base64 encoding and decoding for
642Haskell @code{ByteString}s.")
643 (license license:bsd-3)))
644
645(define-public ghc-base-compat
646 (package
647 (name "ghc-base-compat")
4daaa371 648 (version "0.10.5")
dddbc90c
RV
649 (source
650 (origin
651 (method url-fetch)
652 (uri (string-append
653 "https://hackage.haskell.org/package/base-compat/base-compat-"
654 version
655 ".tar.gz"))
bbf8bf31
RV
656 (sha256
657 (base32
4daaa371 658 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
659 (build-system haskell-build-system)
660 (native-inputs
dddbc90c
RV
661 `(("ghc-quickcheck" ,ghc-quickcheck)
662 ("ghc-hspec" ,ghc-hspec)
663 ("hspec-discover" ,hspec-discover)))
664 (home-page "https://hackage.haskell.org/package/base-compat")
665 (synopsis "Haskell compiler compatibility library")
666 (description "This library provides functions available in later versions
667of base to a wider range of compilers, without requiring the use of CPP
668pragmas in your code.")
669 (license license:bsd-3)))
670
f9d78c7f
TS
671(define-public ghc-base-compat-batteries
672 (package
673 (name "ghc-base-compat-batteries")
674 (version "0.10.5")
675 (source
676 (origin
677 (method url-fetch)
678 (uri (string-append "https://hackage.haskell.org/package/"
679 "base-compat-batteries/base-compat-batteries-"
680 version ".tar.gz"))
681 (sha256
682 (base32
683 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
684 (build-system haskell-build-system)
685 (inputs
686 `(("ghc-base-compat" ,ghc-base-compat)))
687 (native-inputs
688 `(("ghc-hspec" ,ghc-hspec)
689 ("ghc-quickcheck" ,ghc-quickcheck)
690 ("hspec-discover" ,hspec-discover)))
691 (arguments
692 `(#:cabal-revision
693 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
694 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
695 (synopsis "base-compat with extra batteries")
696 (description "This library provides functions available in later
697versions of @code{base} to a wider range of compilers, without requiring
698you to use CPP pragmas in your code. This package provides the same API
699as the @code{base-compat} library, but depends on compatibility
700packages (such as @code{semigroups}) to offer a wider support window
701than @code{base-compat}, which has no dependencies.")
702 (license license:expat)))
703
dddbc90c
RV
704(define-public ghc-basement
705 (package
706 (name "ghc-basement")
8b56c1fd 707 (version "0.0.11")
dddbc90c
RV
708 (source
709 (origin
710 (method url-fetch)
711 (uri (string-append "https://hackage.haskell.org/package/"
712 "basement/basement-" version ".tar.gz"))
713 (sha256
714 (base32
8b56c1fd 715 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
716 (build-system haskell-build-system)
717 (home-page "https://github.com/haskell-foundation/foundation")
718 (synopsis "Basic primitives for Foundation starter pack")
719 (description
720 "This package contains basic primitives for the Foundation set of
721packages.")
722 (license license:bsd-3)))
723
724(define-public ghc-base-orphans
725 (package
726 (name "ghc-base-orphans")
780477fb 727 (version "0.8.1")
dddbc90c
RV
728 (source
729 (origin
730 (method url-fetch)
731 (uri (string-append
732 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
733 version
734 ".tar.gz"))
735 (sha256
736 (base32
780477fb 737 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
738 (build-system haskell-build-system)
739 (native-inputs
740 `(("ghc-quickcheck" ,ghc-quickcheck)
741 ("ghc-hspec" ,ghc-hspec)
742 ("hspec-discover" ,hspec-discover)))
743 (home-page "https://hackage.haskell.org/package/base-orphans")
744 (synopsis "Orphan instances for backwards compatibility")
745 (description "This package defines orphan instances that mimic instances
746available in later versions of base to a wider (older) range of compilers.")
747 (license license:bsd-3)))
748
749(define-public ghc-base-prelude
750 (package
751 (name "ghc-base-prelude")
752 (version "1.3")
753 (source
754 (origin
755 (method url-fetch)
756 (uri (string-append "https://hackage.haskell.org/package/"
757 "base-prelude-" version "/"
758 "base-prelude-" version ".tar.gz"))
759 (sha256
760 (base32
761 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
762 (build-system haskell-build-system)
763 (home-page "https://github.com/nikita-volkov/base-prelude")
764 (synopsis "The most complete prelude formed solely from the Haskell's base
765package")
766 (description "This Haskell package aims to reexport all the non-conflicting
767and most general definitions from the \"base\" package.
768
769This includes APIs for applicatives, arrows, monoids, foldables, traversables,
770exceptions, generics, ST, MVars and STM.
771
772This package will never have any dependencies other than \"base\".
773
774Versioning policy:
775
776The versioning policy of this package deviates from PVP in the sense
777that its exports in part are transitively determined by the version of \"base\".
778Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
779the bounds of \"base\" as well.")
780 (license license:expat)))
781
782(define-public ghc-base-unicode-symbols
783 (package
784 (name "ghc-base-unicode-symbols")
785 (version "0.2.3")
786 (source
787 (origin
788 (method url-fetch)
789 (uri (string-append
790 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
791 version
792 ".tar.gz"))
793 (sha256
794 (base32
795 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
796 (build-system haskell-build-system)
797 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
798 (synopsis "Unicode alternatives for common functions and operators")
799 (description "This package defines new symbols for a number of functions,
800operators and types in the base package. All symbols are documented with
801their actual definition and information regarding their Unicode code point.
802They should be completely interchangeable with their definitions. For
803further Unicode goodness you can enable the @code{UnicodeSyntax}
804@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
805language extension}. This extension enables Unicode characters to be used to
806stand for certain ASCII character sequences, i.e. → instead of @code{->},
807∀ instead of @code{forall} and many others.")
808 (license license:bsd-3)))
809
810(define-public ghc-bifunctors
811 (package
812 (name "ghc-bifunctors")
0beaec66 813 (version "5.5.5")
dddbc90c
RV
814 (source
815 (origin
816 (method url-fetch)
817 (uri (string-append
818 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
819 version
820 ".tar.gz"))
821 (sha256
822 (base32
0beaec66 823 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
824 (build-system haskell-build-system)
825 (inputs
826 `(("ghc-base-orphans" ,ghc-base-orphans)
827 ("ghc-comonad" ,ghc-comonad)
828 ("ghc-th-abstraction" ,ghc-th-abstraction)
829 ("ghc-transformers-compat" ,ghc-transformers-compat)
830 ("ghc-tagged" ,ghc-tagged)
831 ("ghc-semigroups" ,ghc-semigroups)))
832 (native-inputs
833 `(("ghc-hspec" ,ghc-hspec)
834 ("hspec-discover" ,hspec-discover)
835 ("ghc-quickcheck" ,ghc-quickcheck)))
836 (home-page "https://github.com/ekmett/bifunctors/")
837 (synopsis "Bifunctors for Haskell")
838 (description "This package provides bifunctors for Haskell.")
839 (license license:bsd-3)))
840
841(define-public ghc-bindings-dsl
842 (package
843 (name "ghc-bindings-dsl")
844 (version "1.0.25")
845 (source
846 (origin
847 (method url-fetch)
848 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
849 "bindings-DSL-" version ".tar.gz"))
850 (sha256
851 (base32
852 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
853 (build-system haskell-build-system)
854 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
855 (synopsis "FFI domain specific language, on top of hsc2hs")
856 (description
857 "This is a set of macros to be used when writing Haskell FFI. They were
858designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
859extract from them all Haskell code needed to mimic such interfaces. All
860Haskell names used are automatically derived from C names, structures are
861mapped to Haskell instances of @code{Storable}, and there are also macros you
862can use with C code to help write bindings to inline functions or macro
863functions.")
864 (license license:bsd-3)))
865
866(define-public ghc-blaze-builder
867 (package
868 (name "ghc-blaze-builder")
869 (version "0.4.1.0")
870 (source
871 (origin
872 (method url-fetch)
873 (uri (string-append
874 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
875 version
876 ".tar.gz"))
877 (sha256
878 (base32
879 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
880 (build-system haskell-build-system)
881 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
882 (inputs
883 `(("ghc-utf8-string" ,ghc-utf8-string)))
884 (home-page "https://github.com/lpsmith/blaze-builder")
885 (synopsis "Efficient buffered output")
886 (description "This library provides an implementation of the older
887@code{blaze-builder} interface in terms of the new builder that shipped with
888@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
889bridge to the new builder, so that code that uses the old interface can
890interoperate with code that uses the new implementation.")
891 (license license:bsd-3)))
892
893(define-public ghc-blaze-markup
894 (package
895 (name "ghc-blaze-markup")
7d30fcf3 896 (version "0.8.2.3")
dddbc90c
RV
897 (source
898 (origin
899 (method url-fetch)
900 (uri (string-append "https://hackage.haskell.org/package/"
901 "blaze-markup/blaze-markup-"
902 version ".tar.gz"))
903 (sha256
904 (base32
7d30fcf3 905 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
906 (build-system haskell-build-system)
907 (arguments
908 `(#:phases
909 (modify-phases %standard-phases
910 (add-before 'configure 'update-constraints
911 (lambda _
912 (substitute* "blaze-markup.cabal"
913 (("tasty >= 1\\.0 && < 1\\.1")
914 "tasty >= 1.0 && < 1.2")))))))
915 (inputs
916 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
917 (native-inputs
918 `(("ghc-hunit" ,ghc-hunit)
919 ("ghc-quickcheck" ,ghc-quickcheck)
920 ("ghc-tasty" ,ghc-tasty)
921 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
922 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
923 (home-page "https://jaspervdj.be/blaze")
924 (synopsis "Fast markup combinator library for Haskell")
925 (description "This library provides core modules of a markup combinator
926library for Haskell.")
927 (license license:bsd-3)))
928
929(define-public ghc-bloomfilter
930 (package
931 (name "ghc-bloomfilter")
932 (version "2.0.1.0")
933 (source
934 (origin
935 (method url-fetch)
936 (uri (string-append "https://hackage.haskell.org/package/"
937 "bloomfilter/bloomfilter-" version ".tar.gz"))
938 (sha256
939 (base32
940 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
941 (build-system haskell-build-system)
942 (native-inputs
943 `(("ghc-quickcheck" ,ghc-quickcheck)
944 ("ghc-random" ,ghc-random)
945 ("ghc-test-framework" ,ghc-test-framework)
946 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
947 (home-page "https://github.com/bos/bloomfilter")
948 (synopsis "Pure and impure Bloom filter implementations")
949 (description "This package provides both mutable and immutable Bloom
950filter data types, along with a family of hash functions and an easy-to-use
951interface.")
952 (license license:bsd-3)))
953
954(define-public ghc-boxes
955 (package
956 (name "ghc-boxes")
957 (version "0.1.5")
958 (source
959 (origin
960 (method url-fetch)
961 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
962 version ".tar.gz"))
963 (sha256
964 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
965 (build-system haskell-build-system)
966 (inputs
967 `(("ghc-split" ,ghc-split)
968 ("ghc-quickcheck" ,ghc-quickcheck)))
969 (home-page "https://hackage.haskell.org/package/boxes")
970 (synopsis "2D text pretty-printing library")
971 (description
972 "Boxes is a pretty-printing library for laying out text in two dimensions,
973using a simple box model.")
974 (license license:bsd-3)))
975
976(define-public ghc-byteable
977 (package
978 (name "ghc-byteable")
979 (version "0.1.1")
980 (source (origin
981 (method url-fetch)
982 (uri (string-append "https://hackage.haskell.org/package/"
983 "byteable/byteable-" version ".tar.gz"))
984 (sha256
985 (base32
986 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
987 (build-system haskell-build-system)
988 (home-page "https://github.com/vincenthz/hs-byteable")
989 (synopsis "Type class for sequence of bytes")
990 (description
991 "This package provides an abstract class to manipulate sequence of bytes.
992The use case of this class is abstracting manipulation of types that are just
993wrapping a bytestring with stronger and more meaniful name.")
994 (license license:bsd-3)))
995
996(define-public ghc-byteorder
997 (package
998 (name "ghc-byteorder")
999 (version "1.0.4")
1000 (source
1001 (origin
1002 (method url-fetch)
1003 (uri (string-append
1004 "https://hackage.haskell.org/package/byteorder/byteorder-"
1005 version
1006 ".tar.gz"))
1007 (sha256
1008 (base32
1009 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1010 (build-system haskell-build-system)
1011 (home-page
1012 "http://community.haskell.org/~aslatter/code/byteorder")
1013 (synopsis
1014 "Exposes the native endianness of the system")
1015 (description
1016 "This package is for working with the native byte-ordering of the
1017system.")
1018 (license license:bsd-3)))
1019
1020(define-public ghc-bytes
1021 (package
1022 (name "ghc-bytes")
1023 (version "0.15.5")
1024 (source
1025 (origin
1026 (method url-fetch)
1027 (uri
1028 (string-append "https://hackage.haskell.org/package/bytes-"
1029 version "/bytes-"
1030 version ".tar.gz"))
1031 (file-name (string-append name "-" version ".tar.gz"))
1032 (sha256
1033 (base32
1034 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1035 (build-system haskell-build-system)
1036 (inputs `(("ghc-cereal" ,ghc-cereal)
1037 ("cabal-doctest" ,cabal-doctest)
1038 ("ghc-doctest" ,ghc-doctest)
1039 ("ghc-scientific" ,ghc-scientific)
1040 ("ghc-transformers-compat" ,ghc-transformers-compat)
1041 ("ghc-unordered-containers" ,ghc-unordered-containers)
1042 ("ghc-void" ,ghc-void)
1043 ("ghc-vector" ,ghc-vector)))
1044 (synopsis "Serialization between @code{binary} and @code{cereal}")
1045 (description "This package provides a simple compatibility shim that lets
1046you work with both @code{binary} and @code{cereal} with one chunk of
1047serialization code.")
1048 (home-page "https://hackage.haskell.org/package/bytes")
1049 (license license:bsd-3)))
1050
1051(define-public ghc-bytestring-builder
1052 (package
1053 (name "ghc-bytestring-builder")
13ac8a7f 1054 (version "0.10.8.2.0")
dddbc90c
RV
1055 (source
1056 (origin
1057 (method url-fetch)
1058 (uri (string-append
1059 "https://hackage.haskell.org/package/bytestring-builder"
1060 "/bytestring-builder-" version ".tar.gz"))
1061 (sha256
1062 (base32
13ac8a7f 1063 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1064 (build-system haskell-build-system)
1065 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1066 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1067 (synopsis "The new bytestring builder, packaged outside of GHC")
1068 (description "This package provides the bytestring builder that is
1069debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1070Compatibility package for older packages.")
1071 (license license:bsd-3)))
1072
1073(define-public ghc-bytestring-handle
1074 (package
1075 (name "ghc-bytestring-handle")
1076 (version "0.1.0.6")
1077 (source
1078 (origin
1079 (method url-fetch)
1080 (uri (string-append
1081 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1082 version ".tar.gz"))
1083 (sha256
1084 (base32
1085 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1086 (build-system haskell-build-system)
1087 (arguments
853748c4
TS
1088 `(#:cabal-revision
1089 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1090 #:phases
dddbc90c
RV
1091 (modify-phases %standard-phases
1092 (add-before 'configure 'update-constraints
1093 (lambda _
1094 (substitute* "bytestring-handle.cabal"
1095 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1096 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1097 (inputs
1098 `(("ghc-hunit" ,ghc-hunit)
1099 ("ghc-quickcheck" ,ghc-quickcheck)
1100 ("ghc-test-framework" ,ghc-test-framework)
1101 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1102 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1103 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1104 (synopsis "ByteString-backed Handles")
1105 (description "ByteString-backed Handles") ; There is no description
1106 (license license:bsd-3)))
1107
1108(define-public ghc-bytestring-lexing
1109 (package
1110 (name "ghc-bytestring-lexing")
1111 (version "0.5.0.2")
1112 (source
1113 (origin
1114 (method url-fetch)
1115 (uri (string-append "https://hackage.haskell.org/package/"
1116 "bytestring-lexing/bytestring-lexing-"
1117 version ".tar.gz"))
1118 (sha256
1119 (base32
1120 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1121 (build-system haskell-build-system)
1122 (home-page "http://code.haskell.org/~wren/")
1123 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1124 (description
1125 "This package provides tools to parse and produce literals efficiently
1126from strict or lazy bytestrings.")
1127 (license license:bsd-2)))
1128
1129(define-public ghc-bzlib-conduit
1130 (package
1131 (name "ghc-bzlib-conduit")
5fba8d6d 1132 (version "0.3.0.2")
dddbc90c
RV
1133 (source
1134 (origin
1135 (method url-fetch)
1136 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1137 "bzlib-conduit-" version ".tar.gz"))
1138 (sha256
1139 (base32
5fba8d6d 1140 "0a21zin5plsl37hkxh2jv8cxwyjrbs2fy7n5cyrzgdaa7lmp6b7b"))))
dddbc90c
RV
1141 (build-system haskell-build-system)
1142 (inputs
1143 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1144 ("ghc-conduit" ,ghc-conduit)
1145 ("ghc-data-default-class" ,ghc-data-default-class)
1146 ("ghc-resourcet" ,ghc-resourcet)))
1147 (native-inputs
1148 `(("ghc-hspec" ,ghc-hspec)
1149 ("ghc-random" ,ghc-random)))
1150 (home-page "https://github.com/snoyberg/bzlib-conduit")
1151 (synopsis "Streaming compression/decompression via conduits")
1152 (description
1153 "This package provides Haskell bindings to bzlib and Conduit support for
1154streaming compression and decompression.")
1155 (license license:bsd-3)))
1156
1157(define-public ghc-c2hs
1158 (package
1159 (name "ghc-c2hs")
1160 (version "0.28.6")
1161 (source
1162 (origin
1163 (method url-fetch)
1164 (uri (string-append
1165 "https://hackage.haskell.org/package/c2hs/c2hs-"
1166 version
1167 ".tar.gz"))
1168 (sha256
1169 (base32
1170 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1171 (build-system haskell-build-system)
1172 (inputs
1173 `(("ghc-language-c" ,ghc-language-c)
1174 ("ghc-dlist" ,ghc-dlist)))
1175 (native-inputs
1176 `(("ghc-test-framework" ,ghc-test-framework)
1177 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1178 ("ghc-hunit" ,ghc-hunit)
1179 ("ghc-shelly" ,ghc-shelly)
1180 ("gcc" ,gcc)))
1181 (arguments
1182 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1183 ;; of glibc 2.28.
1184 #:tests? #f
1185
1186 #:phases
1187 (modify-phases %standard-phases
1188 (add-before 'check 'set-cc
1189 ;; add a cc executable in the path, needed for some tests to pass
1190 (lambda* (#:key inputs #:allow-other-keys)
1191 (let ((gcc (assoc-ref inputs "gcc"))
1192 (tmpbin (tmpnam))
1193 (curpath (getenv "PATH")))
1194 (mkdir-p tmpbin)
1195 (symlink (which "gcc") (string-append tmpbin "/cc"))
1196 (setenv "PATH" (string-append tmpbin ":" curpath)))
1197 #t))
1198 (add-after 'check 'remove-cc
1199 ;; clean the tmp dir made in 'set-cc
1200 (lambda _
1201 (let* ((cc-path (which "cc"))
1202 (cc-dir (dirname cc-path)))
1203 (delete-file-recursively cc-dir)
1204 #t))))))
1205 (home-page "https://github.com/haskell/c2hs")
1206 (synopsis "Create Haskell bindings to C libraries")
1207 (description "C->Haskell assists in the development of Haskell bindings to
1208C libraries. It extracts interface information from C header files and
1209generates Haskell code with foreign imports and marshaling. Unlike writing
1210foreign imports by hand (or using hsc2hs), this ensures that C functions are
1211imported with the correct Haskell types.")
1212 (license license:gpl2)))
1213
1214(define-public ghc-cairo
1215 (package
1216 (name "ghc-cairo")
1217 (version "0.13.5.0")
1218 (source
1219 (origin
1220 (method url-fetch)
1221 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1222 "cairo-" version ".tar.gz"))
1223 (sha256
1224 (base32
1225 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1226 (build-system haskell-build-system)
1227 (arguments
1228 `(#:modules ((guix build haskell-build-system)
1229 (guix build utils)
1230 (ice-9 match)
1231 (srfi srfi-26))
1232 #:phases
1233 (modify-phases %standard-phases
1234 ;; FIXME: This is a copy of the standard configure phase with a tiny
1235 ;; difference: this package needs the -package-db flag to be passed
1236 ;; to "runhaskell" in addition to the "configure" action, because it
1237 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1238 ;; this option the Setup.hs file cannot be evaluated. The
1239 ;; haskell-build-system should be changed to pass "-package-db" to
1240 ;; "runhaskell" in any case.
1241 (replace 'configure
1242 (lambda* (#:key outputs inputs tests? (configure-flags '())
1243 #:allow-other-keys)
1244 (let* ((out (assoc-ref outputs "out"))
1245 (name-version (strip-store-file-name out))
1246 (input-dirs (match inputs
1247 (((_ . dir) ...)
1248 dir)
1249 (_ '())))
1250 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1251 (params (append `(,(string-append "--prefix=" out))
1252 `(,(string-append "--libdir=" out "/lib"))
1253 `(,(string-append "--bindir=" out "/bin"))
1254 `(,(string-append
1255 "--docdir=" out
1256 "/share/doc/" name-version))
1257 '("--libsubdir=$compiler/$pkg-$version")
1258 '("--package-db=../package.conf.d")
1259 '("--global")
1260 `(,@(map
1261 (cut string-append "--extra-include-dirs=" <>)
1262 (search-path-as-list '("include") input-dirs)))
1263 `(,@(map
1264 (cut string-append "--extra-lib-dirs=" <>)
1265 (search-path-as-list '("lib") input-dirs)))
1266 (if tests?
1267 '("--enable-tests")
1268 '())
1269 configure-flags)))
1270 (unsetenv "GHC_PACKAGE_PATH")
1271 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1272 "Setup.hs" "configure" params)
1273 (setenv "GHC_PACKAGE_PATH" ghc-path)
1274 #t))))))
1275 (inputs
1276 `(("ghc-utf8-string" ,ghc-utf8-string)
1277 ("cairo" ,cairo)))
1278 (native-inputs
1279 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1280 ("pkg-config" ,pkg-config)))
1281 (home-page "http://projects.haskell.org/gtk2hs/")
1282 (synopsis "Haskell bindings to the Cairo vector graphics library")
1283 (description
1284 "Cairo is a library to render high quality vector graphics. There exist
1285various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1286documents, amongst others.")
1287 (license license:bsd-3)))
1288
1289(define-public ghc-call-stack
1290 (package
1291 (name "ghc-call-stack")
1292 (version "0.1.0")
1293 (source
1294 (origin
1295 (method url-fetch)
1296 (uri (string-append "https://hackage.haskell.org/package/"
1297 "call-stack/call-stack-"
1298 version ".tar.gz"))
1299 (sha256
1300 (base32
1301 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1302 (build-system haskell-build-system)
1303 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1304 (home-page "https://github.com/sol/call-stack#readme")
1305 (synopsis "Use GHC call-stacks in a backward compatible way")
1306 (description "This package provides a compatibility layer for using GHC
1307call stacks with different versions of the compiler.")
1308 (license license:expat)))
1309
1310;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1311;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1312(define-public ghc-call-stack-boot
1313 (hidden-package
1314 (package
1315 (inherit ghc-call-stack)
1316 (arguments '(#:tests? #f))
1317 (inputs '()))))
1318
1319(define-public ghc-case-insensitive
1320 (package
1321 (name "ghc-case-insensitive")
1322 (version "1.2.0.11")
1323 (outputs '("out" "doc"))
1324 (source
1325 (origin
1326 (method url-fetch)
1327 (uri (string-append
1328 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1329 version
1330 ".tar.gz"))
1331 (sha256
1332 (base32
1333 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1334 (build-system haskell-build-system)
1335 ;; these inputs are necessary to use this library
1336 (inputs
1337 `(("ghc-hashable" ,ghc-hashable)))
1338 (arguments
1339 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1340 (home-page
1341 "https://github.com/basvandijk/case-insensitive")
1342 (synopsis "Case insensitive string comparison")
1343 (description
1344 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1345constructor which can be parameterised by a string-like type like:
1346@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1347the resulting type will be insensitive to cases.")
1348 (license license:bsd-3)))
1349
1350(define-public ghc-cereal
1351 (package
1352 (name "ghc-cereal")
bd95427e 1353 (version "0.5.8.1")
dddbc90c
RV
1354 (source
1355 (origin
1356 (method url-fetch)
1357 (uri (string-append
1358 "https://hackage.haskell.org/package/cereal/cereal-"
1359 version
1360 ".tar.gz"))
1361 (sha256
1362 (base32
bd95427e 1363 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1364 (build-system haskell-build-system)
1365 (native-inputs
1366 `(("ghc-quickcheck" ,ghc-quickcheck)
1367 ("ghc-fail" ,ghc-fail)
1368 ("ghc-test-framework" ,ghc-test-framework)
1369 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1370 (home-page "https://hackage.haskell.org/package/cereal")
1371 (synopsis "Binary serialization library")
1372 (description "This package provides a binary serialization library,
1373similar to @code{binary}, that introduces an @code{isolate} primitive for
1374parser isolation, and labeled blocks for better error messages.")
1375 (license license:bsd-3)))
1376
1377(define-public ghc-cereal-conduit
1378 (package
1379 (name "ghc-cereal-conduit")
1380 (version "0.8.0")
1381 (source
1382 (origin
1383 (method url-fetch)
1384 (uri (string-append "https://hackage.haskell.org/package/"
1385 "cereal-conduit/cereal-conduit-"
1386 version ".tar.gz"))
1387 (sha256
1388 (base32
1389 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1390 (build-system haskell-build-system)
1391 (inputs
1392 `(("ghc-conduit" ,ghc-conduit)
1393 ("ghc-resourcet" ,ghc-resourcet)
1394 ("ghc-cereal" ,ghc-cereal)))
1395 (native-inputs
1396 `(("ghc-hunit" ,ghc-hunit)))
1397 (home-page "https://github.com/snoyberg/conduit")
1398 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1399 (description
1400 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1401@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1402 (license license:bsd-3)))
1403
1404(define-public ghc-cgi
1405 (package
1406 (name "ghc-cgi")
b6b2c218 1407 (version "3001.4.0.0")
dddbc90c
RV
1408 (source
1409 (origin
1410 (method url-fetch)
1411 (uri (string-append
1412 "https://hackage.haskell.org/package/cgi/cgi-"
1413 version
1414 ".tar.gz"))
1415 (sha256
1416 (base32
b6b2c218 1417 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1418 (build-system haskell-build-system)
dddbc90c
RV
1419 (inputs
1420 `(("ghc-exceptions" ,ghc-exceptions)
1421 ("ghc-multipart" ,ghc-multipart)
1422 ("ghc-network-uri" ,ghc-network-uri)
1423 ("ghc-network" ,ghc-network)))
1424 (native-inputs
1425 `(("ghc-doctest" ,ghc-doctest)
1426 ("ghc-quickcheck" ,ghc-quickcheck)))
1427 (home-page
1428 "https://github.com/cheecheeo/haskell-cgi")
1429 (synopsis "Library for writing CGI programs")
1430 (description
1431 "This is a Haskell library for writing CGI programs.")
1432 (license license:bsd-3)))
1433
1434(define-public ghc-charset
1435 (package
1436 (name "ghc-charset")
1437 (version "0.3.7.1")
1438 (source
1439 (origin
1440 (method url-fetch)
1441 (uri (string-append
1442 "https://hackage.haskell.org/package/charset/charset-"
1443 version
1444 ".tar.gz"))
1445 (sha256
1446 (base32
1447 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1448 (build-system haskell-build-system)
35ee173c
TS
1449 (arguments
1450 `(#:cabal-revision
1451 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1452 (inputs
1453 `(("ghc-semigroups" ,ghc-semigroups)
1454 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1455 (home-page "https://github.com/ekmett/charset")
1456 (synopsis "Fast unicode character sets for Haskell")
1457 (description "This package provides fast unicode character sets for
1458Haskell, based on complemented PATRICIA tries.")
1459 (license license:bsd-3)))
1460
1461(define-public ghc-chart
1462 (package
1463 (name "ghc-chart")
1464 (version "1.9")
1465 (source
1466 (origin
1467 (method url-fetch)
1468 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1469 "Chart-" version ".tar.gz"))
1470 (sha256
1471 (base32
1472 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
1473 (build-system haskell-build-system)
1474 (inputs
1475 `(("ghc-old-locale" ,ghc-old-locale)
1476 ("ghc-lens" ,ghc-lens)
1477 ("ghc-colour" ,ghc-colour)
1478 ("ghc-data-default-class" ,ghc-data-default-class)
1479 ("ghc-operational" ,ghc-operational)
1480 ("ghc-vector" ,ghc-vector)))
1481 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1482 (synopsis "Library for generating 2D charts and plots")
1483 (description
1484 "This package provides a library for generating 2D charts and plots, with
1485backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1486 (license license:bsd-3)))
1487
1488(define-public ghc-chart-cairo
1489 (package
1490 (name "ghc-chart-cairo")
1491 (version "1.9")
1492 (source
1493 (origin
1494 (method url-fetch)
1495 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1496 "Chart-cairo-" version ".tar.gz"))
1497 (sha256
1498 (base32
1499 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1500 (build-system haskell-build-system)
1501 (inputs
1502 `(("ghc-old-locale" ,ghc-old-locale)
1503 ("ghc-cairo" ,ghc-cairo)
1504 ("ghc-colour" ,ghc-colour)
1505 ("ghc-data-default-class" ,ghc-data-default-class)
1506 ("ghc-operational" ,ghc-operational)
1507 ("ghc-lens" ,ghc-lens)
1508 ("ghc-chart" ,ghc-chart)))
1509 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1510 (synopsis "Cairo backend for Charts")
1511 (description "This package provides a Cairo vector graphics rendering
1512backend for the Charts library.")
1513 (license license:bsd-3)))
1514
1515(define-public ghc-chasingbottoms
1516 (package
1517 (name "ghc-chasingbottoms")
1f67853e 1518 (version "1.3.1.7")
dddbc90c
RV
1519 (source
1520 (origin
1521 (method url-fetch)
1522 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1523 "ChasingBottoms-" version ".tar.gz"))
1524 (sha256
1525 (base32
1f67853e 1526 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1527 (build-system haskell-build-system)
1528 (inputs
1529 `(("ghc-quickcheck" ,ghc-quickcheck)
1530 ("ghc-random" ,ghc-random)
1531 ("ghc-syb" ,ghc-syb)))
1532 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1533 (synopsis "Testing of partial and infinite values in Haskell")
1534 (description
1535 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1536 ;; rendered properly.
1537 "This is a library for testing code involving bottoms or infinite values.
1538For the underlying theory and a larger example involving use of QuickCheck,
1539see the article
1540@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1541\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1542Partial and Infinite Values\"}.")
1543 (license license:expat)))
1544
1545(define-public ghc-cheapskate
1546 (package
1547 (name "ghc-cheapskate")
5e18bb9e 1548 (version "0.1.1.1")
dddbc90c
RV
1549 (source
1550 (origin
1551 (method url-fetch)
1552 (uri (string-append
1553 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1554 version
1555 ".tar.gz"))
1556 (sha256
1557 (base32
5e18bb9e 1558 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1559 (build-system haskell-build-system)
1560 (inputs
1561 `(("ghc-blaze-html" ,ghc-blaze-html)
1562 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1563 ("ghc-data-default" ,ghc-data-default)
1564 ("ghc-syb" ,ghc-syb)
1565 ("ghc-uniplate" ,ghc-uniplate)))
1566 (home-page "https://github.com/jgm/cheapskate")
1567 (synopsis "Experimental markdown processor")
1568 (description "Cheapskate is an experimental Markdown processor in pure
1569Haskell. It aims to process Markdown efficiently and in the most forgiving
1570possible way. It is designed to deal with any input, including garbage, with
1571linear performance. Output is sanitized by default for protection against
1572cross-site scripting (@dfn{XSS}) attacks.")
1573 (license license:bsd-3)))
1574
1575(define-public ghc-chell
1576 (package
1577 (name "ghc-chell")
acdd03be 1578 (version "0.5")
dddbc90c
RV
1579 (source
1580 (origin
1581 (method url-fetch)
1582 (uri (string-append
1583 "https://hackage.haskell.org/package/chell/chell-"
1584 version ".tar.gz"))
1585 (sha256
1586 (base32
acdd03be 1587 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1588 (build-system haskell-build-system)
acdd03be
TS
1589 (arguments
1590 `(#:cabal-revision
1591 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1592 (inputs
1593 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1594 ("ghc-patience" ,ghc-patience)
1595 ("ghc-random" ,ghc-random)
1596 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1597 (home-page "https://john-millikin.com/software/chell/")
1598 (synopsis "Simple and intuitive library for automated testing")
1599 (description
1600 "Chell is a simple and intuitive library for automated testing.
1601It natively supports assertion-based testing, and can use companion
1602libraries such as @code{chell-quickcheck} to support more complex
1603testing strategies.")
1604 (license license:expat)))
1605
1606(define-public ghc-chell-quickcheck
1607 (package
1608 (name "ghc-chell-quickcheck")
e0e21831 1609 (version "0.2.5.2")
dddbc90c
RV
1610 (source
1611 (origin
1612 (method url-fetch)
1613 (uri (string-append
1614 "https://hackage.haskell.org/package/chell-quickcheck/"
1615 "chell-quickcheck-" version ".tar.gz"))
1616 (sha256
1617 (base32
e0e21831 1618 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1619 (build-system haskell-build-system)
1620 (arguments
1621 `(#:phases
1622 (modify-phases %standard-phases
1623 (add-before 'configure 'update-constraints
1624 (lambda _
1625 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1626 (("QuickCheck >= 2\\.3 && < 2\\.13")
1627 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1628 (inputs
1629 `(("ghc-chell" ,ghc-chell)
1630 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1631 ("ghc-random" ,ghc-random)
1632 ("ghc-quickcheck" ,ghc-quickcheck)))
1633 (home-page "https://john-millikin.com/software/chell/")
1634 (synopsis "QuickCheck support for the Chell testing library")
1635 (description "More complex tests for @code{chell}.")
1636 (license license:expat)))
1637
1638(define ghc-chell-quickcheck-bootstrap
1639 (package
1640 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1641 (version "0.2.5.2")
dddbc90c
RV
1642 (source
1643 (origin
1644 (method url-fetch)
1645 (uri (string-append
1646 "https://hackage.haskell.org/package/chell-quickcheck/"
1647 "chell-quickcheck-" version ".tar.gz"))
1648 (sha256
1649 (base32
e0e21831 1650 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1651 (build-system haskell-build-system)
1652 (inputs
1653 `(("ghc-chell" ,ghc-chell)
1654 ("ghc-random" ,ghc-random)
1655 ("ghc-quickcheck" ,ghc-quickcheck)))
1656 (arguments
1657 `(#:tests? #f
1658 #:phases
1659 (modify-phases %standard-phases
1660 (add-before 'configure 'update-constraints
1661 (lambda _
1662 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1663 (("QuickCheck >= 2\\.3 && < 2\\.13")
1664 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1665 (home-page "https://john-millikin.com/software/chell/")
1666 (synopsis "QuickCheck support for the Chell testing library")
1667 (description "More complex tests for @code{chell}.")
1668 (license license:expat)))
1669
1670(define-public ghc-chunked-data
1671 (package
1672 (name "ghc-chunked-data")
1673 (version "0.3.1")
1674 (source
1675 (origin
1676 (method url-fetch)
1677 (uri (string-append "https://hackage.haskell.org/package/"
1678 "chunked-data-" version "/"
1679 "chunked-data-" version ".tar.gz"))
1680 (sha256
1681 (base32
1682 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1683 (build-system haskell-build-system)
1684 (inputs `(("ghc-vector" ,ghc-vector)
1685 ("ghc-semigroups" ,ghc-semigroups)))
1686 (home-page "https://github.com/snoyberg/mono-traversable")
1687 (synopsis "Typeclasses for dealing with various chunked data
1688representations for Haskell")
1689 (description "This Haskell package was originally present in
1690classy-prelude.")
1691 (license license:expat)))
1692
1693(define-public ghc-clock
1694 (package
1695 (name "ghc-clock")
0841b6f2 1696 (version "0.8")
dddbc90c
RV
1697 (source
1698 (origin
1699 (method url-fetch)
1700 (uri (string-append
1701 "https://hackage.haskell.org/package/"
1702 "clock/"
1703 "clock-" version ".tar.gz"))
1704 (sha256
0841b6f2 1705 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1706 (build-system haskell-build-system)
1707 (inputs
1708 `(("ghc-tasty" ,ghc-tasty)
1709 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1710 (home-page "https://hackage.haskell.org/package/clock")
1711 (synopsis "High-resolution clock for Haskell")
1712 (description "A package for convenient access to high-resolution clock and
1713timer functions of different operating systems via a unified API.")
1714 (license license:bsd-3)))
1715
1716;; This package builds `clock` without tests, since the tests rely on tasty
1717;; and tasty-quickcheck, which in turn require clock to build.
1718(define-public ghc-clock-bootstrap
1719 (package
1720 (inherit ghc-clock)
1721 (name "ghc-clock-bootstrap")
1722 (arguments '(#:tests? #f))
1723 (inputs '())
1724 (properties '((hidden? #t)))))
1725
1726(define-public ghc-cmark
1727 (package
1728 (name "ghc-cmark")
6bdd36c0 1729 (version "0.6")
dddbc90c
RV
1730 (source (origin
1731 (method url-fetch)
6bdd36c0 1732 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1733 ;; See cbits/cmark_version.h.
1734 (uri (string-append "https://hackage.haskell.org/package/"
1735 "cmark/cmark-" version ".tar.gz"))
1736 (sha256
1737 (base32
6bdd36c0 1738 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1739 (build-system haskell-build-system)
1740 (native-inputs
1741 `(("ghc-hunit" ,ghc-hunit)))
1742 (home-page "https://github.com/jgm/commonmark-hs")
1743 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1744 (description
1745 "This package provides Haskell bindings for
1746@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1747CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1748sources, and does not require prior installation of the C library.")
1749 (license license:bsd-3)))
1750
1751(define-public ghc-cmark-gfm
1752 (package
1753 (name "ghc-cmark-gfm")
24fc8dae 1754 (version "0.2.0")
dddbc90c
RV
1755 (source
1756 (origin
1757 (method url-fetch)
1758 (uri (string-append "https://hackage.haskell.org/package/"
1759 "cmark-gfm/cmark-gfm-"
1760 version ".tar.gz"))
1761 (sha256
1762 (base32
24fc8dae 1763 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1764 (build-system haskell-build-system)
1765 (native-inputs
1766 `(("ghc-hunit" ,ghc-hunit)))
1767 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1768 (synopsis
1769 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1770 (description
1771 "This package provides Haskell bindings for libcmark-gfm, the reference
1772parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1773It includes sources for libcmark-gfm and does not require prior installation
1774of the C library.")
1775 (license license:bsd-3)))
1776
1777(define-public ghc-cmdargs
1778 (package
1779 (name "ghc-cmdargs")
1780 (version "0.10.20")
1781 (source
1782 (origin
1783 (method url-fetch)
1784 (uri (string-append
1785 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1786 version ".tar.gz"))
1787 (sha256
1788 (base32
1789 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1790 (build-system haskell-build-system)
1791 (home-page
1792 "http://community.haskell.org/~ndm/cmdargs/")
1793 (synopsis "Command line argument processing")
1794 (description
1795 "This library provides an easy way to define command line parsers.")
1796 (license license:bsd-3)))
1797
1798(define-public ghc-code-page
1799 (package
1800 (name "ghc-code-page")
f6bb6519 1801 (version "0.2")
dddbc90c
RV
1802 (source
1803 (origin
1804 (method url-fetch)
1805 (uri (string-append
1806 "https://hackage.haskell.org/package/code-page/code-page-"
1807 version ".tar.gz"))
1808 (sha256
1809 (base32
f6bb6519 1810 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1811 (build-system haskell-build-system)
1812 (home-page "https://github.com/RyanGlScott/code-page")
1813 (synopsis "Windows code page library for Haskell")
1814 (description "A cross-platform library with functions for adjusting
1815code pages on Windows. On all other operating systems, the library does
1816nothing.")
1817 (license license:bsd-3)))
1818
1819(define-public ghc-colour
1820(package
1821 (name "ghc-colour")
bc9d1af9 1822 (version "2.3.5")
dddbc90c
RV
1823 (source
1824 (origin
1825 (method url-fetch)
1826 (uri (string-append
1827 "https://hackage.haskell.org/package/colour/colour-"
1828 version ".tar.gz"))
1829 (sha256
1830 (base32
bc9d1af9 1831 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1832 (arguments
1833 ;; The tests for this package have the following dependency cycle:
1834 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1835 `(#:tests? #f))
1836 (build-system haskell-build-system)
1837 (home-page "https://www.haskell.org/haskellwiki/Colour")
1838 (synopsis "Model for human colour perception")
1839 (description
1840 "This package provides a data type for colours and transparency.
1841Colours can be blended and composed. Various colour spaces are
1842supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1843 (license license:expat)))
1844
1845(define-public ghc-comonad
1846 (package
1847 (name "ghc-comonad")
1a825512 1848 (version "5.0.5")
dddbc90c
RV
1849 (source
1850 (origin
1851 (method url-fetch)
1852 (uri (string-append
1853 "https://hackage.haskell.org/package/comonad/comonad-"
1854 version
1855 ".tar.gz"))
1856 (sha256
1857 (base32
1a825512 1858 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
1859 (build-system haskell-build-system)
1860 (native-inputs
1861 `(("cabal-doctest" ,cabal-doctest)
1862 ("ghc-doctest" ,ghc-doctest)))
1863 (inputs
1864 `(("ghc-contravariant" ,ghc-contravariant)
1865 ("ghc-distributive" ,ghc-distributive)
1866 ("ghc-semigroups" ,ghc-semigroups)
1867 ("ghc-tagged" ,ghc-tagged)
1868 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1869 (home-page "https://github.com/ekmett/comonad/")
1870 (synopsis "Comonads for Haskell")
1871 (description "This library provides @code{Comonad}s for Haskell.")
1872 (license license:bsd-3)))
1873
1874(define-public ghc-concatenative
1875 (package
1876 (name "ghc-concatenative")
1877 (version "1.0.1")
1878 (source (origin
1879 (method url-fetch)
1880 (uri (string-append
1881 "https://hackage.haskell.org/package/concatenative/concatenative-"
1882 version ".tar.gz"))
1883 (sha256
1884 (base32
1885 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1886 (build-system haskell-build-system)
1887 (home-page
1888 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1889 (synopsis "Library for postfix control flow")
1890 (description
1891 "Concatenative gives Haskell Factor-style combinators and arrows for
1892postfix notation. For more information on stack based languages, see
1893@uref{https://concatenative.org}.")
1894 (license license:bsd-3)))
1895
1896(define-public ghc-concurrent-extra
1897 (package
1898 (name "ghc-concurrent-extra")
1899 (version "0.7.0.12")
1900 (source
1901 (origin
1902 (method url-fetch)
1903 (uri (string-append "https://hackage.haskell.org/package/"
1904 "concurrent-extra/concurrent-extra-"
1905 version ".tar.gz"))
1906 (sha256
1907 (base32
1908 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1909 (build-system haskell-build-system)
1910 (arguments
1911 ;; XXX: The ReadWriteLock 'stressTest' fails.
1912 `(#:tests? #f))
1913 (inputs
1914 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1915 (native-inputs
1916 `(("ghc-async" ,ghc-async)
1917 ("ghc-hunit" ,ghc-hunit)
1918 ("ghc-random" ,ghc-random)
1919 ("ghc-test-framework" ,ghc-test-framework)
1920 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1921 (home-page "https://github.com/basvandijk/concurrent-extra")
1922 (synopsis "Extra concurrency primitives")
1923 (description "This Haskell library offers (among other things) the
1924following selection of synchronisation primitives:
1925
1926@itemize
1927@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1928@item @code{Event}: Wake multiple threads by signalling an event.
1929@item @code{Lock}: Enforce exclusive access to a resource. Also known
1930as a binary semaphore or mutex. The package additionally provides an
1931alternative that works in the STM monad.
1932@item @code{RLock}: A lock which can be acquired multiple times by the
1933same thread. Also known as a reentrant mutex.
1934@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1935to protect shared resources which may be concurrently read, but only
1936sequentially written.
1937@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1938@end itemize
1939
1940Please consult the API documentation of the individual modules for more
1941detailed information.
1942
1943This package was inspired by the concurrency libraries of Java and
1944Python.")
1945 (license license:bsd-3)))
1946
1947(define-public ghc-concurrent-output
1948 (package
1949 (name "ghc-concurrent-output")
4fce0a4a 1950 (version "1.10.11")
dddbc90c
RV
1951 (source
1952 (origin
1953 (method url-fetch)
1954 (uri (string-append
1955 "mirror://hackage/package/concurrent-output/concurrent-output-"
1956 version
1957 ".tar.gz"))
1958 (sha256
1959 (base32
4fce0a4a 1960 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
1961 (build-system haskell-build-system)
1962 (inputs
1963 `(("ghc-async" ,ghc-async)
1964 ("ghc-exceptions" ,ghc-exceptions)
1965 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1966 ("ghc-terminal-size" ,ghc-terminal-size)))
1967 (home-page
1968 "https://hackage.haskell.org/package/concurrent-output")
1969 (synopsis
1970 "Ungarble output from several threads or commands")
1971 (description
1972 "Lets multiple threads and external processes concurrently output to the
1973console, without it getting all garbled up.
1974
1975Built on top of that is a way of defining multiple output regions, which are
1976automatically laid out on the screen and can be individually updated by
1977concurrent threads. Can be used for progress displays etc.")
1978 (license license:bsd-2)))
1979
1980(define-public ghc-conduit
1981 (package
1982 (name "ghc-conduit")
1ac981d4 1983 (version "1.3.1.1")
dddbc90c
RV
1984 (source (origin
1985 (method url-fetch)
1986 (uri (string-append "https://hackage.haskell.org/package/"
1987 "conduit/conduit-" version ".tar.gz"))
1988 (sha256
1989 (base32
1ac981d4 1990 "18izjgff4pmrknc8py06yvg3g6x27nx0rzmlwjxcflwm5v4szpw4"))))
dddbc90c
RV
1991 (build-system haskell-build-system)
1992 (inputs
1993 `(("ghc-exceptions" ,ghc-exceptions)
1994 ("ghc-lifted-base" ,ghc-lifted-base)
1995 ("ghc-mono-traversable" ,ghc-mono-traversable)
1996 ("ghc-mmorph" ,ghc-mmorph)
1997 ("ghc-resourcet" ,ghc-resourcet)
1998 ("ghc-silently" ,ghc-silently)
1999 ("ghc-transformers-base" ,ghc-transformers-base)
2000 ("ghc-unliftio" ,ghc-unliftio)
2001 ("ghc-unliftio-core" ,ghc-unliftio-core)
2002 ("ghc-vector" ,ghc-vector)
2003 ("ghc-void" ,ghc-void)))
2004 (native-inputs
2005 `(("ghc-quickcheck" ,ghc-quickcheck)
2006 ("ghc-hspec" ,ghc-hspec)
2007 ("ghc-safe" ,ghc-safe)
2008 ("ghc-split" ,ghc-split)))
2009 (home-page "https://github.com/snoyberg/conduit")
2010 (synopsis "Streaming data library ")
2011 (description
2012 "The conduit package is a solution to the streaming data problem,
2013allowing for production, transformation, and consumption of streams of data
2014in constant memory. It is an alternative to lazy I/O which guarantees
2015deterministic resource handling, and fits in the same general solution
2016space as enumerator/iteratee and pipes.")
2017 (license license:expat)))
2018
2019(define-public ghc-conduit-algorithms
2020 (package
2021 (name "ghc-conduit-algorithms")
2022 (version "0.0.8.1")
2023 (source
2024 (origin
2025 (method url-fetch)
2026 (uri (string-append "https://hackage.haskell.org/package/"
2027 "conduit-algorithms/conduit-algorithms-"
2028 version ".tar.gz"))
2029 (sha256
2030 (base32
2031 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
2032 (build-system haskell-build-system)
2033 (inputs
2034 `(("ghc-async" ,ghc-async)
2035 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2036 ("ghc-conduit" ,ghc-conduit)
2037 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2038 ("ghc-conduit-extra" ,ghc-conduit-extra)
2039 ("ghc-exceptions" ,ghc-exceptions)
2040 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2041 ("ghc-monad-control" ,ghc-monad-control)
2042 ("ghc-pqueue" ,ghc-pqueue)
2043 ("ghc-resourcet" ,ghc-resourcet)
2044 ("ghc-stm-conduit" ,ghc-stm-conduit)
2045 ("ghc-streaming-commons" ,ghc-streaming-commons)
2046 ("ghc-unliftio-core" ,ghc-unliftio-core)
2047 ("ghc-vector" ,ghc-vector)))
2048 (native-inputs
2049 `(("ghc-hunit" ,ghc-hunit)
2050 ("ghc-test-framework" ,ghc-test-framework)
2051 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2052 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2053 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2054 (synopsis "Conduit-based algorithms")
2055 (description
2056 "This package provides algorithms on @code{Conduits}, including higher
2057level asynchronous processing and some other utilities.")
2058 (license license:expat)))
2059
2060(define-public ghc-conduit-combinators
2061 (package
2062 (name "ghc-conduit-combinators")
2063 (version "1.3.0")
2064 (source
2065 (origin
2066 (method url-fetch)
2067 (uri (string-append "https://hackage.haskell.org/package/"
2068 "conduit-combinators-" version "/"
2069 "conduit-combinators-" version ".tar.gz"))
2070 (sha256
2071 (base32
2072 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2073 (build-system haskell-build-system)
2074 (inputs `(("ghc-conduit" ,ghc-conduit)
2075 ("ghc-conduit-extra" ,ghc-conduit-extra)
2076 ("ghc-transformers-base" ,ghc-transformers-base)
2077 ("ghc-primitive" ,ghc-primitive)
2078 ("ghc-vector" ,ghc-vector)
2079 ("ghc-void" ,ghc-void)
2080 ("ghc-mwc-random" ,ghc-mwc-random)
2081 ("ghc-unix-compat" ,ghc-unix-compat)
2082 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2083 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2084 ("ghc-resourcet" ,ghc-resourcet)
2085 ("ghc-monad-control" ,ghc-monad-control)
2086 ("ghc-chunked-data" ,ghc-chunked-data)
2087 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2088 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2089 ("ghc-silently" ,ghc-silently)
2090 ("ghc-safe" ,ghc-safe)
2091 ("ghc-quickcheck" ,ghc-quickcheck)))
2092 (home-page "https://github.com/snoyberg/mono-traversable")
2093 (synopsis "Commonly used conduit functions, for both chunked and
2094unchunked data")
2095 (description "This Haskell package provides a replacement for Data.Conduit.List,
2096as well as a convenient Conduit module.")
2097 (license license:expat)))
2098
2099(define-public ghc-conduit-extra
2100 (package
2101 (name "ghc-conduit-extra")
151774d9 2102 (version "1.3.4")
dddbc90c
RV
2103 (source
2104 (origin
2105 (method url-fetch)
2106 (uri (string-append "https://hackage.haskell.org/package/"
2107 "conduit-extra/conduit-extra-"
2108 version ".tar.gz"))
2109 (sha256
2110 (base32
151774d9 2111 "1d853d39vj5pb8yxfcsnjwdzqzkm34ixzbnba8bslpihb7182wxi"))))
dddbc90c
RV
2112 (build-system haskell-build-system)
2113 (inputs
2114 `(("ghc-conduit" ,ghc-conduit)
2115 ("ghc-exceptions" ,ghc-exceptions)
2116 ("ghc-monad-control" ,ghc-monad-control)
2117 ("ghc-transformers-base" ,ghc-transformers-base)
2118 ("ghc-typed-process" ,ghc-typed-process)
2119 ("ghc-async" ,ghc-async)
2120 ("ghc-attoparsec" ,ghc-attoparsec)
2121 ("ghc-blaze-builder" ,ghc-blaze-builder)
2122 ("ghc-network" ,ghc-network)
2123 ("ghc-primitive" ,ghc-primitive)
2124 ("ghc-resourcet" ,ghc-resourcet)
2125 ("ghc-streaming-commons" ,ghc-streaming-commons)
2126 ("ghc-hspec" ,ghc-hspec)
2127 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2128 ("ghc-quickcheck" ,ghc-quickcheck)))
2129 (native-inputs
2130 `(("hspec-discover" ,hspec-discover)))
2131 (home-page "https://github.com/snoyberg/conduit")
2132 (synopsis "Conduit adapters for common libraries")
2133 (description
2134 "The @code{conduit} package itself maintains relative small dependencies.
2135The purpose of this package is to collect commonly used utility functions
2136wrapping other library dependencies, without depending on heavier-weight
2137dependencies. The basic idea is that this package should only depend on
2138@code{haskell-platform} packages and @code{conduit}.")
2139 (license license:expat)))
2140
2141(define-public ghc-configurator
2142 (package
2143 (name "ghc-configurator")
2144 (version "0.3.0.0")
2145 (source
2146 (origin
2147 (method url-fetch)
2148 (uri (string-append "https://hackage.haskell.org/package/"
2149 "configurator/configurator-"
2150 version ".tar.gz"))
2151 (sha256
2152 (base32
2153 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2154 (build-system haskell-build-system)
2155 (inputs
2156 `(("ghc-attoparsec" ,ghc-attoparsec)
2157 ("ghc-hashable" ,ghc-hashable)
2158 ("ghc-unix-compat" ,ghc-unix-compat)
2159 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2160 (native-inputs
2161 `(("ghc-hunit" ,ghc-hunit)
2162 ("ghc-test-framework" ,ghc-test-framework)
2163 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2164 (home-page "http://github.com/bos/configurator")
2165 (synopsis "Configuration management")
2166 (description
2167 "This package provides a configuration management library for programs
2168and daemons. The features include:
2169
2170@enumerate
2171@item Automatic, dynamic reloading in response to modifications to
2172 configuration files.
2173@item A simple, but flexible, configuration language, supporting several of
2174 the most commonly needed types of data, along with interpolation of strings
2175 from the configuration or the system environment (e.g. @code{$(HOME)}).
2176@item Subscription-based notification of changes to configuration properties.
2177@item An @code{import} directive allows the configuration of a complex
2178 application to be split across several smaller files, or common configuration
2179 data to be shared across several applications.
2180@end enumerate\n")
2181 (license license:bsd-3)))
2182
2183(define-public ghc-connection
2184 (package
2185 (name "ghc-connection")
6ee0d258 2186 (version "0.3.1")
dddbc90c
RV
2187 (source (origin
2188 (method url-fetch)
2189 (uri (string-append "https://hackage.haskell.org/package/"
2190 "connection/connection-"
2191 version ".tar.gz"))
2192 (sha256
2193 (base32
6ee0d258 2194 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2195 (build-system haskell-build-system)
2196 (inputs
2197 `(("ghc-byteable" ,ghc-byteable)
2198 ("ghc-data-default-class" ,ghc-data-default-class)
2199 ("ghc-network" ,ghc-network)
2200 ("ghc-tls" ,ghc-tls)
2201 ("ghc-socks" ,ghc-socks)
2202 ("ghc-x509" ,ghc-x509)
2203 ("ghc-x509-store" ,ghc-x509-store)
2204 ("ghc-x509-system" ,ghc-x509-system)
2205 ("ghc-x509-validation" ,ghc-x509-validation)))
2206 (home-page "https://github.com/vincenthz/hs-connection")
2207 (synopsis "Simple and easy network connections API")
2208 (description
2209 "This package provides a simple network library for all your connection
2210needs. It provides a very simple API to create sockets to a destination with
2211the choice of SSL/TLS, and SOCKS.")
2212 (license license:bsd-3)))
2213
2214(define-public ghc-constraints
2215 (package
2216 (name "ghc-constraints")
2217 (version "0.10.1")
2218 (source
2219 (origin
2220 (method url-fetch)
2221 (uri (string-append
2222 "https://hackage.haskell.org/package/constraints/constraints-"
2223 version ".tar.gz"))
2224 (sha256
2225 (base32
2226 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2227 (build-system haskell-build-system)
2228 (inputs
2229 `(("ghc-hashable" ,ghc-hashable)
2230 ("ghc-semigroups" ,ghc-semigroups)
2231 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2232 (native-inputs
2233 `(("ghc-hspec" ,ghc-hspec)
2234 ("hspec-discover" ,hspec-discover)))
2235 (home-page "https://github.com/ekmett/constraints/")
2236 (synopsis "Constraint manipulation")
2237 (description
2238 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2239They stopped crashing the compiler in GHC 7.6. This package provides
2240a vocabulary for working with them.")
2241 (license license:bsd-3)))
2242
2243(define-public ghc-contravariant
2244 (package
2245 (name "ghc-contravariant")
e7b35ff0 2246 (version "1.5.2")
dddbc90c
RV
2247 (source
2248 (origin
2249 (method url-fetch)
2250 (uri (string-append
2251 "https://hackage.haskell.org/package/contravariant/contravariant-"
2252 version
2253 ".tar.gz"))
2254 (sha256
2255 (base32
e7b35ff0 2256 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2257 (build-system haskell-build-system)
2258 (inputs
2259 `(("ghc-void" ,ghc-void)
2260 ("ghc-transformers-compat" ,ghc-transformers-compat)
2261 ("ghc-statevar" ,ghc-statevar)
2262 ("ghc-semigroups" ,ghc-semigroups)))
2263 (home-page
2264 "https://github.com/ekmett/contravariant/")
2265 (synopsis "Contravariant functors")
2266 (description "Contravariant functors for Haskell.")
2267 (license license:bsd-3)))
2268
2269(define-public ghc-contravariant-extras
2270 (package
2271 (name "ghc-contravariant-extras")
2272 (version "0.3.4")
2273 (source
2274 (origin
2275 (method url-fetch)
2276 (uri (string-append "https://hackage.haskell.org/package/"
2277 "contravariant-extras-" version "/"
2278 "contravariant-extras-" version ".tar.gz"))
2279 (sha256
2280 (base32
2281 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2282 (build-system haskell-build-system)
f3aca086
TS
2283 (arguments
2284 `(#:cabal-revision
2285 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2286 (inputs
2287 `(("ghc-tuple-th" ,ghc-tuple-th)
2288 ("ghc-contravariant" ,ghc-contravariant)
2289 ("ghc-base-prelude" ,ghc-base-prelude)
2290 ("ghc-semigroups" ,ghc-semigroups)))
2291 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2292 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2293 (description "This Haskell package provides extras for the
2294@code{ghc-contravariant} package.")
2295 (license license:expat)))
2296
2297(define-public ghc-convertible
2298 (package
2299 (name "ghc-convertible")
2300 (version "1.1.1.0")
2301 (source
2302 (origin
2303 (method url-fetch)
2304 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2305 "convertible-" version ".tar.gz"))
2306 (sha256
2307 (base32
2308 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2309 (build-system haskell-build-system)
2310 (inputs
2311 `(("ghc-old-time" ,ghc-old-time)
2312 ("ghc-old-locale" ,ghc-old-locale)))
2313 (home-page "https://hackage.haskell.org/package/convertible")
2314 (synopsis "Typeclasses and instances for converting between types")
2315 (description
2316 "This package provides a typeclass with a single function that is
2317designed to help convert between different types: numeric values, dates and
2318times, and the like. The conversions perform bounds checking and return a
2319pure @code{Either} value. This means that you need not remember which specific
2320function performs the conversion you desire.")
2321 (license license:bsd-3)))
2322
2323(define-public ghc-data-accessor
2324 (package
2325 (name "ghc-data-accessor")
6dcca515 2326 (version "0.2.2.8")
dddbc90c
RV
2327 (source
2328 (origin
2329 (method url-fetch)
2330 (uri (string-append
2331 "mirror://hackage/package/data-accessor/data-accessor-"
2332 version ".tar.gz"))
2333 (sha256
6dcca515 2334 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2335 (build-system haskell-build-system)
2336 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2337 (synopsis
2338 "Haskell utilities for accessing and manipulating fields of records")
2339 (description "This package provides Haskell modules for accessing and
2340manipulating fields of records.")
2341 (license license:bsd-3)))
2342
2343(define-public ghc-data-accessor-transformers
2344 (package
2345 (name "ghc-data-accessor-transformers")
2346 (version "0.2.1.7")
2347 (source
2348 (origin
2349 (method url-fetch)
2350 (uri (string-append
2351 "mirror://hackage/package/data-accessor-transformers/"
2352 "data-accessor-transformers-" version ".tar.gz"))
2353 (sha256
2354 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2355 (build-system haskell-build-system)
2356 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2357 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2358 (synopsis "Use Accessor to access state in transformers State monad")
2359 (description "This package provides Haskell modules to allow use of
2360Accessor to access state in transformers State monad.")
2361 (license license:bsd-3)))
2362
2363(define-public ghc-data-default
2364 (package
2365 (name "ghc-data-default")
2366 (version "0.7.1.1")
2367 (source
2368 (origin
2369 (method url-fetch)
2370 (uri (string-append
2371 "https://hackage.haskell.org/package/data-default/data-default-"
2372 version
2373 ".tar.gz"))
2374 (sha256
2375 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2376 (build-system haskell-build-system)
2377 (inputs
2378 `(("ghc-data-default-class"
2379 ,ghc-data-default-class)
2380 ("ghc-data-default-instances-base"
2381 ,ghc-data-default-instances-base)
2382 ("ghc-data-default-instances-containers"
2383 ,ghc-data-default-instances-containers)
2384 ("ghc-data-default-instances-dlist"
2385 ,ghc-data-default-instances-dlist)
2386 ("ghc-data-default-instances-old-locale"
2387 ,ghc-data-default-instances-old-locale)))
2388 (home-page "https://hackage.haskell.org/package/data-default")
2389 (synopsis "Types with default values")
2390 (description
2391 "This package defines a class for types with a default value, and
2392provides instances for types from the base, containers, dlist and old-locale
2393packages.")
2394 (license license:bsd-3)))
2395
2396(define-public ghc-data-default-class
2397 (package
2398 (name "ghc-data-default-class")
2399 (version "0.1.2.0")
2400 (source
2401 (origin
2402 (method url-fetch)
2403 (uri (string-append
2404 "https://hackage.haskell.org/package/data-default-class/"
2405 "data-default-class-" version ".tar.gz"))
2406 (sha256
2407 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2408 (build-system haskell-build-system)
2409 (home-page "https://hackage.haskell.org/package/data-default-class")
2410 (synopsis "Types with default values")
2411 (description
2412 "This package defines a class for types with default values.")
2413 (license license:bsd-3)))
2414
2415(define-public ghc-data-default-instances-base
2416 (package
2417 (name "ghc-data-default-instances-base")
2418 (version "0.1.0.1")
2419 (source
2420 (origin
2421 (method url-fetch)
2422 (uri (string-append
2423 "https://hackage.haskell.org/package/"
2424 "data-default-instances-base/"
2425 "data-default-instances-base-" version ".tar.gz"))
2426 (sha256
2427 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2428 (build-system haskell-build-system)
2429 (inputs
2430 `(("ghc-data-default-class" ,ghc-data-default-class)))
2431 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2432 (synopsis "Default instances for types in base")
2433 (description
2434 "This package provides default instances for types from the base
2435package.")
2436 (license license:bsd-3)))
2437
2438(define-public ghc-data-default-instances-containers
2439 (package
2440 (name "ghc-data-default-instances-containers")
2441 (version "0.0.1")
2442 (source
2443 (origin
2444 (method url-fetch)
2445 (uri (string-append
2446 "https://hackage.haskell.org/package/"
2447 "data-default-instances-containers/"
2448 "data-default-instances-containers-" version ".tar.gz"))
2449 (sha256
2450 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2451 (build-system haskell-build-system)
2452 (inputs
2453 `(("ghc-data-default-class" ,ghc-data-default-class)))
2454 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2455 (synopsis "Default instances for types in containers")
2456 (description "Provides default instances for types from the containers
2457package.")
2458 (license license:bsd-3)))
2459
2460(define-public ghc-data-default-instances-dlist
2461 (package
2462 (name "ghc-data-default-instances-dlist")
2463 (version "0.0.1")
2464 (source
2465 (origin
2466 (method url-fetch)
2467 (uri (string-append
2468 "https://hackage.haskell.org/package/"
2469 "data-default-instances-dlist/"
2470 "data-default-instances-dlist-" version ".tar.gz"))
2471 (sha256
2472 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2473 (build-system haskell-build-system)
2474 (inputs
2475 `(("ghc-data-default-class" ,ghc-data-default-class)
2476 ("ghc-dlist" ,ghc-dlist)))
2477 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2478 (synopsis "Default instances for types in dlist")
2479 (description "Provides default instances for types from the dlist
2480package.")
2481 (license license:bsd-3)))
2482
2483(define-public ghc-data-default-instances-old-locale
2484 (package
2485 (name "ghc-data-default-instances-old-locale")
2486 (version "0.0.1")
2487 (source
2488 (origin
2489 (method url-fetch)
2490 (uri (string-append
2491 "https://hackage.haskell.org/package/"
2492 "data-default-instances-old-locale/"
2493 "data-default-instances-old-locale-" version ".tar.gz"))
2494 (sha256
2495 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2496 (build-system haskell-build-system)
2497 (inputs
2498 `(("ghc-data-default-class" ,ghc-data-default-class)
2499 ("ghc-old-locale" ,ghc-old-locale)))
2500 (home-page
2501 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2502 (synopsis "Default instances for types in old-locale")
2503 (description "Provides Default instances for types from the old-locale
2504 package.")
2505 (license license:bsd-3)))
2506
2507(define-public ghc-data-hash
2508 (package
2509 (name "ghc-data-hash")
2510 (version "0.2.0.1")
2511 (source
2512 (origin
2513 (method url-fetch)
2514 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2515 "/data-hash-" version ".tar.gz"))
2516 (sha256
2517 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2518 (build-system haskell-build-system)
2519 (inputs
2520 `(("ghc-quickcheck" ,ghc-quickcheck)
2521 ("ghc-test-framework" ,ghc-test-framework)
2522 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2523 (home-page "https://hackage.haskell.org/package/data-hash")
2524 (synopsis "Combinators for building fast hashing functions")
2525 (description
2526 "This package provides combinators for building fast hashing functions.
2527It includes hashing functions for all basic Haskell98 types.")
2528 (license license:bsd-3)))
2529
2530(define-public ghc-data-ordlist
2531 (package
2532 (name "ghc-data-ordlist")
2533 (version "0.4.7.0")
2534 (source
2535 (origin
2536 (method url-fetch)
2537 (uri (string-append
2538 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2539 version ".tar.gz"))
2540 (sha256
2541 (base32
2542 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2543 (build-system haskell-build-system)
2544 (home-page "https://hackage.haskell.org/package/data-ordlist")
2545 (synopsis "Set and bag operations on ordered lists")
2546 (description
2547 "This module provides set and multiset operations on ordered lists.")
2548 (license license:bsd-3)))
2549
2550(define-public ghc-deepseq-generics
2551 (package
2552 (name "ghc-deepseq-generics")
2553 (version "0.2.0.0")
2554 (source (origin
2555 (method url-fetch)
2556 (uri (string-append "https://hackage.haskell.org/package/"
2557 "deepseq-generics/deepseq-generics-"
2558 version ".tar.gz"))
2559 (sha256
2560 (base32
2561 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2562 (build-system haskell-build-system)
2563 (arguments
2564 `(#:cabal-revision
2565 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
2566 (native-inputs
2567 `(("ghc-hunit" ,ghc-hunit)
2568 ("ghc-test-framework" ,ghc-test-framework)
2569 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2570 (home-page "https://github.com/hvr/deepseq-generics")
2571 (synopsis "Generic RNF implementation")
2572 (description
2573 "This package provides a @code{GHC.Generics}-based
2574@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2575providing an @code{rnf} implementation.")
2576 (license license:bsd-3)))
2577
e924e17e
TS
2578(define-public ghc-dense-linear-algebra
2579 (package
2580 (name "ghc-dense-linear-algebra")
2581 (version "0.1.0.0")
2582 (source
2583 (origin
2584 (method url-fetch)
2585 (uri (string-append "https://hackage.haskell.org/package/"
2586 "dense-linear-algebra/dense-linear-algebra-"
2587 version ".tar.gz"))
2588 (sha256
2589 (base32
2590 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2591 (build-system haskell-build-system)
2592 (inputs
2593 `(("ghc-math-functions" ,ghc-math-functions)
2594 ("ghc-primitive" ,ghc-primitive)
2595 ("ghc-vector" ,ghc-vector)
2596 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2597 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2598 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2599 (native-inputs
2600 `(("ghc-hspec" ,ghc-hspec)
2601 ("ghc-quickcheck" ,ghc-quickcheck)))
2602 (home-page "http://hackage.haskell.org/package/dense-linear-algebra")
2603 (synopsis "Simple and incomplete implementation of linear algebra")
2604 (description "This library is simply a collection of linear-algebra
2605related modules split from the statistics library.")
2606 (license license:bsd-2)))
2607
dddbc90c
RV
2608(define-public ghc-descriptive
2609 (package
2610 (name "ghc-descriptive")
2611 (version "0.9.5")
2612 (source
2613 (origin
2614 (method url-fetch)
2615 (uri (string-append
2616 "https://hackage.haskell.org/package/descriptive/descriptive-"
2617 version
2618 ".tar.gz"))
2619 (sha256
2620 (base32
2621 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2622 (build-system haskell-build-system)
2623 (inputs
2624 `(("ghc-aeson" ,ghc-aeson)
2625 ("ghc-bifunctors" ,ghc-bifunctors)
2626 ("ghc-scientific" ,ghc-scientific)
2627 ("ghc-vector" ,ghc-vector)))
2628 (native-inputs
2629 `(("ghc-hunit" ,ghc-hunit)
2630 ("ghc-hspec" ,ghc-hspec)))
2631 (home-page
2632 "https://github.com/chrisdone/descriptive")
2633 (synopsis
2634 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2635 (description
2636 "This package provides datatypes and functions for creating consumers
2637and parsers with useful semantics.")
2638 (license license:bsd-3)))
2639
2640(define-public ghc-diff
2641 (package
2642 (name "ghc-diff")
2643 (version "0.3.4")
2644 (source (origin
2645 (method url-fetch)
2646 (uri (string-append "https://hackage.haskell.org/package/"
2647 "Diff/Diff-" version ".tar.gz"))
a531ff94 2648 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
2649 (sha256
2650 (base32
2651 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2652 (build-system haskell-build-system)
2653 (native-inputs
2654 `(("ghc-quickcheck" ,ghc-quickcheck)
2655 ("ghc-test-framework" ,ghc-test-framework)
2656 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2657 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2658 (synopsis "O(ND) diff algorithm in Haskell")
2659 (description
2660 "This package provides an implementation of the standard diff algorithm,
2661and utilities for pretty printing.")
2662 (license license:bsd-3)))
2663
2664(define-public ghc-disk-free-space
2665 (package
2666 (name "ghc-disk-free-space")
2667 (version "0.1.0.1")
2668 (source
2669 (origin
2670 (method url-fetch)
2671 (uri (string-append "https://hackage.haskell.org/package/"
2672 "disk-free-space/disk-free-space-"
2673 version ".tar.gz"))
2674 (sha256
2675 (base32
2676 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2677 (build-system haskell-build-system)
2678 (home-page "https://github.com/redneb/disk-free-space")
2679 (synopsis "Retrieve information about disk space usage")
2680 (description "A cross-platform library for retrieving information about
2681disk space usage.")
2682 (license license:bsd-3)))
2683
2684(define-public ghc-distributive
2685 (package
2686 (name "ghc-distributive")
e4c92f28 2687 (version "0.6.1")
dddbc90c
RV
2688 (source
2689 (origin
2690 (method url-fetch)
2691 (uri (string-append
2692 "https://hackage.haskell.org/package/distributive/distributive-"
2693 version
2694 ".tar.gz"))
2695 (sha256
2696 (base32
e4c92f28 2697 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 2698 (build-system haskell-build-system)
dddbc90c
RV
2699 (inputs
2700 `(("ghc-tagged" ,ghc-tagged)
2701 ("ghc-base-orphans" ,ghc-base-orphans)
2702 ("ghc-transformers-compat" ,ghc-transformers-compat)
2703 ("ghc-semigroups" ,ghc-semigroups)
2704 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2705 (native-inputs
2706 `(("cabal-doctest" ,cabal-doctest)
2707 ("ghc-doctest" ,ghc-doctest)
2708 ("ghc-hspec" ,ghc-hspec)
2709 ("hspec-discover" ,hspec-discover)))
2710 (home-page "https://github.com/ekmett/distributive/")
2711 (synopsis "Distributive functors for Haskell")
2712 (description "This package provides distributive functors for Haskell.
2713Dual to @code{Traversable}.")
2714 (license license:bsd-3)))
2715
2716(define-public ghc-dlist
2717 (package
2718 (name "ghc-dlist")
197ddf33 2719 (version "0.8.0.7")
dddbc90c
RV
2720 (source
2721 (origin
2722 (method url-fetch)
2723 (uri (string-append
2724 "https://hackage.haskell.org/package/dlist/dlist-"
2725 version
2726 ".tar.gz"))
2727 (sha256
197ddf33 2728 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
2729 (build-system haskell-build-system)
2730 (inputs
2731 `(("ghc-quickcheck" ,ghc-quickcheck)))
2732 (home-page "https://github.com/spl/dlist")
2733 (synopsis "Difference lists")
2734 (description
2735 "Difference lists are a list-like type supporting O(1) append. This is
2736particularly useful for efficient logging and pretty printing (e.g. with the
2737Writer monad), where list append quickly becomes too expensive.")
2738 (license license:bsd-3)))
2739
2740(define-public ghc-doctemplates
2741 (package
2742 (name "ghc-doctemplates")
2743 (version "0.2.2.1")
2744 (source
2745 (origin
2746 (method url-fetch)
2747 (uri (string-append "https://hackage.haskell.org/package/"
2748 "doctemplates/doctemplates-"
2749 version ".tar.gz"))
2750 (sha256
2751 (base32
2752 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2753 (build-system haskell-build-system)
2754 (inputs
2755 `(("ghc-aeson" ,ghc-aeson)
2756 ("ghc-blaze-markup" ,ghc-blaze-markup)
2757 ("ghc-blaze-html" ,ghc-blaze-html)
2758 ("ghc-vector" ,ghc-vector)
2759 ("ghc-unordered-containers" ,ghc-unordered-containers)
2760 ("ghc-scientific" ,ghc-scientific)))
2761 (native-inputs
2762 `(("ghc-hspec" ,ghc-hspec)))
2763 (home-page "https://github.com/jgm/doctemplates#readme")
2764 (synopsis "Pandoc-style document templates")
2765 (description
2766 "This package provides a simple text templating system used by pandoc.")
2767 (license license:bsd-3)))
2768
2769(define-public ghc-doctest
2770 (package
2771 (name "ghc-doctest")
19c14a0f 2772 (version "0.16.2")
dddbc90c
RV
2773 (source
2774 (origin
2775 (method url-fetch)
2776 (uri (string-append
2777 "https://hackage.haskell.org/package/doctest/doctest-"
2778 version
2779 ".tar.gz"))
2780 (sha256
2781 (base32
19c14a0f 2782 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
2783 (build-system haskell-build-system)
2784 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2785 (inputs
2786 `(("ghc-syb" ,ghc-syb)
2787 ("ghc-paths" ,ghc-paths)
2788 ("ghc-base-compat" ,ghc-base-compat)
2789 ("ghc-code-page" ,ghc-code-page)
2790 ("ghc-hunit" ,ghc-hunit)
2791 ("ghc-hspec" ,ghc-hspec)
2792 ("ghc-quickcheck" ,ghc-quickcheck)
2793 ("ghc-stringbuilder" ,ghc-stringbuilder)
2794 ("ghc-silently" ,ghc-silently)
2795 ("ghc-setenv" ,ghc-setenv)))
2796 (home-page
2797 "https://github.com/sol/doctest#readme")
2798 (synopsis "Test interactive Haskell examples")
2799 (description "The doctest program checks examples in source code comments.
2800It is modeled after doctest for Python, see
2801@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2802 (license license:expat)))
2803
2804(define-public ghc-double-conversion
2805 (package
2806 (name "ghc-double-conversion")
2807 (version "2.0.2.0")
2808 (source
2809 (origin
2810 (method url-fetch)
2811 (uri (string-append "https://hackage.haskell.org/package/"
2812 "double-conversion/double-conversion-"
2813 version ".tar.gz"))
2814 (sha256
2815 (base32
2816 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2817 (build-system haskell-build-system)
2818 (native-inputs
2819 `(("ghc-hunit" ,ghc-hunit)
2820 ("ghc-test-framework" ,ghc-test-framework)
2821 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2822 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2823 (home-page "https://github.com/bos/double-conversion")
2824 (synopsis "Fast conversion between double precision floating point and text")
2825 (description
2826 "This package provides a library that performs fast, accurate conversion
2827between double precision floating point and text.")
2828 (license license:bsd-3)))
2829
2830(define-public ghc-easy-file
2831 (package
2832 (name "ghc-easy-file")
2833 (version "0.2.2")
2834 (source
2835 (origin
2836 (method url-fetch)
2837 (uri (string-append
2838 "https://hackage.haskell.org/package/easy-file/easy-file-"
2839 version
2840 ".tar.gz"))
2841 (sha256
2842 (base32
2843 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2844 (build-system haskell-build-system)
2845 (home-page
2846 "https://github.com/kazu-yamamoto/easy-file")
2847 (synopsis "File handling library for Haskell")
2848 (description "This library provides file handling utilities for Haskell.")
2849 (license license:bsd-3)))
2850
2851(define-public ghc-easyplot
2852 (package
2853 (name "ghc-easyplot")
2854 (version "1.0")
2855 (source
2856 (origin
2857 (method url-fetch)
2858 (uri (string-append
2859 "https://hackage.haskell.org/package/easyplot/easyplot-"
2860 version ".tar.gz"))
2861 (sha256
2862 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2863 (build-system haskell-build-system)
2864 (propagated-inputs `(("gnuplot" ,gnuplot)))
2865 (arguments
2866 `(#:phases (modify-phases %standard-phases
2867 (add-after 'unpack 'fix-setup-suffix
2868 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2869 (home-page "https://hub.darcs.net/scravy/easyplot")
2870 (synopsis "Haskell plotting library based on gnuplot")
2871 (description "This package provides a plotting library for
2872Haskell, using gnuplot for rendering.")
2873 (license license:expat)))
2874
2875(define-public ghc-echo
2876 (package
2877 (name "ghc-echo")
2878 (version "0.1.3")
2879 (source
2880 (origin
2881 (method url-fetch)
2882 (uri (string-append
2883 "https://hackage.haskell.org/package/echo/echo-"
2884 version ".tar.gz"))
2885 (sha256
2886 (base32
2887 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2888 (build-system haskell-build-system)
2889 (arguments
2890 `(#:cabal-revision
2891 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2892 (home-page "https://github.com/RyanGlScott/echo")
2893 (synopsis "Echo terminal input portably")
2894 (description "The @code{base} library exposes the @code{hGetEcho} and
2895@code{hSetEcho} functions for querying and setting echo status, but
2896unfortunately, neither function works with MinTTY consoles on Windows.
2897This library provides an alternative interface which works with both
2898MinTTY and other consoles.")
2899 (license license:bsd-3)))
2900
2901(define-public ghc-edisonapi
2902 (package
2903 (name "ghc-edisonapi")
2904 (version "1.3.1")
2905 (source
2906 (origin
2907 (method url-fetch)
2908 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2909 "/EdisonAPI-" version ".tar.gz"))
2910 (sha256
2911 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2912 (build-system haskell-build-system)
2913 (home-page "http://rwd.rdockins.name/edison/home/")
2914 (synopsis "Library of efficient, purely-functional data structures (API)")
2915 (description
2916 "Edison is a library of purely functional data structures written by
2917Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2918value EDiSon (Efficient Data Structures). Edison provides several families of
2919abstractions, each with multiple implementations. The main abstractions
2920provided by Edison are: Sequences such as stacks, queues, and dequeues;
2921Collections such as sets, bags and heaps; and Associative Collections such as
2922finite maps and priority queues where the priority and element are distinct.")
2923 (license license:expat)))
2924
2925(define-public ghc-edisoncore
2926 (package
2927 (name "ghc-edisoncore")
2928 (version "1.3.2.1")
2929 (source
2930 (origin
2931 (method url-fetch)
2932 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2933 "/EdisonCore-" version ".tar.gz"))
2934 (sha256
2935 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2936 (build-system haskell-build-system)
2937 (inputs
2938 `(("ghc-quickcheck" ,ghc-quickcheck)
2939 ("ghc-edisonapi" ,ghc-edisonapi)))
2940 (home-page "http://rwd.rdockins.name/edison/home/")
2941 (synopsis "Library of efficient, purely-functional data structures")
2942 (description
2943 "This package provides the core Edison data structure implementations,
2944including multiple sequence, set, bag, and finite map concrete implementations
2945with various performance characteristics.")
2946 (license license:expat)))
2947
2948(define-public ghc-edit-distance
2949 (package
2950 (name "ghc-edit-distance")
2951 (version "0.2.2.1")
2952 (source
2953 (origin
2954 (method url-fetch)
2955 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2956 "/edit-distance-" version ".tar.gz"))
2957 (sha256
2958 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2959 (build-system haskell-build-system)
2960 (arguments
2961 `(#:phases
2962 (modify-phases %standard-phases
2963 (add-before 'configure 'update-constraints
2964 (lambda _
2965 (substitute* "edit-distance.cabal"
2966 (("QuickCheck >= 2\\.4 && <2\\.9")
2967 "QuickCheck >= 2.4 && < 2.12")))))))
2968 (inputs
2969 `(("ghc-random" ,ghc-random)
2970 ("ghc-test-framework" ,ghc-test-framework)
2971 ("ghc-quickcheck" ,ghc-quickcheck)
2972 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2973 (home-page "https://github.com/phadej/edit-distance")
2974 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2975 (description
2976 "This package provides optimized functions to determine the edit
2977distances for fuzzy matching, including Levenshtein and restricted
2978Damerau-Levenshtein algorithms.")
2979 (license license:bsd-3)))
2980
2981(define-public ghc-either
2982 (package
2983 (name "ghc-either")
a3fd4dc7 2984 (version "5.0.1.1")
dddbc90c
RV
2985 (source
2986 (origin
2987 (method url-fetch)
2988 (uri (string-append "https://hackage.haskell.org/package/"
2989 "either-" version "/"
2990 "either-" version ".tar.gz"))
2991 (sha256
2992 (base32
a3fd4dc7 2993 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
2994 (build-system haskell-build-system)
2995 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2996 ("ghc-exceptions" ,ghc-exceptions)
2997 ("ghc-free" ,ghc-free)
2998 ("ghc-monad-control" ,ghc-monad-control)
2999 ("ghc-manodrandom" ,ghc-monadrandom)
3000 ("ghc-mmorph" ,ghc-mmorph)
3001 ("ghc-profunctors" ,ghc-profunctors)
3002 ("ghc-semigroups" ,ghc-semigroups)
3003 ("ghc-semigroupoids" ,ghc-semigroupoids)
3004 ("ghc-transformers-base" ,ghc-transformers-base)))
3005 (native-inputs
3006 `(("ghc-quickcheck" ,ghc-quickcheck)
3007 ("ghc-test-framework" ,ghc-test-framework)
3008 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3009 (home-page "https://github.com/ekmett/either")
3010 (synopsis "Provides an either monad transformer for Haskell")
3011 (description "This Haskell package provides an either monad transformer.")
3012 (license license:bsd-3)))
3013
3014(define-public ghc-email-validate
3015 (package
3016 (name "ghc-email-validate")
a4fe1c64 3017 (version "2.3.2.12")
dddbc90c
RV
3018 (source
3019 (origin
3020 (method url-fetch)
3021 (uri (string-append
3022 "https://hackage.haskell.org/package/"
3023 "email-validate/email-validate-"
3024 version
3025 ".tar.gz"))
3026 (sha256
3027 (base32
a4fe1c64 3028 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3029 (build-system haskell-build-system)
3030 (inputs
3031 `(("ghc-attoparsec" ,ghc-attoparsec)
3032 ("ghc-hspec" ,ghc-hspec)
3033 ("ghc-quickcheck" ,ghc-quickcheck)
3034 ("ghc-doctest" ,ghc-doctest)))
3035 (home-page
3036 "https://github.com/Porges/email-validate-hs")
3037 (synopsis "Email address validator for Haskell")
3038 (description
3039 "This Haskell package provides a validator that can validate an email
3040address string against RFC 5322.")
3041 (license license:bsd-3)))
3042
3043(define-public ghc-enclosed-exceptions
3044 (package
3045 (name "ghc-enclosed-exceptions")
3046 (version "1.0.3")
3047 (source (origin
3048 (method url-fetch)
3049 (uri (string-append "https://hackage.haskell.org/package/"
3050 "enclosed-exceptions/enclosed-exceptions-"
3051 version ".tar.gz"))
3052 (sha256
3053 (base32
3054 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3055 (build-system haskell-build-system)
3056 ;; FIXME: one of the tests blocks forever:
3057 ;; "thread blocked indefinitely in an MVar operation"
3058 (arguments '(#:tests? #f))
3059 (inputs
3060 `(("ghc-lifted-base" ,ghc-lifted-base)
3061 ("ghc-monad-control" ,ghc-monad-control)
3062 ("ghc-async" ,ghc-async)
3063 ("ghc-transformers-base" ,ghc-transformers-base)))
3064 (native-inputs
3065 `(("ghc-hspec" ,ghc-hspec)
3066 ("ghc-quickcheck" ,ghc-quickcheck)))
3067 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3068 (synopsis "Catch all exceptions from within an enclosed computation")
3069 (description
3070 "This library implements a technique to catch all exceptions raised
3071within an enclosed computation, while remaining responsive to (external)
3072asynchronous exceptions.")
3073 (license license:expat)))
3074
3075(define-public ghc-equivalence
3076 (package
3077 (name "ghc-equivalence")
3078 (version "0.3.2")
3079 (source
3080 (origin
3081 (method url-fetch)
3082 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3083 "/equivalence-" version ".tar.gz"))
3084 (sha256
3085 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3086 (build-system haskell-build-system)
3087 (inputs
3088 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3089 ("ghc-transformers-compat" ,ghc-transformers-compat)
3090 ("ghc-quickcheck" ,ghc-quickcheck)
3091 ("ghc-test-framework" ,ghc-test-framework)
3092 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3093 (home-page "https://github.com/pa-ba/equivalence")
3094 (synopsis "Maintaining an equivalence relation implemented as union-find")
3095 (description
3096 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3097Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
309822(2), 1975) in order to maintain an equivalence relation. This
3099implementation is a port of the @code{union-find} package using the @code{ST}
3100monad transformer (instead of the IO monad).")
3101 (license license:bsd-3)))
3102
3103(define-public ghc-erf
3104 (package
3105 (name "ghc-erf")
3106 (version "2.0.0.0")
3107 (source
3108 (origin
3109 (method url-fetch)
3110 (uri (string-append "https://hackage.haskell.org/package/"
3111 "erf-" version "/"
3112 "erf-" version ".tar.gz"))
3113 (sha256
3114 (base32
3115 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3116 (build-system haskell-build-system)
3117 (home-page "https://hackage.haskell.org/package/erf")
3118 (synopsis "The error function, erf, and related functions for Haskell")
3119 (description "This Haskell library provides a type class for the
3120error function, erf, and related functions. Instances for Float and
3121Double.")
3122 (license license:bsd-3)))
3123
3124(define-public ghc-errorcall-eq-instance
3125 (package
3126 (name "ghc-errorcall-eq-instance")
3127 (version "0.3.0")
3128 (source
3129 (origin
3130 (method url-fetch)
3131 (uri (string-append "https://hackage.haskell.org/package/"
3132 "errorcall-eq-instance/errorcall-eq-instance-"
3133 version ".tar.gz"))
3134 (sha256
3135 (base32
3136 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3137 (build-system haskell-build-system)
3138 (inputs
3139 `(("ghc-base-orphans" ,ghc-base-orphans)))
3140 (native-inputs
3141 `(("ghc-quickcheck" ,ghc-quickcheck)
3142 ("ghc-hspec" ,ghc-hspec)
3143 ("hspec-discover" ,hspec-discover)))
3144 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3145 (synopsis "Orphan Eq instance for ErrorCall")
3146 (description
3147 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3148This package provides an orphan instance.")
3149 (license license:expat)))
3150
3151(define-public ghc-errors
3152 (package
3153 (name "ghc-errors")
3154 (version "2.3.0")
3155 (source
3156 (origin
3157 (method url-fetch)
3158 (uri (string-append "https://hackage.haskell.org/package/"
3159 "errors-" version "/"
3160 "errors-" version ".tar.gz"))
3161 (sha256
3162 (base32
3163 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3164 (build-system haskell-build-system)
3165 (inputs
3166 `(("ghc-exceptions" ,ghc-exceptions)
3167 ("ghc-transformers-compat" ,ghc-transformers-compat)
3168 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3169 ("ghc-safe" ,ghc-safe)))
3170 (home-page "https://github.com/gabriel439/haskell-errors-library")
3171 (synopsis "Error handling library for Haskell")
3172 (description "This library encourages an error-handling style that
3173directly uses the type system, rather than out-of-band exceptions.")
3174 (license license:bsd-3)))
3175
3176(define-public ghc-esqueleto
3177 (let ((version "2.5.3")
3178 (revision "1")
3179 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3180 (package
3181 (name "ghc-esqueleto")
3182 (version (git-version version revision commit))
3183 (source
3184 (origin
3185 (method git-fetch)
3186 (uri (git-reference
3187 (url "https://github.com/bitemyapp/esqueleto")
3188 (commit commit)))
3189 (file-name (git-file-name name version))
3190 (sha256
3191 (base32
3192 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3193 (build-system haskell-build-system)
3194 (arguments
3195 `(#:haddock? #f ; Haddock reports an internal error.
3196 #:phases
3197 (modify-phases %standard-phases
3198 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3199 ;; SQLite backends. Since we only have Haskell packages for
3200 ;; SQLite, we remove the other two test suites. FIXME: Add the
3201 ;; other backends and run all three test suites.
3202 (add-before 'configure 'remove-non-sqlite-test-suites
3203 (lambda _
3204 (use-modules (ice-9 rdelim))
3205 (with-atomic-file-replacement "esqueleto.cabal"
3206 (lambda (in out)
3207 (let loop ((line (read-line in 'concat)) (deleting? #f))
3208 (cond
3209 ((eof-object? line) #t)
3210 ((string-every char-set:whitespace line)
3211 (unless deleting? (display line out))
3212 (loop (read-line in 'concat) #f))
3213 ((member line '("test-suite mysql\n"
3214 "test-suite postgresql\n"))
3215 (loop (read-line in 'concat) #t))
3216 (else
3217 (unless deleting? (display line out))
3218 (loop (read-line in 'concat) deleting?)))))))))))
3219 (inputs
3220 `(("ghc-blaze-html" ,ghc-blaze-html)
3221 ("ghc-conduit" ,ghc-conduit)
3222 ("ghc-monad-logger" ,ghc-monad-logger)
3223 ("ghc-persistent" ,ghc-persistent)
3224 ("ghc-resourcet" ,ghc-resourcet)
3225 ("ghc-tagged" ,ghc-tagged)
3226 ("ghc-unliftio" ,ghc-unliftio)
3227 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3228 (native-inputs
3229 `(("ghc-hspec" ,ghc-hspec)
3230 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3231 ("ghc-persistent-template" ,ghc-persistent-template)))
3232 (home-page "https://github.com/bitemyapp/esqueleto")
3233 (synopsis "Type-safe embedded domain specific language for SQL queries")
3234 (description "This library provides a type-safe embedded domain specific
3235language (EDSL) for SQL queries that works with SQL backends as provided by
3236@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3237to learn new concepts, just new syntax, and it's fairly easy to predict the
3238generated SQL and optimize it for your backend.")
3239 (license license:bsd-3))))
3240
3241(define-public ghc-exactprint
3242 (package
3243 (name "ghc-exactprint")
50614014 3244 (version "0.6.1")
dddbc90c
RV
3245 (source
3246 (origin
3247 (method url-fetch)
3248 (uri (string-append
3249 "https://hackage.haskell.org/package/"
3250 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3251 (sha256
3252 (base32
50614014 3253 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3254 (build-system haskell-build-system)
3255 (inputs
3256 `(("ghc-paths" ,ghc-paths)
3257 ("ghc-syb" ,ghc-syb)
3258 ("ghc-free" ,ghc-free)))
3259 (native-inputs
3260 `(("ghc-hunit" ,ghc-hunit)
3261 ("ghc-diff" ,ghc-diff)
3262 ("ghc-silently" ,ghc-silently)
3263 ("ghc-filemanip" ,ghc-filemanip)))
3264 (home-page
3265 "http://hackage.haskell.org/package/ghc-exactprint")
3266 (synopsis "ExactPrint for GHC")
3267 (description
3268 "Using the API Annotations available from GHC 7.10.2, this library
3269provides a means to round-trip any code that can be compiled by GHC, currently
3270excluding @file{.lhs} files.")
3271 (license license:bsd-3)))
3272
3273(define-public ghc-exceptions
3274 (package
3275 (name "ghc-exceptions")
46d3e65b 3276 (version "0.10.3")
dddbc90c
RV
3277 (source
3278 (origin
3279 (method url-fetch)
3280 (uri (string-append
3281 "https://hackage.haskell.org/package/exceptions/exceptions-"
3282 version
3283 ".tar.gz"))
3284 (sha256
3285 (base32
46d3e65b 3286 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3287 (build-system haskell-build-system)
3288 (native-inputs
3289 `(("ghc-quickcheck" ,ghc-quickcheck)
3290 ("ghc-test-framework" ,ghc-test-framework)
3291 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3292 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3293 (inputs
3294 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3295 (home-page "https://github.com/ekmett/exceptions/")
3296 (synopsis "Extensible optionally-pure exceptions")
3297 (description "This library provides extensible optionally-pure exceptions
3298for Haskell.")
3299 (license license:bsd-3)))
3300
3301(define-public ghc-executable-path
3302 (package
3303 (name "ghc-executable-path")
3304 (version "0.0.3.1")
3305 (source (origin
3306 (method url-fetch)
3307 (uri (string-append "https://hackage.haskell.org/package/"
3308 "executable-path/executable-path-"
3309 version ".tar.gz"))
3310 (sha256
3311 (base32
3312 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3313 (build-system haskell-build-system)
3314 (home-page "https://hackage.haskell.org/package/executable-path")
3315 (synopsis "Find out the full path of the executable")
3316 (description
3317 "The documentation of @code{System.Environment.getProgName} says that
3318\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3319instead, for maximum portability, we just return the leafname of the program
3320as invoked.\" This library tries to provide the missing path.")
3321 (license license:public-domain)))
3322
3323(define-public ghc-extensible-exceptions
3324 (package
3325 (name "ghc-extensible-exceptions")
3326 (version "0.1.1.4")
3327 (source
3328 (origin
3329 (method url-fetch)
3330 (uri (string-append "https://hackage.haskell.org/package/"
3331 "extensible-exceptions/extensible-exceptions-"
3332 version ".tar.gz"))
3333 (sha256
3334 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3335 (build-system haskell-build-system)
3336 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3337 (synopsis "Extensible exceptions for Haskell")
3338 (description
3339 "This package provides extensible exceptions for both new and old
3340versions of GHC (i.e., < 6.10).")
3341 (license license:bsd-3)))
3342
3343(define-public ghc-extra
3344 (package
3345 (name "ghc-extra")
10650c44 3346 (version "1.6.18")
dddbc90c
RV
3347 (source
3348 (origin
3349 (method url-fetch)
3350 (uri (string-append
3351 "https://hackage.haskell.org/package/extra/extra-"
3352 version
3353 ".tar.gz"))
3354 (sha256
3355 (base32
10650c44 3356 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3357 (build-system haskell-build-system)
3358 (inputs
3359 `(("ghc-clock" ,ghc-clock)
10650c44 3360 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3361 ("ghc-quickcheck" ,ghc-quickcheck)))
3362 (home-page "https://github.com/ndmitchell/extra")
3363 (synopsis "Extra Haskell functions")
3364 (description "This library provides extra functions for the standard
3365Haskell libraries. Most functions are simple additions, filling out missing
3366functionality. A few functions are available in later versions of GHC, but
3367this package makes them available back to GHC 7.2.")
3368 (license license:bsd-3)))
3369
3370(define-public ghc-fail
3371 (package
3372 (name "ghc-fail")
3373 (version "4.9.0.0")
3374 (source
3375 (origin
3376 (method url-fetch)
3377 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3378 version ".tar.gz"))
3379 (sha256
3380 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3381 (build-system haskell-build-system)
3382 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3383 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3384 (synopsis "Forward-compatible MonadFail class")
3385 (description
3386 "This package contains the @code{Control.Monad.Fail} module providing the
3387@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3388class that became available in
3389@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3390older @code{base} package versions. This package turns into an empty package
3391when used with GHC versions which already provide the
3392@code{Control.Monad.Fail} module.")
3393 (license license:bsd-3)))
3394
3395(define-public ghc-fast-logger
3396 (package
3397 (name "ghc-fast-logger")
d443a52a 3398 (version "2.4.17")
dddbc90c
RV
3399 (source
3400 (origin
3401 (method url-fetch)
3402 (uri (string-append
3403 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3404 version
3405 ".tar.gz"))
3406 (sha256
3407 (base32
d443a52a 3408 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3409 (build-system haskell-build-system)
3410 (inputs
3411 `(("ghc-auto-update" ,ghc-auto-update)
3412 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3413 ("ghc-unix-time" ,ghc-unix-time)
3414 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3415 (native-inputs
3416 `(("hspec-discover" ,hspec-discover)
3417 ("ghc-hspec" ,ghc-hspec)))
3418 (home-page "https://hackage.haskell.org/package/fast-logger")
3419 (synopsis "Fast logging system")
3420 (description "This library provides a fast logging system for Haskell.")
3421 (license license:bsd-3)))
3422
3423(define-public ghc-feed
3424 (package
3425 (name "ghc-feed")
3426 (version "1.0.0.0")
3427 (source
3428 (origin
3429 (method url-fetch)
3430 (uri (string-append "https://hackage.haskell.org/package/"
3431 "feed/feed-" version ".tar.gz"))
3432 (sha256
3433 (base32
3434 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
3435 (build-system haskell-build-system)
3436 (arguments
3437 `(#:cabal-revision
3438 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
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)
3450 ("ghc-test-framework" ,ghc-test-framework)
3451 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3452 (home-page "https://github.com/bergmark/feed")
3453 (synopsis "Haskell package for handling various syndication formats")
3454 (description "This Haskell package includes tools for generating and
3455consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3456 (license license:bsd-3)))
3457
3458(define-public ghc-fgl
3459 (package
3460 (name "ghc-fgl")
17482b26 3461 (version "5.7.0.1")
dddbc90c
RV
3462 (outputs '("out" "doc"))
3463 (source
3464 (origin
3465 (method url-fetch)
3466 (uri (string-append
3467 "https://hackage.haskell.org/package/fgl/fgl-"
3468 version
3469 ".tar.gz"))
3470 (sha256
3471 (base32
17482b26 3472 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3473 (build-system haskell-build-system)
3474 (arguments
3475 `(#:phases
3476 (modify-phases %standard-phases
3477 (add-before 'configure 'update-constraints
3478 (lambda _
3479 (substitute* "fgl.cabal"
17482b26
TS
3480 (("QuickCheck >= 2\\.8 && < 2\\.13")
3481 "QuickCheck >= 2.8 && < 2.14")
3482 (("hspec >= 2\\.1 && < 2\\.7")
3483 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3484 (inputs
3485 `(("ghc-hspec" ,ghc-hspec)
3486 ("ghc-quickcheck" ,ghc-quickcheck)))
3487 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3488 (synopsis
3489 "Martin Erwig's Functional Graph Library")
3490 (description "The functional graph library, FGL, is a collection of type
3491and function definitions to address graph problems. The basis of the library
3492is an inductive definition of graphs in the style of algebraic data types that
3493encourages inductive, recursive definitions of graph algorithms.")
3494 (license license:bsd-3)))
3495
3496(define-public ghc-fgl-arbitrary
3497 (package
3498 (name "ghc-fgl-arbitrary")
3499 (version "0.2.0.3")
3500 (source
3501 (origin
3502 (method url-fetch)
3503 (uri (string-append
3504 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3505 version ".tar.gz"))
3506 (sha256
3507 (base32
3508 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3509 (build-system haskell-build-system)
3510 (arguments
3511 `(#:phases
3512 (modify-phases %standard-phases
3513 (add-before 'configure 'update-constraints
3514 (lambda _
3515 (substitute* "fgl-arbitrary.cabal"
3516 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3517 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3518 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3519 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3520 (inputs
3521 `(("ghc-fgl" ,ghc-fgl)
3522 ("ghc-quickcheck" ,ghc-quickcheck)
3523 ("ghc-hspec" ,ghc-hspec)))
3524 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3525 (synopsis "QuickCheck support for fgl")
3526 (description
3527 "Provides Arbitrary instances for fgl graphs to avoid adding a
3528QuickCheck dependency for fgl whilst still making the instances
3529available to others. Also available are non-fgl-specific functions
3530for generating graph-like data structures.")
3531 (license license:bsd-3)))
3532
3533(define-public ghc-file-embed
3534 (package
3535 (name "ghc-file-embed")
b5920d50 3536 (version "0.0.11")
dddbc90c
RV
3537 (source
3538 (origin
3539 (method url-fetch)
3540 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3541 "file-embed-" version ".tar.gz"))
3542 (sha256
3543 (base32
b5920d50 3544 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3545 (build-system haskell-build-system)
3546 (home-page "https://github.com/snoyberg/file-embed")
3547 (synopsis "Use Template Haskell to embed file contents directly")
3548 (description
3549 "This package allows you to use Template Haskell to read a file or all
3550the files in a directory, and turn them into @code{(path, bytestring)} pairs
3551embedded in your Haskell code.")
3552 (license license:bsd-3)))
3553
3554(define-public ghc-filemanip
3555 (package
3556 (name "ghc-filemanip")
3557 (version "0.3.6.3")
3558 (source (origin
3559 (method url-fetch)
3560 (uri (string-append "https://hackage.haskell.org/package/"
3561 "filemanip/filemanip-" version ".tar.gz"))
3562 (sha256
3563 (base32
3564 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3565 (build-system haskell-build-system)
3566 (inputs
3567 `(("ghc-unix-compat" ,ghc-unix-compat)))
3568 (home-page "https://github.com/bos/filemanip")
3569 (synopsis "File and directory manipulation for Haskell")
3570 (description
3571 "This package provides a Haskell library for working with files and
3572directories. It includes code for pattern matching, finding files, modifying
3573file contents, and more.")
3574 (license license:bsd-3)))
3575
3576(define-public ghc-findbin
3577 (package
3578 (name "ghc-findbin")
3579 (version "0.0.5")
3580 (source
3581 (origin
3582 (method url-fetch)
3583 (uri (string-append
3584 "https://hackage.haskell.org/package/FindBin/FindBin-"
3585 version ".tar.gz"))
3586 (sha256
3587 (base32
3588 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3589 (build-system haskell-build-system)
3590 (home-page "https://github.com/audreyt/findbin")
3591 (synopsis "Get the absolute path of the running program")
3592 (description
3593 "This module locates the full directory of the running program, to allow
3594the use of paths relative to it. FindBin supports invocation of Haskell
3595programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3596an executable.")
3597 (license license:bsd-3)))
3598
3599(define-public ghc-fingertree
3600 (package
3601 (name "ghc-fingertree")
aac14fdc 3602 (version "0.1.4.2")
dddbc90c
RV
3603 (source
3604 (origin
3605 (method url-fetch)
3606 (uri (string-append
3607 "https://hackage.haskell.org/package/fingertree/fingertree-"
3608 version ".tar.gz"))
3609 (sha256
3610 (base32
aac14fdc 3611 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
3612 (build-system haskell-build-system)
3613 (native-inputs
3614 `(("ghc-hunit" ,ghc-hunit)
3615 ("ghc-quickcheck" ,ghc-quickcheck)
3616 ("ghc-test-framework" ,ghc-test-framework)
3617 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3618 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3619 (home-page "https://hackage.haskell.org/package/fingertree")
3620 (synopsis "Generic finger-tree structure")
3621 (description "This library provides finger trees, a general sequence
3622representation with arbitrary annotations, for use as a base for
3623implementations of various collection types. It includes examples, as
3624described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3625simple general-purpose data structure\".")
3626 (license license:bsd-3)))
3627
3628(define-public ghc-fixed
3629 (package
3630 (name "ghc-fixed")
099dda5b 3631 (version "0.3")
dddbc90c
RV
3632 (source
3633 (origin
3634 (method url-fetch)
3635 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3636 version ".tar.gz"))
3637 (sha256
3638 (base32
099dda5b 3639 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3640 (build-system haskell-build-system)
3641 (home-page "https://github.com/ekmett/fixed")
3642 (synopsis "Signed 15.16 precision fixed point arithmetic")
3643 (description
3644 "This package provides functions for signed 15.16 precision fixed point
3645arithmetic.")
3646 (license license:bsd-3)))
3647
f169f713
JS
3648(define-public ghc-fmlist
3649 (package
3650 (name "ghc-fmlist")
fe9b83a6 3651 (version "0.9.3")
f169f713
JS
3652 (source
3653 (origin
3654 (method url-fetch)
3655 (uri
3656 (string-append
3657 "https://hackage.haskell.org/package/fmlist/fmlist-"
3658 version ".tar.gz"))
3659 (sha256
3660 (base32
fe9b83a6 3661 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3662 (build-system haskell-build-system)
3663 (home-page "https://github.com/sjoerdvisscher/fmlist")
3664 (synopsis "FoldMap lists")
3665 (description "FoldMap lists are lists represented by their
3666@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3667append, just like DLists, but other operations might have favorable
3668performance characteristics as well. These wild claims are still
3669completely unverified though.")
3670 (license license:bsd-3)))
3671
dddbc90c
RV
3672(define-public ghc-foldl
3673 (package
3674 (name "ghc-foldl")
26c4104f 3675 (version "1.4.5")
dddbc90c
RV
3676 (source
3677 (origin
3678 (method url-fetch)
3679 (uri (string-append "https://hackage.haskell.org/package/"
3680 "foldl-" version "/"
3681 "foldl-" version ".tar.gz"))
3682 (sha256
3683 (base32
26c4104f 3684 "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b"))))
dddbc90c
RV
3685 (build-system haskell-build-system)
3686 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3687 ("ghc-primitive" ,ghc-primitive)
3688 ("ghc-vector" ,ghc-vector)
3689 ("ghc-unordered-containers" ,ghc-unordered-containers)
3690 ("ghc-hashable" ,ghc-hashable)
3691 ("ghc-contravariant" ,ghc-contravariant)
3692 ("ghc-semigroups" ,ghc-semigroups)
3693 ("ghc-profunctors" ,ghc-profunctors)
3694 ("ghc-semigroupoids" ,ghc-semigroupoids)
3695 ("ghc-comonad" ,ghc-comonad)
3696 ("ghc-vector-builder" ,ghc-vector-builder)))
3697 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3698 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3699 (description "This Haskell library provides strict left folds that stream
3700in constant memory, and you can combine folds using @code{Applicative} style
3701to derive new folds. Derived folds still traverse the container just once
3702and are often as efficient as hand-written folds.")
3703 (license license:bsd-3)))
3704
3705(define-public ghc-foundation
3706 (package
3707 (name "ghc-foundation")
0a702df9 3708 (version "0.0.25")
dddbc90c
RV
3709 (source
3710 (origin
3711 (method url-fetch)
3712 (uri (string-append "https://hackage.haskell.org/package/"
3713 "foundation/foundation-" version ".tar.gz"))
3714 (sha256
3715 (base32
0a702df9 3716 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c
RV
3717 (build-system haskell-build-system)
3718 (inputs `(("ghc-basement" ,ghc-basement)))
3719 (home-page "https://github.com/haskell-foundation/foundation")
3720 (synopsis "Alternative prelude with batteries and no dependencies")
3721 (description
3722 "This package provides a custom prelude with no dependencies apart from
3723the base package.
3724
3725Foundation has the following goals:
3726
3727@enumerate
3728@item provide a base like sets of modules that provide a consistent set of
3729 features and bugfixes across multiple versions of GHC (unlike base).
3730@item provide a better and more efficient prelude than base's prelude.
3731@item be self-sufficient: no external dependencies apart from base;
3732@item provide better data-types: packed unicode string by default, arrays;
3733@item Numerical classes that better represent mathematical things (no more
3734 all-in-one @code{Num});
3735@item I/O system with less lazy IO.
3736@end enumerate\n")
3737 (license license:bsd-3)))
3738
3739(define-public ghc-free
3740 (package
3741 (name "ghc-free")
4081565d 3742 (version "5.1.2")
dddbc90c
RV
3743 (source
3744 (origin
3745 (method url-fetch)
3746 (uri (string-append
3747 "https://hackage.haskell.org/package/free/free-"
3748 version
3749 ".tar.gz"))
3750 (sha256
3751 (base32
4081565d 3752 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
3753 (build-system haskell-build-system)
3754 (inputs
3755 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3756 ("ghc-profunctors" ,ghc-profunctors)
3757 ("ghc-exceptions" ,ghc-exceptions)
3758 ("ghc-bifunctors" ,ghc-bifunctors)
3759 ("ghc-comonad" ,ghc-comonad)
3760 ("ghc-distributive" ,ghc-distributive)
3761 ("ghc-semigroupoids" ,ghc-semigroupoids)
3762 ("ghc-semigroups" ,ghc-semigroups)
3763 ("ghc-transformers-base" ,ghc-transformers-base)
3764 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3765 (home-page "https://github.com/ekmett/free/")
3766 (synopsis "Unrestricted monads for Haskell")
3767 (description "This library provides free monads, which are useful for many
3768tree-like structures and domain specific languages. If @code{f} is a
3769@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3770whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3771is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3772f} makes no constraining assumptions beyond those given by @code{f} and the
3773definition of @code{Monad}.")
3774 (license license:bsd-3)))
3775
3776(define-public ghc-fsnotify
3777 (package
3778 (name "ghc-fsnotify")
3779 (version "0.3.0.1")
3780 (source (origin
3781 (method url-fetch)
3782 (uri (string-append
3783 "https://hackage.haskell.org/package/fsnotify/"
3784 "fsnotify-" version ".tar.gz"))
3785 (sha256
3786 (base32
3787 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3788 (build-system haskell-build-system)
3789 (inputs
3790 `(("ghc-async" ,ghc-async)
3791 ("ghc-unix-compat" ,ghc-unix-compat)
3792 ("ghc-hinotify" ,ghc-hinotify)
3793 ("ghc-tasty" ,ghc-tasty)
3794 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3795 ("ghc-random" ,ghc-random)
3796 ("ghc-shelly" ,ghc-shelly)
3797 ("ghc-temporary" ,ghc-temporary)))
3798 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3799 (synopsis "Cross platform library for file change notification.")
3800 (description "Cross platform library for file creation, modification, and
3801deletion notification. This library builds upon existing libraries for platform
3802specific Windows, Mac, and Linux file system event notification.")
3803 (license license:bsd-3)))
3804
3805(define-public ghc-generic-deriving
3806 (package
3807 (name "ghc-generic-deriving")
55c1e6be 3808 (version "1.12.4")
dddbc90c
RV
3809 (source
3810 (origin
3811 (method url-fetch)
3812 (uri (string-append
3813 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3814 version
3815 ".tar.gz"))
3816 (sha256
3817 (base32
55c1e6be 3818 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
3819 (build-system haskell-build-system)
3820 (inputs
3821 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3822 (native-inputs
3823 `(("ghc-hspec" ,ghc-hspec)
3824 ("hspec-discover" ,hspec-discover)))
3825 (home-page "https://hackage.haskell.org/package/generic-deriving")
3826 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3827 (description "This package provides functionality for generalising the
3828deriving mechanism in Haskell to arbitrary classes.")
3829 (license license:bsd-3)))
3830
3831(define-public ghc-generics-sop
3832 (package
3833 (name "ghc-generics-sop")
3ed40e10 3834 (version "0.4.0.1")
dddbc90c
RV
3835 (source
3836 (origin
3837 (method url-fetch)
3838 (uri (string-append "https://hackage.haskell.org/package/"
3839 "generics-sop-" version "/"
3840 "generics-sop-" version ".tar.gz"))
3841 (sha256
3842 (base32
3ed40e10 3843 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 3844 (build-system haskell-build-system)
3ed40e10
TS
3845 (inputs
3846 `(("ghc-sop-core" ,ghc-sop-core)
3847 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
3848 (home-page "https://github.com/well-typed/generics-sop")
3849 (synopsis "Generic Programming using True Sums of Products for Haskell")
3850 (description "This Haskell package supports the definition of generic
3851functions. Datatypes are viewed in a uniform, structured way: the choice
3852between constructors is represented using an n-ary sum, and the arguments of
3853each constructor are represented using an n-ary product.")
3854 (license license:bsd-3)))
3855
3856(define-public ghc-geniplate-mirror
3857 (package
3858 (name "ghc-geniplate-mirror")
3859 (version "0.7.6")
3860 (source
3861 (origin
3862 (method url-fetch)
3863 (uri (string-append "https://hackage.haskell.org/package"
3864 "/geniplate-mirror"
3865 "/geniplate-mirror-" version ".tar.gz"))
3866 (sha256
3867 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3868 (build-system haskell-build-system)
3869 (home-page "https://github.com/danr/geniplate")
3870 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3871 (description
3872 "Use Template Haskell to generate Uniplate-like functions. This is a
3873maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3874geniplate} package, written by Lennart Augustsson.")
3875 (license license:bsd-3)))
3876
3877(define-public ghc-genvalidity
3878 (package
3879 (name "ghc-genvalidity")
920f44a1 3880 (version "0.8.0.0")
dddbc90c
RV
3881 (source
3882 (origin
3883 (method url-fetch)
3884 (uri (string-append
3885 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3886 version
3887 ".tar.gz"))
3888 (sha256
3889 (base32
920f44a1 3890 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
3891 (build-system haskell-build-system)
3892 (inputs
3893 `(("ghc-quickcheck" ,ghc-quickcheck)
3894 ("ghc-validity" ,ghc-validity)))
3895 (native-inputs
3896 `(("ghc-hspec" ,ghc-hspec)
3897 ("hspec-discover" ,hspec-discover)
3898 ("ghc-hspec-core" ,ghc-hspec-core)))
3899 (home-page
3900 "https://github.com/NorfairKing/validity")
3901 (synopsis
3902 "Testing utilities for the @code{validity} library")
3903 (description
3904 "This package provides testing utilities that are useful in conjunction
3905with the @code{Validity} typeclass.")
3906 (license license:expat)))
3907
3908(define-public ghc-genvalidity-property
3909 (package
3910 (name "ghc-genvalidity-property")
e4ede35b 3911 (version "0.4.0.0")
dddbc90c
RV
3912 (source
3913 (origin
3914 (method url-fetch)
3915 (uri (string-append
3916 "https://hackage.haskell.org/package/"
3917 "genvalidity-property/genvalidity-property-"
3918 version
3919 ".tar.gz"))
3920 (sha256
3921 (base32
e4ede35b 3922 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
3923 (build-system haskell-build-system)
3924 (inputs
3925 `(("ghc-quickcheck" ,ghc-quickcheck)
3926 ("ghc-genvalidity" ,ghc-genvalidity)
3927 ("ghc-hspec" ,ghc-hspec)
3928 ("hspec-discover" ,hspec-discover)
3929 ("ghc-validity" ,ghc-validity)))
3930 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3931 (home-page
3932 "https://github.com/NorfairKing/validity")
3933 (synopsis
3934 "Standard properties for functions on @code{Validity} types")
3935 (description
3936 "This package supplements the @code{Validity} typeclass with standard
3937properties for functions operating on them.")
3938 (license license:expat)))
3939
3940(define-public ghc-gitrev
3941 (package
3942 (name "ghc-gitrev")
3943 (version "1.3.1")
3944 (source
3945 (origin
3946 (method url-fetch)
3947 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3948 version ".tar.gz"))
3949 (sha256
3950 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3951 (build-system haskell-build-system)
3952 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3953 (home-page "https://github.com/acfoltzer/gitrev")
3954 (synopsis "Compile git revision info into Haskell projects")
3955 (description
3956 "This package provides some handy Template Haskell splices for including
3957the current git hash and branch in the code of your project. This is useful
3958for including in panic messages, @command{--version} output, or diagnostic
3959info for more informative bug reports.")
3960 (license license:bsd-3)))
3961
3962(define-public ghc-glob
3963 (package
3964 (name "ghc-glob")
b900f486 3965 (version "0.10.0")
dddbc90c
RV
3966 (source
3967 (origin
3968 (method url-fetch)
3969 (uri (string-append "https://hackage.haskell.org/package/"
3970 "Glob-" version "/"
3971 "Glob-" version ".tar.gz"))
3972 (sha256
3973 (base32
b900f486 3974 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
3975 (build-system haskell-build-system)
3976 (inputs
3977 `(("ghc-dlist" ,ghc-dlist)
3978 ("ghc-semigroups" ,ghc-semigroups)
3979 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3980 (native-inputs
3981 `(("ghc-hunit" ,ghc-hunit)
3982 ("ghc-quickcheck" ,ghc-quickcheck)
3983 ("ghc-test-framework" ,ghc-test-framework)
3984 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3985 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3986 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3987 (synopsis "Haskell library matching glob patterns against file paths")
3988 (description "This package provides a Haskell library for @dfn{globbing}:
3989matching patterns against file paths.")
3990 (license license:bsd-3)))
3991
3992(define-public ghc-gluraw
3993 (package
3994 (name "ghc-gluraw")
3995 (version "2.0.0.4")
3996 (source
3997 (origin
3998 (method url-fetch)
3999 (uri (string-append
4000 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4001 version
4002 ".tar.gz"))
4003 (sha256
4004 (base32
4005 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4006 (build-system haskell-build-system)
4007 (inputs
4008 `(("ghc-openglraw" ,ghc-openglraw)))
4009 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4010 (synopsis "Raw Haskell bindings GLU")
4011 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4012utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4013basis for a nicer interface.")
4014 (license license:bsd-3)))
4015
4016(define-public ghc-glut
4017 (package
4018 (name "ghc-glut")
8284bd09 4019 (version "2.7.0.15")
dddbc90c
RV
4020 (source
4021 (origin
4022 (method url-fetch)
4023 (uri (string-append
4024 "https://hackage.haskell.org/package/GLUT/GLUT-"
4025 version
4026 ".tar.gz"))
4027 (sha256
4028 (base32
8284bd09 4029 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4030 (build-system haskell-build-system)
4031 (inputs
4032 `(("ghc-statevar" ,ghc-statevar)
4033 ("ghc-opengl" ,ghc-opengl)
4034 ("ghc-openglraw" ,ghc-openglraw)
4035 ("freeglut" ,freeglut)))
4036 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4037 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4038 (description "This library provides Haskell bindings for the OpenGL
4039Utility Toolkit, a window system-independent toolkit for writing OpenGL
4040programs.")
4041 (license license:bsd-3)))
4042
4043(define-public ghc-gnuplot
4044 (package
4045 (name "ghc-gnuplot")
d34860c7 4046 (version "0.5.6")
dddbc90c
RV
4047 (source
4048 (origin
4049 (method url-fetch)
4050 (uri (string-append
4051 "mirror://hackage/package/gnuplot/gnuplot-"
4052 version ".tar.gz"))
4053 (sha256
d34860c7 4054 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4055 (build-system haskell-build-system)
4056 (inputs
4057 `(("ghc-temporary" ,ghc-temporary)
4058 ("ghc-utility-ht" ,ghc-utility-ht)
4059 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4060 ("ghc-data-accessor" ,ghc-data-accessor)
4061 ("ghc-semigroups" ,ghc-semigroups)
4062 ("gnuplot" ,gnuplot)))
4063 (arguments
4064 `(#:phases
4065 (modify-phases %standard-phases
4066 (add-before 'configure 'fix-path-to-gnuplot
4067 (lambda* (#:key inputs #:allow-other-keys)
4068 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4069 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4070 (("(gnuplotName = ).*$" all cmd)
4071 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4072 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4073 (synopsis "2D and 3D plots using gnuplot")
4074 (description "This package provides a Haskell module for creating 2D and
40753D plots using gnuplot.")
4076 (license license:bsd-3)))
4077
4078(define-public ghc-graphviz
4079 (package
4080 (name "ghc-graphviz")
c264bd42 4081 (version "2999.20.0.3")
dddbc90c
RV
4082 (source (origin
4083 (method url-fetch)
4084 (uri (string-append "https://hackage.haskell.org/package/"
4085 "graphviz/graphviz-" version ".tar.gz"))
4086 (sha256
4087 (base32
c264bd42 4088 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4089 (build-system haskell-build-system)
c264bd42
TS
4090 (arguments
4091 `(#:phases
4092 (modify-phases %standard-phases
4093 (add-before 'configure 'update-constraints
4094 (lambda _
4095 (substitute* "graphviz.cabal"
4096 (("QuickCheck >= 2\\.3 && < 2\\.13")
4097 "QuickCheck >= 2.3 && < 2.14")
4098 (("hspec >= 2\\.1 && < 2\\.7")
4099 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4100 (inputs
4101 `(("ghc-quickcheck" ,ghc-quickcheck)
4102 ("ghc-colour" ,ghc-colour)
4103 ("ghc-dlist" ,ghc-dlist)
4104 ("ghc-fgl" ,ghc-fgl)
4105 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4106 ("ghc-polyparse" ,ghc-polyparse)
4107 ("ghc-temporary" ,ghc-temporary)
4108 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4109 (native-inputs
4110 `(("ghc-hspec" ,ghc-hspec)
4111 ("graphviz" ,graphviz)
4112 ("hspec-discover" ,hspec-discover)))
4113 (home-page "https://hackage.haskell.org/package/graphviz")
4114 (synopsis "Bindings to Graphviz for graph visualisation")
4115 (description
4116 "This library provides bindings for the Dot language used by
4117the @uref{https://graphviz.org/, Graphviz} suite of programs for
4118visualising graphs, as well as functions to call those programs.
4119Main features of the graphviz library include:
4120
4121@enumerate
4122@item Almost complete coverage of all Graphviz attributes and syntax
4123@item Support for specifying clusters
4124@item The ability to use a custom node type
4125@item Functions for running a Graphviz layout tool with all specified output types
4126@item Generate and parse Dot code with two options: strict and liberal
4127@item Functions to convert FGL graphs and other graph-like data structures
4128@item Round-trip support for passing an FGL graph through Graphviz to augment node
4129and edge labels with positional information, etc.
4130@end enumerate\n")
4131 (license license:bsd-3)))
4132
4133(define-public ghc-gtk2hs-buildtools
4134 (package
4135 (name "ghc-gtk2hs-buildtools")
4136 (version "0.13.4.0")
4137 (source
4138 (origin
4139 (method url-fetch)
4140 (uri (string-append "https://hackage.haskell.org/package/"
4141 "gtk2hs-buildtools/gtk2hs-buildtools-"
4142 version ".tar.gz"))
4143 (sha256
4144 (base32
4145 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4146 (build-system haskell-build-system)
4147 (inputs
4148 `(("ghc-random" ,ghc-random)
4149 ("ghc-hashtables" ,ghc-hashtables)))
4150 (native-inputs
4151 `(("ghc-alex" ,ghc-alex)
4152 ("ghc-happy" ,ghc-happy)))
4153 (home-page "http://projects.haskell.org/gtk2hs/")
4154 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4155 (description
4156 "This package provides a set of helper programs necessary to build the
4157Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4158that is used to generate FFI declarations, a tool to build a type hierarchy
4159that mirrors the C type hierarchy of GObjects found in glib, and a generator
4160for signal declarations that are used to call back from C to Haskell. These
4161tools are not needed to actually run Gtk2Hs programs.")
4162 (license license:gpl2)))
4163
4164(define-public ghc-hackage-security
4165 (package
4166 (name "ghc-hackage-security")
4167 (version "0.5.3.0")
4168 (source
4169 (origin
4170 (method url-fetch)
4171 (uri (string-append "https://hackage.haskell.org/package/"
4172 "hackage-security/hackage-security-"
4173 version ".tar.gz"))
4174 (sha256
4175 (base32
4176 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4177 (build-system haskell-build-system)
4178 (arguments
4179 `(#:tests? #f)) ; Tests fail because of framework updates.
4180 (inputs
4181 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4182 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4183 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4184 ("ghc-ed25519" ,ghc-ed25519)
4185 ("ghc-network" ,ghc-network)
4186 ("ghc-network-uri" ,ghc-network-uri)
4187 ("ghc-tar" ,ghc-tar)
4188 ("ghc-zlib" ,ghc-zlib)))
4189 (native-inputs
4190 `(("ghc-network-uri" ,ghc-network-uri)
4191 ("ghc-quickcheck" ,ghc-quickcheck)
4192 ("ghc-tar" ,ghc-tar)
4193 ("ghc-tasty" ,ghc-tasty)
4194 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4195 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4196 ("ghc-temporary" ,ghc-temporary)
4197 ("ghc-zlib" ,ghc-zlib)))
4198 (home-page "https://github.com/haskell/hackage-security")
4199 (synopsis "Hackage security library")
4200 (description "This Hackage security library provides both server and
4201client utilities for securing @uref{http://hackage.haskell.org/, the
4202Hackage package server}. It is based on
4203@uref{http://theupdateframework.com/, The Update Framework}, a set of
4204recommendations developed by security researchers at various universities
4205in the US as well as developers on the @uref{https://www.torproject.org/,
4206Tor project}.")
4207 (license license:bsd-3)))
4208
4209(define-public ghc-haddock
4210 (package
4211 (name "ghc-haddock")
4212 (version "2.19.0.1")
4213 (source
4214 (origin
4215 (method url-fetch)
4216 (uri (string-append
4217 "https://hackage.haskell.org/package/haddock/haddock-"
4218 version
4219 ".tar.gz"))
4220 (sha256
4221 (base32
4222 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4223 (build-system haskell-build-system)
4224 (arguments
4225 `(#:phases
4226 (modify-phases %standard-phases
4227 ;; There are four test suites that require the ghc-haddock-test
4228 ;; package, which no longer builds with GHC 8.4.3. This phase
4229 ;; removes these four test suites from the Cabal file, so that we
4230 ;; do not need ghc-haddock-test as an input.
4231 (add-before 'configure 'remove-haddock-test-test-suites
4232 (lambda _
4233 (use-modules (ice-9 rdelim))
4234 (with-atomic-file-replacement "haddock.cabal"
4235 (lambda (in out)
4236 (let loop ((line (read-line in 'concat)) (deleting? #f))
4237 (cond
4238 ((eof-object? line) #t)
4239 ((string-every char-set:whitespace line)
4240 (unless deleting? (display line out))
4241 (loop (read-line in 'concat) #f))
4242 ((member line '("test-suite html-test\n"
4243 "test-suite hypsrc-test\n"
4244 "test-suite latex-test\n"
4245 "test-suite hoogle-test\n"))
4246 (loop (read-line in 'concat) #t))
4247 (else
4248 (unless deleting? (display line out))
4249 (loop (read-line in 'concat) deleting?)))))))))))
4250 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4251 (native-inputs
4252 `(("ghc-hspec" ,ghc-hspec)))
4253 (home-page "https://www.haskell.org/haddock/")
4254 (synopsis
4255 "Documentation-generation tool for Haskell libraries")
4256 (description
4257 "Haddock is a documentation-generation tool for Haskell libraries.")
4258 (license license:bsd-3)))
4259
4260(define-public ghc-haddock-api
4261 (package
4262 (name "ghc-haddock-api")
4263 (version "2.19.0.1")
4264 (source
4265 (origin
4266 (method url-fetch)
4267 (uri (string-append
4268 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4269 version
4270 ".tar.gz"))
4271 (sha256
4272 (base32
4273 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4274 (build-system haskell-build-system)
4275 (arguments
4276 `(#:phases
4277 (modify-phases %standard-phases
4278 (add-before 'configure 'update-constraints
4279 (lambda _
4280 (substitute* "haddock-api.cabal"
4281 (("Cabal \\^>= 2\\.0\\.0")
4282 "Cabal ^>= 2.2.0")
4283 (("hspec \\^>= 2\\.4\\.4")
4284 "hspec >= 2.4.4 && < 2.6")))))))
4285 (inputs
4286 `(("ghc-paths" ,ghc-paths)
4287 ("ghc-haddock-library" ,ghc-haddock-library)))
4288 (native-inputs
4289 `(("ghc-quickcheck" ,ghc-quickcheck)
4290 ("ghc-hspec" ,ghc-hspec)
4291 ("hspec-discover" ,hspec-discover)))
4292 (home-page "https://www.haskell.org/haddock/")
4293 (synopsis "API for documentation-generation tool Haddock")
4294 (description "This package provides an API to Haddock, the
4295documentation-generation tool for Haskell libraries.")
4296 (license license:bsd-3)))
4297
4298(define-public ghc-haddock-library
4299 (package
4300 (name "ghc-haddock-library")
4301 (version "1.5.0.1")
4302 (source
4303 (origin
4304 (method url-fetch)
4305 (uri (string-append
4306 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4307 version
4308 ".tar.gz"))
4309 (sha256
4310 (base32
4311 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4312 (patches (search-patches
4313 "ghc-haddock-library-unbundle.patch"))
4314 (modules '((guix build utils)))
4315 (snippet '(begin
4316 (delete-file-recursively "vendor")
4317 #t))))
4318 (build-system haskell-build-system)
4319 (arguments
4320 `(#:phases
4321 (modify-phases %standard-phases
4322 (add-before 'configure 'relax-test-suite-dependencies
4323 (lambda _
4324 (substitute* "haddock-library.cabal"
4325 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4326 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4327 ;; The release tarball does not contain the "fixtures/examples"
4328 ;; directory, which is required for testing. In the upstream
4329 ;; repository, the directory exists and is populated. Here, we
4330 ;; create an empty directory to placate the tests.
4331 (add-before 'check 'add-examples-directory
4332 (lambda _
4333 (mkdir "fixtures/examples")
4334 #t)))))
4335 (native-inputs
4336 `(("ghc-base-compat" ,ghc-base-compat)
4337 ("ghc-hspec" ,ghc-hspec)
4338 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4339 ("ghc-quickcheck" ,ghc-quickcheck)
4340 ("ghc-tree-diff" ,ghc-tree-diff)
4341 ("hspec-discover" ,hspec-discover)))
4342 (home-page "https://www.haskell.org/haddock/")
4343 (synopsis "Library exposing some functionality of Haddock")
4344 (description
4345 "Haddock is a documentation-generation tool for Haskell libraries. These
4346modules expose some functionality of it without pulling in the GHC dependency.
4347Please note that the API is likely to change so specify upper bounds in your
4348project if you can't release often. For interacting with Haddock itself, see
4349the ‘haddock’ package.")
4350 (license license:bsd-3)))
4351
4352(define-public ghc-half
4353 (package
4354 (name "ghc-half")
4355 (version "0.3")
4356 (source
4357 (origin
4358 (method url-fetch)
4359 (uri (string-append
4360 "https://hackage.haskell.org/package/half/half-"
4361 version ".tar.gz"))
4362 (sha256
4363 (base32
4364 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4365 (build-system haskell-build-system)
4366 (native-inputs
4367 `(("ghc-hspec" ,ghc-hspec)
4368 ("ghc-quickcheck" ,ghc-quickcheck)))
4369 (home-page "https://github.com/ekmett/half")
4370 (synopsis "Half-precision floating-point computations")
4371 (description "This library provides a half-precision floating-point
4372computation library for Haskell.")
4373 (license license:bsd-3)))
4374
4375(define-public ghc-happy
4376 (package
4377 (name "ghc-happy")
90e7b0e4 4378 (version "1.19.12")
dddbc90c
RV
4379 (source
4380 (origin
4381 (method url-fetch)
4382 (uri (string-append
4383 "https://hackage.haskell.org/package/happy/happy-"
4384 version
4385 ".tar.gz"))
4386 (sha256
4387 (base32
90e7b0e4 4388 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4389 (build-system haskell-build-system)
4390 (arguments
4391 `(#:phases
4392 (modify-phases %standard-phases
4393 (add-after 'unpack 'skip-test-issue93
4394 (lambda _
4395 ;; Tests run out of memory on a system with 2GB of available RAM,
4396 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4397 (substitute* "tests/Makefile"
4398 ((" issue93.y ") " "))
4399 #t)))))
4400 (home-page "https://hackage.haskell.org/package/happy")
4401 (synopsis "Parser generator for Haskell")
4402 (description "Happy is a parser generator for Haskell. Given a grammar
4403specification in BNF, Happy generates Haskell code to parse the grammar.
4404Happy works in a similar way to the yacc tool for C.")
4405 (license license:bsd-3)))
4406
4407(define-public ghc-hashable
4408 (package
4409 (name "ghc-hashable")
4410 (version "1.2.7.0")
4411 (outputs '("out" "doc"))
4412 (source
4413 (origin
4414 (method url-fetch)
4415 (uri (string-append
4416 "https://hackage.haskell.org/package/hashable/hashable-"
4417 version
4418 ".tar.gz"))
4419 (sha256
4420 (base32
4421 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4422 (build-system haskell-build-system)
65a16a45
TS
4423 (arguments
4424 `(#:cabal-revision
4425 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4426 (inputs
4427 `(("ghc-random" ,ghc-random)))
4428 (native-inputs
4429 `(("ghc-test-framework" ,ghc-test-framework)
4430 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4431 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4432 ("ghc-hunit" ,ghc-hunit)
4433 ("ghc-quickcheck" ,ghc-quickcheck)))
4434 (home-page "https://github.com/tibbe/hashable")
4435 (synopsis "Class for types that can be converted to a hash value")
4436 (description
4437 "This package defines a class, @code{Hashable}, for types that can be
4438converted to a hash value. This class exists for the benefit of hashing-based
4439data structures. The package provides instances for basic types and a way to
4440combine hash values.")
4441 (license license:bsd-3)))
4442
4443(define-public ghc-hashable-bootstrap
4444 (package
4445 (inherit ghc-hashable)
4446 (name "ghc-hashable-bootstrap")
65a16a45
TS
4447 (arguments
4448 `(#:tests? #f
4449 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4450 (native-inputs '())
4451 (properties '((hidden? #t)))))
4452
4453(define-public ghc-hashable-time
4454 (package
4455 (name "ghc-hashable-time")
f5051e31 4456 (version "0.2.0.2")
dddbc90c
RV
4457 (source
4458 (origin
4459 (method url-fetch)
4460 (uri (string-append
4461 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4462 version
4463 ".tar.gz"))
4464 (sha256
4465 (base32
f5051e31 4466 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4467 (build-system haskell-build-system)
4468 (arguments
4469 `(#:cabal-revision
f5051e31 4470 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4471 (inputs `(("ghc-hashable" ,ghc-hashable)))
4472 (home-page "http://hackage.haskell.org/package/hashable-time")
4473 (synopsis "Hashable instances for Data.Time")
4474 (description
4475 "This package provides @code{Hashable} instances for types in
4476@code{Data.Time}.")
4477 (license license:bsd-3)))
4478
4479(define-public ghc-hashtables
4480 (package
4481 (name "ghc-hashtables")
19edf0d0 4482 (version "1.2.3.4")
dddbc90c
RV
4483 (source
4484 (origin
4485 (method url-fetch)
4486 (uri (string-append
4487 "https://hackage.haskell.org/package/hashtables/hashtables-"
4488 version ".tar.gz"))
4489 (sha256
19edf0d0 4490 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
4491 (build-system haskell-build-system)
4492 (inputs
4493 `(("ghc-hashable" ,ghc-hashable)
4494 ("ghc-primitive" ,ghc-primitive)
4495 ("ghc-vector" ,ghc-vector)))
4496 (home-page "https://github.com/gregorycollins/hashtables")
4497 (synopsis "Haskell Mutable hash tables in the ST monad")
4498 (description "This package provides a Haskell library including a
4499couple of different implementations of mutable hash tables in the ST
4500monad, as well as a typeclass abstracting their common operations, and
4501a set of wrappers to use the hash tables in the IO monad.")
4502 (license license:bsd-3)))
4503
4504(define-public ghc-haskell-lexer
4505 (package
4506 (name "ghc-haskell-lexer")
4507 (version "1.0.2")
4508 (source
4509 (origin
4510 (method url-fetch)
4511 (uri (string-append
4512 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4513 version ".tar.gz"))
4514 (sha256
4515 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4516 (build-system haskell-build-system)
4517 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4518 (synopsis "Fully compliant Haskell 98 lexer")
4519 (description
4520 "This package provides a fully compliant Haskell 98 lexer.")
4521 (license license:bsd-3)))
4522
4523(define-public ghc-haskell-src
4524 (package
4525 (name "ghc-haskell-src")
4526 (version "1.0.3.0")
4527 (source
4528 (origin
4529 (method url-fetch)
4530 (uri (string-append
4531 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4532 version
4533 ".tar.gz"))
4534 (sha256
4535 (base32
4536 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4537 (build-system haskell-build-system)
4538 (inputs
4539 `(("ghc-happy" ,ghc-happy)
4540 ("ghc-syb" ,ghc-syb)))
4541 (home-page
4542 "https://hackage.haskell.org/package/haskell-src")
4543 (synopsis
4544 "Support for manipulating Haskell source code")
4545 (description
4546 "The @code{haskell-src} package provides support for manipulating Haskell
4547source code. The package provides a lexer, parser and pretty-printer, and a
4548definition of a Haskell abstract syntax tree (AST). Common uses of this
4549package are to parse or generate Haskell 98 code.")
4550 (license license:bsd-3)))
4551
4552(define-public ghc-haskell-src-exts
4553 (package
4554 (name "ghc-haskell-src-exts")
37a05591 4555 (version "1.21.1")
dddbc90c
RV
4556 (source
4557 (origin
4558 (method url-fetch)
4559 (uri (string-append
4560 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4561 version
4562 ".tar.gz"))
4563 (sha256
4564 (base32
37a05591 4565 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
4566 (build-system haskell-build-system)
4567 (inputs
4568 `(("cpphs" ,cpphs)
4569 ("ghc-happy" ,ghc-happy)
4570 ("ghc-pretty-show" ,ghc-pretty-show)))
4571 (native-inputs
4572 `(("ghc-smallcheck" ,ghc-smallcheck)
4573 ("ghc-tasty" ,ghc-tasty)
4574 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4575 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4576 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4577 (synopsis "Library for manipulating Haskell source")
4578 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4579extension of the standard @code{haskell-src} package, and handles most
4580registered syntactic extensions to Haskell. All extensions implemented in GHC
4581are supported. Apart from these standard extensions, it also handles regular
4582patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4583 (license license:bsd-3)))
4584
4585(define-public ghc-haskell-src-exts-util
4586 (package
4587 (name "ghc-haskell-src-exts-util")
77355bdf 4588 (version "0.2.5")
dddbc90c
RV
4589 (source
4590 (origin
4591 (method url-fetch)
4592 (uri (string-append "https://hackage.haskell.org/package/"
4593 "haskell-src-exts-util/haskell-src-exts-util-"
4594 version ".tar.gz"))
4595 (sha256
4596 (base32
77355bdf 4597 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
4598 (build-system haskell-build-system)
4599 (inputs
4600 `(("ghc-data-default" ,ghc-data-default)
4601 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4602 ("ghc-semigroups" ,ghc-semigroups)
4603 ("ghc-uniplate" ,ghc-uniplate)))
4604 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4605 (synopsis "Helper functions for working with haskell-src-exts trees")
4606 (description
4607 "This package provides helper functions for working with
4608@code{haskell-src-exts} trees.")
4609 (license license:bsd-3)))
4610
4611(define-public ghc-haskell-src-meta
4612 (package
4613 (name "ghc-haskell-src-meta")
e94b3c72 4614 (version "0.8.3")
dddbc90c
RV
4615 (source (origin
4616 (method url-fetch)
4617 (uri (string-append "https://hackage.haskell.org/package/"
4618 "haskell-src-meta/haskell-src-meta-"
4619 version ".tar.gz"))
4620 (sha256
4621 (base32
e94b3c72 4622 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
4623 (build-system haskell-build-system)
4624 (inputs
4625 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4626 ("ghc-syb" ,ghc-syb)
4627 ("ghc-th-orphans" ,ghc-th-orphans)))
4628 (native-inputs
4629 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
4630 ("ghc-tasty" ,ghc-tasty)
4631 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
4632 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4633 (synopsis "Parse source to template-haskell abstract syntax")
4634 (description
4635 "This package provides tools to parse Haskell sources to the
4636template-haskell abstract syntax.")
4637 (license license:bsd-3)))
4638
4639(define-public ghc-hasktags
4640 (package
4641 (name "ghc-hasktags")
4642 (version "0.71.2")
4643 (source
4644 (origin
4645 (method url-fetch)
4646 (uri (string-append
4647 "https://hackage.haskell.org/package/hasktags/hasktags-"
4648 version
4649 ".tar.gz"))
4650 (sha256
4651 (base32
4652 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4653 (build-system haskell-build-system)
4654 (inputs
4655 `(("ghc-system-filepath" ,ghc-system-filepath)
4656 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4657 (native-inputs
4658 `(("ghc-json" ,ghc-json)
4659 ("ghc-utf8-string" ,ghc-utf8-string)
4660 ("ghc-microlens-platform" ,ghc-microlens-platform)
4661 ("ghc-hunit" ,ghc-hunit)))
4662 (home-page "http://github.com/MarcWeber/hasktags")
4663 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4664 (description
4665 "This package provides a means of generating tag files for Emacs and
4666Vim.")
4667 (license license:bsd-3)))
4668
4669(define-public ghc-hex
4670 (package
4671 (name "ghc-hex")
4672 (version "0.1.2")
4673 (source
4674 (origin
4675 (method url-fetch)
4676 (uri (string-append "https://hackage.haskell.org/package/"
4677 "hex-" version "/"
4678 "hex-" version ".tar.gz"))
4679 (sha256
4680 (base32
4681 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4682 (build-system haskell-build-system)
4683 (home-page "https://hackage.haskell.org/package/hex")
4684 (synopsis "Convert strings into hexadecimal and back")
4685 (description "This package provides conversion functions between
4686bytestrings and their hexademical representation.")
4687 (license license:bsd-3)))
4688
4689(define-public ghc-highlighting-kate
4690 (package
4691 (name "ghc-highlighting-kate")
4692 (version "0.6.4")
4693 (source (origin
4694 (method url-fetch)
4695 (uri (string-append "https://hackage.haskell.org/package/"
4696 "highlighting-kate/highlighting-kate-"
4697 version ".tar.gz"))
4698 (sha256
4699 (base32
4700 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4701 (build-system haskell-build-system)
4702 (inputs
4703 `(("ghc-diff" ,ghc-diff)
4704 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4705 (native-inputs
4706 `(("ghc-blaze-html" ,ghc-blaze-html)
4707 ("ghc-utf8-string" ,ghc-utf8-string)))
4708 (home-page "https://github.com/jgm/highlighting-kate")
4709 (synopsis "Syntax highlighting library")
4710 (description
4711 "Highlighting-kate is a syntax highlighting library with support for
4712nearly one hundred languages. The syntax parsers are automatically generated
4713from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4714supported by Kate can be added. An (optional) command-line program is
4715provided, along with a utility for generating new parsers from Kate XML syntax
4716descriptions.")
4717 (license license:gpl2+)))
4718
4719(define-public ghc-hindent
4720 (package
4721 (name "ghc-hindent")
4722 (version "5.3.0")
4723 (source
4724 (origin
4725 (method url-fetch)
4726 (uri (string-append
4727 "https://hackage.haskell.org/package/hindent/hindent-"
4728 version
4729 ".tar.gz"))
4730 (sha256
4731 (base32
4732 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4733 (build-system haskell-build-system)
4734 (arguments
4735 `(#:modules ((guix build haskell-build-system)
4736 (guix build utils)
4737 (guix build emacs-utils))
4738 #:imported-modules (,@%haskell-build-system-modules
4739 (guix build emacs-utils))
4740 #:phases
4741 (modify-phases %standard-phases
4742 (add-after 'install 'emacs-install
4743 (lambda* (#:key inputs outputs #:allow-other-keys)
4744 (let* ((out (assoc-ref outputs "out"))
4745 (elisp-file "elisp/hindent.el")
4746 (dest (string-append out "/share/emacs/site-lisp"
4747 "/guix.d/hindent-" ,version))
4748 (emacs (string-append (assoc-ref inputs "emacs")
4749 "/bin/emacs")))
4750 (make-file-writable elisp-file)
4751 (emacs-substitute-variables elisp-file
4752 ("hindent-process-path"
4753 (string-append out "/bin/hindent")))
4754 (install-file elisp-file dest)
4755 (emacs-generate-autoloads "hindent" dest)))))))
4756 (inputs
4757 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4758 ("ghc-monad-loops" ,ghc-monad-loops)
4759 ("ghc-utf8-string" ,ghc-utf8-string)
4760 ("ghc-exceptions" ,ghc-exceptions)
4761 ("ghc-yaml" ,ghc-yaml)
4762 ("ghc-unix-compat" ,ghc-unix-compat)
4763 ("ghc-path" ,ghc-path)
4764 ("ghc-path-io" ,ghc-path-io)
4765 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4766 (native-inputs
4767 `(("ghc-hspec" ,ghc-hspec)
4768 ("ghc-diff" ,ghc-diff)
4769 ("emacs" ,emacs-minimal)))
4770 (home-page
4771 "https://github.com/commercialhaskell/hindent")
4772 (synopsis "Extensible Haskell pretty printer")
4773 (description
4774 "This package provides automatic formatting for Haskell files. Both a
4775library and an executable.")
4776 (license license:bsd-3)))
4777
4778(define-public ghc-hinotify
4779 (package
4780 (name "ghc-hinotify")
c2342abb 4781 (version "0.4")
dddbc90c
RV
4782 (source (origin
4783 (method url-fetch)
4784 (uri (string-append
4785 "https://hackage.haskell.org/package/hinotify/"
4786 "hinotify-" version ".tar.gz"))
4787 (sha256
4788 (base32
c2342abb 4789 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
4790 (build-system haskell-build-system)
4791 (inputs
4792 `(("ghc-async" ,ghc-async)))
4793 (home-page "https://github.com/kolmodin/hinotify.git")
4794 (synopsis "Haskell binding to inotify")
4795 (description "This library provides a wrapper to the Linux kernel's inotify
4796feature, allowing applications to subscribe to notifications when a file is
4797accessed or modified.")
4798 (license license:bsd-3)))
4799
4800(define-public ghc-hmatrix
4801 (package
4802 (name "ghc-hmatrix")
65e29ed1 4803 (version "0.20.0.0")
dddbc90c
RV
4804 (source
4805 (origin
4806 (method url-fetch)
4807 (uri (string-append
4808 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4809 version ".tar.gz"))
4810 (sha256
65e29ed1 4811 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
4812 (build-system haskell-build-system)
4813 (inputs
4814 `(("ghc-random" ,ghc-random)
4815 ("ghc-split" ,ghc-split)
4816 ("ghc-storable-complex" ,ghc-storable-complex)
4817 ("ghc-semigroups" ,ghc-semigroups)
4818 ("ghc-vector" ,ghc-vector)
4819 ;;("openblas" ,openblas)
4820 ("lapack" ,lapack)))
4821 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4822 ;; disables inclusion of the LAPACK functions.
4823 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4824 (home-page "https://github.com/albertoruiz/hmatrix")
4825 (synopsis "Haskell numeric linear algebra library")
4826 (description "The HMatrix package provices a Haskell library for
4827dealing with linear systems, matrix decompositions, and other
4828numerical computations based on BLAS and LAPACK.")
4829 (license license:bsd-3)))
4830
4831(define-public ghc-hmatrix-gsl
4832 (package
4833 (name "ghc-hmatrix-gsl")
4834 (version "0.19.0.1")
4835 (source
4836 (origin
4837 (method url-fetch)
4838 (uri (string-append
4839 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4840 version ".tar.gz"))
4841 (sha256
4842 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4843 (build-system haskell-build-system)
4844 (inputs
4845 `(("ghc-hmatrix" ,ghc-hmatrix)
4846 ("ghc-vector" ,ghc-vector)
4847 ("ghc-random" ,ghc-random)
4848 ("gsl" ,gsl)))
4849 (native-inputs `(("pkg-config" ,pkg-config)))
4850 (home-page "https://github.com/albertoruiz/hmatrix")
4851 (synopsis "Haskell GSL binding")
4852 (description "This Haskell library provides a purely functional
4853interface to selected numerical computations, internally implemented
4854using GSL.")
4855 (license license:gpl3+)))
4856
4857(define-public ghc-hmatrix-gsl-stats
4858 (package
4859 (name "ghc-hmatrix-gsl-stats")
e9b359f5 4860 (version "0.4.1.8")
dddbc90c
RV
4861 (source
4862 (origin
4863 (method url-fetch)
4864 (uri
4865 (string-append
4866 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4867 version ".tar.gz"))
4868 (sha256
e9b359f5 4869 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
4870 (build-system haskell-build-system)
4871 (inputs
4872 `(("ghc-vector" ,ghc-vector)
4873 ("ghc-storable-complex" ,ghc-storable-complex)
4874 ("ghc-hmatrix" ,ghc-hmatrix)
4875 ("gsl" ,gsl)))
4876 (native-inputs `(("pkg-config" ,pkg-config)))
4877 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4878 (synopsis "GSL Statistics interface for Haskell")
4879 (description "This Haskell library provides a purely functional
4880interface for statistics based on hmatrix and GSL.")
4881 (license license:bsd-3)))
4882
4883(define-public ghc-hmatrix-special
4884 (package
4885 (name "ghc-hmatrix-special")
4886 (version "0.19.0.0")
4887 (source
4888 (origin
4889 (method url-fetch)
4890 (uri
4891 (string-append
4892 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4893 version ".tar.gz"))
4894 (sha256
4895 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4896 (build-system haskell-build-system)
4897 (inputs
4898 `(("ghc-hmatrix" ,ghc-hmatrix)
4899 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4900 (home-page "https://github.com/albertoruiz/hmatrix")
4901 (synopsis "Haskell interface to GSL special functions")
4902 (description "This library provides an interface to GSL special
4903functions for Haskell.")
4904 (license license:gpl3+)))
4905
4906(define-public ghc-hostname
4907 (package
4908 (name "ghc-hostname")
4909 (version "1.0")
4910 (source
4911 (origin
4912 (method url-fetch)
4913 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4914 "hostname-" version ".tar.gz"))
4915 (sha256
4916 (base32
4917 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4918 (build-system haskell-build-system)
4919 (home-page "https://hackage.haskell.org/package/hostname")
4920 (synopsis "Hostname in Haskell")
4921 (description "Network.HostName is a simple package providing a means to
4922determine the hostname.")
4923 (license license:bsd-3)))
4924
4925(define-public ghc-hourglass
4926 (package
4927 (name "ghc-hourglass")
4928 (version "0.2.12")
4929 (source (origin
4930 (method url-fetch)
4931 (uri (string-append "https://hackage.haskell.org/package/"
4932 "hourglass/hourglass-" version ".tar.gz"))
4933 (sha256
4934 (base32
4935 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4936 (build-system haskell-build-system)
4937 (inputs
4938 `(("ghc-old-locale" ,ghc-old-locale)))
4939 (native-inputs
4940 `(("ghc-tasty" ,ghc-tasty)
4941 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4942 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4943 (home-page "https://github.com/vincenthz/hs-hourglass")
4944 (synopsis "Simple time-related library for Haskell")
4945 (description
4946 "This is a simple time library providing a simple but powerful and
4947performant API. The backbone of the library are the @code{Timeable} and
4948@code{Time} type classes. Each @code{Timeable} instances can be converted to
4949a type that has a @code{Time} instances, and thus are different
4950representations of current time.")
4951 (license license:bsd-3)))
4952
4953(define-public ghc-hpack
4954 (package
4955 (name "ghc-hpack")
06344a3a 4956 (version "0.31.2")
dddbc90c
RV
4957 (source
4958 (origin
4959 (method url-fetch)
4960 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4961 "hpack-" version ".tar.gz"))
06344a3a 4962 (patches (search-patches "ghc-hpack-fix-tests.patch"))
dddbc90c
RV
4963 (sha256
4964 (base32
06344a3a 4965 "1l2d6185lawwhsj70swxkvcacm0hvcn9qsrlx4ph4gs6k578603g"))))
dddbc90c
RV
4966 (build-system haskell-build-system)
4967 (inputs
4968 `(("ghc-aeson" ,ghc-aeson)
4969 ("ghc-bifunctors" ,ghc-bifunctors)
4970 ("ghc-cryptonite" ,ghc-cryptonite)
4971 ("ghc-glob" ,ghc-glob)
4972 ("ghc-http-client" ,ghc-http-client)
4973 ("ghc-http-client-tls" ,ghc-http-client-tls)
4974 ("ghc-http-types" ,ghc-http-types)
06344a3a 4975 ("ghc-infer-license" ,ghc-infer-license)
dddbc90c
RV
4976 ("ghc-scientific" ,ghc-scientific)
4977 ("ghc-unordered-containers" ,ghc-unordered-containers)
4978 ("ghc-vector" ,ghc-vector)
4979 ("ghc-yaml" ,ghc-yaml)))
4980 (native-inputs
4981 `(("ghc-hspec" ,ghc-hspec)
4982 ("ghc-hunit" ,ghc-hunit)
4983 ("ghc-interpolate" ,ghc-interpolate)
4984 ("ghc-mockery" ,ghc-mockery)
4985 ("ghc-quickcheck" ,ghc-quickcheck)
4986 ("ghc-temporary" ,ghc-temporary)
4987 ("hspec-discover" ,hspec-discover)))
4988 (home-page "https://github.com/sol/hpack")
4989 (synopsis "Tools for an alternative Haskell package format")
4990 (description
4991 "Hpack is a format for Haskell packages. It is an alternative to the
4992Cabal package format and follows different design principles. Hpack packages
4993are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4994@code{stack} support @code{package.yaml} natively. For other build tools the
4995@code{hpack} executable can be used to generate a @code{.cabal} file from
4996@code{package.yaml}.")
4997 (license license:expat)))
4998
4999(define-public ghc-hs-bibutils
5000 (package
5001 (name "ghc-hs-bibutils")
ebcb4f23 5002 (version "6.7.0.0")
dddbc90c
RV
5003 (source
5004 (origin
5005 (method url-fetch)
5006 (uri (string-append
5007 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5008 version ".tar.gz"))
5009 (sha256
5010 (base32
ebcb4f23 5011 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5012 (build-system haskell-build-system)
5013 (inputs `(("ghc-syb" ,ghc-syb)))
5014 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5015 (synopsis "Haskell bindings to bibutils")
5016 (description
5017 "This package provides Haskell bindings to @code{bibutils}, a library
5018that interconverts between various bibliography formats using a common
5019MODS-format XML intermediate.")
5020 (license license:gpl2+)))
5021
5022(define-public ghc-hslogger
5023 (package
5024 (name "ghc-hslogger")
e5ccc5f7 5025 (version "1.2.12")
dddbc90c
RV
5026 (source
5027 (origin
5028 (method url-fetch)
5029 (uri (string-append "https://hackage.haskell.org/package/"
5030 "hslogger-" version "/" "hslogger-"
5031 version ".tar.gz"))
5032 (sha256 (base32
e5ccc5f7 5033 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5034 (build-system haskell-build-system)
5035 (inputs
5036 `(("ghc-network" ,ghc-network)
5037 ("ghc-old-locale" ,ghc-old-locale)))
5038 (native-inputs
5039 `(("ghc-hunit" ,ghc-hunit)))
5040 (home-page "https://software.complete.org/hslogger")
5041 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5042 (description "Hslogger lets each log message have a priority and source be
5043associated with it. The programmer can then define global handlers that route
5044or filter messages based on the priority and source. It also has a syslog
5045handler built in.")
5046 (license license:bsd-3)))
5047
5048(define-public ghc-hslua
5049 (package
5050 (name "ghc-hslua")
cc784d7b 5051 (version "1.0.3.2")
dddbc90c
RV
5052 (source (origin
5053 (method url-fetch)
5054 (uri (string-append "https://hackage.haskell.org/package/"
5055 "hslua/hslua-" version ".tar.gz"))
5056 (sha256
5057 (base32
cc784d7b 5058 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5059 (build-system haskell-build-system)
5060 (arguments
5061 `(#:configure-flags '("-fsystem-lua")))
5062 (inputs
5063 `(("lua" ,lua)
5064 ("ghc-exceptions" ,ghc-exceptions)
5065 ("ghc-fail" ,ghc-fail)))
5066 (native-inputs
5067 `(("ghc-tasty" ,ghc-tasty)
5068 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5069 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5070 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5071 ("ghc-quickcheck" ,ghc-quickcheck)
5072 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5073 (home-page "https://hackage.haskell.org/package/hslua")
5074 (synopsis "Lua language interpreter embedding in Haskell")
5075 (description
5076 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5077described in @url{https://www.lua.org/}.")
5078 (license license:expat)))
5079
5080(define-public ghc-hslua-module-text
5081 (package
5082 (name "ghc-hslua-module-text")
ecaf0b0c 5083 (version "0.2.1")
dddbc90c
RV
5084 (source
5085 (origin
5086 (method url-fetch)
5087 (uri (string-append "https://hackage.haskell.org/package/"
5088 "hslua-module-text/hslua-module-text-"
5089 version ".tar.gz"))
5090 (sha256
5091 (base32
ecaf0b0c 5092 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5093 (build-system haskell-build-system)
dddbc90c
RV
5094 (inputs
5095 `(("ghc-hslua" ,ghc-hslua)))
5096 (native-inputs
5097 `(("ghc-tasty" ,ghc-tasty)
5098 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5099 (home-page "https://github.com/hslua/hslua-module-text")
5100 (synopsis "Lua module for text")
5101 (description
5102 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5103for Haskell. The functions provided by this module are @code{upper},
5104@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5105 (license license:expat)))
5106
5107(define-public ghc-http-api-data
5108 (package
5109 (name "ghc-http-api-data")
a57236eb 5110 (version "0.4.1")
dddbc90c
RV
5111 (source
5112 (origin
5113 (method url-fetch)
5114 (uri (string-append "https://hackage.haskell.org/package/"
5115 "http-api-data-" version "/"
5116 "http-api-data-" version ".tar.gz"))
5117 (sha256
5118 (base32
a57236eb 5119 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5120 (build-system haskell-build-system)
dddbc90c
RV
5121 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5122 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 5123 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
5124 ("ghc-hashable" ,ghc-hashable)
5125 ("ghc-http-types" ,ghc-http-types)
a57236eb 5126 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 5127 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 5128 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
5129 (native-inputs
5130 `(("cabal-doctest" ,cabal-doctest)
5131 ("ghc-nats" ,ghc-nats)
5132 ("ghc-hunit" ,ghc-hunit)
5133 ("ghc-hspec" ,ghc-hspec)
5134 ("ghc-quickcheck" ,ghc-quickcheck)
5135 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5136 ("ghc-doctest" ,ghc-doctest)
5137 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
5138 (home-page "https://github.com/fizruk/http-api-data")
5139 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5140query parameters")
5141 (description "This Haskell package defines typeclasses used for converting
5142Haskell data types to and from HTTP API data.")
5143 (license license:bsd-3)))
5144
5145(define-public ghc-ieee754
5146 (package
5147 (name "ghc-ieee754")
5148 (version "0.8.0")
5149 (source (origin
5150 (method url-fetch)
5151 (uri (string-append
5152 "https://hackage.haskell.org/package/ieee754/"
5153 "ieee754-" version ".tar.gz"))
5154 (sha256
5155 (base32
5156 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5157 (build-system haskell-build-system)
5158 (home-page "https://github.com/patperry/hs-ieee754")
5159 (synopsis "Utilities for dealing with IEEE floating point numbers")
5160 (description "Utilities for dealing with IEEE floating point numbers,
5161ported from the Tango math library; approximate and exact equality comparisons
5162for general types.")
5163 (license license:bsd-3)))
5164
5165(define-public ghc-ifelse
5166 (package
5167 (name "ghc-ifelse")
5168 (version "0.85")
5169 (source
5170 (origin
5171 (method url-fetch)
5172 (uri (string-append "https://hackage.haskell.org/package/"
5173 "IfElse/IfElse-" version ".tar.gz"))
5174 (sha256
5175 (base32
5176 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5177 (build-system haskell-build-system)
5178 (home-page "http://hackage.haskell.org/package/IfElse")
5179 (synopsis "Monadic control flow with anaphoric variants")
5180 (description "This library provides functions for control flow inside of
5181monads with anaphoric variants on @code{if} and @code{when} and a C-like
5182@code{switch} function.")
5183 (license license:bsd-3)))
5184
5185(define-public ghc-indents
5186 (package
5187 (name "ghc-indents")
d66473fb 5188 (version "0.5.0.1")
dddbc90c
RV
5189 (source (origin
5190 (method url-fetch)
5191 (uri (string-append
5192 "https://hackage.haskell.org/package/indents/indents-"
5193 version ".tar.gz"))
5194 (sha256
5195 (base32
d66473fb 5196 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5197 (build-system haskell-build-system)
5198 ;; This package needs an older version of tasty.
5199 (arguments '(#:tests? #f))
5200 (inputs
5201 `(("ghc-concatenative" ,ghc-concatenative)))
5202 (native-inputs
5203 `(("ghc-tasty" ,ghc-tasty)
5204 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5205 (home-page "http://patch-tag.com/r/salazar/indents")
5206 (synopsis "Indentation sensitive parser-combinators for parsec")
5207 (description
5208 "This library provides functions for use in parsing indentation sensitive
5209contexts. It parses blocks of lines all indented to the same level as well as
5210lines continued at an indented level below.")
5211 (license license:bsd-3)))
5212
1f656b17
TS
5213(define-public ghc-infer-license
5214 (package
5215 (name "ghc-infer-license")
5216 (version "0.2.0")
5217 (source
5218 (origin
5219 (method url-fetch)
5220 (uri (string-append "https://hackage.haskell.org/package/"
5221 "infer-license/infer-license-" version ".tar.gz"))
5222 (sha256
5223 (base32
5224 "0wlfm6bf55kfvm74xar9lmjg5v1103rs9m3grw1rq5bmcmhzxrhj"))))
5225 (build-system haskell-build-system)
5226 (inputs
5227 `(("ghc-text-metrics" ,ghc-text-metrics)))
5228 (native-inputs
5229 `(("ghc-hspec" ,ghc-hspec)
5230 ("hspec-discover" ,hspec-discover)))
5231 (home-page "http://hackage.haskell.org/package/infer-license")
5232 (synopsis "Infer software license from a given license file")
5233 (description "This library provides tools to infer a software
5234license from a given license file.")
5235 (license license:expat)))
5236
dddbc90c
RV
5237(define-public ghc-inline-c
5238 (package
5239 (name "ghc-inline-c")
55ec98f2 5240 (version "0.7.0.1")
dddbc90c
RV
5241 (source
5242 (origin
5243 (method url-fetch)
5244 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5245 "inline-c-" version ".tar.gz"))
5246 (sha256
5247 (base32
55ec98f2 5248 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
5249 (build-system haskell-build-system)
5250 (inputs
5251 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5252 ("ghc-cryptohash" ,ghc-cryptohash)
5253 ("ghc-hashable" ,ghc-hashable)
5254 ("ghc-parsers" ,ghc-parsers)
5255 ("ghc-unordered-containers" ,ghc-unordered-containers)
5256 ("ghc-vector" ,ghc-vector)))
5257 (native-inputs
5258 `(("ghc-quickcheck" ,ghc-quickcheck)
5259 ("ghc-hspec" ,ghc-hspec)
5260 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5261 ("ghc-regex-posix" ,ghc-regex-posix)))
5262 (home-page "http://hackage.haskell.org/package/inline-c")
5263 (synopsis "Write Haskell source files including C code inline")
5264 (description
5265 "inline-c lets you seamlessly call C libraries and embed high-performance
5266inline C code in Haskell modules. Haskell and C can be freely intermixed in
5267the same source file, and data passed to and from code in either language with
5268minimal overhead. No FFI required.")
5269 (license license:expat)))
5270
5271(define-public ghc-inline-c-cpp
5272 (package
5273 (name "ghc-inline-c-cpp")
cae58e56 5274 (version "0.3.0.3")
dddbc90c
RV
5275 (source
5276 (origin
5277 (method url-fetch)
5278 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5279 "inline-c-cpp-" version ".tar.gz"))
5280 (sha256
5281 (base32
cae58e56 5282 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
5283 (build-system haskell-build-system)
5284 (inputs
5285 `(("ghc-inline-c" ,ghc-inline-c)
5286 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5287 (native-inputs
5288 `(("ghc-hspec" ,ghc-hspec)))
5289 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5290 (synopsis "Lets you embed C++ code into Haskell")
5291 (description
5292 "This package provides utilities to inline C++ code into Haskell using
5293@code{inline-c}.")
5294 (license license:expat)))
5295
5296(define-public ghc-integer-logarithms
5297 (package
5298 (name "ghc-integer-logarithms")
86a704db 5299 (version "1.0.3")
dddbc90c
RV
5300 (source
5301 (origin
5302 (method url-fetch)
5303 (uri (string-append "https://hackage.haskell.org/package/"
5304 "integer-logarithms/integer-logarithms-"
5305 version ".tar.gz"))
5306 (sha256
5307 (base32
86a704db 5308 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5309 (build-system haskell-build-system)
5310 (arguments
5311 `(#:phases
5312 (modify-phases %standard-phases
5313 (add-before 'configure 'update-constraints
5314 (lambda _
5315 (substitute* "integer-logarithms.cabal"
5316 (("tasty >= 0\\.10 && < 1\\.1")
5317 "tasty >= 0.10 && < 1.2")))))))
5318 (native-inputs
5319 `(("ghc-quickcheck" ,ghc-quickcheck)
5320 ("ghc-smallcheck" ,ghc-smallcheck)
5321 ("ghc-tasty" ,ghc-tasty)
5322 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5323 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5324 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5325 (home-page "https://github.com/Bodigrim/integer-logarithms")
5326 (synopsis "Integer logarithms")
5327 (description
5328 "This package provides the following modules:
5329@code{Math.NumberTheory.Logarithms} and
5330@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5331@code{GHC.Integer.Logarithms.Compat} and
5332@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5333in migrated modules.")
5334 (license license:expat)))
5335
5336(define-public ghc-integer-logarithms-bootstrap
5337 (package
5338 (inherit ghc-integer-logarithms)
5339 (name "ghc-integer-logarithms-bootstrap")
5340 (arguments `(#:tests? #f))
5341 (native-inputs '())
799d8d3c 5342 (properties '((hidden? #t)))))
dddbc90c
RV
5343
5344(define-public ghc-interpolate
5345 (package
5346 (name "ghc-interpolate")
5347 (version "0.2.0")
5348 (source
5349 (origin
5350 (method url-fetch)
5351 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5352 "interpolate-" version ".tar.gz"))
5353 (sha256
5354 (base32
5355 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5356 (build-system haskell-build-system)
5357 (inputs
5358 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5359 (native-inputs
5360 `(("ghc-base-compat" ,ghc-base-compat)
5361 ("ghc-hspec" ,ghc-hspec)
5362 ("ghc-quickcheck" ,ghc-quickcheck)
5363 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5364 ("hspec-discover" ,hspec-discover)))
5365 (home-page "https://github.com/sol/interpolate")
5366 (synopsis "String interpolation library")
5367 (description "This package provides a string interpolation library for
5368Haskell.")
5369 (license license:expat)))
5370
5371(define-public ghc-intervalmap
5372 (package
5373 (name "ghc-intervalmap")
e4946e32 5374 (version "0.6.1.1")
dddbc90c
RV
5375 (source
5376 (origin
5377 (method url-fetch)
5378 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5379 "IntervalMap-" version ".tar.gz"))
5380 (sha256
5381 (base32
e4946e32 5382 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5383 (build-system haskell-build-system)
5384 (native-inputs
5385 `(("ghc-quickcheck" ,ghc-quickcheck)))
5386 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5387 (synopsis "Containers for intervals, with efficient search")
5388 (description
5389 "This package provides ordered containers of intervals, with efficient
5390search for all keys containing a point or overlapping an interval. See the
5391example code on the home page for a quick introduction.")
5392 (license license:bsd-3)))
5393
5394(define-public ghc-invariant
5395 (package
5396 (name "ghc-invariant")
d3a0e0b4 5397 (version "0.5.3")
dddbc90c
RV
5398 (source
5399 (origin
5400 (method url-fetch)
5401 (uri (string-append
5402 "https://hackage.haskell.org/package/invariant/invariant-"
5403 version ".tar.gz"))
5404 (sha256
5405 (base32
d3a0e0b4 5406 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
5407 (build-system haskell-build-system)
5408 (inputs
5409 `(("ghc-bifunctors" ,ghc-bifunctors)
5410 ("ghc-comonad" ,ghc-comonad)
5411 ("ghc-contravariant" ,ghc-contravariant)
5412 ("ghc-profunctors" ,ghc-profunctors)
5413 ("ghc-semigroups" ,ghc-semigroups)
5414 ("ghc-statevar" ,ghc-statevar)
5415 ("ghc-tagged" ,ghc-tagged)
5416 ("ghc-th-abstraction" ,ghc-th-abstraction)
5417 ("ghc-transformers-compat" ,ghc-transformers-compat)
5418 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5419 (native-inputs
5420 `(("ghc-hspec" ,ghc-hspec)
5421 ("ghc-quickcheck" ,ghc-quickcheck)
5422 ("hspec-discover" ,hspec-discover)))
5423 (home-page "https://github.com/nfrisby/invariant-functors")
5424 (synopsis "Haskell98 invariant functors")
5425 (description "Haskell98 invariant functors (also known as exponential
5426functors). For more information, see Edward Kmett's article
5427@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5428 (license license:bsd-2)))
5429
5430(define-public ghc-io-streams
5431 (package
5432 (name "ghc-io-streams")
59e98d75 5433 (version "1.5.1.0")
dddbc90c
RV
5434 (source
5435 (origin
5436 (method url-fetch)
5437 (uri (string-append "https://hackage.haskell.org/package/"
5438 "io-streams/io-streams-" version ".tar.gz"))
5439 (sha256
5440 (base32
59e98d75 5441 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
5442 (build-system haskell-build-system)
5443 (inputs
5444 `(("ghc-attoparsec" ,ghc-attoparsec)
5445 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5446 ("ghc-network" ,ghc-network)
5447 ("ghc-primitive" ,ghc-primitive)
5448 ("ghc-vector" ,ghc-vector)
5449 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5450 (native-inputs
5451 `(("ghc-hunit" ,ghc-hunit)
5452 ("ghc-quickcheck" ,ghc-quickcheck)
5453 ("ghc-test-framework" ,ghc-test-framework)
5454 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5455 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5456 ("ghc-zlib" ,ghc-zlib)))
dddbc90c
RV
5457 (home-page "http://hackage.haskell.org/package/io-streams")
5458 (synopsis "Simple and composable stream I/O")
5459 (description "This library contains simple and easy-to-use
5460primitives for I/O using streams.")
5461 (license license:bsd-3)))
5462
5463(define-public ghc-io-streams-haproxy
5464 (package
5465 (name "ghc-io-streams-haproxy")
1a4fbc36 5466 (version "1.0.1.0")
dddbc90c
RV
5467 (source
5468 (origin
5469 (method url-fetch)
5470 (uri (string-append "https://hackage.haskell.org/package/"
5471 "io-streams-haproxy/io-streams-haproxy-"
5472 version ".tar.gz"))
5473 (sha256
5474 (base32
1a4fbc36 5475 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
5476 (build-system haskell-build-system)
5477 (inputs
5478 `(("ghc-attoparsec" ,ghc-attoparsec)
5479 ("ghc-io-streams" ,ghc-io-streams)
5480 ("ghc-network" ,ghc-network)))
5481 (native-inputs
5482 `(("ghc-hunit" ,ghc-hunit)
5483 ("ghc-test-framework" ,ghc-test-framework)
5484 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
5485 (home-page "http://snapframework.com/")
5486 (synopsis "HAProxy protocol 1.5 support for io-streams")
5487 (description "HAProxy protocol version 1.5 support
5488(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5489for applications using io-streams. The proxy protocol allows information
5490about a networked peer (like remote address and port) to be propagated
5491through a forwarding proxy that is configured to speak this protocol.")
5492 (license license:bsd-3)))
5493
5494(define-public ghc-iproute
5495 (package
5496 (name "ghc-iproute")
ec25d536 5497 (version "1.7.7")
dddbc90c
RV
5498 (source
5499 (origin
5500 (method url-fetch)
5501 (uri (string-append
5502 "https://hackage.haskell.org/package/iproute/iproute-"
5503 version
5504 ".tar.gz"))
5505 (sha256
5506 (base32
ec25d536 5507 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
5508 (build-system haskell-build-system)
5509 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5510 ; exported by ghc-byteorder. Doctest issue.
5511 (inputs
5512 `(("ghc-appar" ,ghc-appar)
5513 ("ghc-byteorder" ,ghc-byteorder)
5514 ("ghc-network" ,ghc-network)
5515 ("ghc-safe" ,ghc-safe)))
5516 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5517 (synopsis "IP routing table")
5518 (description "IP Routing Table is a tree of IP ranges to search one of
5519them on the longest match base. It is a kind of TRIE with one way branching
5520removed. Both IPv4 and IPv6 are supported.")
5521 (license license:bsd-3)))
5522
5523(define-public ghc-iwlib
5524 (package
5525 (name "ghc-iwlib")
5526 (version "0.1.0")
5527 (source
5528 (origin
5529 (method url-fetch)
5530 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5531 version ".tar.gz"))
5532 (sha256
5533 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5534 (build-system haskell-build-system)
5535 (inputs
5536 `(("wireless-tools" ,wireless-tools)))
5537 (home-page "https://github.com/jaor/iwlib")
5538 (synopsis "Haskell binding to the iw wireless networking library")
5539 (description
5540 "IWlib is a thin Haskell binding to the iw C library. It provides
5541information about the current wireless network connections, and adapters on
5542supported systems.")
5543 (license license:bsd-3)))
5544
5545(define-public ghc-json
5546 (package
5547 (name "ghc-json")
0ad3d574 5548 (version "0.9.3")
dddbc90c
RV
5549 (source
5550 (origin
5551 (method url-fetch)
5552 (uri (string-append "https://hackage.haskell.org/package/json/"
5553 "json-" version ".tar.gz"))
5554 (sha256
5555 (base32
0ad3d574 5556 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
5557 (build-system haskell-build-system)
5558 (inputs
5559 `(("ghc-syb" ,ghc-syb)))
5560 (home-page "https://hackage.haskell.org/package/json")
5561 (synopsis "Serializes Haskell data to and from JSON")
5562 (description "This package provides a parser and pretty printer for
5563converting between Haskell values and JSON.
5564JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5565 (license license:bsd-3)))
5566
5567(define-public ghc-juicypixels
5568 (package
5569 (name "ghc-juicypixels")
b50b6004 5570 (version "3.3.4")
dddbc90c
RV
5571 (source (origin
5572 (method url-fetch)
5573 (uri (string-append "https://hackage.haskell.org/package/"
5574 "JuicyPixels/JuicyPixels-"
5575 version ".tar.gz"))
5576 (sha256
5577 (base32
b50b6004 5578 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
5579 (build-system haskell-build-system)
5580 (inputs
5581 `(("ghc-zlib" ,ghc-zlib)
5582 ("ghc-vector" ,ghc-vector)
5583 ("ghc-primitive" ,ghc-primitive)
5584 ("ghc-mmap" ,ghc-mmap)))
5585 (home-page "https://github.com/Twinside/Juicy.Pixels")
5586 (synopsis "Picture loading and serialization library")
5587 (description
5588 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5589TIFF and GIF formats.")
5590 (license license:bsd-3)))
5591
5592(define-public ghc-kan-extensions
5593 (package
5594 (name "ghc-kan-extensions")
5595 (version "5.2")
5596 (source
5597 (origin
5598 (method url-fetch)
5599 (uri (string-append
5600 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5601 version
5602 ".tar.gz"))
5603 (sha256
5604 (base32
5605 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5606 (build-system haskell-build-system)
5607 (inputs
5608 `(("ghc-adjunctions" ,ghc-adjunctions)
5609 ("ghc-comonad" ,ghc-comonad)
5610 ("ghc-contravariant" ,ghc-contravariant)
5611 ("ghc-distributive" ,ghc-distributive)
5612 ("ghc-free" ,ghc-free)
5613 ("ghc-invariant" ,ghc-invariant)
5614 ("ghc-semigroupoids" ,ghc-semigroupoids)
5615 ("ghc-tagged" ,ghc-tagged)
5616 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5617 (home-page "https://github.com/ekmett/kan-extensions/")
5618 (synopsis "Kan extensions library")
5619 (description "This library provides Kan extensions, Kan lifts, various
5620forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5621 (license license:bsd-3)))
5622
5623(define-public ghc-language-c
5624 (package
5625 (name "ghc-language-c")
4e1cf651 5626 (version "0.8.3")
dddbc90c
RV
5627 (source
5628 (origin
5629 (method url-fetch)
5630 (uri (string-append "https://hackage.haskell.org/package/"
5631 "language-c/language-c-" version ".tar.gz"))
5632 (sha256
5633 (base32
4e1cf651 5634 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
5635 (build-system haskell-build-system)
5636 (inputs `(("ghc-syb" ,ghc-syb)))
5637 (native-inputs
5638 `(("ghc-happy" ,ghc-happy)
5639 ("ghc-alex" ,ghc-alex)))
5640 (home-page "https://visq.github.io/language-c/")
5641 (synopsis "Analysis and generation of C code")
5642 (description
5643 "Language C is a Haskell library for the analysis and generation of C code.
5644It features a complete, well-tested parser and pretty printer for all of C99
5645and a large set of GNU extensions.")
5646 (license license:bsd-3)))
5647
5648(define-public ghc-language-glsl
5649 (package
5650 (name "ghc-language-glsl")
5651 (version "0.3.0")
5652 (source
5653 (origin
5654 (method url-fetch)
5655 (uri (string-append "https://hackage.haskell.org/package/"
5656 "language-glsl/language-glsl-" version ".tar.gz"))
5657 (sha256
5658 (base32
5659 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5660 (build-system haskell-build-system)
5661 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5662 (arguments
5663 `(#:tests? #f
5664 #:cabal-revision
5665 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5666 (home-page "http://hackage.haskell.org/package/language-glsl")
5667 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5668 (description "This package is a Haskell library for the
5669representation, parsing, and pretty-printing of GLSL 1.50 code.")
5670 (license license:bsd-3)))
5671
5672(define-public ghc-language-haskell-extract
5673 (package
5674 (name "ghc-language-haskell-extract")
5675 (version "0.2.4")
5676 (source
5677 (origin
5678 (method url-fetch)
5679 (uri (string-append "https://hackage.haskell.org/package/"
5680 "language-haskell-extract-" version "/"
5681 "language-haskell-extract-" version ".tar.gz"))
5682 (sha256
5683 (base32
5684 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5685 (build-system haskell-build-system)
5686 (inputs
5687 `(("ghc-regex-posix" ,ghc-regex-posix)))
5688 (home-page "https://github.com/finnsson/template-helper")
5689 (synopsis "Haskell module to automatically extract functions from
5690the local code")
5691 (description "This package contains helper functions on top of
5692Template Haskell.
5693
5694For example, @code{functionExtractor} extracts all functions after a
5695regexp-pattern, which can be useful if you wish to extract all functions
5696beginning with @code{test} (for a test framework) or all functions beginning
5697with @code{wc} (for a web service).")
5698 (license license:bsd-3)))
5699
5700(define-public ghc-lens
5701 (package
5702 (name "ghc-lens")
5703 (version "4.16.1")
5704 (source
5705 (origin
5706 (method url-fetch)
5707 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5708 version ".tar.gz"))
5709 (sha256
5710 (base32
5711 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5712 (build-system haskell-build-system)
5713 (arguments
5714 `(#:cabal-revision
5715 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
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
5815(define-public ghc-libxml
5816 (package
5817 (name "ghc-libxml")
5818 (version "0.1.1")
5819 (source
5820 (origin
5821 (method url-fetch)
5822 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5823 "libxml-" version ".tar.gz"))
5824 (sha256
5825 (base32
5826 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5827 (build-system haskell-build-system)
5828 (inputs
5829 `(("libxml2" ,libxml2)))
5830 (arguments
5831 `(#:configure-flags
5832 `(,(string-append "--extra-include-dirs="
5833 (assoc-ref %build-inputs "libxml2")
5834 "/include/libxml2"))))
5835 (home-page "https://hackage.haskell.org/package/libxml")
5836 (synopsis "Haskell bindings to libxml2")
5837 (description
5838 "This library provides minimal Haskell binding to libxml2.")
5839 (license license:bsd-3)))
5840
0c2d6fc2
TS
5841(define-public ghc-libyaml
5842 (package
5843 (name "ghc-libyaml")
5844 (version "0.1.1.0")
5845 (source
5846 (origin
5847 (method url-fetch)
5848 (uri (string-append "https://hackage.haskell.org/package/"
5849 "libyaml/libyaml-" version ".tar.gz"))
5850 (sha256
5851 (base32
5852 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
5853 (modules '((guix build utils)))
5854 (snippet
5855 ;; Delete bundled LibYAML.
5856 '(begin
5857 (delete-file-recursively "libyaml_src")
5858 #t))))
5859 (build-system haskell-build-system)
5860 (arguments
5861 `(#:configure-flags `("--flags=system-libyaml")))
5862 (inputs
5863 `(("ghc-conduit" ,ghc-conduit)
5864 ("ghc-resourcet" ,ghc-resourcet)
5865 ("libyaml" ,libyaml-2.1)))
5866 (home-page "https://github.com/snoyberg/yaml#readme")
5867 (synopsis "Low-level, streaming YAML interface.")
5868 (description "This package provides a Haskell wrapper over the
5869LibYAML C library.")
5870 (license license:bsd-3)))
5871
dddbc90c
RV
5872(define-public ghc-lifted-async
5873 (package
5874 (name "ghc-lifted-async")
b5b6d7ea 5875 (version "0.10.0.4")
dddbc90c
RV
5876 (source
5877 (origin
5878 (method url-fetch)
5879 (uri (string-append
5880 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5881 version ".tar.gz"))
5882 (sha256
5883 (base32
b5b6d7ea 5884 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
5885 (build-system haskell-build-system)
5886 (inputs
5887 `(("ghc-async" ,ghc-async)
5888 ("ghc-lifted-base" ,ghc-lifted-base)
5889 ("ghc-transformers-base" ,ghc-transformers-base)
5890 ("ghc-monad-control" ,ghc-monad-control)
5891 ("ghc-constraints" ,ghc-constraints)
5892 ("ghc-hunit" ,ghc-hunit)
5893 ("ghc-tasty" ,ghc-tasty)
5894 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5895 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5896 ("ghc-tasty-th" ,ghc-tasty-th)))
5897 (home-page "https://github.com/maoe/lifted-async")
5898 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5899 (description
5900 "This package provides IO operations from @code{async} package lifted to any
5901instance of @code{MonadBase} or @code{MonadBaseControl}.")
5902 (license license:bsd-3)))
5903
5904(define-public ghc-lifted-base
5905 (package
5906 (name "ghc-lifted-base")
5907 (version "0.2.3.12")
5908 (source
5909 (origin
5910 (method url-fetch)
5911 (uri (string-append
5912 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5913 version
5914 ".tar.gz"))
5915 (sha256
5916 (base32
5917 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5918 (build-system haskell-build-system)
5919 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5920 (inputs
5921 `(("ghc-transformers-base" ,ghc-transformers-base)
5922 ("ghc-monad-control" ,ghc-monad-control)
5923 ("ghc-transformers-compat" ,ghc-transformers-compat)
5924 ("ghc-hunit" ,ghc-hunit)))
5925 (home-page "https://github.com/basvandijk/lifted-base")
5926 (synopsis "Lifted IO operations from the base library")
5927 (description "Lifted-base exports IO operations from the @code{base}
5928library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5929Note that not all modules from @code{base} are converted yet. The package
5930includes a copy of the @code{monad-peel} test suite written by Anders
5931Kaseorg.")
5932 (license license:bsd-3)))
5933
5934(define-public ghc-linear
5935 (package
5936 (name "ghc-linear")
5937 (version "1.20.8")
5938 (source
5939 (origin
5940 (method url-fetch)
5941 (uri (string-append "https://hackage.haskell.org/package/linear/"
5942 "linear-" version ".tar.gz"))
5943 (sha256
5944 (base32
5945 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5946 (build-system haskell-build-system)
5947 (inputs
5948 `(("ghc-adjunctions" ,ghc-adjunctions)
5949 ("ghc-base-orphans" ,ghc-base-orphans)
5950 ("ghc-bytes" ,ghc-bytes)
5951 ("ghc-cereal" ,ghc-cereal)
5952 ("ghc-distributive" ,ghc-distributive)
5953 ("ghc-hashable" ,ghc-hashable)
5954 ("ghc-lens" ,ghc-lens)
5955 ("ghc-reflection" ,ghc-reflection)
5956 ("ghc-semigroups" ,ghc-semigroups)
5957 ("ghc-semigroupoids" ,ghc-semigroupoids)
5958 ("ghc-tagged" ,ghc-tagged)
5959 ("ghc-transformers-compat" ,ghc-transformers-compat)
5960 ("ghc-unordered-containers" ,ghc-unordered-containers)
5961 ("ghc-vector" ,ghc-vector)
5962 ("ghc-void" ,ghc-void)))
5963 (native-inputs
5964 `(("cabal-doctest" ,cabal-doctest)
5965 ("ghc-doctest" ,ghc-doctest)
5966 ("ghc-simple-reflect" ,ghc-simple-reflect)
5967 ("ghc-test-framework" ,ghc-test-framework)
5968 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5969 ("ghc-hunit" ,ghc-hunit)))
5970 (home-page "http://github.com/ekmett/linear/")
5971 (synopsis "Linear algebra library for Haskell")
5972 (description
5973 "This package provides types and combinators for linear algebra on free
5974vector spaces.")
5975 (license license:bsd-3)))
1307e4c7
JS
5976
5977(define-public ghc-listlike
5978 (package
5979 (name "ghc-listlike")
5980 (version "4.6.2")
5981 (source
5982 (origin
5983 (method url-fetch)
5984 (uri
5985 (string-append
5986 "https://hackage.haskell.org/package/ListLike/ListLike-"
5987 version ".tar.gz"))
5988 (sha256
5989 (base32
5990 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5991 (build-system haskell-build-system)
5992 (inputs
5993 `(("ghc-vector" ,ghc-vector)
5994 ("ghc-dlist" ,ghc-dlist)
5995 ("ghc-fmlist" ,ghc-fmlist)
5996 ("ghc-hunit" ,ghc-hunit)
5997 ("ghc-quickcheck" ,ghc-quickcheck)
5998 ("ghc-random" ,ghc-random)
5999 ("ghc-utf8-string" ,ghc-utf8-string)))
6000 (home-page "https://github.com/JohnLato/listlike")
6001 (synopsis "Generic support for list-like structures")
6002 (description "The ListLike module provides a common interface to the
6003various Haskell types that are list-like. Predefined interfaces include
6004standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6005Custom types can easily be made ListLike instances as well.
6006
6007ListLike also provides for String-like types, such as String and
6008ByteString, for types that support input and output, and for types that
6009can handle infinite lists.")
6010 (license license:bsd-3)))
dddbc90c
RV
6011
6012(define-public ghc-logging-facade
6013 (package
6014 (name "ghc-logging-facade")
6015 (version "0.3.0")
6016 (source (origin
6017 (method url-fetch)
6018 (uri (string-append "https://hackage.haskell.org/package/"
6019 "logging-facade/logging-facade-"
6020 version ".tar.gz"))
6021 (sha256
6022 (base32
6023 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6024 (build-system haskell-build-system)
6025 (native-inputs
6026 `(("ghc-hspec" ,ghc-hspec)
6027 ("hspec-discover" ,hspec-discover)))
6028 (home-page "https://hackage.haskell.org/package/logging-facade")
6029 (synopsis "Simple logging abstraction that allows multiple back-ends")
6030 (description
6031 "This package provides a simple logging abstraction that allows multiple
6032back-ends.")
6033 (license license:expat)))
6034
6035(define-public ghc-logict
6036 (package
6037 (name "ghc-logict")
79d9326f 6038 (version "0.7.0.2")
dddbc90c
RV
6039 (source
6040 (origin
6041 (method url-fetch)
6042 (uri (string-append
6043 "https://hackage.haskell.org/package/logict/logict-"
6044 version
6045 ".tar.gz"))
6046 (sha256
6047 (base32
79d9326f 6048 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 6049 (build-system haskell-build-system)
79d9326f
TS
6050 (native-inputs
6051 `(("ghc-tasty" ,ghc-tasty)
6052 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
6053 (home-page "http://code.haskell.org/~dolio/")
6054 (synopsis "Backtracking logic-programming monad")
6055 (description "This library provides a continuation-based, backtracking,
6056logic programming monad. An adaptation of the two-continuation implementation
6057found in the paper \"Backtracking, Interleaving, and Terminating Monad
6058Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6059online}.")
6060 (license license:bsd-3)))
6061
6062(define-public ghc-lzma
6063 (package
6064 (name "ghc-lzma")
6065 (version "0.0.0.3")
6066 (source
6067 (origin
6068 (method url-fetch)
6069 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6070 "lzma-" version ".tar.gz"))
6071 (sha256
6072 (base32
6073 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6074 (build-system haskell-build-system)
6075 (arguments
6076 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6077 #:cabal-revision
6078 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6079 (native-inputs
6080 `(("ghc-hunit" ,ghc-hunit)
6081 ("ghc-quickcheck" ,ghc-quickcheck)
6082 ("ghc-tasty" ,ghc-tasty)
6083 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6084 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6085 (home-page "https://github.com/hvr/lzma")
6086 (synopsis "LZMA/XZ compression and decompression")
6087 (description
6088 "This package provides a pure interface for compressing and
6089decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6090monadic incremental interface is provided as well.")
6091 (license license:bsd-3)))
6092
6093(define-public ghc-lzma-conduit
6094 (package
6095 (name "ghc-lzma-conduit")
6096 (version "1.2.1")
6097 (source
6098 (origin
6099 (method url-fetch)
6100 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6101 "lzma-conduit-" version ".tar.gz"))
6102 (sha256
6103 (base32
6104 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6105 (build-system haskell-build-system)
6106 (inputs
6107 `(("ghc-conduit" ,ghc-conduit)
6108 ("ghc-lzma" ,ghc-lzma)
6109 ("ghc-resourcet" ,ghc-resourcet)))
6110 (native-inputs
6111 `(("ghc-base-compat" ,ghc-base-compat)
6112 ("ghc-test-framework" ,ghc-test-framework)
6113 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6114 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6115 ("ghc-hunit" ,ghc-hunit)
6116 ("ghc-quickcheck" ,ghc-quickcheck)))
6117 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6118 (synopsis "Conduit interface for lzma/xz compression")
6119 (description
6120 "This package provides a @code{Conduit} interface for the LZMA
6121compression algorithm used in the @code{.xz} file format.")
6122 (license license:bsd-3)))
6123
e405912c
KM
6124(define-public ghc-magic
6125 (package
6126 (name "ghc-magic")
6127 (version "1.1")
6128 (source
6129 (origin
6130 (method url-fetch)
6131 (uri (string-append
6132 "https://hackage.haskell.org/package/magic/magic-"
6133 version ".tar.gz"))
6134 (sha256
6135 (base32
6136 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6137 (build-system haskell-build-system)
6138 (home-page "http://hackage.haskell.org/package/magic")
6139 (synopsis "Interface to C file/magic library")
6140 (description
6141 "This package provides a full-featured binding to the C libmagic library.
6142With it, you can determine the type of a file by examining its contents rather
6143than its name.")
6144 (license license:bsd-3)))
6145
dddbc90c
RV
6146(define-public ghc-markdown-unlit
6147 (package
6148 (name "ghc-markdown-unlit")
6149 (version "0.5.0")
6150 (source (origin
6151 (method url-fetch)
6152 (uri (string-append
6153 "mirror://hackage/package/markdown-unlit/"
6154 "markdown-unlit-" version ".tar.gz"))
6155 (sha256
6156 (base32
6157 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6158 (build-system haskell-build-system)
6159 (inputs
6160 `(("ghc-base-compat" ,ghc-base-compat)
6161 ("ghc-hspec" ,ghc-hspec)
6162 ("ghc-quickcheck" ,ghc-quickcheck)
6163 ("ghc-silently" ,ghc-silently)
6164 ("ghc-stringbuilder" ,ghc-stringbuilder)
6165 ("ghc-temporary" ,ghc-temporary)
6166 ("hspec-discover" ,hspec-discover)))
6167 (home-page "https://github.com/sol/markdown-unlit#readme")
6168 (synopsis "Literate Haskell support for Markdown")
6169 (description "This package allows you to have a README.md that at the
6170same time is a literate Haskell program.")
6171 (license license:expat)))
6172
6173(define-public ghc-math-functions
6174 (package
6175 (name "ghc-math-functions")
b45de2bf 6176 (version "0.3.3.0")
dddbc90c
RV
6177 (source
6178 (origin
6179 (method url-fetch)
6180 (uri (string-append "https://hackage.haskell.org/package/"
6181 "math-functions-" version "/"
6182 "math-functions-" version ".tar.gz"))
6183 (sha256
6184 (base32
b45de2bf 6185 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6186 (build-system haskell-build-system)
6187 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6188 (inputs
b45de2bf
TS
6189 `(("ghc-data-default-class" ,ghc-data-default-class)
6190 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6191 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6192 (native-inputs
6193 `(("ghc-hunit" ,ghc-hunit)
6194 ("ghc-quickcheck" ,ghc-quickcheck)
6195 ("ghc-erf" ,ghc-erf)
6196 ("ghc-test-framework" ,ghc-test-framework)
6197 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6198 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6199 (home-page "https://github.com/bos/math-functions")
6200 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6201 (description "This Haskell library provides implementations of
6202special mathematical functions and Chebyshev polynomials. These
6203functions are often useful in statistical and numerical computing.")
6204 (license license:bsd-3)))
6205
6206(define-public ghc-megaparsec
6207 (package
6208 (name "ghc-megaparsec")
03b0c92e 6209 (version "7.0.5")
dddbc90c
RV
6210 (source
6211 (origin
6212 (method url-fetch)
6213 (uri (string-append "https://hackage.haskell.org/package/"
6214 "megaparsec/megaparsec-"
6215 version ".tar.gz"))
6216 (sha256
6217 (base32
03b0c92e 6218 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 6219 (build-system haskell-build-system)
dddbc90c
RV
6220 (inputs
6221 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6222 ("ghc-parser-combinators" ,ghc-parser-combinators)
6223 ("ghc-scientific" ,ghc-scientific)))
6224 (native-inputs
6225 `(("ghc-quickcheck" ,ghc-quickcheck)
6226 ("ghc-hspec" ,ghc-hspec)
6227 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6228 ("hspec-discover" ,hspec-discover)))
6229 (home-page "https://github.com/mrkkrp/megaparsec")
6230 (synopsis "Monadic parser combinators")
6231 (description
6232 "This is an industrial-strength monadic parser combinator library.
6233Megaparsec is a feature-rich package that strikes a nice balance between
6234speed, flexibility, and quality of parse errors.")
6235 (license license:bsd-2)))
6236
6237(define-public ghc-memory
6238 (package
6239 (name "ghc-memory")
d2c7d336 6240 (version "0.14.18")
dddbc90c
RV
6241 (source (origin
6242 (method url-fetch)
6243 (uri (string-append "https://hackage.haskell.org/package/"
6244 "memory/memory-" version ".tar.gz"))
6245 (sha256
6246 (base32
d2c7d336 6247 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6248 (build-system haskell-build-system)
6249 (inputs
6250 `(("ghc-basement" ,ghc-basement)
6251 ("ghc-foundation" ,ghc-foundation)))
6252 (native-inputs
6253 `(("ghc-tasty" ,ghc-tasty)
6254 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6255 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6256 (home-page "https://github.com/vincenthz/hs-memory")
6257 (synopsis "Memory abstractions for Haskell")
6258 (description
6259 "This package provides memory abstractions, such as chunk of memory,
6260polymorphic byte array management and manipulation functions. It contains a
6261polymorphic byte array abstraction and functions similar to strict ByteString,
6262different type of byte array abstraction, raw memory IO operations (memory
6263set, memory copy, ..) and more")
6264 (license license:bsd-3)))
6265
6266(define-public ghc-memotrie
6267 (package
6268 (name "ghc-memotrie")
6269 (version "0.6.9")
6270 (source
6271 (origin
6272 (method url-fetch)
6273 (uri (string-append
6274 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6275 version
6276 ".tar.gz"))
6277 (sha256
6278 (base32
6279 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6280 (build-system haskell-build-system)
6281 (inputs
6282 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6283 (home-page "https://github.com/conal/MemoTrie")
6284 (synopsis "Trie-based memo functions")
6285 (description "This package provides a functional library for creating
6286efficient memo functions using tries.")
6287 (license license:bsd-3)))
6288
6289(define-public ghc-microlens
6290 (package
6291 (name "ghc-microlens")
82478c58 6292 (version "0.4.10")
dddbc90c
RV
6293 (source
6294 (origin
6295 (method url-fetch)
6296 (uri (string-append "https://hackage.haskell.org/package/"
6297 "microlens-" version "/"
6298 "microlens-" version ".tar.gz"))
6299 (sha256
6300 (base32
82478c58 6301 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6302 (build-system haskell-build-system)
6303 (home-page
6304 "https://github.com/aelve/microlens")
6305 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6306 (description "This Haskell package provides a lens library, just like
6307@code{ghc-lens}, but smaller. It provides essential lenses and
6308traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6309nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6310combinators (like @code{failing} and @code{singular}), but everything else is
6311stripped. As the result, this package has no dependencies.")
6312 (license license:bsd-3)))
6313
6314(define-public ghc-microlens-ghc
6315 (package
6316 (name "ghc-microlens-ghc")
027beb55 6317 (version "0.4.10")
dddbc90c
RV
6318 (source
6319 (origin
6320 (method url-fetch)
6321 (uri (string-append
6322 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6323 version
6324 ".tar.gz"))
6325 (sha256
6326 (base32
027beb55 6327 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6328 (build-system haskell-build-system)
6329 (inputs `(("ghc-microlens" ,ghc-microlens)))
6330 (home-page "https://github.com/monadfix/microlens")
6331 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6332 (description "This library provides everything that @code{microlens}
6333provides plus instances to make @code{each}, @code{at}, and @code{ix}
6334usable with arrays, @code{ByteString}, and containers. This package is
6335a part of the @uref{http://hackage.haskell.org/package/microlens,
6336microlens} family; see the readme
6337@uref{https://github.com/aelve/microlens#readme, on Github}.")
6338 (license license:bsd-3)))
6339
6340(define-public ghc-microlens-mtl
6341 (package
6342 (name "ghc-microlens-mtl")
6343 (version "0.1.11.1")
6344 (source
6345 (origin
6346 (method url-fetch)
6347 (uri (string-append
6348 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6349 version
6350 ".tar.gz"))
6351 (sha256
6352 (base32
6353 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6354 (build-system haskell-build-system)
6355 (inputs
6356 `(("ghc-microlens" ,ghc-microlens)
6357 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6358 (home-page "https://github.com/monadfix/microlens")
6359 (synopsis
6360 "@code{microlens} support for Reader/Writer/State from mtl")
6361 (description
6362 "This package contains functions (like @code{view} or @code{+=}) which
6363work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6364mtl package. This package is a part of the
6365@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6366readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6367 (license license:bsd-3)))
6368
6369(define-public ghc-microlens-platform
6370 (package
6371 (name "ghc-microlens-platform")
85decc1f 6372 (version "0.3.11")
dddbc90c
RV
6373 (source
6374 (origin
6375 (method url-fetch)
6376 (uri (string-append
6377 "https://hackage.haskell.org/package/"
6378 "microlens-platform/microlens-platform-" version ".tar.gz"))
6379 (sha256
6380 (base32
85decc1f 6381 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6382 (build-system haskell-build-system)
6383 (inputs
6384 `(("ghc-hashable" ,ghc-hashable)
6385 ("ghc-microlens" ,ghc-microlens)
6386 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6387 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6388 ("ghc-microlens-th" ,ghc-microlens-th)
6389 ("ghc-unordered-containers" ,ghc-unordered-containers)
6390 ("ghc-vector" ,ghc-vector)))
6391 (home-page "https://github.com/monadfix/microlens")
6392 (synopsis "Feature-complete microlens")
6393 (description
6394 "This package exports a module which is the recommended starting point
6395for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6396you aren't trying to keep your dependencies minimal. By importing
6397@code{Lens.Micro.Platform} you get all functions and instances from
6398@uref{http://hackage.haskell.org/package/microlens, microlens},
6399@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6400@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6401@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6402well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6403minor and major versions of @code{microlens-platform} are incremented whenever
6404the minor and major versions of any other @code{microlens} package are
6405incremented, so you can depend on the exact version of
6406@code{microlens-platform} without specifying the version of @code{microlens}
6407you need. This package is a part of the
6408@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6409readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6410 (license license:bsd-3)))
6411
6412(define-public ghc-microlens-th
6413 (package
6414 (name "ghc-microlens-th")
7ae52867 6415 (version "0.4.2.3")
dddbc90c
RV
6416 (source
6417 (origin
6418 (method url-fetch)
6419 (uri (string-append "https://hackage.haskell.org/package/"
6420 "microlens-th-" version "/"
6421 "microlens-th-" version ".tar.gz"))
6422 (sha256
6423 (base32
7ae52867 6424 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6425 (build-system haskell-build-system)
7ae52867
TS
6426 (arguments
6427 `(#:cabal-revision
6428 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6429 (inputs `(("ghc-microlens" ,ghc-microlens)
6430 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6431 (home-page
6432 "https://github.com/aelve/microlens")
6433 (synopsis "Automatic generation of record lenses for
6434@code{ghc-microlens}")
6435 (description "This Haskell package lets you automatically generate lenses
6436for data types; code was extracted from the lens package, and therefore
6437generated lenses are fully compatible with ones generated by lens (and can be
6438used both from lens and microlens).")
6439 (license license:bsd-3)))
6440
6441(define-public ghc-missingh
6442 (package
6443 (name "ghc-missingh")
641207cb 6444 (version "1.4.1.0")
dddbc90c
RV
6445 (source
6446 (origin
6447 (method url-fetch)
6448 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6449 "MissingH-" version ".tar.gz"))
6450 (sha256
6451 (base32
641207cb 6452 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
6453 (build-system haskell-build-system)
6454 ;; Tests require the unmaintained testpack package, which depends on the
6455 ;; outdated QuickCheck version 2.7, which can no longer be built with
6456 ;; recent versions of GHC and Haskell libraries.
6457 (arguments '(#:tests? #f))
6458 (inputs
6459 `(("ghc-network" ,ghc-network)
6460 ("ghc-hunit" ,ghc-hunit)
6461 ("ghc-regex-compat" ,ghc-regex-compat)
6462 ("ghc-hslogger" ,ghc-hslogger)
6463 ("ghc-random" ,ghc-random)
6464 ("ghc-old-time" ,ghc-old-time)
6465 ("ghc-old-locale" ,ghc-old-locale)))
6466 (native-inputs
6467 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6468 ("ghc-quickcheck" ,ghc-quickcheck)
6469 ("ghc-hunit" ,ghc-hunit)))
6470 (home-page "http://software.complete.org/missingh")
6471 (synopsis "Large utility library")
6472 (description
6473 "MissingH is a library of all sorts of utility functions for Haskell
6474programmers. It is written in pure Haskell and thus should be extremely
6475portable and easy to use.")
6476 (license license:bsd-3)))
6477
6478(define-public ghc-mmap
6479 (package
6480 (name "ghc-mmap")
6481 (version "0.5.9")
6482 (source (origin
6483 (method url-fetch)
6484 (uri (string-append "https://hackage.haskell.org/package/"
6485 "mmap/mmap-" version ".tar.gz"))
6486 (sha256
6487 (base32
6488 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6489 (build-system haskell-build-system)
6490 (home-page "https://hackage.haskell.org/package/mmap")
6491 (synopsis "Memory mapped files for Haskell")
6492 (description
6493 "This library provides a wrapper to @code{mmap}, allowing files or
6494devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6495@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6496do on-demand loading.")
6497 (license license:bsd-3)))
6498
6499(define-public ghc-mmorph
6500 (package
6501 (name "ghc-mmorph")
e0389704 6502 (version "1.1.3")
dddbc90c
RV
6503 (source
6504 (origin
6505 (method url-fetch)
6506 (uri (string-append
6507 "https://hackage.haskell.org/package/mmorph/mmorph-"
6508 version
6509 ".tar.gz"))
6510 (sha256
6511 (base32
e0389704 6512 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6513 (build-system haskell-build-system)
6514 (inputs
6515 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6516 (home-page "https://hackage.haskell.org/package/mmorph")
6517 (synopsis "Monad morphisms")
6518 (description
6519 "This library provides monad morphism utilities, most commonly used for
6520manipulating monad transformer stacks.")
6521 (license license:bsd-3)))
6522
6523(define-public ghc-mockery
6524 (package
6525 (name "ghc-mockery")
6526 (version "0.3.5")
6527 (source (origin
6528 (method url-fetch)
6529 (uri (string-append "https://hackage.haskell.org/package/"
6530 "mockery/mockery-" version ".tar.gz"))
6531 (sha256
6532 (base32
6533 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6534 (build-system haskell-build-system)
6535 (inputs
6536 `(("ghc-temporary" ,ghc-temporary)
6537 ("ghc-logging-facade" ,ghc-logging-facade)
6538 ("ghc-base-compat" ,ghc-base-compat)))
6539 (native-inputs
6540 `(("ghc-hspec" ,ghc-hspec)
6541 ("hspec-discover" ,hspec-discover)))
6542 (home-page "https://hackage.haskell.org/package/mockery")
6543 (synopsis "Support functions for automated testing")
6544 (description
6545 "The mockery package provides support functions for automated testing.")
6546 (license license:expat)))
6547
6548(define-public ghc-monad-control
6549 (package
6550 (name "ghc-monad-control")
6551 (version "1.0.2.3")
6552 (source
6553 (origin
6554 (method url-fetch)
6555 (uri (string-append
6556 "https://hackage.haskell.org/package/monad-control"
6557 "/monad-control-" version ".tar.gz"))
6558 (sha256
6559 (base32
6560 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6561 (build-system haskell-build-system)
6562 (inputs
6563 `(("ghc-transformers-base" ,ghc-transformers-base)
6564 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6565 (home-page "https://github.com/basvandijk/monad-control")
6566 (synopsis "Monad transformers to lift control operations like exception
6567catching")
6568 (description "This package defines the type class @code{MonadBaseControl},
6569a subset of @code{MonadBase} into which generic control operations such as
6570@code{catch} can be lifted from @code{IO} or any other base monad.")
6571 (license license:bsd-3)))
6572
6573(define-public ghc-monad-logger
6574 (package
6575 (name "ghc-monad-logger")
26980aae 6576 (version "0.3.30")
dddbc90c
RV
6577 (source
6578 (origin
6579 (method url-fetch)
6580 (uri (string-append "https://hackage.haskell.org/package/"
6581 "monad-logger-" version "/"
6582 "monad-logger-" version ".tar.gz"))
6583 (sha256
6584 (base32
26980aae 6585 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
6586 (build-system haskell-build-system)
6587 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6588 ("ghc-stm-chans" ,ghc-stm-chans)
6589 ("ghc-lifted-base" ,ghc-lifted-base)
6590 ("ghc-resourcet" ,ghc-resourcet)
6591 ("ghc-conduit" ,ghc-conduit)
6592 ("ghc-conduit-extra" ,ghc-conduit-extra)
6593 ("ghc-fast-logger" ,ghc-fast-logger)
6594 ("ghc-transformers-base" ,ghc-transformers-base)
6595 ("ghc-monad-control" ,ghc-monad-control)
6596 ("ghc-monad-loops" ,ghc-monad-loops)
6597 ("ghc-blaze-builder" ,ghc-blaze-builder)
6598 ("ghc-exceptions" ,ghc-exceptions)))
6599 (home-page "https://github.com/kazu-yamamoto/logger")
6600 (synopsis "Provides a class of monads which can log messages for Haskell")
6601 (description "This Haskell package uses a monad transformer approach
6602for logging.
6603
6604This package provides Template Haskell functions for determining source
6605code locations of messages.")
6606 (license license:expat)))
6607
6608(define-public ghc-monad-loops
6609 (package
6610 (name "ghc-monad-loops")
6611 (version "0.4.3")
6612 (source
6613 (origin
6614 (method url-fetch)
6615 (uri (string-append "https://hackage.haskell.org/package/"
6616 "monad-loops-" version "/"
6617 "monad-loops-" version ".tar.gz"))
6618 (sha256
6619 (base32
6620 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6621 (build-system haskell-build-system)
6622 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6623 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6624 (home-page "https://github.com/mokus0/monad-loops")
6625 (synopsis "Monadic loops for Haskell")
6626 (description "This Haskell package provides some useful control
6627operators for looping.")
6628 (license license:public-domain)))
6629
6630(define-public ghc-monad-par
6631 (package
6632 (name "ghc-monad-par")
6633 (version "0.3.4.8")
6634 (source
6635 (origin
6636 (method url-fetch)
6637 (uri (string-append "https://hackage.haskell.org/package/"
6638 "monad-par-" version "/"
6639 "monad-par-" version ".tar.gz"))
faac56f3 6640 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
6641 (sha256
6642 (base32
6643 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6644 (build-system haskell-build-system)
6645 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6646 ("ghc-abstract-deque" ,ghc-abstract-deque)
6647 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6648 ("ghc-mwc-random" ,ghc-mwc-random)
6649 ("ghc-parallel" ,ghc-parallel)))
6650 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6651 ("ghc-hunit" ,ghc-hunit)
6652 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6653 ("ghc-test-framework-quickcheck2"
6654 ,ghc-test-framework-quickcheck2)
6655 ("ghc-test-framework" ,ghc-test-framework)
6656 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6657 (home-page "https://github.com/simonmar/monad-par")
6658 (synopsis "Haskell library for parallel programming based on a monad")
6659 (description "The @code{Par} monad offers an API for parallel
6660programming. The library works for parallelising both pure and @code{IO}
6661computations, although only the pure version is deterministic. The default
6662implementation provides a work-stealing scheduler and supports forking tasks
6663that are much lighter weight than IO-threads.")
6664 (license license:bsd-3)))
6665
6666(define-public ghc-monad-par-extras
6667 (package
6668 (name "ghc-monad-par-extras")
6669 (version "0.3.3")
6670 (source
6671 (origin
6672 (method url-fetch)
6673 (uri (string-append "https://hackage.haskell.org/package/"
6674 "monad-par-extras-" version "/"
6675 "monad-par-extras-" version ".tar.gz"))
6676 (sha256
6677 (base32
6678 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6679 (build-system haskell-build-system)
6680 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6681 ("ghc-cereal" ,ghc-cereal)
6682 ("ghc-random" ,ghc-random)))
6683 (home-page "https://github.com/simonmar/monad-par")
6684 (synopsis "Combinators and extra features for Par monads for Haskell")
6685 (description "This Haskell package provides additional data structures,
6686and other added capabilities layered on top of the @code{Par} monad.")
6687 (license license:bsd-3)))
6688
6689(define-public ghc-monadplus
6690 (package
6691 (name "ghc-monadplus")
6692 (version "1.4.2")
6693 (source
6694 (origin
6695 (method url-fetch)
6696 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6697 "/monadplus-" version ".tar.gz"))
6698 (sha256
6699 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6700 (build-system haskell-build-system)
6701 (home-page "https://hackage.haskell.org/package/monadplus")
6702 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6703 (description
6704 "This package generalizes many common stream operations such as
6705@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6706arbitrary @code{MonadPlus} instances.")
6707 (license license:bsd-3)))
6708
6709(define-public ghc-monadrandom
6710 (package
6711 (name "ghc-monadrandom")
6712 (version "0.5.1.1")
6713 (source
6714 (origin
6715 (method url-fetch)
6716 (uri (string-append "https://hackage.haskell.org/package/"
6717 "MonadRandom-" version "/"
6718 "MonadRandom-" version ".tar.gz"))
6719 (sha256
6720 (base32
6721 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6722 (build-system haskell-build-system)
6723 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6724 ("ghc-primitive" ,ghc-primitive)
6725 ("ghc-fail" ,ghc-fail)
6726 ("ghc-random" ,ghc-random)))
6727 (home-page "https://github.com/byorgey/MonadRandom")
6728 (synopsis "Random-number generation monad for Haskell")
6729 (description "This Haskell package provides support for computations
6730which consume random values.")
6731 (license license:bsd-3)))
6732
6733(define-public ghc-monads-tf
6734 (package
6735 (name "ghc-monads-tf")
6736 (version "0.1.0.3")
6737 (source
6738 (origin
6739 (method url-fetch)
6740 (uri (string-append
6741 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6742 version ".tar.gz"))
6743 (sha256
6744 (base32
6745 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6746 (build-system haskell-build-system)
6747 (home-page "https://hackage.haskell.org/package/monads-tf")
6748 (synopsis "Monad classes, using type families")
6749 (description
6750 "Monad classes using type families, with instances for various monad transformers,
6751inspired by the paper 'Functional Programming with Overloading and Higher-Order
6752Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6753the @code{mtl-tf} package.")
6754 (license license:bsd-3)))
6755
6756(define-public ghc-mono-traversable
6757 (package
6758 (name "ghc-mono-traversable")
23bb445b 6759 (version "1.0.13.0")
dddbc90c
RV
6760 (source
6761 (origin
6762 (method url-fetch)
6763 (uri (string-append "https://hackage.haskell.org/package/"
6764 "mono-traversable-" version "/"
6765 "mono-traversable-" version ".tar.gz"))
6766 (sha256
6767 (base32
23bb445b 6768 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
6769 (build-system haskell-build-system)
6770 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6771 ("ghc-hashable" ,ghc-hashable)
6772 ("ghc-vector" ,ghc-vector)
6773 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6774 ("ghc-split" ,ghc-split)))
6775 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6776 ("ghc-hunit" ,ghc-hunit)
6777 ("ghc-quickcheck" ,ghc-quickcheck)
6778 ("ghc-semigroups" ,ghc-semigroups)
6779 ("ghc-foldl" ,ghc-foldl)))
6780 (home-page "https://github.com/snoyberg/mono-traversable")
6781 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6782containers")
6783 (description "This Haskell package provides Monomorphic variants of the
6784Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6785basic typeclasses, you understand mono-traversable. In addition to what
6786you are used to, it adds on an IsSequence typeclass and has code for marking
6787data structures as non-empty.")
6788 (license license:expat)))
6789
6790(define-public ghc-murmur-hash
6791 (package
6792 (name "ghc-murmur-hash")
6793 (version "0.1.0.9")
6794 (source
6795 (origin
6796 (method url-fetch)
6797 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6798 "/murmur-hash-" version ".tar.gz"))
6799 (sha256
6800 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6801 (build-system haskell-build-system)
6802 (home-page "https://github.com/nominolo/murmur-hash")
6803 (synopsis "MurmurHash2 implementation for Haskell")
6804 (description
6805 "This package provides an implementation of MurmurHash2, a good, fast,
6806general-purpose, non-cryptographic hashing function. See
6807@url{https://sites.google.com/site/murmurhash/} for details. This
6808implementation is pure Haskell, so it might be a bit slower than a C FFI
6809binding.")
6810 (license license:bsd-3)))
6811
6812(define-public ghc-mwc-random
6813 (package
6814 (name "ghc-mwc-random")
33268e2c 6815 (version "0.14.0.0")
dddbc90c
RV
6816 (source
6817 (origin
6818 (method url-fetch)
6819 (uri (string-append "https://hackage.haskell.org/package/"
6820 "mwc-random-" version "/"
6821 "mwc-random-" version ".tar.gz"))
6822 (sha256
6823 (base32
33268e2c 6824 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
6825 (build-system haskell-build-system)
6826 (inputs
6827 `(("ghc-primitive" ,ghc-primitive)
6828 ("ghc-vector" ,ghc-vector)
6829 ("ghc-math-functions" ,ghc-math-functions)))
6830 (arguments
6831 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6832 (native-inputs
6833 `(("ghc-hunit" ,ghc-hunit)
6834 ("ghc-quickcheck" ,ghc-quickcheck)
6835 ("ghc-test-framework" ,ghc-test-framework)
6836 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6837 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6838 (home-page "https://github.com/bos/mwc-random")
6839 (synopsis "Random number generation library for Haskell")
6840 (description "This Haskell package contains code for generating
6841high quality random numbers that follow either a uniform or normal
6842distribution. The generated numbers are suitable for use in
6843statistical applications.
6844
6845The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6846multiply-with-carry generator, which has a period of 2^{8222} and
6847fares well in tests of randomness. It is also extremely fast,
6848between 2 and 3 times faster than the Mersenne Twister.")
6849 (license license:bsd-3)))
6850
6851(define-public ghc-nats
6852 (package
6853 (name "ghc-nats")
6854 (version "1.1.2")
6855 (source
6856 (origin
6857 (method url-fetch)
6858 (uri (string-append
6859 "https://hackage.haskell.org/package/nats/nats-"
6860 version
6861 ".tar.gz"))
6862 (sha256
6863 (base32
6864 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6865 (build-system haskell-build-system)
6866 (arguments `(#:haddock? #f))
6867 (inputs
6868 `(("ghc-hashable" ,ghc-hashable)))
6869 (home-page "https://hackage.haskell.org/package/nats")
6870 (synopsis "Natural numbers")
6871 (description "This library provides the natural numbers for Haskell.")
6872 (license license:bsd-3)))
6873
6874(define-public ghc-nats-bootstrap
6875 (package
6876 (inherit ghc-nats)
6877 (name "ghc-nats-bootstrap")
6878 (inputs
6879 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6880 (properties '((hidden? #t)))))
6881
52915062
EF
6882(define-public ghc-ncurses
6883 (package
6884 (name "ghc-ncurses")
6885 (version "0.2.16")
6886 (source
6887 (origin
6888 (method url-fetch)
6889 (uri (string-append
6890 "https://hackage.haskell.org/package/ncurses/ncurses-"
6891 version ".tar.gz"))
6892 (sha256
6893 (base32
6894 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6895 (build-system haskell-build-system)
6896 (arguments
6897 '(#:phases
6898 (modify-phases %standard-phases
6899 (add-before 'build 'fix-includes
6900 (lambda _
6901 (substitute* '("cbits/hsncurses-shim.h"
6902 "lib/UI/NCurses.chs"
6903 "lib/UI/NCurses/Enums.chs"
6904 "lib/UI/NCurses/Panel.chs")
6905 (("<ncursesw/") "<"))
6906 #t)))
6907 #:cabal-revision
6908 ("1"
6909 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6910 (inputs `(("ncurses" ,ncurses)))
6911 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6912 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6913 (synopsis "Modernised bindings to GNU ncurses")
6914 (description "GNU ncurses is a library for creating command-line application
6915with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6916ncurses.")
6917 (license license:gpl3)))
6918
dddbc90c
RV
6919(define-public ghc-network
6920 (package
6921 (name "ghc-network")
d4473202 6922 (version "2.8.0.1")
dddbc90c
RV
6923 (outputs '("out" "doc"))
6924 (source
6925 (origin
6926 (method url-fetch)
6927 (uri (string-append
6928 "https://hackage.haskell.org/package/network/network-"
6929 version
6930 ".tar.gz"))
6931 (sha256
6932 (base32
d4473202 6933 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
6934 (build-system haskell-build-system)
6935 ;; The regression tests depend on an unpublished module.
6936 (arguments `(#:tests? #f))
6937 (native-inputs
6938 `(("ghc-hunit" ,ghc-hunit)
6939 ("ghc-doctest" ,ghc-doctest)
6940 ("ghc-test-framework" ,ghc-test-framework)
6941 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6942 (home-page "https://github.com/haskell/network")
6943 (synopsis "Low-level networking interface")
6944 (description
6945 "This package provides a low-level networking interface.")
6946 (license license:bsd-3)))
4780db2c 6947
30eebbe6
TS
6948(define-public ghc-network-bsd
6949 (package
6950 (name "ghc-network-bsd")
6951 (version "2.8.0.0")
6952 (source
6953 (origin
6954 (method url-fetch)
6955 (uri (string-append "https://hackage.haskell.org/package/"
6956 "network-bsd/network-bsd-" version ".tar.gz"))
6957 (sha256
6958 (base32
6959 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
6960 (build-system haskell-build-system)
6961 (inputs
6962 `(("ghc-network" ,ghc-network)))
6963 (home-page "https://github.com/haskell/network-bsd")
6964 (synopsis "POSIX network database (<netdb.h>) API")
6965 (description "This package provides Haskell bindings to the the POSIX
6966network database (<netdb.h>) API.")
6967 (license license:bsd-3)))
6968
096781a1
TS
6969(define-public ghc-network-byte-order
6970 (package
6971 (name "ghc-network-byte-order")
6972 (version "0.1.1.1")
6973 (source
6974 (origin
6975 (method url-fetch)
6976 (uri (string-append "https://hackage.haskell.org/package/"
6977 "network-byte-order/network-byte-order-"
6978 version ".tar.gz"))
6979 (sha256
6980 (base32
6981 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
6982 (build-system haskell-build-system)
6983 (native-inputs
6984 `(("ghc-doctest" ,ghc-doctest)))
6985 (home-page "http://hackage.haskell.org/package/network-byte-order")
6986 (synopsis "Network byte order utilities")
6987 (description "This library provides peek and poke functions for network
6988byte order.")
6989 (license license:bsd-3)))
6990
dddbc90c
RV
6991(define-public ghc-network-info
6992 (package
6993 (name "ghc-network-info")
6994 (version "0.2.0.10")
6995 (source
6996 (origin
6997 (method url-fetch)
6998 (uri (string-append "https://hackage.haskell.org/package/"
6999 "network-info-" version "/"
7000 "network-info-" version ".tar.gz"))
7001 (sha256
7002 (base32
7003 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7004 (build-system haskell-build-system)
7005 (home-page "https://github.com/jystic/network-info")
7006 (synopsis "Access the local computer's basic network configuration")
7007 (description "This Haskell library provides simple read-only access to the
7008local computer's networking configuration. It is currently capable of
7009getting a list of all the network interfaces and their respective
7010IPv4, IPv6 and MAC addresses.")
7011 (license license:bsd-3)))
7012
7013(define-public ghc-network-uri
7014 (package
7015 (name "ghc-network-uri")
7016 (version "2.6.1.0")
7017 (outputs '("out" "doc"))
7018 (source
7019 (origin
7020 (method url-fetch)
7021 (uri (string-append
7022 "https://hackage.haskell.org/package/network-uri/network-uri-"
7023 version
7024 ".tar.gz"))
7025 (sha256
7026 (base32
7027 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7028 (build-system haskell-build-system)
7029 (arguments
7030 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7031 (inputs
7032 `(("ghc-network" ,ghc-network)))
7033 (native-inputs
7034 `(("ghc-hunit" ,ghc-hunit)))
7035 (home-page
7036 "https://github.com/haskell/network-uri")
7037 (synopsis "Library for URI manipulation")
7038 (description "This package provides an URI manipulation interface. In
7039@code{network-2.6} the @code{Network.URI} module was split off from the
7040@code{network} package into this package.")
7041 (license license:bsd-3)))
7042
7043(define-public ghc-newtype-generics
7044 (package
7045 (name "ghc-newtype-generics")
c07e16dd 7046 (version "0.5.4")
dddbc90c
RV
7047 (source
7048 (origin
7049 (method url-fetch)
7050 (uri (string-append "https://hackage.haskell.org/package/"
7051 "newtype-generics/newtype-generics-"
7052 version ".tar.gz"))
7053 (sha256
7054 (base32
c07e16dd 7055 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
7056 (build-system haskell-build-system)
7057 (native-inputs
7058 `(("ghc-hspec" ,ghc-hspec)
7059 ("hspec-discover" ,hspec-discover)))
7060 (home-page "http://github.com/sjakobi/newtype-generics")
7061 (synopsis "Typeclass and set of functions for working with newtypes")
7062 (description "The @code{Newtype} typeclass represents the packing and
7063unpacking of a newtype, and allows you to operate under that newtype with
7064functions such as @code{ala}. Generics support was added in version 0.4,
7065making this package a full replacement for the original newtype package,
7066and an alternative to newtype-th.")
7067 (license license:bsd-3)))
7068
6b652f5a
JS
7069(define-public ghc-non-negative
7070 (package
7071 (name "ghc-non-negative")
7072 (version "0.1.2")
7073 (source
7074 (origin
7075 (method url-fetch)
7076 (uri
7077 (string-append
7078 "https://hackage.haskell.org/package/non-negative/non-negative-"
7079 version ".tar.gz"))
7080 (sha256
7081 (base32
7082 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7083 (build-system haskell-build-system)
7084 (inputs
7085 `(("ghc-semigroups" ,ghc-semigroups)
7086 ("ghc-utility-ht" ,ghc-utility-ht)
7087 ("ghc-quickcheck" ,ghc-quickcheck)))
7088 (home-page "https://hackage.haskell.org/package/non-negative")
7089 (synopsis "Non-negative numbers class")
7090 (description "This library provides a class for non-negative numbers,
7091a wrapper which can turn any ordered numeric type into a member of that
7092class, and a lazy number type for non-negative numbers (a generalization
7093of Peano numbers).")
7094 (license license:gpl3+)))
7095
dddbc90c
RV
7096(define-public ghc-objectname
7097 (package
7098 (name "ghc-objectname")
7099 (version "1.1.0.1")
7100 (source
7101 (origin
7102 (method url-fetch)
7103 (uri (string-append
7104 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7105 version
7106 ".tar.gz"))
7107 (sha256
7108 (base32
7109 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7110 (build-system haskell-build-system)
7111 (home-page "https://hackage.haskell.org/package/ObjectName")
7112 (synopsis "Helper library for Haskell OpenGL")
7113 (description "This tiny package contains the class ObjectName, which
7114corresponds to the general notion of explicitly handled identifiers for API
7115objects, e.g. a texture object name in OpenGL or a buffer object name in
7116OpenAL.")
7117 (license license:bsd-3)))
7118
7119(define-public ghc-old-locale
7120 (package
7121 (name "ghc-old-locale")
7122 (version "1.0.0.7")
7123 (source
7124 (origin
7125 (method url-fetch)
7126 (uri (string-append
7127 "https://hackage.haskell.org/package/old-locale/old-locale-"
7128 version
7129 ".tar.gz"))
7130 (sha256
7131 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7132 (build-system haskell-build-system)
7133 (arguments
7134 `(#:cabal-revision
7135 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7136 (home-page "https://hackage.haskell.org/package/old-locale")
7137 (synopsis "Adapt to locale conventions")
7138 (description
7139 "This package provides the ability to adapt to locale conventions such as
7140date and time formats.")
7141 (license license:bsd-3)))
7142
7143(define-public ghc-old-time
7144 (package
7145 (name "ghc-old-time")
7146 (version "1.1.0.3")
7147 (source
7148 (origin
7149 (method url-fetch)
7150 (uri (string-append
7151 "https://hackage.haskell.org/package/old-time/old-time-"
7152 version
7153 ".tar.gz"))
7154 (sha256
7155 (base32
7156 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7157 (build-system haskell-build-system)
7158 (arguments
7159 `(#:cabal-revision
7160 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7161 (inputs
7162 `(("ghc-old-locale" ,ghc-old-locale)))
7163 (home-page "https://hackage.haskell.org/package/old-time")
7164 (synopsis "Time compatibility library for Haskell")
7165 (description "Old-time is a package for backwards compatibility with the
7166old @code{time} library. For new projects, the newer
7167@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7168 (license license:bsd-3)))
7169
7170(define-public ghc-opengl
7171 (package
7172 (name "ghc-opengl")
79a06910 7173 (version "3.0.3.0")
dddbc90c
RV
7174 (source
7175 (origin
7176 (method url-fetch)
7177 (uri (string-append
7178 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7179 version
7180 ".tar.gz"))
7181 (sha256
7182 (base32
79a06910 7183 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 7184 (build-system haskell-build-system)
79a06910
TS
7185 (arguments
7186 `(#:cabal-revision
7187 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
7188 (inputs
7189 `(("ghc-objectname" ,ghc-objectname)
7190 ("ghc-gluraw" ,ghc-gluraw)
7191 ("ghc-statevar" ,ghc-statevar)
7192 ("ghc-openglraw" ,ghc-openglraw)))
7193 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7194 (synopsis "Haskell bindings for the OpenGL graphics system")
7195 (description "This package provides Haskell bindings for the OpenGL
7196graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7197version 1.3).")
7198 (license license:bsd-3)))
7199
7200(define-public ghc-openglraw
7201 (package
7202 (name "ghc-openglraw")
15ebc815 7203 (version "3.3.3.0")
dddbc90c
RV
7204 (source
7205 (origin
7206 (method url-fetch)
7207 (uri (string-append
7208 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7209 version
7210 ".tar.gz"))
7211 (sha256
7212 (base32
15ebc815 7213 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7214 (build-system haskell-build-system)
7215 (inputs
7216 `(("ghc-half" ,ghc-half)
7217 ("ghc-fixed" ,ghc-fixed)
7218 ("glu" ,glu)))
7219 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7220 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7221 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7222graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7223of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7224offers access to all necessary functions, tokens and types plus a general
7225facility for loading extension entries. The module hierarchy closely mirrors
7226the naming structure of the OpenGL extensions, making it easy to find the
7227right module to import. All API entries are loaded dynamically, so no special
7228C header files are needed for building this package. If an API entry is not
7229found at runtime, a userError is thrown.")
7230 (license license:bsd-3)))
7231
7232(define-public ghc-operational
7233 (package
7234 (name "ghc-operational")
7235 (version "0.2.3.5")
7236 (source
7237 (origin
7238 (method url-fetch)
7239 (uri (string-append "https://hackage.haskell.org/package/operational/"
7240 "operational-" version ".tar.gz"))
7241 (sha256
7242 (base32
7243 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7244 (build-system haskell-build-system)
7245 (inputs
7246 `(("ghc-random" ,ghc-random)))
7247 (home-page "http://wiki.haskell.org/Operational")
7248 (synopsis "Implementation of difficult monads made easy with operational semantics")
7249 (description
7250 "This library makes it easy to implement monads with tricky control
7251flow. This is useful for: writing web applications in a sequential style,
7252programming games with a uniform interface for human and AI players and easy
7253replay capababilities, implementing fast parser monads, designing monadic
7254DSLs, etc.")
7255 (license license:bsd-3)))
7256
7257(define-public ghc-options
7258 (package
7259 (name "ghc-options")
7260 (version "1.2.1.1")
7261 (source
7262 (origin
7263 (method url-fetch)
7264 (uri (string-append
7265 "https://hackage.haskell.org/package/options/options-"
7266 version ".tar.gz"))
7267 (sha256
7268 (base32
7269 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7270 (build-system haskell-build-system)
7271 (inputs
7272 `(("ghc-monads-tf" ,ghc-monads-tf)
7273 ("ghc-chell" ,ghc-chell)
7274 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7275 (home-page "https://john-millikin.com/software/haskell-options/")
7276 (synopsis "Powerful and easy-to-use command-line option parser")
7277 (description
7278 "The @code{options} package lets library and application developers
7279easily work with command-line options.")
7280 (license license:expat)))
7281
7282;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7283(define ghc-options-bootstrap
7284 (package
7285 (name "ghc-options-bootstrap")
7286 (version "1.2.1.1")
7287 (source
7288 (origin
7289 (method url-fetch)
7290 (uri (string-append
7291 "https://hackage.haskell.org/package/options/options-"
7292 version ".tar.gz"))
7293 (sha256
7294 (base32
7295 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7296 (build-system haskell-build-system)
7297 (arguments
7298 `(#:tests? #f))
7299 (inputs
7300 `(("ghc-monads-tf" ,ghc-monads-tf)))
7301 (home-page "https://john-millikin.com/software/haskell-options/")
7302 (synopsis "Powerful and easy-to-use command-line option parser")
7303 (description
7304 "The @code{options} package lets library and application developers
7305easily work with command-line options.")
7306 (license license:expat)))
7307
7308
7309(define-public ghc-optparse-applicative
7310 (package
7311 (name "ghc-optparse-applicative")
74bf6965 7312 (version "0.14.3.0")
dddbc90c
RV
7313 (source
7314 (origin
7315 (method url-fetch)
7316 (uri (string-append
7317 "https://hackage.haskell.org/package/optparse-applicative"
7318 "/optparse-applicative-" version ".tar.gz"))
7319 (sha256
7320 (base32
74bf6965 7321 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7322 (build-system haskell-build-system)
74bf6965
TS
7323 (arguments
7324 `(#:cabal-revision
7325 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7326 (inputs
7327 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7328 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7329 (native-inputs
7330 `(("ghc-quickcheck" ,ghc-quickcheck)))
7331 (home-page "https://github.com/pcapriotti/optparse-applicative")
7332 (synopsis "Utilities and combinators for parsing command line options")
7333 (description "This package provides utilities and combinators for parsing
7334command line options in Haskell.")
7335 (license license:bsd-3)))
7336
7337(define-public ghc-pandoc
7338 (package
7339 (name "ghc-pandoc")
7340 (version "2.2.1")
7341 (source
7342 (origin
7343 (method url-fetch)
7344 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7345 version ".tar.gz"))
7346 (sha256
7347 (base32
7348 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7349 (build-system haskell-build-system)
7350 (arguments
7351 `(#:phases
7352 (modify-phases %standard-phases
7353 (add-before 'configure 'update-constraints
7354 (lambda _
7355 (substitute* "pandoc.cabal"
7356 (("tasty >= 0\\.11 && < 1\\.1")
7357 "tasty >= 0.11 && < 1.1.1"))))
7358 (add-before 'configure 'patch-tests
7359 (lambda _
7360 ;; These tests fail benignly and have been adjusted upstream:
7361 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7362 (substitute* "test/Tests/Old.hs"
7363 (("lhsWriterTests \"html\"") "[]")))))))
7364 (inputs
7365 `(("ghc-aeson" ,ghc-aeson)
7366 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7367 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7368 ("ghc-blaze-html" ,ghc-blaze-html)
7369 ("ghc-blaze-markup" ,ghc-blaze-markup)
7370 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7371 ("ghc-data-default" ,ghc-data-default)
7372 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7373 ("ghc-diff" ,ghc-diff)
7374 ("ghc-doctemplates" ,ghc-doctemplates)
7375 ("ghc-executable-path" ,ghc-executable-path)
7376 ("ghc-glob" ,ghc-glob)
7377 ("ghc-haddock-library" ,ghc-haddock-library)
7378 ("ghc-hslua" ,ghc-hslua)
7379 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7380 ("ghc-http" ,ghc-http)
7381 ("ghc-http-client" ,ghc-http-client)
7382 ("ghc-http-client-tls" ,ghc-http-client-tls)
7383 ("ghc-http-types" ,ghc-http-types)
7384 ("ghc-juicypixels" ,ghc-juicypixels)
7385 ("ghc-network" ,ghc-network)
7386 ("ghc-network-uri" ,ghc-network-uri)
7387 ("ghc-old-locale" ,ghc-old-locale)
7388 ("ghc-pandoc-types" ,ghc-pandoc-types)
7389 ("ghc-random" ,ghc-random)
7390 ("ghc-scientific" ,ghc-scientific)
7391 ("ghc-sha" ,ghc-sha)
7392 ("ghc-skylighting" ,ghc-skylighting)
7393 ("ghc-split" ,ghc-split)
7394 ("ghc-syb" ,ghc-syb)
7395 ("ghc-tagsoup" ,ghc-tagsoup)
7396 ("ghc-temporary" ,ghc-temporary)
7397 ("ghc-texmath" ,ghc-texmath)
7398 ("ghc-unordered-containers" ,ghc-unordered-containers)
7399 ("ghc-vector" ,ghc-vector)
7400 ("ghc-xml" ,ghc-xml)
7401 ("ghc-yaml" ,ghc-yaml)
7402 ("ghc-zip-archive" ,ghc-zip-archive)
7403 ("ghc-zlib" ,ghc-zlib)))
7404 (native-inputs
7405 `(("ghc-tasty" ,ghc-tasty)
7406 ("ghc-tasty-golden" ,ghc-tasty-golden)
7407 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7408 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7409 ("ghc-quickcheck" ,ghc-quickcheck)
7410 ("ghc-hunit" ,ghc-hunit)))
7411 (home-page "https://pandoc.org")
7412 (synopsis "Conversion between markup formats")
7413 (description
7414 "Pandoc is a Haskell library for converting from one markup format to
7415another, and a command-line tool that uses this library. It can read and
7416write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7417LaTeX, DocBook, and many more.
7418
7419Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7420definition lists, tables, and other features. A compatibility mode is
7421provided for those who need a drop-in replacement for Markdown.pl.")
7422 (license license:gpl2+)))
7423
7424(define-public ghc-pandoc-citeproc
7425 (package
7426 (name "ghc-pandoc-citeproc")
7427 (version "0.14.3.1")
7428 (source
7429 (origin
7430 (method url-fetch)
7431 (uri (string-append "https://hackage.haskell.org/package/"
7432 "pandoc-citeproc/pandoc-citeproc-"
7433 version ".tar.gz"))
7434 (sha256
7435 (base32
7436 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7437 (build-system haskell-build-system)
7438 (arguments
7439 `(#:phases
7440 (modify-phases %standard-phases
7441 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7442 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7443 (add-before 'configure 'patch-tests
7444 (lambda _
7445 (substitute* "tests/test-pandoc-citeproc.hs"
7446 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7447 "let allTests = citeprocTests"))))
7448 ;; Tests need to be run after installation.
7449 (delete 'check)
7450 (add-after 'install 'post-install-check
7451 (assoc-ref %standard-phases 'check)))))
7452 (inputs
7453 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7454 ("ghc-pandoc" ,ghc-pandoc)
7455 ("ghc-tagsoup" ,ghc-tagsoup)
7456 ("ghc-aeson" ,ghc-aeson)
7457 ("ghc-vector" ,ghc-vector)
7458 ("ghc-xml-conduit" ,ghc-xml-conduit)
7459 ("ghc-unordered-containers" ,ghc-unordered-containers)
7460 ("ghc-data-default" ,ghc-data-default)
7461 ("ghc-setenv" ,ghc-setenv)
7462 ("ghc-split" ,ghc-split)
7463 ("ghc-yaml" ,ghc-yaml)
7464 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7465 ("ghc-rfc5051" ,ghc-rfc5051)
7466 ("ghc-syb" ,ghc-syb)
7467 ("ghc-old-locale" ,ghc-old-locale)
7468 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7469 ("ghc-attoparsec" ,ghc-attoparsec)
7470 ("ghc-temporary" ,ghc-temporary)))
7471 (home-page "https://github.com/jgm/pandoc-citeproc")
7472 (synopsis "Library for using pandoc with citeproc")
7473 (description
7474 "The @code{pandoc-citeproc} library exports functions for using the
7475citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7476rendering bibliographic reference citations into a variety of styles using a
7477macro language called @dfn{Citation Style Language} (CSL). This package also
7478contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7479and also has a mode for converting bibliographic databases a YAML format
7480suitable for inclusion in pandoc YAML metadata.")
7481 (license license:bsd-3)))
7482
7483(define-public ghc-pandoc-types
7484 (package
7485 (name "ghc-pandoc-types")
0eaa88c8 7486 (version "1.17.6.1")
dddbc90c
RV
7487 (source (origin
7488 (method url-fetch)
7489 (uri (string-append "https://hackage.haskell.org/package/"
7490 "pandoc-types/pandoc-types-"
7491 version ".tar.gz"))
7492 (sha256
7493 (base32
0eaa88c8 7494 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
7495 (build-system haskell-build-system)
7496 (inputs
7497 `(("ghc-syb" ,ghc-syb)
7498 ("ghc-aeson" ,ghc-aeson)
7499 ("ghc-string-qq" ,ghc-string-qq)))
7500 (native-inputs
7501 `(("ghc-quickcheck" ,ghc-quickcheck)
7502 ("ghc-test-framework" ,ghc-test-framework)
7503 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7504 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7505 ("ghc-hunit" ,ghc-hunit)))
7506 (home-page "http://johnmacfarlane.net/pandoc")
7507 (synopsis "Types for representing a structured document")
7508 (description
7509 "This module defines the @code{Pandoc} data structure, which is used by
7510pandoc to represent structured documents. It also provides functions for
7511building up, manipulating and serialising @code{Pandoc} structures.")
7512 (license license:bsd-3)))
7513
7514(define-public ghc-parallel
7515 (package
7516 (name "ghc-parallel")
7517 (version "3.2.2.0")
7518 (outputs '("out" "doc"))
7519 (source
7520 (origin
7521 (method url-fetch)
7522 (uri (string-append
7523 "https://hackage.haskell.org/package/parallel/parallel-"
7524 version
7525 ".tar.gz"))
7526 (sha256
7527 (base32
7528 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7529 (build-system haskell-build-system)
7530 (home-page "https://hackage.haskell.org/package/parallel")
7531 (synopsis "Parallel programming library")
7532 (description
7533 "This package provides a library for parallel programming.")
7534 (license license:bsd-3)))
7535
7536(define-public ghc-parsec-numbers
7537 (package
7538 (name "ghc-parsec-numbers")
7539 (version "0.1.0")
7540 (source
7541 (origin
7542 (method url-fetch)
7543 (uri (string-append "https://hackage.haskell.org/package/"
7544 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7545 (sha256
7546 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7547 (build-system haskell-build-system)
7548 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7549 (synopsis "Utilities for parsing numbers from strings")
7550 (description
7551 "This package provides the number parsers without the need to use a large
7552(and unportable) token parser.")
7553 (license license:bsd-3)))
7554
7555(define-public ghc-parser-combinators
7556 (package
7557 (name "ghc-parser-combinators")
2f173160 7558 (version "1.1.0")
dddbc90c
RV
7559 (source
7560 (origin
7561 (method url-fetch)
7562 (uri (string-append "https://hackage.haskell.org/package/"
7563 "parser-combinators/parser-combinators-"
7564 version ".tar.gz"))
7565 (sha256
7566 (base32
2f173160 7567 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7568 (build-system haskell-build-system)
7569 (home-page "https://github.com/mrkkrp/parser-combinators")
7570 (synopsis "Commonly useful parser combinators")
7571 (description
7572 "This is a lightweight package providing commonly useful parser
7573combinators.")
7574 (license license:bsd-3)))
7575
7576(define-public ghc-parsers
7577 (package
7578 (name "ghc-parsers")
6818f970 7579 (version "0.12.10")
dddbc90c
RV
7580 (source
7581 (origin
7582 (method url-fetch)
7583 (uri (string-append
7584 "https://hackage.haskell.org/package/parsers/parsers-"
7585 version
7586 ".tar.gz"))
7587 (sha256
7588 (base32
6818f970 7589 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
7590 (build-system haskell-build-system)
7591 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7592 ; -package attoparsec-0.13.0.1"
7593 (inputs
7594 `(("ghc-base-orphans" ,ghc-base-orphans)
7595 ("ghc-attoparsec" ,ghc-attoparsec)
7596 ("ghc-scientific" ,ghc-scientific)
7597 ("ghc-charset" ,ghc-charset)
7598 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7599 (home-page "https://github.com/ekmett/parsers/")
7600 (synopsis "Parsing combinators")
7601 (description "This library provides convenient combinators for working
7602with and building parsing combinator libraries. Given a few simple instances,
7603you get access to a large number of canned definitions. Instances exist for
7604the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7605@code{Text.Read}.")
7606 (license license:bsd-3)))
7607
7608(define-public ghc-path
7609 (package
7610 (name "ghc-path")
7611 (version "0.6.1")
7612 (source
7613 (origin
7614 (method url-fetch)
7615 (uri (string-append
7616 "https://hackage.haskell.org/package/path/path-"
7617 version
7618 ".tar.gz"))
7619 (sha256
7620 (base32
7621 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7622 (build-system haskell-build-system)
7623 (arguments
7624 ;; TODO: There are some Windows-related tests and modules that need to be
7625 ;; danced around.
7626 `(#:tests? #f
7627 #:cabal-revision
7628 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7629 (inputs
7630 `(("ghc-aeson" ,ghc-aeson)
7631 ("ghc-exceptions" ,ghc-exceptions)
7632 ("ghc-hashable" ,ghc-hashable)))
7633 (native-inputs
7634 `(("ghc-hspec" ,ghc-hspec)
7635 ("ghc-quickcheck" ,ghc-quickcheck)
7636 ("ghc-genvalidity" ,ghc-genvalidity)
7637 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7638 ("ghc-hspec" ,ghc-hspec)
7639 ("ghc-validity" ,ghc-validity)))
7640 (home-page
7641 "http://hackage.haskell.org/package/path")
7642 (synopsis "Support for well-typed paths")
7643 (description "This package introduces a type for paths upholding useful
7644invariants.")
7645 (license license:bsd-3)))
7646
7647(define-public ghc-path-io
7648 (package
7649 (name "ghc-path-io")
a06613ea 7650 (version "1.4.2")
dddbc90c
RV
7651 (source
7652 (origin
7653 (method url-fetch)
7654 (uri (string-append
7655 "https://hackage.haskell.org/package/path-io/path-io-"
7656 version
7657 ".tar.gz"))
7658 (sha256
7659 (base32
a06613ea 7660 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
7661 (build-system haskell-build-system)
7662 (inputs
7663 `(("ghc-dlist" ,ghc-dlist)
7664 ("ghc-exceptions" ,ghc-exceptions)
7665 ("ghc-path" ,ghc-path)
7666 ("ghc-transformers-base" ,ghc-transformers-base)
7667 ("ghc-unix-compat" ,ghc-unix-compat)
7668 ("ghc-temporary" ,ghc-temporary)))
7669 (native-inputs
7670 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
7671 (home-page
7672 "https://github.com/mrkkrp/path-io")
7673 (synopsis "Functions for manipulating well-typed paths")
7674 (description "This package provides an interface to the @code{directory}
7675package for users of @code{path}. It also implements some missing stuff like
7676recursive scanning and copying of directories, working with temporary
7677files/directories, and more.")
7678 (license license:bsd-3)))
7679
7680(define-public ghc-paths
7681 (package
7682 (name "ghc-paths")
9a8adeb1 7683 (version "0.1.0.12")
dddbc90c
RV
7684 (outputs '("out" "doc"))
7685 (source
7686 (origin
7687 (method url-fetch)
7688 (uri (string-append
7689 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7690 version
7691 ".tar.gz"))
7692 (sha256
7693 (base32
9a8adeb1 7694 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7695 (build-system haskell-build-system)
7696 (home-page "https://github.com/simonmar/ghc-paths")
7697 (synopsis
7698 "Knowledge of GHC's installation directories")
7699 (description
7700 "Knowledge of GHC's installation directories.")
7701 (license license:bsd-3)))
7702
7703(define-public ghc-patience
7704 (package
7705 (name "ghc-patience")
484476f3 7706 (version "0.3")
dddbc90c
RV
7707 (source
7708 (origin
7709 (method url-fetch)
7710 (uri (string-append
7711 "https://hackage.haskell.org/package/patience/patience-"
7712 version ".tar.gz"))
7713 (sha256
7714 (base32
484476f3 7715 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
7716 (build-system haskell-build-system)
7717 (home-page "https://hackage.haskell.org/package/patience")
7718 (synopsis "Patience diff and longest increasing subsequence")
7719 (description
7720 "This library implements the 'patience diff' algorithm, as well as the
7721patience algorithm for the longest increasing subsequence problem.
7722Patience diff computes the difference between two lists, for example the lines
7723of two versions of a source file. It provides a good balance between
7724performance, nice output for humans, and simplicity of implementation.")
7725 (license license:bsd-3)))
7726
7727(define-public ghc-pcre-light
7728 (package
7729 (name "ghc-pcre-light")
7730 (version "0.4.0.4")
7731 (source
7732 (origin
7733 (method url-fetch)
7734 (uri (string-append
7735 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7736 version
7737 ".tar.gz"))
7738 (sha256
7739 (base32
7740 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7741 (build-system haskell-build-system)
7742 (inputs
7743 `(("pcre" ,pcre)))
7744 (native-inputs
7745 `(("pkg-config" ,pkg-config)))
7746 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7747 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7748 (description "This package provides a small, efficient, and portable regex
7749library for Perl 5 compatible regular expressions. The PCRE library is a set
7750of functions that implement regular expression pattern matching using the same
7751syntax and semantics as Perl 5.")
7752 (license license:bsd-3)))
7753
7754(define-public ghc-persistent
7755 (package
7756 (name "ghc-persistent")
7757 (version "2.8.2")
7758 (source
7759 (origin
7760 (method url-fetch)
7761 (uri (string-append "https://hackage.haskell.org/package/"
7762 "persistent-" version "/"
7763 "persistent-" version ".tar.gz"))
7764 (sha256
7765 (base32
7766 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7767 (build-system haskell-build-system)
7768 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7769 ("ghc-conduit" ,ghc-conduit)
7770 ("ghc-resourcet" ,ghc-resourcet)
7771 ("ghc-exceptions" ,ghc-exceptions)
7772 ("ghc-monad-control" ,ghc-monad-control)
7773 ("ghc-lifted-base" ,ghc-lifted-base)
7774 ("ghc-resource-pool" ,ghc-resource-pool)
7775 ("ghc-path-pieces" ,ghc-path-pieces)
7776 ("ghc-http-api-data" ,ghc-http-api-data)
7777 ("ghc-aeson" ,ghc-aeson)
7778 ("ghc-monad-logger" ,ghc-monad-logger)
7779 ("ghc-transformers-base" ,ghc-transformers-base)
7780 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7781 ("ghc-unordered-containers" ,ghc-unordered-containers)
7782 ("ghc-vector" ,ghc-vector)
7783 ("ghc-attoparsec" ,ghc-attoparsec)
7784 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7785 ("ghc-blaze-html" ,ghc-blaze-html)
7786 ("ghc-blaze-markup" ,ghc-blaze-markup)
7787 ("ghc-silently" ,ghc-silently)
7788 ("ghc-fast-logger" ,ghc-fast-logger)
7789 ("ghc-scientific" ,ghc-scientific)
7790 ("ghc-tagged" ,ghc-tagged)
7791 ("ghc-void" ,ghc-void)))
7792 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7793 (home-page "https://www.yesodweb.com/book/persistent")
7794 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7795 (description "This Haskell package allows Haskell programs to access data
7796storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7797way.")
7798 (license license:expat)))
7799
7800(define-public ghc-persistent-sqlite
7801 (package
7802 (name "ghc-persistent-sqlite")
7803 (version "2.8.2")
7804 (source
7805 (origin
7806 (method url-fetch)
7807 (uri (string-append "https://hackage.haskell.org/package/"
7808 "persistent-sqlite-" version "/"
7809 "persistent-sqlite-" version ".tar.gz"))
7810 (sha256
7811 (base32
7812 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7813 (build-system haskell-build-system)
7814 (inputs `(("ghc-persistent" ,ghc-persistent)
7815 ("ghc-unliftio-core" ,ghc-unliftio-core)
7816 ("ghc-aeson" ,ghc-aeson)
7817 ("ghc-conduit" ,ghc-conduit)
7818 ("ghc-monad-logger" ,ghc-monad-logger)
7819 ("ghc-microlens-th" ,ghc-microlens-th)
7820 ("ghc-resourcet" ,ghc-resourcet)
7821 ("ghc-old-locale" ,ghc-old-locale)
7822 ("ghc-resource-pool" ,ghc-resource-pool)
7823 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7824 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7825 ("ghc-persistent-template" ,ghc-persistent-template)
7826 ("ghc-temporary" ,ghc-temporary)))
7827 (home-page
7828 "https://www.yesodweb.com/book/persistent")
7829 (synopsis "Backend for the persistent library using sqlite3")
7830 (description "This Haskell package includes a thin sqlite3 wrapper based
7831on the direct-sqlite package, as well as the entire C library, so there are no
7832system dependencies.")
7833 (license license:expat)))
7834
7835(define-public ghc-persistent-template
7836 (package
7837 (name "ghc-persistent-template")
7838 (version "2.5.4")
7839 (source
7840 (origin
7841 (method url-fetch)
7842 (uri (string-append "https://hackage.haskell.org/package/"
7843 "persistent-template-" version "/"
7844 "persistent-template-" version ".tar.gz"))
7845 (sha256
7846 (base32
7847 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7848 (build-system haskell-build-system)
7849 (arguments
7850 `(#:cabal-revision
7851 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7852 (inputs `(("ghc-persistent" ,ghc-persistent)
7853 ("ghc-monad-control" ,ghc-monad-control)
7854 ("ghc-aeson" ,ghc-aeson)
7855 ("ghc-aeson-compat" ,ghc-aeson-compat)
7856 ("ghc-monad-logger" ,ghc-monad-logger)
7857 ("ghc-unordered-containers" ,ghc-unordered-containers)
7858 ("ghc-tagged" ,ghc-tagged)
7859 ("ghc-path-pieces" ,ghc-path-pieces)
7860 ("ghc-http-api-data" ,ghc-http-api-data)))
7861 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7862 ("ghc-quickcheck" ,ghc-quickcheck)))
7863 (home-page "https://www.yesodweb.com/book/persistent")
7864 (synopsis "Type-safe, non-relational, multi-backend persistence")
7865 (description "This Haskell package provides interfaces and helper
7866functions for the ghc-persistent package.")
7867 (license license:expat)))
7868
7869(define-public ghc-polyparse
7870 (package
7871 (name "ghc-polyparse")
9822b9ca 7872 (version "1.12.1")
dddbc90c
RV
7873 (source
7874 (origin
7875 (method url-fetch)
7876 (uri (string-append
7877 "https://hackage.haskell.org/package/polyparse/polyparse-"
7878 version
7879 ".tar.gz"))
7880 (sha256
7881 (base32
9822b9ca 7882 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
7883 (build-system haskell-build-system)
7884 (home-page
7885 "http://code.haskell.org/~malcolm/polyparse/")
7886 (synopsis
7887 "Alternative parser combinator libraries")
7888 (description
7889 "This package provides a variety of alternative parser combinator
7890libraries, including the original HuttonMeijer set. The Poly sets have
7891features like good error reporting, arbitrary token type, running state, lazy
7892parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7893standard Read class, for better deserialisation of Haskell values from
7894Strings.")
7895 (license license:lgpl2.1)))
7896
7897(define-public ghc-pqueue
7898 (package
7899 (name "ghc-pqueue")
142415b0 7900 (version "1.4.1.2")
dddbc90c
RV
7901 (source
7902 (origin
7903 (method url-fetch)
7904 (uri (string-append "https://hackage.haskell.org/package/"
7905 "pqueue/pqueue-" version ".tar.gz"))
7906 (sha256
7907 (base32
142415b0 7908 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
7909 (build-system haskell-build-system)
7910 (native-inputs
7911 `(("ghc-quickcheck" ,ghc-quickcheck)))
7912 (home-page "https://hackage.haskell.org/package/pqueue")
7913 (synopsis "Reliable, persistent, fast priority queues")
7914 (description
7915 "This package provides a fast, reliable priority queue implementation
7916based on a binomial heap.")
7917 (license license:bsd-3)))
7918
7919(define-public ghc-prelude-extras
7920 (package
7921 (name "ghc-prelude-extras")
7922 (version "0.4.0.3")
7923 (source
7924 (origin
7925 (method url-fetch)
7926 (uri (string-append
7927 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7928 version
7929 ".tar.gz"))
7930 (sha256
7931 (base32
7932 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7933 (build-system haskell-build-system)
7934 (home-page "https://github.com/ekmett/prelude-extras")
7935 (synopsis "Higher order versions of Prelude classes")
7936 (description "This library provides higher order versions of
7937@code{Prelude} classes to ease programming with polymorphic recursion and
7938reduce @code{UndecidableInstances}.")
7939 (license license:bsd-3)))
7940
7941(define-public ghc-prettyclass
7942 (package
7943 (name "ghc-prettyclass")
7944 (version "1.0.0.0")
7945 (source
7946 (origin
7947 (method url-fetch)
7948 (uri (string-append "https://hackage.haskell.org/package/"
7949 "prettyclass/prettyclass-" version ".tar.gz"))
7950 (sha256
7951 (base32
7952 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7953 (build-system haskell-build-system)
7954 (home-page "http://hackage.haskell.org/package/prettyclass")
7955 (synopsis "Pretty printing class similar to Show")
7956 (description "This package provides a pretty printing class similar
7957to @code{Show}, based on the HughesPJ pretty printing library. It
7958provides the pretty printing class and instances for the Prelude
7959types.")
7960 (license license:bsd-3)))
7961
7962(define-public ghc-pretty-hex
7963 (package
7964 (name "ghc-pretty-hex")
7965 (version "1.0")
7966 (source
7967 (origin
7968 (method url-fetch)
7969 (uri (string-append "https://hackage.haskell.org/package/"
7970 "pretty-hex-" version "/"
7971 "pretty-hex-" version ".tar.gz"))
7972 (sha256
7973 (base32
7974 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7975 (build-system haskell-build-system)
7976 (home-page "https://github.com/GaloisInc/hexdump")
7977 (synopsis "Haskell library for hex dumps of ByteStrings")
7978 (description "This Haskell library generates pretty hex dumps of
7979ByteStrings in the style of other common *nix hex dump tools.")
7980 (license license:bsd-3)))
7981
7982(define-public ghc-pretty-show
7983 (package
7984 (name "ghc-pretty-show")
7683a084 7985 (version "1.9.5")
dddbc90c
RV
7986 (source
7987 (origin
7988 (method url-fetch)
7989 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7990 "pretty-show-" version ".tar.gz"))
7991 (sha256
7992 (base32
7683a084 7993 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
7994 (build-system haskell-build-system)
7995 (inputs
7996 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7997 ("ghc-happy" ,ghc-happy)))
7998 (home-page "http://wiki.github.com/yav/pretty-show")
7999 (synopsis "Tools for working with derived `Show` instances")
8000 (description
8001 "This package provides a library and an executable for working with
8002derived @code{Show} instances. By using the library, derived @code{Show}
8003instances can be parsed into a generic data structure. The @code{ppsh} tool
8004uses the library to produce human-readable versions of @code{Show} instances,
8005which can be quite handy for debugging Haskell programs. We can also render
8006complex generic values into an interactive Html page, for easier
8007examination.")
8008 (license license:expat)))
8009
8010(define-public ghc-primitive
8011 (package
8012 (name "ghc-primitive")
8013 (version "0.6.4.0")
8014 (outputs '("out" "doc"))
8015 (source
8016 (origin
8017 (method url-fetch)
8018 (uri (string-append
8019 "https://hackage.haskell.org/package/primitive/primitive-"
8020 version
8021 ".tar.gz"))
8022 (sha256
8023 (base32
8024 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
8025 (build-system haskell-build-system)
6cf0daa4
TS
8026 (arguments
8027 `(#:cabal-revision
8028 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
8029 (home-page
8030 "https://github.com/haskell/primitive")
8031 (synopsis "Primitive memory-related operations")
8032 (description
8033 "This package provides various primitive memory-related operations.")
8034 (license license:bsd-3)))
8035
21f5b9a9
JS
8036(define-public ghc-process-extras
8037 (package
8038 (name "ghc-process-extras")
8039 (version "0.7.4")
8040 (source
8041 (origin
8042 (method url-fetch)
8043 (uri
8044 (string-append
8045 "https://hackage.haskell.org/package/process-extras/"
8046 "process-extras-" version ".tar.gz"))
8047 (sha256
8048 (base32
8049 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
8050 (build-system haskell-build-system)
8051 (inputs
8052 `(("ghc-data-default" ,ghc-data-default)
8053 ("ghc-generic-deriving" ,ghc-generic-deriving)
8054 ("ghc-hunit" ,ghc-hunit)
8055 ("ghc-listlike" ,ghc-listlike)))
8056 (home-page "https://github.com/seereason/process-extras")
8057 (synopsis "Extra tools for managing processes")
f74b6983 8058 (description "This package extends
21f5b9a9
JS
8059@url{http://hackage.haskell.org/package/process}. It allows you to read
8060process input and output as ByteStrings or Text, or write your own
8061ProcessOutput instance. It also provides lazy process input and output,
8062and a ProcessMaker class for more flexibility in the process creation
8063API.")
8064 (license license:expat)))
8065
dddbc90c
RV
8066(define-public ghc-profunctors
8067 (package
8068 (name "ghc-profunctors")
899b5297 8069 (version "5.3")
dddbc90c
RV
8070 (source
8071 (origin
8072 (method url-fetch)
8073 (uri (string-append
8074 "https://hackage.haskell.org/package/profunctors/profunctors-"
8075 version
8076 ".tar.gz"))
8077 (sha256
8078 (base32
899b5297 8079 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 8080 (build-system haskell-build-system)
dddbc90c
RV
8081 (inputs
8082 `(("ghc-base-orphans" ,ghc-base-orphans)
8083 ("ghc-bifunctors" ,ghc-bifunctors)
8084 ("ghc-comonad" ,ghc-comonad)
8085 ("ghc-contravariant" ,ghc-contravariant)
8086 ("ghc-distributive" ,ghc-distributive)
8087 ("ghc-semigroups" ,ghc-semigroups)
8088 ("ghc-tagged" ,ghc-tagged)))
8089 (home-page "https://github.com/ekmett/profunctors/")
8090 (synopsis "Profunctors for Haskell")
8091 (description "This library provides profunctors for Haskell.")
8092 (license license:bsd-3)))
8093
8094(define-public ghc-psqueues
8095 (package
8096 (name "ghc-psqueues")
5d133942 8097 (version "0.2.7.2")
dddbc90c
RV
8098 (source
8099 (origin
8100 (method url-fetch)
8101 (uri (string-append "https://hackage.haskell.org/package/"
8102 "psqueues-" version "/"
8103 "psqueues-" version ".tar.gz"))
8104 (sha256
8105 (base32
5d133942 8106 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
8107 (build-system haskell-build-system)
8108 (inputs
8109 `(("ghc-hashable" ,ghc-hashable)))
8110 (native-inputs
8111 `(("ghc-hunit" ,ghc-hunit)
8112 ("ghc-quickcheck" ,ghc-quickcheck)
8113 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
8114 ("ghc-tasty" ,ghc-tasty)
8115 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8116 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
8117 (home-page "https://github.com/jaspervdj/psqueues")
8118 (synopsis "Pure priority search queues")
8119 (description "The psqueues package provides
8120@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8121three different flavors:
8122
8123@itemize
8124@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8125fast insertion, deletion and lookup. This implementation is based on Ralf
8126Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8127Implementation Technique for Priority Search Queues}.
8128
8129Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8130PSQueue} library, although it is considerably faster and provides a slightly
8131different API.
8132
8133@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8134key type to @code{Int} and uses a
8135@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8136with an additional min-heap property.
8137
8138@item @code{HashPSQ k p v} is a fairly straightforward extension
8139of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8140@code{IntPSQ}. If there are any hash collisions, it uses an
8141@code{OrdPSQ} to resolve those. The performance of this implementation
8142is comparable to that of @code{IntPSQ}, but it is more widely
8143applicable since the keys are not restricted to @code{Int},
8144but rather to any @code{Hashable} datatype.
8145@end itemize
8146
8147Each of the three implementations provides the same API, so they can
8148be used interchangeably.
8149
8150Typical applications of Priority Search Queues include:
8151
8152@itemize
8153@item Caches, and more specifically LRU Caches;
8154@item Schedulers;
8155@item Pathfinding algorithms, such as Dijkstra's and A*.
8156@end itemize")
8157 (license license:bsd-3)))
8158
8159(define-public ghc-random
8160 (package
8161 (name "ghc-random")
8162 (version "1.1")
8163 (outputs '("out" "doc"))
8164 (source
8165 (origin
8166 (method url-fetch)
8167 (uri (string-append
8168 "https://hackage.haskell.org/package/random/random-"
8169 version
8170 ".tar.gz"))
8171 (sha256
8172 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8173 (build-system haskell-build-system)
8174 (home-page "https://hackage.haskell.org/package/random")
8175 (synopsis "Random number library")
8176 (description "This package provides a basic random number generation
8177library, including the ability to split random number generators.")
8178 (license license:bsd-3)))
8179
8180(define-public ghc-raw-strings-qq
8181 (package
8182 (name "ghc-raw-strings-qq")
8183 (version "1.1")
8184 (source
8185 (origin
8186 (method url-fetch)
8187 (uri (string-append "https://hackage.haskell.org/package/"
8188 "raw-strings-qq/raw-strings-qq-"
8189 version ".tar.gz"))
8190 (sha256
8191 (base32
8192 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8193 (build-system haskell-build-system)
8194 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8195 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8196 (synopsis "Raw string literals for Haskell")
8197 (description
8198 "This package provides a quasiquoter for raw string literals, i.e. string
8199literals that don't recognise the standard escape sequences. Basically, they
8200make your code more readable by freeing you from the responsibility to escape
8201backslashes. They are useful when working with regular expressions,
8202DOS/Windows paths and markup languages (such as XML).")
8203 (license license:bsd-3)))
8204
8205(define-public ghc-readable
8206 (package
8207 (name "ghc-readable")
8208 (version "0.3.1")
8209 (source
8210 (origin
8211 (method url-fetch)
8212 (uri (string-append "https://hackage.haskell.org/package/"
8213 "readable/readable-" version ".tar.gz"))
8214 (sha256
8215 (base32
8216 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8217 (build-system haskell-build-system)
8218 (home-page "https://github.com/mightybyte/readable")
8219 (synopsis "Type class for reading from Text and ByteString")
8220 (description "This package provides a @code{Readable} type class for
8221reading data types from @code{ByteString} and @code{Text}. It also
8222includes efficient implementations for common data types.")
8223 (license license:bsd-3)))
8224
8225(define-public ghc-rebase
8226 (package
8227 (name "ghc-rebase")
8d2ae3fe 8228 (version "1.3.1.1")
dddbc90c
RV
8229 (source
8230 (origin
8231 (method url-fetch)
8232 (uri (string-append "https://hackage.haskell.org/package/"
8233 "rebase-" version "/"
8234 "rebase-" version ".tar.gz"))
8235 (sha256
8236 (base32
8d2ae3fe 8237 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
8238 (build-system haskell-build-system)
8239 (inputs `(("ghc-hashable" ,ghc-hashable)
8240 ("ghc-vector" ,ghc-vector)
8241 ("ghc-unordered-containers" ,ghc-unordered-containers)
8242 ("ghc-scientific" ,ghc-scientific)
8243 ("ghc-uuid" ,ghc-uuid)
8244 ("ghc-dlist" ,ghc-dlist)
8245 ("ghc-void" ,ghc-void)
8246 ("ghc-bifunctors" ,ghc-bifunctors)
8247 ("ghc-profunctors" ,ghc-profunctors)
8248 ("ghc-contravariant" ,ghc-contravariant)
8249 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8250 ("ghc-semigroups" ,ghc-semigroups)
8251 ("ghc-either" ,ghc-either)
8252 ("ghc-fail" ,ghc-fail)
8253 ("ghc-base-prelude" ,ghc-base-prelude)))
8254 (home-page "https://github.com/nikita-volkov/rebase")
8255 (synopsis "Progressive alternative to the base package
8256for Haskell")
8257 (description "This Haskell package is intended for those who are
8258tired of keeping long lists of dependencies to the same essential libraries
8259in each package as well as the endless imports of the same APIs all over again.
8260
8261It also supports the modern tendencies in the language.
8262
8263To solve those problems this package does the following:
8264
8265@itemize
8266@item Reexport the original APIs under the @code{Rebase} namespace.
8267
8268@item Export all the possible non-conflicting symbols from the
8269@code{Rebase.Prelude} module.
8270
8271@item Give priority to the modern practices in the conflicting cases.
8272@end itemize
8273
8274The policy behind the package is only to reexport the non-ambiguous and
8275non-controversial APIs, which the community has obviously settled on.
8276The package is intended to rapidly evolve with the contribution from
8277the community, with the missing features being added with pull-requests.")
8278 (license license:expat)))
8279
8280(define-public ghc-reducers
8281 (package
8282 (name "ghc-reducers")
8283 (version "3.12.3")
8284 (source
8285 (origin
8286 (method url-fetch)
8287 (uri (string-append
8288 "https://hackage.haskell.org/package/reducers/reducers-"
8289 version
8290 ".tar.gz"))
8291 (sha256
8292 (base32
8293 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8294 (build-system haskell-build-system)
8295 (inputs
8296 `(("ghc-fingertree" ,ghc-fingertree)
8297 ("ghc-hashable" ,ghc-hashable)
8298 ("ghc-unordered-containers" ,ghc-unordered-containers)
8299 ("ghc-semigroupoids" ,ghc-semigroupoids)
8300 ("ghc-semigroups" ,ghc-semigroups)))
8301 (home-page "https://github.com/ekmett/reducers/")
8302 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8303 (description "This library provides various semigroups, specialized
8304containers and a general map/reduce framework for Haskell.")
8305 (license license:bsd-3)))
8306
8307(define-public ghc-refact
8308 (package
8309 (name "ghc-refact")
8310 (version "0.3.0.2")
8311 (source
8312 (origin
8313 (method url-fetch)
8314 (uri (string-append "https://hackage.haskell.org/package/"
8315 "refact/refact-"
8316 version ".tar.gz"))
8317 (sha256
8318 (base32
8319 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8320 (build-system haskell-build-system)
8321 (home-page "http://hackage.haskell.org/package/refact")
8322 (synopsis "Specify refactorings to perform with apply-refact")
8323 (description
8324 "This library provides a datatype which can be interpreted by
8325@code{apply-refact}. It exists as a separate library so that applications can
8326specify refactorings without depending on GHC.")
8327 (license license:bsd-3)))
8328
8329(define-public ghc-reflection
8330 (package
8331 (name "ghc-reflection")
d215f1cc 8332 (version "2.1.5")
dddbc90c
RV
8333 (source
8334 (origin
8335 (method url-fetch)
8336 (uri (string-append
8337 "https://hackage.haskell.org/package/reflection/reflection-"
8338 version
8339 ".tar.gz"))
8340 (sha256
8341 (base32
d215f1cc 8342 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8343 (build-system haskell-build-system)
8344 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8345 (native-inputs
8346 `(("ghc-hspec" ,ghc-hspec)
8347 ("ghc-quickcheck" ,ghc-quickcheck)
8348 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8349 (home-page "https://github.com/ekmett/reflection")
8350 (synopsis "Reify arbitrary terms into types that can be reflected back
8351into terms")
8352 (description "This package addresses the 'configuration problem' which is
8353propagating configurations that are available at run-time, allowing multiple
8354configurations to coexist without resorting to mutable global variables or
8355@code{System.IO.Unsafe.unsafePerformIO}.")
8356 (license license:bsd-3)))
8357
8358(define-public ghc-regex
8359 (package
8360 (name "ghc-regex")
b9a5e634 8361 (version "1.0.2.0")
dddbc90c
RV
8362 (source
8363 (origin
8364 (method url-fetch)
8365 (uri (string-append "https://hackage.haskell.org/package/regex/"
8366 "regex-" version ".tar.gz"))
8367 (sha256
8368 (base32
b9a5e634 8369 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
8370 (build-system haskell-build-system)
8371 (arguments
8372 `(#:phases
8373 (modify-phases %standard-phases
8374 (add-after 'unpack 'relax-dependencies
8375 (lambda _
8376 (substitute* "regex.cabal"
8377 (("base-compat.*>=.*0.6.*")
8378 "base-compat >= 0.6\n")
8379 (("template-haskell.*>=.*2.7.*")
8380 "template-haskell >= 2.7\n"))
8381 #t)))))
8382 (inputs
8383 `(("ghc-base-compat" ,ghc-base-compat)
8384 ("ghc-hashable" ,ghc-hashable)
8385 ("ghc-regex-base" ,ghc-regex-base)
8386 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8387 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8388 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8389 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8390 ("ghc-unordered-containers" ,ghc-unordered-containers)
8391 ("ghc-utf8-string" ,ghc-utf8-string)))
8392 (home-page "http://regex.uk")
8393 (synopsis "Toolkit for regex-base")
8394 (description
8395 "This package provides a regular expression toolkit for @code{regex-base}
8396with compile-time checking of regular expression syntax, data types for
8397matches and captures, a text replacement toolkit, portable options, high-level
8398AWK-like tools for building text processing apps, regular expression macros
8399with parsers and test bench, comprehensive documentation, tutorials and
8400copious examples.")
8401 (license license:bsd-3)))
8402
8403(define-public ghc-regex-applicative
8404 (package
8405 (name "ghc-regex-applicative")
30f60e42 8406 (version "0.3.3.1")
dddbc90c
RV
8407 (source
8408 (origin
8409 (method url-fetch)
8410 (uri (string-append
8411 "https://hackage.haskell.org/package/regex-applicative/"
8412 "regex-applicative-" version ".tar.gz"))
8413 (sha256
8414 (base32
30f60e42 8415 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8416 (build-system haskell-build-system)
8417 (inputs
8418 `(("ghc-smallcheck" ,ghc-smallcheck)
8419 ("ghc-tasty" ,ghc-tasty)
8420 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8421 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8422 (home-page "https://github.com/feuerbach/regex-applicative")
8423 (synopsis "Regex-based parsing with applicative interface")
8424 (description
8425 "@code{regex-applicative} is a Haskell library for parsing using
8426regular expressions. Parsers can be built using Applicative interface.")
8427 (license license:expat)))
8428
8429(define-public ghc-regex-base
8430 (package
8431 (name "ghc-regex-base")
8432 (version "0.93.2")
8433 (source
8434 (origin
8435 (method url-fetch)
8436 (uri (string-append
8437 "https://hackage.haskell.org/package/regex-base/regex-base-"
8438 version
8439 ".tar.gz"))
8440 (sha256
8441 (base32
8442 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8443 (build-system haskell-build-system)
8444 (home-page
8445 "https://sourceforge.net/projects/lazy-regex")
8446 (synopsis "Replaces/Enhances Text.Regex")
8447 (description "@code{Text.Regex.Base} provides the interface API for
8448regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8449 (license license:bsd-3)))
8450
8451(define-public ghc-regex-compat
8452 (package
8453 (name "ghc-regex-compat")
8454 (version "0.95.1")
8455 (source
8456 (origin
8457 (method url-fetch)
8458 (uri (string-append
8459 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8460 version
8461 ".tar.gz"))
8462 (sha256
8463 (base32
8464 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8465 (build-system haskell-build-system)
8466 (inputs
8467 `(("ghc-regex-base" ,ghc-regex-base)
8468 ("ghc-regex-posix" ,ghc-regex-posix)))
8469 (home-page "https://sourceforge.net/projects/lazy-regex")
8470 (synopsis "Replaces/Enhances Text.Regex")
8471 (description "This library provides one module layer over
8472@code{regex-posix} to replace @code{Text.Regex}.")
8473 (license license:bsd-3)))
8474
8475(define-public ghc-regex-compat-tdfa
8476 (package
8477 (name "ghc-regex-compat-tdfa")
8478 (version "0.95.1.4")
8479 (source
8480 (origin
8481 (method url-fetch)
8482 (uri (string-append
8483 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8484 version ".tar.gz"))
8485 (sha256
8486 (base32
8487 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8488 (build-system haskell-build-system)
8489 (inputs
8490 `(("ghc-regex-base" ,ghc-regex-base)
8491 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8492 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8493 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8494 (description
8495 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8496@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8497This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8498this problem.")
8499 (license license:bsd-3)))
8500
8501(define-public ghc-regex-pcre-builtin
8502 (package
8503 (name "ghc-regex-pcre-builtin")
ee946143 8504 (version "0.94.5.8.8.35")
dddbc90c
RV
8505 (source (origin
8506 (method url-fetch)
8507 (uri (string-append "https://hackage.haskell.org/package/"
8508 "regex-pcre-builtin/regex-pcre-builtin-"
8509 version ".tar.gz"))
8510 (sha256
8511 (base32
ee946143 8512 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8513 (build-system haskell-build-system)
8514 (inputs
8515 `(("ghc-regex-base" ,ghc-regex-base)))
8516 (home-page "https://hackage.haskell.org/package/regex-pcre")
8517 (synopsis "Enhancement of the builtin Text.Regex library")
8518 (description
8519 "This package is an enhancement of the @code{Text.Regex} library,
8520providing the PCRE backend to accompany regex-base, with bundled code from
8521@url{https://www.pcre.org}.")
8522 (license license:bsd-3)))
8523
8524(define-public ghc-regex-posix
8525 (package
8526 (name "ghc-regex-posix")
8527 (version "0.95.2")
8528 (source
8529 (origin
8530 (method url-fetch)
8531 (uri (string-append
8532 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8533 version
8534 ".tar.gz"))
8535 (sha256
8536 (base32
8537 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8538 (build-system haskell-build-system)
8539 (inputs
8540 `(("ghc-regex-base" ,ghc-regex-base)))
8541 (home-page "https://sourceforge.net/projects/lazy-regex")
8542 (synopsis "POSIX regular expressions for Haskell")
8543 (description "This library provides the POSIX regex backend used by the
8544Haskell library @code{regex-base}.")
8545 (license license:bsd-3)))
8546
8547(define-public ghc-regex-tdfa
8548 (package
8549 (name "ghc-regex-tdfa")
ce684db0 8550 (version "1.2.3.2")
dddbc90c
RV
8551 (source
8552 (origin
8553 (method url-fetch)
8554 (uri (string-append
8555 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8556 version ".tar.gz"))
8557 (sha256
8558 (base32
ce684db0 8559 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8560 (build-system haskell-build-system)
8561 (inputs
8562 `(("ghc-regex-base" ,ghc-regex-base)))
8563 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8564 (synopsis "POSIX extended regular expressions in Haskell.")
8565 (description
8566 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8567extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8568inspired by libtre.")
8569 (license license:bsd-3)))
8570
8571(define-public ghc-regex-tdfa-text
8572 (package
8573 (name "ghc-regex-tdfa-text")
8574 (version "1.0.0.3")
8575 (source
8576 (origin
8577 (method url-fetch)
8578 (uri (string-append
8579 "https://hackage.haskell.org/package/regex-tdfa-text/"
8580 "regex-tdfa-text-" version ".tar.gz"))
8581 (sha256
8582 (base32
8583 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8584 (build-system haskell-build-system)
8585 (inputs
8586 `(("ghc-regex-base" ,ghc-regex-base)
8587 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8588 (home-page
8589 "http://hackage.haskell.org/package/regex-tdfa-text")
8590 (synopsis "Text interface for regex-tdfa")
8591 (description
8592 "This provides an extra text interface for regex-tdfa.")
8593 (license license:bsd-3)))
8594
8595(define-public ghc-rerebase
8596 (package
8597 (name "ghc-rerebase")
cdec7b8c 8598 (version "1.3.1.1")
dddbc90c
RV
8599 (source
8600 (origin
8601 (method url-fetch)
8602 (uri (string-append
8603 "https://hackage.haskell.org/package/rerebase/rerebase-"
8604 version ".tar.gz"))
8605 (sha256
8606 (base32
cdec7b8c 8607 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
8608 (build-system haskell-build-system)
8609 (inputs
8610 `(("ghc-rebase" ,ghc-rebase)))
8611 (home-page "https://github.com/nikita-volkov/rerebase")
8612 (synopsis "Reexports from ``base'' with many other standard libraries")
8613 (description "A rich drop-in replacement for @code{base}. For details and
8614documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8615the project's home page}.")
8616 (license license:expat)))
8617
8618(define-public ghc-resolv
8619 (package
8620 (name "ghc-resolv")
8621 (version "0.1.1.1")
8622 (source
8623 (origin
8624 (method url-fetch)
8625 (uri (string-append
8626 "https://hackage.haskell.org/package/resolv/resolv-"
8627 version ".tar.gz"))
8628 (sha256
8629 (base32
8630 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8631 (build-system haskell-build-system)
8632 (arguments
8633 `(#:cabal-revision
8634 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8635 #:tests? #f)) ; The required test frameworks are too old.
8636 (inputs
8637 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8638 (home-page "https://github.com/haskell/hackage-security")
8639 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8640 (description "This package implements an API for accessing the
8641@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8642resolver service via the standard @code{libresolv} system library (whose
8643API is often available directly via the standard @code{libc} C library) on
8644Unix systems.")
8645 (license license:gpl3)))
8646
8647(define-public ghc-resource-pool
8648 (package
8649 (name "ghc-resource-pool")
8650 (version "0.2.3.2")
8651 (source
8652 (origin
8653 (method url-fetch)
8654 (uri (string-append "https://hackage.haskell.org/package/"
8655 "resource-pool-" version "/"
8656 "resource-pool-" version ".tar.gz"))
8657 (sha256
8658 (base32
8659 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8660 (build-system haskell-build-system)
8661 (inputs `(("ghc-hashable" ,ghc-hashable)
8662 ("ghc-monad-control" ,ghc-monad-control)
8663 ("ghc-transformers-base" ,ghc-transformers-base)
8664 ("ghc-vector" ,ghc-vector)))
8665 (home-page "https://github.com/bos/pool")
8666 (synopsis "Striped resource pooling implementation in Haskell")
8667 (description "This Haskell package provides striped pooling abstraction
8668for managing flexibly-sized collections of resources such as database
8669connections.")
8670 (license license:bsd-3)))
8671
8672(define-public ghc-resourcet
8673 (package
8674 (name "ghc-resourcet")
9ac341ac 8675 (version "1.2.2")
dddbc90c
RV
8676 (source
8677 (origin
8678 (method url-fetch)
8679 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8680 "resourcet-" version ".tar.gz"))
8681 (sha256
8682 (base32
9ac341ac 8683 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
8684 (build-system haskell-build-system)
8685 (inputs
8686 `(("ghc-transformers-base" ,ghc-transformers-base)
8687 ("ghc-monad-control" ,ghc-monad-control)
8688 ("ghc-transformers-compat" ,ghc-transformers-compat)
8689 ("ghc-mmorph" ,ghc-mmorph)
8690 ("ghc-exceptions" ,ghc-exceptions)
8691 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8692 (native-inputs
8693 `(("ghc-lifted-base" ,ghc-lifted-base)
8694 ("ghc-hspec" ,ghc-hspec)))
8695 (home-page "https://github.com/snoyberg/conduit")
8696 (synopsis "Deterministic allocation and freeing of scarce resources")
8697 (description "ResourceT is a monad transformer which creates a region of
8698code where you can safely allocate resources.")
8699 (license license:bsd-3)))
8700
b9debc37
TS
8701(define-public ghc-retry
8702 (package
8703 (name "ghc-retry")
8704 (version "0.8.1.0")
8705 (source
8706 (origin
8707 (method url-fetch)
8708 (uri (string-append "https://hackage.haskell.org/package/"
8709 "retry/retry-" version ".tar.gz"))
8710 (sha256
8711 (base32
8712 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
8713 (build-system haskell-build-system)
8714 (inputs
8715 `(("ghc-exceptions" ,ghc-exceptions)
8716 ("ghc-random" ,ghc-random)))
8717 (native-inputs
8718 `(("ghc-hunit" ,ghc-hunit)
8719 ("ghc-tasty" ,ghc-tasty)
8720 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8721 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
8722 ("ghc-hedgehog" ,ghc-hedgehog)))
8723 (home-page "http://github.com/Soostone/retry")
8724 (synopsis "Retry combinators for monadic actions that may fail")
8725 (description "This package exposes combinators that can wrap
8726arbitrary monadic actions. They run the action and potentially retry
8727running it with some configurable delay for a configurable number of
8728times. The purpose is to make it easier to work with IO and especially
8729network IO actions that often experience temporary failure and warrant
8730retrying of the original action. For example, a database query may time
8731out for a while, in which case we should hang back for a bit and retry
8732the query instead of simply raising an exception.")
8733 (license license:bsd-3)))
8734
dddbc90c
RV
8735(define-public ghc-rfc5051
8736 (package
8737 (name "ghc-rfc5051")
ec42ab7c 8738 (version "0.1.0.4")
dddbc90c
RV
8739 (source
8740 (origin
8741 (method url-fetch)
8742 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8743 "rfc5051-" version ".tar.gz"))
8744 (sha256
8745 (base32
ec42ab7c 8746 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
8747 (build-system haskell-build-system)
8748 (home-page "https://hackage.haskell.org/package/rfc5051")
8749 (synopsis "Simple unicode collation as per RFC5051")
8750 (description
8751 "This library implements @code{unicode-casemap}, the simple, non
8752locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8753unicode collation can be done using @code{text-icu}, but that is a big
8754dependency that depends on a large C library, and @code{rfc5051} might be
8755better for some purposes.")
8756 (license license:bsd-3)))
8757
8758(define-public ghc-rio
8759 (package
8760 (name "ghc-rio")
8bda2fa7 8761 (version "0.1.12.0")
dddbc90c
RV
8762 (source
8763 (origin
8764 (method url-fetch)
8765 (uri (string-append
8766 "https://hackage.haskell.org/package/rio/rio-"
8767 version ".tar.gz"))
8768 (sha256
8769 (base32
8bda2fa7 8770 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
8771 (build-system haskell-build-system)
8772 (inputs
8773 `(("ghc-exceptions" ,ghc-exceptions)
8774 ("ghc-hashable" ,ghc-hashable)
8775 ("ghc-microlens" ,ghc-microlens)
8776 ("ghc-primitive" ,ghc-primitive)
8777 ("ghc-typed-process" ,ghc-typed-process)
8778 ("ghc-unliftio" ,ghc-unliftio)
8779 ("ghc-unordered-containers" ,ghc-unordered-containers)
8780 ("ghc-vector" ,ghc-vector)))
8781 (native-inputs
8782 `(("ghc-hspec" ,ghc-hspec)
8783 ("hspec-discover" ,hspec-discover)))
8784 (home-page "https://github.com/commercialhaskell/rio#readme")
8785 (synopsis "A standard library for Haskell")
8786 (description "This package works as a prelude replacement for Haskell,
8787providing more functionality and types out of the box than the standard
8788prelude (such as common data types like @code{ByteString} and
8789@code{Text}), as well as removing common ``gotchas'', like partial
8790functions and lazy I/O. The guiding principle here is:
8791@itemize
8792@item If something is safe to use in general and has no expected naming
8793conflicts, expose it.
8794@item If something should not always be used, or has naming conflicts,
8795expose it from another module in the hierarchy.
8796@end itemize")
8797 (license license:expat)))
8798
8799(define-public ghc-safe
8800 (package
8801 (name "ghc-safe")
8802 (version "0.3.17")
8803 (source
8804 (origin
8805 (method url-fetch)
8806 (uri (string-append
8807 "https://hackage.haskell.org/package/safe/safe-"
8808 version
8809 ".tar.gz"))
8810 (sha256
8811 (base32
8812 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8813 (build-system haskell-build-system)
8814 (native-inputs
8815 `(("ghc-quickcheck" ,ghc-quickcheck)))
8816 (home-page "https://github.com/ndmitchell/safe#readme")
8817 (synopsis "Library of safe (exception free) functions")
8818 (description "This library provides wrappers around @code{Prelude} and
8819@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8820exceptions.")
8821 (license license:bsd-3)))
8822
8823(define-public ghc-safe-exceptions
8824 (package
8825 (name "ghc-safe-exceptions")
8826 (version "0.1.7.0")
8827 (source
8828 (origin
8829 (method url-fetch)
8830 (uri (string-append "https://hackage.haskell.org/package/"
8831 "safe-exceptions/safe-exceptions-"
8832 version ".tar.gz"))
8833 (sha256
8834 (base32
8835 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8836 (build-system haskell-build-system)
8837 (arguments
8838 '(#:cabal-revision
8839 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8840 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8841 (native-inputs
8842 `(("ghc-hspec" ,ghc-hspec)
8843 ("ghc-void" ,ghc-void)
8844 ("hspec-discover" ,hspec-discover)))
8845 (home-page "https://github.com/fpco/safe-exceptions")
8846 (synopsis "Safe, consistent, and easy exception handling")
8847 (description "Runtime exceptions - as exposed in @code{base} by the
8848@code{Control.Exception} module - have long been an intimidating part of the
8849Haskell ecosystem. This package is intended to overcome this. It provides a
8850safe and simple API on top of the existing exception handling machinery. The
8851API is equivalent to the underlying implementation in terms of power but
8852encourages best practices to minimize the chances of getting the exception
8853handling wrong.")
8854 (license license:expat)))
8855
8856(define-public ghc-safeio
8857 (package
8858 (name "ghc-safeio")
8859 (version "0.0.5.0")
8860 (source
8861 (origin
8862 (method url-fetch)
8863 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8864 "safeio-" version ".tar.gz"))
8865 (sha256
8866 (base32
8867 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8868 (build-system haskell-build-system)
8869 (inputs
8870 `(("ghc-conduit" ,ghc-conduit)
8871 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8872 ("ghc-exceptions" ,ghc-exceptions)
8873 ("ghc-resourcet" ,ghc-resourcet)))
8874 (native-inputs
8875 `(("ghc-hunit" ,ghc-hunit)
8876 ("ghc-test-framework" ,ghc-test-framework)
8877 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8878 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8879 (home-page "https://github.com/luispedro/safeio")
8880 (synopsis "Write output to disk atomically")
8881 (description
8882 "This package implements utilities to perform atomic output so as to
8883avoid the problem of partial intermediate files.")
8884 (license license:expat)))
8885
8886(define-public ghc-safesemaphore
8887 (package
8888 (name "ghc-safesemaphore")
8889 (version "0.10.1")
8890 (source
8891 (origin
8892 (method url-fetch)
8893 (uri (string-append "https://hackage.haskell.org/package/"
8894 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8895 (sha256
8896 (base32
8897 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8898 (build-system haskell-build-system)
8899 (native-inputs
8900 `(("ghc-hunit" ,ghc-hunit)))
8901 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8902 (synopsis "Exception safe semaphores")
8903 (description "This library provides exception safe semaphores that can be
8904used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8905are not exception safe and can be broken by @code{killThread}.")
8906 (license license:bsd-3)))
8907
8908(define-public ghc-sandi
8909 (package
8910 (name "ghc-sandi")
8911 (version "0.4.2")
8912 (source
8913 (origin
8914 (method url-fetch)
8915 (uri (string-append
8916 "https://hackage.haskell.org/package/sandi/sandi-"
8917 version ".tar.gz"))
8918 (sha256
8919 (base32
8920 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8921 (build-system haskell-build-system)
8922 (inputs
8923 `(("ghc-stringsearch" ,ghc-stringsearch)
8924 ("ghc-conduit" ,ghc-conduit)
8925 ("ghc-exceptions" ,ghc-exceptions)
8926 ("ghc-hunit" ,ghc-hunit)
8927 ("ghc-tasty" ,ghc-tasty)
8928 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8929 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8930 ("ghc-tasty-th" ,ghc-tasty-th)))
8931 (home-page "https://hackage.haskell.org/package/sandi")
8932 (synopsis "Data encoding library")
8933 (description "Reasonably fast data encoding library.")
8934 (license license:bsd-3)))
8935
8936(define-public ghc-scientific
8937 (package
8938 (name "ghc-scientific")
8939 (version "0.3.6.2")
8940 (source
8941 (origin
8942 (method url-fetch)
8943 (uri (string-append
8944 "https://hackage.haskell.org/package/scientific/scientific-"
8945 version
8946 ".tar.gz"))
8947 (sha256
8948 (base32
8949 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8950 (build-system haskell-build-system)
8951 (inputs
8952 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8953 ("ghc-hashable" ,ghc-hashable)
8954 ("ghc-primitive" ,ghc-primitive)))
8955 (native-inputs
8956 `(("ghc-tasty" ,ghc-tasty)
8957 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8958 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8959 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8960 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8961 ("ghc-smallcheck" ,ghc-smallcheck)
8962 ("ghc-quickcheck" ,ghc-quickcheck)))
8963 (home-page "https://github.com/basvandijk/scientific")
8964 (synopsis "Numbers represented using scientific notation")
8965 (description "This package provides @code{Data.Scientific}, which provides
8966the number type @code{Scientific}. Scientific numbers are arbitrary precision
8967and space efficient. They are represented using
8968@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8969notation}.")
8970 (license license:bsd-3)))
8971
8972(define-public ghc-scientific-bootstrap
8973 (package
8974 (inherit ghc-scientific)
8975 (name "ghc-scientific-bootstrap")
8976 (arguments `(#:tests? #f))
8977 (inputs
8978 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8979 ("ghc-hashable" ,ghc-hashable)
8980 ("ghc-primitive" ,ghc-primitive)))
8981 (native-inputs '())
799d8d3c 8982 (properties '((hidden? #t)))))
dddbc90c
RV
8983
8984(define-public ghc-sdl
8985 (package
8986 (name "ghc-sdl")
8987 (version "0.6.7.0")
8988 (source
8989 (origin
8990 (method url-fetch)
8991 (uri (string-append
8992 "https://hackage.haskell.org/package/SDL/SDL-"
8993 version
8994 ".tar.gz"))
8995 (sha256
8996 (base32
8997 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8998 (build-system haskell-build-system)
8999 (inputs
9000 `(("sdl" ,sdl)))
9001 (home-page "https://hackage.haskell.org/package/SDL")
9002 (synopsis "LibSDL for Haskell")
9003 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
9004multimedia library designed to provide low level access to audio, keyboard,
9005mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
9006by MPEG playback software, emulators, and many popular games, including the
9007award winning Linux port of \"Civilization: Call To Power.\"")
9008 (license license:bsd-3)))
9009
1874cdc1
RV
9010(define-public ghc-sdl2
9011 (package
9012 (name "ghc-sdl2")
9013 (version "2.4.1.0")
9014 (source
9015 (origin
9016 (method url-fetch)
9017 (uri (string-append "https://hackage.haskell.org/package/"
9018 "sdl2/sdl2-" version ".tar.gz"))
9019 (sha256
9020 (base32
9021 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
9022 (build-system haskell-build-system)
9023 (arguments '(#:tests? #f)) ; tests require graphical environment
9024 (inputs
9025 `(("ghc-exceptions" ,ghc-exceptions)
9026 ("ghc-linear" ,ghc-linear)
9027 ("ghc-statevar" ,ghc-statevar)
9028 ("ghc-vector" ,ghc-vector)
9029 ("sdl2" ,sdl2)))
9030 (native-inputs
9031 `(("ghc-weigh" ,ghc-weigh)
9032 ("pkg-config" ,pkg-config)))
9033 (home-page "http://hackage.haskell.org/package/sdl2")
9034 (synopsis "High- and low-level bindings to the SDL library")
9035 (description
9036 "This package contains bindings to the SDL 2 library, in both high- and
9037low-level forms. The @code{SDL} namespace contains high-level bindings, where
9038enumerations are split into sum types, and we perform automatic
9039error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
9040translation of the C API into Haskell FFI calls. As such, this does not
9041contain sum types nor error checking. Thus this namespace is suitable for
9042building your own abstraction over SDL, but is not recommended for day-to-day
9043programming.")
9044 (license license:bsd-3)))
9045
9046(define-public ghc-sdl2-image
9047 (package
9048 (name "ghc-sdl2-image")
9049 (version "2.0.0")
9050 (source
9051 (origin
9052 (method url-fetch)
9053 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
9054 "sdl2-image-" version ".tar.gz"))
9055 (sha256
9056 (base32
9057 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
9058 (build-system haskell-build-system)
9059 (inputs
9060 `(("ghc-sdl2" ,ghc-sdl2)
9061 ("sdl2-image" ,sdl2-image)))
9062 (native-inputs
9063 `(("pkg-config" ,pkg-config)))
9064 (home-page "http://hackage.haskell.org/package/sdl2-image")
9065 (synopsis "Bindings to SDL2_image")
9066 (description "This package provides Haskell bindings to
9067@code{SDL2_image}.")
9068 (license license:expat)))
9069
9070(define-public ghc-sdl2-mixer
9071 (package
9072 (name "ghc-sdl2-mixer")
9073 (version "1.1.0")
9074 (source
9075 (origin
9076 (method url-fetch)
9077 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
9078 "sdl2-mixer-" version ".tar.gz"))
9079 (sha256
9080 (base32
9081 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
9082 (build-system haskell-build-system)
9083 (inputs
9084 `(("ghc-data-default-class" ,ghc-data-default-class)
9085 ("ghc-lifted-base" ,ghc-lifted-base)
9086 ("ghc-monad-control" ,ghc-monad-control)
9087 ("ghc-sdl2" ,ghc-sdl2)
9088 ("ghc-vector" ,ghc-vector)
9089 ("sdl2-mixer" ,sdl2-mixer)))
9090 (native-inputs
9091 `(("pkg-config" ,pkg-config)))
9092 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
9093 (synopsis "Bindings to SDL2 mixer")
9094 (description "This package provides Haskell bindings to
9095@code{SDL2_mixer}.")
9096 (license license:bsd-3)))
9097
dddbc90c
RV
9098(define-public ghc-sdl-image
9099 (package
9100 (name "ghc-sdl-image")
9101 (version "0.6.2.0")
9102 (source
9103 (origin
9104 (method url-fetch)
9105 (uri (string-append
9106 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
9107 version
9108 ".tar.gz"))
9109 (sha256
9110 (base32
9111 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
9112 (build-system haskell-build-system)
9113 (arguments
9114 `(#:configure-flags
9115 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
9116 (sdl-image-include (string-append sdl-image "/include/SDL")))
9117 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
9118 (inputs
9119 `(("ghc-sdl" ,ghc-sdl)
9120 ("sdl-image" ,sdl-image)))
9121 (home-page "https://hackage.haskell.org/package/SDL-image")
9122 (synopsis "Haskell bindings to libSDL_image")
9123 (description "SDL_image is an image file loading library. It loads images
9124as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
9125PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
9126 (license license:bsd-3)))
9127
9128(define-public ghc-sdl-mixer
9129 (package
9130 (name "ghc-sdl-mixer")
9131 (version "0.6.3.0")
9132 (source
9133 (origin
9134 (method url-fetch)
9135 (uri (string-append
9136 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
9137 version
9138 ".tar.gz"))
9139 (sha256
9140 (base32
9141 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
9142 (build-system haskell-build-system)
9143 (arguments
9144 `(#:configure-flags
9145 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
9146 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
9147 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
9148 (inputs
9149 `(("ghc-sdl" ,ghc-sdl)
9150 ("sdl-mixer" ,sdl-mixer)))
9151 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9152 (synopsis "Haskell bindings to libSDL_mixer")
9153 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9154supports any number of simultaneously playing channels of 16 bit stereo audio,
9155plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9156MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9157 (license license:bsd-3)))
9158
9159(define-public ghc-securemem
9160 (package
9161 (name "ghc-securemem")
9162 (version "0.1.10")
9163 (source
9164 (origin
9165 (method url-fetch)
9166 (uri (string-append "https://hackage.haskell.org/package/"
9167 "securemem-" version "/"
9168 "securemem-" version ".tar.gz"))
9169 (sha256
9170 (base32
9171 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9172 (build-system haskell-build-system)
9173 (inputs `(("ghc-byteable" ,ghc-byteable)
9174 ("ghc-memory" ,ghc-memory)))
9175 (home-page "https://github.com/vincenthz/hs-securemem")
9176 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9177Haskell")
9178 (description "SecureMem is similar to ByteString, except that it provides
9179a memory chunk that will be auto-scrubbed after it run out of scope.")
9180 (license license:bsd-3)))
9181
9182(define-public ghc-semigroupoids
9183 (package
9184 (name "ghc-semigroupoids")
a8aaadf2 9185 (version "5.3.3")
dddbc90c
RV
9186 (source
9187 (origin
9188 (method url-fetch)
9189 (uri (string-append
9190 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9191 version
9192 ".tar.gz"))
9193 (sha256
9194 (base32
a8aaadf2 9195 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 9196 (build-system haskell-build-system)
dddbc90c
RV
9197 (inputs
9198 `(("ghc-base-orphans" ,ghc-base-orphans)
9199 ("ghc-transformers-compat" ,ghc-transformers-compat)
9200 ("ghc-bifunctors" ,ghc-bifunctors)
9201 ("ghc-comonad" ,ghc-comonad)
9202 ("ghc-contravariant" ,ghc-contravariant)
9203 ("ghc-distributive" ,ghc-distributive)
9204 ("ghc-hashable" ,ghc-hashable)
9205 ("ghc-semigroups" ,ghc-semigroups)
9206 ("ghc-tagged" ,ghc-tagged)
9207 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9208 (native-inputs
9209 `(("cabal-doctest" ,cabal-doctest)
9210 ("ghc-doctest" ,ghc-doctest)))
9211 (home-page "https://github.com/ekmett/semigroupoids")
9212 (synopsis "Semigroupoids operations for Haskell")
9213 (description "This library provides a wide array of (semi)groupoids and
9214operations for working with them. A @code{Semigroupoid} is a @code{Category}
9215without the requirement of identity arrows for every object in the category.
9216A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9217Finally, to work with these weaker structures it is beneficial to have
9218containers that can provide stronger guarantees about their contents, so
9219versions of @code{Traversable} and @code{Foldable} that can be folded with
9220just a @code{Semigroup} are added.")
9221 (license license:bsd-3)))
9222
9223(define-public ghc-semigroups
9224 (package
9225 (name "ghc-semigroups")
9226 (version "0.18.5")
9227 (source
9228 (origin
9229 (method url-fetch)
9230 (uri (string-append
9231 "https://hackage.haskell.org/package/semigroups/semigroups-"
9232 version
9233 ".tar.gz"))
9234 (sha256
9235 (base32
9236 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9237 (build-system haskell-build-system)
9238 (inputs
9239 `(("ghc-nats" ,ghc-nats)
9240 ("ghc-tagged" ,ghc-tagged)
9241 ("ghc-unordered-containers" ,ghc-unordered-containers)
9242 ("ghc-hashable" ,ghc-hashable)))
9243 (home-page "https://github.com/ekmett/semigroups/")
9244 (synopsis "Semigroup operations for Haskell")
9245 (description "This package provides semigroups for Haskell. In
9246mathematics, a semigroup is an algebraic structure consisting of a set
9247together with an associative binary operation. A semigroup generalizes a
9248monoid in that there might not exist an identity element. It
9249also (originally) generalized a group (a monoid with all inverses) to a type
9250where every element did not have to have an inverse, thus the name
9251semigroup.")
9252 (license license:bsd-3)))
9253
9254(define-public ghc-semigroups-bootstrap
9255 (package
9256 (inherit ghc-semigroups)
9257 (name "ghc-semigroups-bootstrap")
9258 (inputs
9259 `(("ghc-nats" ,ghc-nats-bootstrap)
9260 ("ghc-tagged" ,ghc-tagged)
9261 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9262 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9263 (properties '((hidden? #t)))))
dddbc90c
RV
9264
9265(define-public ghc-setenv
9266 (package
9267 (name "ghc-setenv")
9268 (version "0.1.1.3")
9269 (source
9270 (origin
9271 (method url-fetch)
9272 (uri (string-append
9273 "https://hackage.haskell.org/package/setenv/setenv-"
9274 version
9275 ".tar.gz"))
9276 (sha256
9277 (base32
9278 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9279 (build-system haskell-build-system)
9280 (home-page "https://hackage.haskell.org/package/setenv")
9281 (synopsis "Library for setting environment variables")
9282 (description "This package provides a Haskell library for setting
9283environment variables.")
9284 (license license:expat)))
9285
9286(define-public ghc-setlocale
9287 (package
9288 (name "ghc-setlocale")
9d7cfc9b 9289 (version "1.0.0.9")
dddbc90c
RV
9290 (source (origin
9291 (method url-fetch)
9292 (uri (string-append
9293 "https://hackage.haskell.org/package/setlocale-"
9294 version "/setlocale-" version ".tar.gz"))
9295 (sha256
9296 (base32
9d7cfc9b 9297 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9298 (build-system haskell-build-system)
9299 (home-page "https://hackage.haskell.org/package/setlocale")
9300 (synopsis "Haskell bindings to setlocale")
9301 (description "This package provides Haskell bindings to the
9302@code{setlocale} C function.")
9303 (license license:bsd-3)))
9304
9305(define-public ghc-shakespeare
9306 (package
9307 (name "ghc-shakespeare")
f680955f 9308 (version "2.0.22")
dddbc90c
RV
9309 (source
9310 (origin
9311 (method url-fetch)
9312 (uri (string-append "https://hackage.haskell.org/package/"
9313 "shakespeare-" version "/"
9314 "shakespeare-" version ".tar.gz"))
9315 (sha256
9316 (base32
f680955f 9317 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
9318 (build-system haskell-build-system)
9319 (inputs `(("ghc-aeson" ,ghc-aeson)
9320 ("ghc-blaze-markup" ,ghc-blaze-markup)
9321 ("ghc-blaze-html" ,ghc-blaze-html)
9322 ("ghc-exceptions" ,ghc-exceptions)
9323 ("ghc-vector" ,ghc-vector)
9324 ("ghc-unordered-containers" ,ghc-unordered-containers)
9325 ("ghc-scientific" ,ghc-scientific)))
9326 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9327 ("ghc-hunit" ,ghc-hunit)
9328 ("hspec-discover" ,hspec-discover)))
9329 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9330 (synopsis "Family of type-safe template languages for Haskell")
9331 (description "This Haskell package provides a family of type-safe
9332templates with simple variable interpolation. Shakespeare templates can
9333be used inline with a quasi-quoter or in an external file and it
9334interpolates variables according to the type being inserted.")
9335 (license license:expat)))
9336
9337(define-public ghc-shelly
9338 (package
9339 (name "ghc-shelly")
9340 (version "1.8.1")
9341 (source
9342 (origin
9343 (method url-fetch)
9344 (uri (string-append
9345 "https://hackage.haskell.org/package/shelly/shelly-"
9346 version ".tar.gz"))
9347 (sha256
9348 (base32
9349 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9350 (build-system haskell-build-system)
9351 (inputs
9352 `(("ghc-unix-compat" ,ghc-unix-compat)
9353 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9354 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9355 ("ghc-monad-control" ,ghc-monad-control)
9356 ("ghc-lifted-base" ,ghc-lifted-base)
9357 ("ghc-lifted-async" ,ghc-lifted-async)
9358 ("ghc-exceptions" ,ghc-exceptions)
9359 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9360 ("ghc-async" ,ghc-async)
9361 ("ghc-transformers-base" ,ghc-transformers-base)
9362 ("ghc-hunit" ,ghc-hunit)
9363 ("ghc-hspec" ,ghc-hspec)
9364 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9365 (home-page "https://github.com/yesodweb/Shelly.hs")
9366 (synopsis "Shell-like (systems) programming in Haskell")
9367 (description
9368 "Shelly provides convenient systems programming in Haskell, similar in
9369spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9370 (license license:bsd-3)))
9371
9372(define-public ghc-silently
9373 (package
9374 (name "ghc-silently")
544bb369 9375 (version "1.2.5.1")
dddbc90c
RV
9376 (source
9377 (origin
9378 (method url-fetch)
9379 (uri (string-append
9380 "https://hackage.haskell.org/package/silently/silently-"
9381 version
9382 ".tar.gz"))
9383 (sha256
9384 (base32
544bb369 9385 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9386 (build-system haskell-build-system)
9387 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9388 ;; (inputs
9389 ;; `(("ghc-temporary" ,ghc-temporary)))
9390 (home-page "https://github.com/hspec/silently")
9391 (synopsis "Prevent writing to stdout")
9392 (description "This package provides functions to prevent or capture
9393writing to stdout and other handles.")
9394 (license license:bsd-3)))
9395
9396(define-public ghc-simple-reflect
9397 (package
9398 (name "ghc-simple-reflect")
9399 (version "0.3.3")
9400 (source
9401 (origin
9402 (method url-fetch)
9403 (uri (string-append
9404 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9405 version
9406 ".tar.gz"))
9407 (sha256
9408 (base32
9409 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9410 (build-system haskell-build-system)
9411 (home-page
9412 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9413 (synopsis
9414 "Simple reflection of expressions containing variables")
9415 (description
9416 "This package allows simple reflection of expressions containing
9417variables. Reflection here means that a Haskell expression is turned into a
9418string. The primary aim of this package is teaching and understanding; there
9419are no options for manipulating the reflected expressions beyond showing
9420them.")
9421 (license license:bsd-3)))
9422
9423(define-public ghc-simple-sendfile
9424 (package
9425 (name "ghc-simple-sendfile")
9426 (version "0.2.27")
9427 (source
9428 (origin
9429 (method url-fetch)
9430 (uri (string-append "https://hackage.haskell.org/package/"
9431 "simple-sendfile-" version "/"
9432 "simple-sendfile-" version ".tar.gz"))
9433 (sha256
9434 (base32
9435 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9436 (build-system haskell-build-system)
9437 (inputs
9438 `(("ghc-conduit" ,ghc-conduit)
9439 ("ghc-conduit-extra" ,ghc-conduit-extra)
9440 ("ghc-network" ,ghc-network)
9441 ("ghc-resourcet" ,ghc-resourcet)))
9442 (native-inputs
9443 `(("ghc-hspec" ,ghc-hspec)
9444 ("hspec-discover" ,hspec-discover)))
9445 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9446 (synopsis "Cross platform library for the sendfile system call")
9447 (description "This library tries to call minimum system calls which
9448are the bottleneck of web servers.")
9449 (license license:bsd-3)))
9450
9451(define-public ghc-skylighting-core
9452 (package
9453 (name "ghc-skylighting-core")
1826c2a8 9454 (version "0.8.2.1")
dddbc90c
RV
9455 (source (origin
9456 (method url-fetch)
9457 (uri (string-append "https://hackage.haskell.org/package/"
9458 "skylighting-core/skylighting-core-"
9459 version ".tar.gz"))
9460 (sha256
9461 (base32
1826c2a8 9462 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
9463 (build-system haskell-build-system)
9464 (inputs
9465 `(("ghc-aeson" ,ghc-aeson)
9466 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9467 ("ghc-attoparsec" ,ghc-attoparsec)
9468 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9469 ("ghc-blaze-html" ,ghc-blaze-html)
9470 ("ghc-case-insensitive" ,ghc-case-insensitive)
9471 ("ghc-colour" ,ghc-colour)
9472 ("ghc-hxt" ,ghc-hxt)
9473 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9474 ("ghc-safe" ,ghc-safe)
9475 ("ghc-utf8-string" ,ghc-utf8-string)))
9476 (native-inputs
9477 `(("ghc-diff" ,ghc-diff)
9478 ("ghc-hunit" ,ghc-hunit)
9479 ("ghc-pretty-show" ,ghc-pretty-show)
9480 ("ghc-quickcheck" ,ghc-quickcheck)
9481 ("ghc-tasty" ,ghc-tasty)
9482 ("ghc-tasty-golden" ,ghc-tasty-golden)
9483 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9484 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9485 (home-page "https://github.com/jgm/skylighting")
9486 (synopsis "Syntax highlighting library")
9487 (description "Skylighting is a syntax highlighting library with support
9488for over one hundred languages. It derives its tokenizers from XML syntax
9489definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9490supported by that framework can be added. An optional command-line program is
9491provided. Skylighting is intended to be the successor to highlighting-kate.")
9492 (license license:gpl2)))
9493
9494(define-public ghc-skylighting
9495 (package
9496 (inherit ghc-skylighting-core)
9497 (name "ghc-skylighting")
36c940cf 9498 (version "0.8.2.1")
dddbc90c
RV
9499 (source (origin
9500 (method url-fetch)
9501 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9502 version "/skylighting-" version ".tar.gz"))
9503 (sha256
9504 (base32
36c940cf 9505 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
9506 (inputs
9507 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9508 ,@(package-inputs ghc-skylighting-core)))))
9509
9510(define-public ghc-smallcheck
9511 (package
9512 (name "ghc-smallcheck")
9513 (version "1.1.5")
9514 (source
9515 (origin
9516 (method url-fetch)
9517 (uri (string-append
9518 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9519 version
9520 ".tar.gz"))
9521 (sha256
9522 (base32
9523 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9524 (build-system haskell-build-system)
9525 (inputs
9526 `(("ghc-logict" ,ghc-logict)))
9527 (home-page
9528 "https://github.com/feuerbach/smallcheck")
9529 (synopsis "Property-based testing library")
9530 (description "SmallCheck is a testing library that allows to verify
9531properties for all test cases up to some depth. The test cases are generated
9532automatically by SmallCheck.")
9533 (license license:bsd-3)))
9534
9535(define-public ghc-socks
9536 (package
9537 (name "ghc-socks")
ab761e9d 9538 (version "0.6.1")
dddbc90c
RV
9539 (source (origin
9540 (method url-fetch)
9541 (uri (string-append "https://hackage.haskell.org/package/"
9542 "socks/socks-" version ".tar.gz"))
9543 (sha256
9544 (base32
ab761e9d 9545 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
9546 (build-system haskell-build-system)
9547 (inputs
9548 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 9549 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
9550 ("ghc-network" ,ghc-network)))
9551 (home-page "https://github.com/vincenthz/hs-socks")
9552 (synopsis "SOCKS proxy (version 5) implementation")
9553 (description
9554 "This library provides a SOCKS proxy (version 5) implementation.")
9555 (license license:bsd-3)))
9556
081d85d6
TS
9557(define-public ghc-sop-core
9558 (package
9559 (name "ghc-sop-core")
9560 (version "0.4.0.0")
9561 (source
9562 (origin
9563 (method url-fetch)
9564 (uri (string-append "https://hackage.haskell.org/package/"
9565 "sop-core/sop-core-" version ".tar.gz"))
9566 (sha256
9567 (base32
9568 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9569 (build-system haskell-build-system)
9570 (home-page "http://hackage.haskell.org/package/sop-core")
9571 (synopsis "True Sums of Products")
9572 (description "This package provides an implementation of
9573@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9574is the main module of this library and contains more detailed
9575documentation. The main use case of this package is to serve as the
9576core of @url{https://hackage.haskell.org/package/generics-sop,
9577generics-sop}.")
9578 (license license:bsd-3)))
9579
dddbc90c
RV
9580(define-public ghc-split
9581 (package
9582 (name "ghc-split")
9583 (version "0.2.3.3")
9584 (outputs '("out" "doc"))
9585 (source
9586 (origin
9587 (method url-fetch)
9588 (uri (string-append
9589 "https://hackage.haskell.org/package/split/split-"
9590 version
9591 ".tar.gz"))
9592 (sha256
9593 (base32
9594 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9595 (build-system haskell-build-system)
9bbc21a7
TS
9596 (arguments
9597 `(#:cabal-revision
9598 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
9599 (native-inputs
9600 `(("ghc-quickcheck" ,ghc-quickcheck)))
9601 (home-page "https://hackage.haskell.org/package/split")
9602 (synopsis "Combinator library for splitting lists")
9603 (description "This package provides a collection of Haskell functions for
9604splitting lists into parts, akin to the @code{split} function found in several
9605mainstream languages.")
9606 (license license:bsd-3)))
9607
7799d17f 9608(define-public ghc-splitmix
49367c92 9609 (package
7799d17f 9610 (name "ghc-splitmix")
49367c92
TS
9611 (version "0.0.3")
9612 (source
9613 (origin
9614 (method url-fetch)
9615 (uri (string-append "https://hackage.haskell.org/package/"
9616 "splitmix/splitmix-" version ".tar.gz"))
9617 (sha256
9618 (base32
9619 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 9620 (build-system haskell-build-system)
49367c92
TS
9621 (inputs
9622 `(("ghc-random" ,ghc-random)))
7799d17f
TS
9623 (native-inputs
9624 `(("ghc-hunit" ,ghc-hunit)
9625 ("ghc-async" ,ghc-async)
9626 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
9627 ("ghc-tf-random" ,ghc-tf-random)
9628 ("ghc-vector" ,ghc-vector)))
49367c92
TS
9629 (home-page "http://hackage.haskell.org/package/splitmix")
9630 (synopsis "Fast and splittable pseudorandom number generator")
9631 (description "This package provides a Pure Haskell implementation of the
9632SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
9633pseudorandom number generator that is quite fast: 9 64-bit
9634arithmetic/logical operations per 64 bits generated. SplitMix is tested
9635with two standard statistical test suites (DieHarder and TestU01, this
9636implementation only using the former) and it appears to be adequate for
9637\"everyday\" use, such as Monte Carlo algorithms and randomized data
9638structures where speed is important. In particular, it @strong{should not
9639be used for cryptographic or security applications}, because generated
9640sequences of pseudorandom values are too predictable (the mixing functions
9641are easily inverted, and two successive outputs suffice to reconstruct the
9642internal state).")
9643 (license license:bsd-3)))
9644
7799d17f
TS
9645(define-public ghc-splitmix-bootstrap
9646 (package
9647 (inherit ghc-splitmix)
9648 (name "ghc-splitmix-bootstrap")
9649 (arguments `(#:tests? #f))
9650 (native-inputs '())
9651 (properties '((hidden? #t)))))
9652
dddbc90c
RV
9653(define-public ghc-statevar
9654 (package
9655 (name "ghc-statevar")
19419709 9656 (version "1.2")
dddbc90c
RV
9657 (source
9658 (origin
9659 (method url-fetch)
9660 (uri (string-append
9661 "https://hackage.haskell.org/package/StateVar/StateVar-"
9662 version
9663 ".tar.gz"))
9664 (sha256
9665 (base32
19419709 9666 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9667 (build-system haskell-build-system)
9668 (home-page "https://hackage.haskell.org/package/StateVar")
9669 (synopsis "State variables for Haskell")
9670 (description "This package provides state variables, which are references
9671in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9672 (license license:bsd-3)))
9673
9674(define-public ghc-statistics
9675 (package
9676 (name "ghc-statistics")
60e78e68 9677 (version "0.15.1.1")
dddbc90c
RV
9678 (source
9679 (origin
9680 (method url-fetch)
9681 (uri (string-append "https://hackage.haskell.org/package/"
9682 "statistics-" version "/"
9683 "statistics-" version ".tar.gz"))
9684 (sha256
9685 (base32
60e78e68 9686 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
9687 (build-system haskell-build-system)
9688 (arguments
60e78e68 9689 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
9690 #:tests? #f))
9691 (inputs
9692 `(("ghc-aeson" ,ghc-aeson)
60e78e68 9693 ("ghc-async" ,ghc-async)
dddbc90c 9694 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 9695 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
9696 ("ghc-math-functions" ,ghc-math-functions)
9697 ("ghc-monad-par" ,ghc-monad-par)
9698 ("ghc-mwc-random" ,ghc-mwc-random)
9699 ("ghc-primitive" ,ghc-primitive)
9700 ("ghc-vector" ,ghc-vector)
9701 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9702 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9703 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9704 (native-inputs
9705 `(("ghc-hunit" ,ghc-hunit)
9706 ("ghc-quickcheck" ,ghc-quickcheck)
9707 ("ghc-ieee754" ,ghc-ieee754)
9708 ("ghc-test-framework" ,ghc-test-framework)
9709 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9710 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9711 (home-page "https://github.com/bos/mwc-random")
9712 (synopsis "Haskell library of statistical types, data, and functions")
9713 (description "This library provides a number of common functions
9714and types useful in statistics. We focus on high performance, numerical
9715robustness, and use of good algorithms. Where possible, we provide references
9716to the statistical literature.
9717
9718The library's facilities can be divided into four broad categories:
9719
9720@itemize
9721@item Working with widely used discrete and continuous probability
9722distributions. (There are dozens of exotic distributions in use; we focus
9723on the most common.)
9724
9725@item Computing with sample data: quantile estimation, kernel density
9726estimation, histograms, bootstrap methods, significance testing,
9727and regression and autocorrelation analysis.
9728
9729@item Random variate generation under several different distributions.
9730
9731@item Common statistical tests for significant differences between samples.
9732@end itemize")
9733 (license license:bsd-2)))
9734
9735(define-public ghc-stm-chans
9736 (package
9737 (name "ghc-stm-chans")
9738 (version "3.0.0.4")
9739 (source
9740 (origin
9741 (method url-fetch)
9742 (uri (string-append "https://hackage.haskell.org/package/"
9743 "stm-chans-" version "/"
9744 "stm-chans-" version ".tar.gz"))
9745 (sha256
9746 (base32
9747 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9748 (build-system haskell-build-system)
9749 (home-page "https://hackage.haskell.org/package/stm-chans")
9750 (synopsis "Additional types of channels for ghc-stm")
9751 (description "This Haskell package offers a collection of channel types,
9752similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9753features.")
9754 (license license:bsd-3)))
9755
9756(define-public ghc-stm-conduit
9757 (package
9758 (name "ghc-stm-conduit")
9759 (version "4.0.0")
9760 (source
9761 (origin
9762 (method url-fetch)
9763 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9764 "stm-conduit-" version ".tar.gz"))
9765 (sha256
9766 (base32
9767 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9768 (build-system haskell-build-system)
9769 (inputs
9770 `(("ghc-stm-chans" ,ghc-stm-chans)
9771 ("ghc-cereal" ,ghc-cereal)
9772 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9773 ("ghc-conduit" ,ghc-conduit)
9774 ("ghc-conduit-extra" ,ghc-conduit-extra)
9775 ("ghc-exceptions" ,ghc-exceptions)
9776 ("ghc-resourcet" ,ghc-resourcet)
9777 ("ghc-async" ,ghc-async)
9778 ("ghc-monad-loops" ,ghc-monad-loops)
9779 ("ghc-unliftio" ,ghc-unliftio)))
9780 (native-inputs
9781 `(("ghc-doctest" ,ghc-doctest)
9782 ("ghc-quickcheck" ,ghc-quickcheck)
9783 ("ghc-hunit" ,ghc-hunit)
9784 ("ghc-test-framework" ,ghc-test-framework)
9785 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9786 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9787 (home-page "https://github.com/cgaebel/stm-conduit")
9788 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9789 (description
9790 "This package provides two simple conduit wrappers around STM channels: a
9791source and a sink.")
9792 (license license:bsd-3)))
9793
9794(define-public ghc-stmonadtrans
9795 (package
9796 (name "ghc-stmonadtrans")
9797 (version "0.4.3")
9798 (source
9799 (origin
9800 (method url-fetch)
9801 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9802 "/STMonadTrans-" version ".tar.gz"))
9803 (sha256
9804 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9805 (build-system haskell-build-system)
9806 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9807 (synopsis "Monad transformer version of the ST monad")
9808 (description
9809 "This package provides a monad transformer version of the @code{ST} monad
9810for strict state threads.")
9811 (license license:bsd-3)))
9812
9813(define-public ghc-storable-complex
9814 (package
9815 (name "ghc-storable-complex")
4a35e3c3 9816 (version "0.2.3.0")
dddbc90c
RV
9817 (source
9818 (origin
9819 (method url-fetch)
9820 (uri (string-append
9821 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9822 version ".tar.gz"))
9823 (sha256
4a35e3c3 9824 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 9825 (build-system haskell-build-system)
4a35e3c3
TS
9826 (inputs
9827 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
9828 (home-page "https://github.com/cartazio/storable-complex")
9829 (synopsis "Haskell Storable instance for Complex")
9830 (description "This package provides a Haskell library including a
9831Storable instance for Complex which is binary compatible with C99, C++
9832and Fortran complex data types.")
9833 (license license:bsd-3)))
9834
ad80074a
JS
9835(define-public ghc-storable-record
9836 (package
9837 (name "ghc-storable-record")
9838 (version "0.0.4")
9839 (source
9840 (origin
9841 (method url-fetch)
9842 (uri
9843 (string-append
9844 "https://hackage.haskell.org/package/storable-record/"
9845 "storable-record-" version ".tar.gz"))
9846 (sha256
9847 (base32
9848 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9849 (build-system haskell-build-system)
9850 (inputs
9851 `(("ghc-semigroups" ,ghc-semigroups)
9852 ("ghc-utility-ht" ,ghc-utility-ht)
9853 ("ghc-storablevector" ,ghc-storablevector)
9854 ("ghc-timeit" ,ghc-timeit)))
9855 (home-page "https://hackage.haskell.org/package/storable-record")
9856 (synopsis "Elegant definition of Storable instances for records")
9857 (description "With this package you can build a Storable instance of
9858a record type from Storable instances of its elements in an elegant way.
9859It does not do any magic, just a bit arithmetic to compute the right
9860offsets, that would be otherwise done manually or by a preprocessor like
9861C2HS. There is no guarantee that the generated memory layout is
9862compatible with that of a corresponding C struct. However, the module
9863generates the smallest layout that is possible with respect to the
9864alignment of the record elements.")
9865 (license license:bsd-3)))
9866
55f4c653
JS
9867(define-public ghc-storable-tuple
9868 (package
9869 (name "ghc-storable-tuple")
9870 (version "0.0.3.3")
9871 (source
9872 (origin
9873 (method url-fetch)
9874 (uri
9875 (string-append
9876 "https://hackage.haskell.org/package/storable-tuple/"
9877 "storable-tuple-" version ".tar.gz"))
9878 (sha256
9879 (base32
9880 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9881 (build-system haskell-build-system)
9882 (inputs
9883 `(("ghc-storable-record" ,ghc-storable-record)
9884 ("ghc-utility-ht" ,ghc-utility-ht)
9885 ("ghc-base-orphans" ,ghc-base-orphans)))
9886 (home-page "https://hackage.haskell.org/package/storable-tuple")
9887 (synopsis "Storable instance for pairs and triples")
9888 (description "This package provides a Storable instance for pairs
9889and triples which should be binary compatible with C99 and C++. The
9890only purpose of this package is to provide a standard location for this
9891instance so that other packages needing this instance can play nicely
9892together.")
9893 (license license:bsd-3)))
9894
bc06ca45
JS
9895(define-public ghc-storablevector
9896 (package
9897 (name "ghc-storablevector")
9898 (version "0.2.13")
9899 (source
9900 (origin
9901 (method url-fetch)
9902 (uri
9903 (string-append
9904 "https://hackage.haskell.org/package/storablevector/storablevector-"
9905 version ".tar.gz"))
9906 (sha256
9907 (base32
9908 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9909 (build-system haskell-build-system)
9910 (inputs
9911 `(("ghc-non-negative" ,ghc-non-negative)
9912 ("ghc-utility-ht" ,ghc-utility-ht)
9913 ("ghc-semigroups" ,ghc-semigroups)
9914 ("ghc-unsafe" ,ghc-unsafe)
9915 ("ghc-quickcheck" ,ghc-quickcheck)
9916 ("ghc-syb" ,ghc-syb)))
9917 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9918 (synopsis "Fast, packed, strict storable arrays with a list interface")
9919 (description "This library provides fast, packed, strict storable
9920arrays with a list interface, a chunky lazy list interface with variable
9921chunk size and an interface for write access via the ST monad. This is
9922much like bytestring and binary but can be used for every
9923@code{Foreign.Storable.Storable} type. See also
9924@url{http://hackage.haskell.org/package/vector}, a library with a
9925similar intention.
9926
9927This library does not do advanced fusion optimization, since especially
9928for lazy vectors this would either be incorrect or not applicable. See
9929@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9930a library that provides fusion with lazy lists.")
9931 (license license:bsd-3)))
9932
dddbc90c
RV
9933(define-public ghc-streaming-commons
9934 (package
9935 (name "ghc-streaming-commons")
9936 (version "0.2.1.1")
9937 (source
9938 (origin
9939 (method url-fetch)
9940 (uri (string-append "https://hackage.haskell.org/package/"
9941 "streaming-commons/streaming-commons-"
9942 version ".tar.gz"))
9943 (sha256
9944 (base32
9945 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9946 (build-system haskell-build-system)
9947 (inputs
9948 `(("ghc-async" ,ghc-async)
9949 ("ghc-blaze-builder" ,ghc-blaze-builder)
9950 ("ghc-network" ,ghc-network)
9951 ("ghc-random" ,ghc-random)
9952 ("ghc-zlib" ,ghc-zlib)))
9953 (native-inputs
9954 `(("ghc-quickcheck" ,ghc-quickcheck)
9955 ("ghc-hspec" ,ghc-hspec)
9956 ("hspec-discover" ,hspec-discover)))
9957 (home-page "https://hackage.haskell.org/package/streaming-commons")
9958 (synopsis "Conduit and pipes needed by some streaming data libraries")
9959 (description "This package provides low-dependency functionality commonly
9960needed by various Haskell streaming data libraries, such as @code{conduit} and
9961@code{pipe}s.")
9962 (license license:expat)))
9963
9964(define-public ghc-strict
9965 (package
9966 (name "ghc-strict")
9967 (version "0.3.2")
9968 (source
9969 (origin
9970 (method url-fetch)
9971 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9972 version ".tar.gz"))
9973 (sha256
9974 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9975 (build-system haskell-build-system)
9976 (home-page "https://hackage.haskell.org/package/strict")
9977 (synopsis "Strict data types and String IO")
9978 (description
9979 "This package provides strict versions of some standard Haskell data
9980types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9981IO operations.")
9982 (license license:bsd-3)))
9983
9984(define-public ghc-stringbuilder
9985 (package
9986 (name "ghc-stringbuilder")
9987 (version "0.5.1")
9988 (source
9989 (origin
9990 (method url-fetch)
9991 (uri (string-append
9992 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9993 version
9994 ".tar.gz"))
9995 (sha256
9996 (base32
9997 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9998 (build-system haskell-build-system)
9999 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
10000 ; enabled
10001 (home-page "https://hackage.haskell.org/package/stringbuilder")
10002 (synopsis "Writer monad for multi-line string literals")
10003 (description "This package provides a writer monad for multi-line string
10004literals.")
10005 (license license:expat)))
10006
10007(define-public ghc-string-qq
10008 (package
10009 (name "ghc-string-qq")
4d6fddc3 10010 (version "0.0.4")
dddbc90c
RV
10011 (source
10012 (origin
10013 (method url-fetch)
10014 (uri (string-append
10015 "https://hackage.haskell.org/package/string-qq/string-qq-"
10016 version
10017 ".tar.gz"))
10018 (sha256
10019 (base32
4d6fddc3 10020 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 10021 (build-system haskell-build-system)
4d6fddc3
TS
10022 (native-inputs
10023 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
10024 (home-page "http://hackage.haskell.org/package/string-qq")
10025 (synopsis
10026 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
10027 (description
10028 "This package provides a quasiquoter for non-interpolated strings, texts
10029and bytestrings.")
10030 (license license:public-domain)))
10031
10032(define-public ghc-stringsearch
10033 (package
10034 (name "ghc-stringsearch")
10035 (version "0.3.6.6")
10036 (source
10037 (origin
10038 (method url-fetch)
10039 (uri (string-append
10040 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
10041 version
10042 ".tar.gz"))
10043 (sha256
10044 (base32
10045 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
10046 (build-system haskell-build-system)
e2303abb
TS
10047 (arguments
10048 `(#:cabal-revision
10049 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
10050 (home-page "https://bitbucket.org/dafis/stringsearch")
10051 (synopsis "Fast searching, splitting and replacing of ByteStrings")
10052 (description "This package provides several functions to quickly search
10053for substrings in strict or lazy @code{ByteStrings}. It also provides
10054functions for breaking or splitting on substrings and replacing all
10055occurrences of a substring (the first in case of overlaps) with another.")
10056 (license license:bsd-3)))
10057
10058(define-public ghc-stylish-haskell
10059 (package
10060 (name "ghc-stylish-haskell")
10061 (version "0.9.2.1")
10062 (source
10063 (origin
10064 (method url-fetch)
10065 (uri (string-append
10066 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
10067 version
10068 ".tar.gz"))
10069 (sha256
10070 (base32
10071 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
10072 (build-system haskell-build-system)
10073 (inputs
10074 `(("ghc-aeson" ,ghc-aeson)
10075 ("ghc-file-embed" ,ghc-file-embed)
10076 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
10077 ("ghc-semigroups" ,ghc-semigroups)
10078 ("ghc-syb" ,ghc-syb)
10079 ("ghc-yaml" ,ghc-yaml)
10080 ("ghc-strict" ,ghc-strict)
10081 ("ghc-optparse-applicative"
10082 ,ghc-optparse-applicative)))
10083 (native-inputs
10084 `(("ghc-hunit" ,ghc-hunit)
10085 ("ghc-test-framework" ,ghc-test-framework)
10086 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10087 (home-page "https://github.com/jaspervdj/stylish-haskell")
10088 (synopsis "Haskell code prettifier")
10089 (description "Stylish-haskell is a Haskell code prettifier. The goal is
10090not to format all of the code in a file, to avoid \"getting in the way\".
10091However, this tool can e.g. clean up import statements and help doing various
10092tasks that get tedious very quickly. It can
10093@itemize
10094@item
10095Align and sort @code{import} statements
10096@item
10097Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
10098pragmas
10099@item
10100Remove trailing whitespaces
10101@item
10102Align branches in @code{case} and fields in records
10103@item
10104Convert line endings (customisable)
10105@item
10106Replace tabs by four spaces (turned off by default)
10107@item
10108Replace some ASCII sequences by their Unicode equivalent (turned off by
10109default)
10110@end itemize")
10111 (license license:bsd-3)))
10112
10113(define-public ghc-syb
10114 (package
10115 (name "ghc-syb")
07d65eef 10116 (version "0.7.1")
dddbc90c
RV
10117 (outputs '("out" "doc"))
10118 (source
10119 (origin
10120 (method url-fetch)
10121 (uri (string-append
10122 "https://hackage.haskell.org/package/syb/syb-"
10123 version
10124 ".tar.gz"))
10125 (sha256
10126 (base32
07d65eef 10127 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
10128 (build-system haskell-build-system)
10129 (inputs
10130 `(("ghc-hunit" ,ghc-hunit)))
10131 (home-page
10132 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
10133 (synopsis "Scrap Your Boilerplate")
10134 (description "This package contains the generics system described in the
10135/Scrap Your Boilerplate/ papers (see
10136@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
10137defines the @code{Data} class of types permitting folding and unfolding of
10138constructor applications, instances of this class for primitive types, and a
10139variety of traversals.")
10140 (license license:bsd-3)))
10141
10142(define-public ghc-system-fileio
10143 (package
10144 (name "ghc-system-fileio")
dcfb99d4 10145 (version "0.3.16.4")
dddbc90c
RV
10146 (source
10147 (origin
10148 (method url-fetch)
10149 (uri (string-append
10150 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10151 version ".tar.gz"))
10152 (sha256
10153 (base32
dcfb99d4 10154 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 10155 (build-system haskell-build-system)
dcfb99d4
TS
10156 (arguments
10157 `(#:phases
10158 (modify-phases %standard-phases
10159 (add-before 'configure 'update-constraints
10160 (lambda _
10161 (substitute* "system-fileio.cabal"
10162 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
10163 #t)))))
dddbc90c
RV
10164 (inputs
10165 `(("ghc-system-filepath" ,ghc-system-filepath)
10166 ("ghc-chell" ,ghc-chell)
10167 ("ghc-temporary" ,ghc-temporary)))
10168 (home-page "https://github.com/fpco/haskell-filesystem")
10169 (synopsis "Consistent file system interaction across GHC versions")
10170 (description
10171 "This is a small wrapper around the directory, unix, and Win32 packages,
10172for use with system-filepath. It provides a consistent API to the various
10173versions of these packages distributed with different versions of GHC.
10174In particular, this library supports working with POSIX files that have paths
10175which can't be decoded in the current locale encoding.")
10176 (license license:expat)))
10177
10178;; See ghc-system-filepath-bootstrap. In addition this package depends on
10179;; ghc-system-filepath.
10180(define ghc-system-fileio-bootstrap
10181 (package
10182 (name "ghc-system-fileio-bootstrap")
10183 (version "0.3.16.3")
10184 (source
10185 (origin
10186 (method url-fetch)
10187 (uri (string-append
10188 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10189 version ".tar.gz"))
10190 (sha256
10191 (base32
10192 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10193 (build-system haskell-build-system)
10194 (arguments
10195 `(#:tests? #f))
10196 (inputs
10197 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
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
10210(define-public ghc-system-filepath
10211 (package
10212 (name "ghc-system-filepath")
10213 (version "0.4.14")
10214 (source
10215 (origin
10216 (method url-fetch)
10217 (uri (string-append
10218 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10219 version ".tar.gz"))
10220 (sha256
10221 (base32
10222 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10223 (build-system haskell-build-system)
10224 ;; FIXME: One of the tests fails:
10225 ;; [ FAIL ] tests.validity.posix
10226 ;; note: seed=7310214548328823169
10227 ;; *** Failed! Falsifiable (after 24 tests):
10228 ;; 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"
10229 (arguments `(#:tests? #f))
10230 (inputs
10231 `(("ghc-chell" ,ghc-chell)
10232 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10233 ("ghc-quickcheck" ,ghc-quickcheck)))
10234 (home-page "https://github.com/fpco/haskell-filesystem")
10235 (synopsis "High-level, byte-based file and directory path manipulations")
10236 (description
10237 "Provides a FilePath datatype and utility functions for operating on it.
10238Unlike the filepath package, this package does not simply reuse String,
10239increasing type safety.")
10240 (license license:expat)))
10241
10242;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10243;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10244;; which depends on ghc-chell and ghc-chell-quickcheck.
10245;; Therefore we bootstrap it with tests disabled.
10246(define ghc-system-filepath-bootstrap
10247 (package
10248 (name "ghc-system-filepath-bootstrap")
10249 (version "0.4.14")
10250 (source
10251 (origin
10252 (method url-fetch)
10253 (uri (string-append
10254 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10255 version ".tar.gz"))
10256 (sha256
10257 (base32
10258 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10259 (build-system haskell-build-system)
10260 (arguments
10261 `(#:tests? #f))
10262 (inputs
10263 `(("ghc-quickcheck" ,ghc-quickcheck)))
10264 (home-page "https://github.com/fpco/haskell-filesystem")
10265 (synopsis "High-level, byte-based file and directory path manipulations")
10266 (description
10267 "Provides a FilePath datatype and utility functions for operating on it.
10268Unlike the filepath package, this package does not simply reuse String,
10269increasing type safety.")
10270 (license license:expat)))
10271
10272
10273(define-public ghc-tagged
10274 (package
10275 (name "ghc-tagged")
f0f3756a 10276 (version "0.8.6")
dddbc90c
RV
10277 (source
10278 (origin
10279 (method url-fetch)
10280 (uri (string-append
10281 "https://hackage.haskell.org/package/tagged/tagged-"
10282 version
10283 ".tar.gz"))
10284 (sha256
10285 (base32
f0f3756a 10286 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10287 (build-system haskell-build-system)
10288 (arguments
10289 `(#:cabal-revision
f0f3756a 10290 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10291 (inputs
10292 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10293 (home-page "https://hackage.haskell.org/package/tagged")
10294 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10295 (description "This library provides phantom types for Haskell 98, to avoid
10296having to unsafely pass dummy arguments.")
10297 (license license:bsd-3)))
10298
10299(define-public ghc-tar
10300 (package
10301 (name "ghc-tar")
ec83929f 10302 (version "0.5.1.1")
dddbc90c
RV
10303 (source
10304 (origin
10305 (method url-fetch)
10306 (uri (string-append
10307 "https://hackage.haskell.org/package/tar/tar-"
10308 version ".tar.gz"))
10309 (sha256
10310 (base32
ec83929f 10311 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10312 (build-system haskell-build-system)
10313 ;; FIXME: 2/24 tests fail.
10314 (arguments `(#:tests? #f))
10315 (inputs
10316 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10317 ("ghc-quickcheck" ,ghc-quickcheck)
10318 ("ghc-tasty" ,ghc-tasty)
10319 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10320 (home-page "https://hackage.haskell.org/package/tar")
10321 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10322 (description
10323 "This library is for working with \\\"@.tar@\\\" archive files.
10324It can read and write a range of common variations of the tar archive format
10325including V7, POSIX USTAR and GNU formats. It provides support for packing and
10326unpacking portable archives. This makes it suitable for distribution but not
10327backup because details like file ownership and exact permissions are not
10328preserved. It also provides features for random access to archive content using
10329an index.")
10330 (license license:bsd-3)))
10331
10332(define-public ghc-temporary
10333 (package
10334 (name "ghc-temporary")
10335 (version "1.3")
10336 (source
10337 (origin
10338 (method url-fetch)
10339 (uri (string-append
10340 "https://hackage.haskell.org/package/temporary/temporary-"
10341 version
10342 ".tar.gz"))
10343 (sha256
10344 (base32
10345 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10346 (build-system haskell-build-system)
10347 (inputs
10348 `(("ghc-exceptions" ,ghc-exceptions)
10349 ("ghc-random" ,ghc-random)))
10350 (native-inputs
10351 `(("ghc-base-compat" ,ghc-base-compat)
10352 ("ghc-tasty" ,ghc-tasty)
10353 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10354 (home-page "https://www.github.com/batterseapower/temporary")
10355 (synopsis "Temporary file and directory support")
10356 (description "The functions for creating temporary files and directories
10357in the Haskelll base library are quite limited. This library just repackages
10358the Cabal implementations of its own temporary file and folder functions so
10359that you can use them without linking against Cabal or depending on it being
10360installed.")
10361 (license license:bsd-3)))
10362
10363(define-public ghc-temporary-rc
10364 (package
10365 (name "ghc-temporary-rc")
10366 (version "1.2.0.3")
10367 (source
10368 (origin
10369 (method url-fetch)
10370 (uri (string-append
10371 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10372 version
10373 ".tar.gz"))
10374 (sha256
10375 (base32
10376 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10377 (build-system haskell-build-system)
10378 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10379 (home-page
10380 "https://www.github.com/feuerbach/temporary")
10381 (synopsis
10382 "Portable temporary file and directory support")
10383 (description
10384 "The functions for creating temporary files and directories in the base
10385library are quite limited. The unixutils package contains some good ones, but
10386they aren't portable to Windows. This library just repackages the Cabal
10387implementations of its own temporary file and folder functions so that you can
10388use them without linking against Cabal or depending on it being installed.
10389This is a better maintained fork of the \"temporary\" package.")
10390 (license license:bsd-3)))
10391
10392(define-public ghc-terminal-size
10393 (package
10394 (name "ghc-terminal-size")
10395 (version "0.3.2.1")
10396 (source (origin
10397 (method url-fetch)
10398 (uri (string-append
10399 "https://hackage.haskell.org/package/terminal-size/"
10400 "terminal-size-" version ".tar.gz"))
10401 (sha256
10402 (base32
10403 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10404 (build-system haskell-build-system)
10405 (home-page "https://hackage.haskell.org/package/terminal-size")
10406 (synopsis "Get terminal window height and width")
10407 (description "Get terminal window height and width without ncurses
10408dependency.")
10409 (license license:bsd-3)))
10410
10411(define-public ghc-texmath
10412 (package
10413 (name "ghc-texmath")
7fec7e66 10414 (version "0.11.3")
dddbc90c
RV
10415 (source (origin
10416 (method url-fetch)
10417 (uri (string-append "https://hackage.haskell.org/package/"
10418 "texmath/texmath-" version ".tar.gz"))
10419 (sha256
10420 (base32
7fec7e66 10421 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
10422 (build-system haskell-build-system)
10423 (inputs
10424 `(("ghc-syb" ,ghc-syb)
10425 ("ghc-network-uri" ,ghc-network-uri)
10426 ("ghc-split" ,ghc-split)
10427 ("ghc-temporary" ,ghc-temporary)
10428 ("ghc-utf8-string" ,ghc-utf8-string)
10429 ("ghc-xml" ,ghc-xml)
10430 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10431 (home-page "https://github.com/jgm/texmath")
10432 (synopsis "Conversion between formats used to represent mathematics")
10433 (description
10434 "The texmath library provides functions to read and write TeX math,
10435presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10436Office). Support is also included for converting math formats to pandoc's
10437native format (allowing conversion, via pandoc, to a variety of different
10438markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10439it can parse and apply LaTeX macros.")
10440 (license license:gpl2+)))
10441
10442(define-public ghc-text-binary
10443 (package
10444 (name "ghc-text-binary")
10445 (version "0.2.1.1")
10446 (source
10447 (origin
10448 (method url-fetch)
10449 (uri (string-append "https://hackage.haskell.org/package/"
10450 "text-binary/text-binary-"
10451 version ".tar.gz"))
10452 (sha256
10453 (base32
10454 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10455 (build-system haskell-build-system)
10456 (home-page "https://github.com/kawu/text-binary")
10457 (synopsis "Binary instances for text types")
10458 (description
10459 "This package provides a compatibility layer providing @code{Binary}
10460instances for strict and lazy text types for versions older than 1.2.1 of the
10461text package.")
10462 (license license:bsd-2)))
10463
bdc877c4
TS
10464(define-public ghc-text-metrics
10465 (package
10466 (name "ghc-text-metrics")
10467 (version "0.3.0")
10468 (source
10469 (origin
10470 (method url-fetch)
10471 (uri (string-append "https://hackage.haskell.org/package/"
10472 "text-metrics/text-metrics-" version ".tar.gz"))
10473 (sha256
10474 (base32
10475 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
10476 (build-system haskell-build-system)
10477 (inputs
10478 `(("ghc-vector" ,ghc-vector)))
10479 (native-inputs
10480 `(("ghc-quickcheck" ,ghc-quickcheck)
10481 ("ghc-hspec" ,ghc-hspec)))
10482 (arguments
10483 `(#:cabal-revision
10484 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
10485 (home-page "https://github.com/mrkkrp/text-metrics")
10486 (synopsis "Calculate various string metrics efficiently")
10487 (description "This library provides tools to calculate various
10488string metrics efficiently.")
10489 (license license:bsd-3)))
10490
dddbc90c
RV
10491(define-public ghc-tf-random
10492 (package
10493 (name "ghc-tf-random")
10494 (version "0.5")
10495 (outputs '("out" "doc"))
10496 (source
10497 (origin
10498 (method url-fetch)
10499 (uri (string-append
10500 "https://hackage.haskell.org/package/tf-random/tf-random-"
10501 version
10502 ".tar.gz"))
10503 (sha256
10504 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10505 (build-system haskell-build-system)
10506 (inputs
10507 `(("ghc-primitive" ,ghc-primitive)
10508 ("ghc-random" ,ghc-random)))
10509 (home-page "https://hackage.haskell.org/package/tf-random")
10510 (synopsis "High-quality splittable pseudorandom number generator")
10511 (description "This package contains an implementation of a high-quality
10512splittable pseudorandom number generator. The generator is based on a
10513cryptographic hash function built on top of the ThreeFish block cipher. See
10514the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10515Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10516 (license license:bsd-3)))
10517
10518(define-public ghc-th-abstraction
10519 (package
10520 (name "ghc-th-abstraction")
1188eabb 10521 (version "0.3.1.0")
dddbc90c
RV
10522 (source
10523 (origin
10524 (method url-fetch)
10525 (uri (string-append "https://hackage.haskell.org/package/"
10526 "th-abstraction/th-abstraction-"
10527 version ".tar.gz"))
10528 (sha256
10529 (base32
1188eabb 10530 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10531 (build-system haskell-build-system)
10532 (home-page "https://github.com/glguy/th-abstraction")
10533 (synopsis "Nicer interface for reified information about data types")
10534 (description
10535 "This package normalizes variations in the interface for inspecting
10536datatype information via Template Haskell so that packages and support a
10537single, easier to use informational datatype while supporting many versions of
10538Template Haskell.")
10539 (license license:isc)))
10540
10541(define-public ghc-th-expand-syns
10542 (package
10543 (name "ghc-th-expand-syns")
8c766600 10544 (version "0.4.5.0")
dddbc90c
RV
10545 (source (origin
10546 (method url-fetch)
10547 (uri (string-append "https://hackage.haskell.org/package/"
10548 "th-expand-syns/th-expand-syns-"
10549 version ".tar.gz"))
10550 (sha256
10551 (base32
8c766600 10552 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
10553 (build-system haskell-build-system)
10554 (inputs
10555 `(("ghc-syb" ,ghc-syb)))
10556 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10557 (synopsis "Expands type synonyms in Template Haskell ASTs")
10558 (description
10559 "This package enables users to expand type synonyms in Template Haskell
10560@dfn{abstract syntax trees} (ASTs).")
10561 (license license:bsd-3)))
10562
10563(define-public ghc-th-lift
10564 (package
10565 (name "ghc-th-lift")
bd76b20a 10566 (version "0.8.0.1")
dddbc90c
RV
10567 (source (origin
10568 (method url-fetch)
10569 (uri (string-append "https://hackage.haskell.org/package/"
10570 "th-lift/th-lift-" version ".tar.gz"))
10571 (sha256
10572 (base32
bd76b20a 10573 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10574 (build-system haskell-build-system)
10575 (inputs
10576 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10577 (home-page "https://github.com/mboes/th-lift")
10578 (synopsis "Derive Template Haskell's Lift class for datatypes")
10579 (description
10580 "This is a Haskell library to derive Template Haskell's Lift class for
10581datatypes.")
10582 (license license:bsd-3)))
10583
10584(define-public ghc-th-lift-instances
10585 (package
10586 (name "ghc-th-lift-instances")
d3db399e 10587 (version "0.1.14")
dddbc90c
RV
10588 (source
10589 (origin
10590 (method url-fetch)
10591 (uri (string-append "https://hackage.haskell.org/package/"
10592 "th-lift-instances/th-lift-instances-"
10593 version ".tar.gz"))
10594 (sha256
10595 (base32
d3db399e 10596 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
10597 (build-system haskell-build-system)
10598 (inputs
10599 `(("ghc-th-lift" ,ghc-th-lift)
10600 ("ghc-vector" ,ghc-vector)
10601 ("ghc-quickcheck" ,ghc-quickcheck)))
10602 (home-page "https://github.com/bennofs/th-lift-instances/")
10603 (synopsis "Lift instances for template-haskell for common data types.")
10604 (description "Most data types in the Haskell platform do not have Lift
10605instances. This package provides orphan instances for @code{containers},
10606@code{text}, @code{bytestring} and @code{vector}.")
10607 (license license:bsd-3)))
10608
10609(define-public ghc-th-orphans
10610 (package
10611 (name "ghc-th-orphans")
882b23e2 10612 (version "0.13.9")
dddbc90c
RV
10613 (source (origin
10614 (method url-fetch)
10615 (uri (string-append "https://hackage.haskell.org/package/"
10616 "th-orphans/th-orphans-" version ".tar.gz"))
10617 (sha256
10618 (base32
882b23e2 10619 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
10620 (build-system haskell-build-system)
10621 (inputs
10622 `(("ghc-th-lift" ,ghc-th-lift)
10623 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10624 ("ghc-th-reify-many" ,ghc-th-reify-many)
10625 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10626 (native-inputs
10627 `(("ghc-hspec" ,ghc-hspec)))
10628 (home-page "https://hackage.haskell.org/package/th-orphans")
10629 (synopsis "Orphan instances for TH datatypes")
10630 (description
10631 "This package provides orphan instances for Template Haskell datatypes. In particular,
10632instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10633and @code{Eq} instances. These instances used to live in the haskell-src-meta
10634package, and that's where the version number started.")
10635 (license license:bsd-3)))
10636
10637(define-public ghc-threads
10638 (package
10639 (name "ghc-threads")
10640 (version "0.5.1.6")
10641 (source
10642 (origin
10643 (method url-fetch)
10644 (uri (string-append "https://hackage.haskell.org/package/"
10645 "threads/threads-" version ".tar.gz"))
10646 (sha256
10647 (base32
10648 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10649 (build-system haskell-build-system)
10650 (native-inputs
10651 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10652 ("ghc-hunit" ,ghc-hunit)
10653 ("ghc-test-framework" ,ghc-test-framework)
10654 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10655 (home-page "https://github.com/basvandijk/threads")
10656 (synopsis "Fork threads and wait for their result")
10657 (description "This package provides functions to fork threads and
10658wait for their result, whether it's an exception or a normal value.
10659Besides waiting for the termination of a single thread this package also
10660provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10661package is similar to the @code{threadmanager}, @code{async} and
10662@code{spawn} packages. The advantages of this package are:
10663
dddbc90c
RV
10664@itemize
10665@item Simpler API.
10666@item More efficient in both space and time.
10667@item No space-leak when forking a large number of threads.
10668@item Correct handling of asynchronous exceptions.
10669@item GHC specific functionality like @code{forkOn} and
10670@code{forkIOWithUnmask}.
10671@end itemize")
10672 (license license:bsd-3)))
10673
10674(define-public ghc-th-reify-many
10675 (package
10676 (name "ghc-th-reify-many")
32d4a6ae 10677 (version "0.1.9")
dddbc90c
RV
10678 (source (origin
10679 (method url-fetch)
10680 (uri (string-append "https://hackage.haskell.org/package/"
10681 "th-reify-many/th-reify-many-"
10682 version ".tar.gz"))
10683 (sha256
10684 (base32
32d4a6ae 10685 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
10686 (build-system haskell-build-system)
10687 (inputs
10688 `(("ghc-safe" ,ghc-safe)
10689 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10690 (home-page "https://github.com/mgsloan/th-reify-many")
10691 (synopsis "Recurseively reify template haskell datatype info")
10692 (description
10693 "th-reify-many provides functions for recursively reifying top level
10694declarations. The main intended use case is for enumerating the names of
10695datatypes reachable from an initial datatype, and passing these names to some
10696function which generates instances.")
10697 (license license:bsd-3)))
10698
75cfc9a2
TS
10699(define-public ghc-time-compat
10700 (package
10701 (name "ghc-time-compat")
10702 (version "1.9.2.2")
10703 (source
10704 (origin
10705 (method url-fetch)
10706 (uri (string-append "https://hackage.haskell.org/package/"
10707 "time-compat/time-compat-" version ".tar.gz"))
10708 (sha256
10709 (base32
10710 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
10711 (build-system haskell-build-system)
10712 (inputs
10713 `(("ghc-base-orphans" ,ghc-base-orphans)))
10714 (native-inputs
10715 `(("ghc-hunit" ,ghc-hunit)
10716 ("ghc-base-compat" ,ghc-base-compat)
10717 ("ghc-quickcheck" ,ghc-quickcheck)
10718 ("ghc-tagged" ,ghc-tagged)
10719 ("ghc-tasty" ,ghc-tasty)
10720 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10721 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10722 (arguments
10723 `(#:cabal-revision
10724 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
10725 (home-page "https://github.com/phadej/time-compat")
10726 (synopsis "Compatibility package for time")
10727 (description "This packages tries to compat as many @code{time}
10728features as possible.")
10729 (license license:bsd-3)))
10730
dddbc90c
RV
10731(define-public ghc-time-locale-compat
10732 (package
10733 (name "ghc-time-locale-compat")
10734 (version "0.1.1.5")
10735 (source
10736 (origin
10737 (method url-fetch)
10738 (uri (string-append "https://hackage.haskell.org/package/"
10739 "time-locale-compat/time-locale-compat-"
10740 version ".tar.gz"))
10741 (sha256
10742 (base32
10743 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10744 (build-system haskell-build-system)
10745 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10746 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10747 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10748 (description "This package contains a wrapped name module for
10749@code{TimeLocale}.")
10750 (license license:bsd-3)))
10751
7bbfa392
JS
10752(define-public ghc-timeit
10753 (package
10754 (name "ghc-timeit")
10755 (version "2.0")
10756 (source
10757 (origin
10758 (method url-fetch)
10759 (uri
10760 (string-append
10761 "https://hackage.haskell.org/package/timeit/timeit-"
10762 version ".tar.gz"))
10763 (sha256
10764 (base32
10765 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10766 (build-system haskell-build-system)
10767 (home-page "https://github.com/merijn/timeit")
10768 (synopsis "Time monadic computations with an IO base")
10769 (description "This package provides a simple wrapper to show the
10770used CPU time of monadic computation with an IO base.")
10771 (license license:bsd-3)))
10772
dddbc90c
RV
10773(define-public ghc-tldr
10774 (package
10775 (name "ghc-tldr")
871ceb31 10776 (version "0.4.0.2")
dddbc90c
RV
10777 (source
10778 (origin
10779 (method url-fetch)
10780 (uri (string-append
10781 "https://hackage.haskell.org/package/tldr/tldr-"
10782 version
10783 ".tar.gz"))
10784 (sha256
10785 (base32
871ceb31 10786 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
10787 (build-system haskell-build-system)
10788 (inputs
10789 `(("ghc-cmark" ,ghc-cmark)
10790 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10791 ("ghc-typed-process" ,ghc-typed-process)
10792 ("ghc-semigroups" ,ghc-semigroups)))
10793 (native-inputs
10794 `(("ghc-tasty" ,ghc-tasty)
10795 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10796 (home-page "https://github.com/psibi/tldr-hs#readme")
10797 (synopsis "Haskell tldr client")
10798 (description "This package provides the @command{tldr} command and a
10799Haskell client library allowing users to update and view @code{tldr} pages
10800from a shell. The @code{tldr} pages are a community effort to simplify the
10801man pages with practical examples.")
10802 (license license:bsd-3)))
10803
10804(define-public ghc-transformers-base
10805 (package
10806 (name "ghc-transformers-base")
10807 (version "0.4.5.2")
10808 (source
10809 (origin
10810 (method url-fetch)
10811 (uri (string-append
10812 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10813 version
10814 ".tar.gz"))
10815 (sha256
10816 (base32
10817 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10818 (build-system haskell-build-system)
10819 (inputs
10820 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10821 (home-page
10822 "https://hackage.haskell.org/package/transformers-compat")
10823 (synopsis
10824 "Backported transformer library")
10825 (description
10826 "Backported versions of types that were added to transformers in
10827transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10828compatibility to run on old versions of the platform.")
10829 (license license:bsd-3)))
10830
10831(define-public ghc-transformers-compat
10832 (package
10833 (name "ghc-transformers-compat")
1c9c4d58 10834 (version "0.6.5")
dddbc90c
RV
10835 (source
10836 (origin
10837 (method url-fetch)
10838 (uri (string-append
10839 "https://hackage.haskell.org/package/transformers-compat"
10840 "/transformers-compat-" version ".tar.gz"))
10841 (sha256
10842 (base32
1c9c4d58 10843 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
10844 (build-system haskell-build-system)
10845 (home-page "https://github.com/ekmett/transformers-compat/")
10846 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10847 (description "This package includes backported versions of types that were
10848added to transformers in transformers 0.3 and 0.4 for users who need strict
10849transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10850but also need those types.")
10851 (license license:bsd-3)))
10852
10853(define-public ghc-tree-diff
10854 (package
10855 (name "ghc-tree-diff")
10856 (version "0.0.1")
10857 (source
10858 (origin
10859 (method url-fetch)
10860 (uri (string-append
10861 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10862 version
10863 ".tar.gz"))
10864 (sha256
10865 (base32
10866 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10867 (build-system haskell-build-system)
10868 (arguments
10869 `(#:cabal-revision
10870 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10871 #:phases
10872 (modify-phases %standard-phases
10873 (add-before 'configure 'update-constraints
10874 (lambda _
10875 (substitute* "tree-diff.cabal"
10876 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10877 "trifecta >=1.7.1.1 && <=2")))))))
10878 (inputs
10879 `(("ghc-aeson" ,ghc-aeson)
10880 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10881 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10882 ("ghc-base-compat" ,ghc-base-compat)
10883 ("ghc-generics-sop" ,ghc-generics-sop)
10884 ("ghc-hashable" ,ghc-hashable)
10885 ("ghc-memotrie" ,ghc-memotrie)
10886 ("ghc-parsers" ,ghc-parsers)
10887 ("ghc-quickcheck" ,ghc-quickcheck)
10888 ("ghc-scientific" ,ghc-scientific)
10889 ("ghc-tagged" ,ghc-tagged)
10890 ("ghc-unordered-containers" ,ghc-unordered-containers)
10891 ("ghc-uuid-types" ,ghc-uuid-types)
10892 ("ghc-vector" ,ghc-vector)))
10893 (native-inputs
10894 `(("ghc-base-compat" ,ghc-base-compat)
10895 ("ghc-quickcheck" ,ghc-quickcheck)
10896 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10897 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10898 ("ghc-trifecta" ,ghc-trifecta)
10899 ("ghc-tasty" ,ghc-tasty)
10900 ("ghc-tasty-golden" ,ghc-tasty-golden)
10901 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10902 (home-page "https://github.com/phadej/tree-diff")
10903 (synopsis "Compute difference between (expression) trees")
10904 (description "This Haskell library provides a function for computing
10905the difference between (expression) trees. It also provides a way to
10906compute the difference between arbitrary abstract datatypes (ADTs) using
10907@code{Generics}-derivable helpers.")
10908 (license license:bsd-3)))
10909
10910(define-public ghc-trifecta
10911 (package
10912 (name "ghc-trifecta")
10913 (version "2")
10914 (source (origin
10915 (method url-fetch)
10916 (uri (string-append
10917 "https://hackage.haskell.org/package/trifecta/"
10918 "trifecta-" version ".tar.gz"))
10919 (sha256
10920 (base32
10921 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10922 (build-system haskell-build-system)
10923 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10924 (inputs
10925 `(("ghc-reducers" ,ghc-reducers)
10926 ("ghc-semigroups" ,ghc-semigroups)
10927 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10928 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10929 ("ghc-blaze-builder" ,ghc-blaze-builder)
10930 ("ghc-blaze-html" ,ghc-blaze-html)
10931 ("ghc-blaze-markup" ,ghc-blaze-markup)
10932 ("ghc-charset" ,ghc-charset)
10933 ("ghc-comonad" ,ghc-comonad)
10934 ("ghc-fingertree" ,ghc-fingertree)
10935 ("ghc-hashable" ,ghc-hashable)
10936 ("ghc-lens" ,ghc-lens)
10937 ("ghc-parsers" ,ghc-parsers)
10938 ("ghc-profunctors" ,ghc-profunctors)
10939 ("ghc-unordered-containers" ,ghc-unordered-containers)
10940 ("ghc-utf8-string" ,ghc-utf8-string)))
10941 (native-inputs
10942 `(("cabal-doctest" ,cabal-doctest)
10943 ("ghc-doctest" ,ghc-doctest)
10944 ("ghc-quickcheck" ,ghc-quickcheck)))
10945 (home-page "https://github.com/ekmett/trifecta/")
10946 (synopsis "Parser combinator library with convenient diagnostics")
10947 (description "Trifecta is a modern parser combinator library for Haskell,
10948with slicing and Clang-style colored diagnostics.")
10949 (license license:bsd-3)))
10950
10951(define-public ghc-tuple-th
10952 (package
10953 (name "ghc-tuple-th")
10954 (version "0.2.5")
10955 (source
10956 (origin
10957 (method url-fetch)
10958 (uri (string-append "https://hackage.haskell.org/package/"
10959 "tuple-th-" version "/"
10960 "tuple-th-" version ".tar.gz"))
10961 (sha256
10962 (base32
10963 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10964 (build-system haskell-build-system)
10965 (home-page "https://github.com/DanielSchuessler/tuple-th")
10966 (synopsis "Generate utility functions for tuples of statically known size
10967for Haskell")
10968 (description "This Haskell package contains Template Haskell functions for
10969generating functions similar to those in @code{Data.List} for tuples of
10970statically known size.")
10971 (license license:bsd-3)))
10972
10973(define-public ghc-typed-process
10974 (package
10975 (name "ghc-typed-process")
72fb84a5 10976 (version "0.2.6.0")
dddbc90c
RV
10977 (source
10978 (origin
10979 (method url-fetch)
10980 (uri (string-append "https://hackage.haskell.org/package/"
10981 "typed-process/typed-process-"
10982 version ".tar.gz"))
10983 (sha256
10984 (base32
72fb84a5 10985 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
10986 (build-system haskell-build-system)
10987 (inputs
72fb84a5
TS
10988 `(("ghc-async" ,ghc-async)
10989 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
10990 (native-inputs
10991 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10992 ("ghc-hspec" ,ghc-hspec)
10993 ("hspec-discover" ,hspec-discover)
10994 ("ghc-temporary" ,ghc-temporary)))
10995 (home-page "https://haskell-lang.org/library/typed-process")
10996 (synopsis "Run external processes with strong typing of streams")
10997 (description
10998 "This library provides the ability to launch and interact with external
10999processes. It wraps around the @code{process} library, and intends to improve
11000upon it.")
11001 (license license:expat)))
11002
d392f803
AG
11003(define-public ghc-unagi-chan
11004 (package
11005 (name "ghc-unagi-chan")
11006 (version "0.4.1.2")
11007 (source
11008 (origin
11009 (method url-fetch)
11010 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
11011 "/unagi-chan-" version ".tar.gz"))
11012 (sha256
11013 (base32
11014 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
11015 (build-system haskell-build-system)
11016 (inputs
11017 `(("ghc-atomic-primops" ,ghc-atomic-primops)
11018 ("ghc-primitive" ,ghc-primitive)))
11019 (arguments
11020 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
11021 #:cabal-revision
11022 ("1"
11023 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
11024 (home-page "http://hackage.haskell.org/package/unagi-chan")
11025 (synopsis "Fast concurrent queues with a Chan-like API, and more")
11026 (description
11027 "This library provides implementations of concurrent FIFO queues (for
11028both general boxed and primitive unboxed values) that are fast, perform well
11029under contention, and offer a Chan-like interface. The library may be of
11030limited usefulness outside of x86 architectures where the fetch-and-add
11031instruction is not available.")
11032 (license license:bsd-3)))
11033
dddbc90c
RV
11034(define-public ghc-unbounded-delays
11035 (package
11036 (name "ghc-unbounded-delays")
11037 (version "0.1.1.0")
11038 (source
11039 (origin
11040 (method url-fetch)
11041 (uri (string-append
11042 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
11043 version
11044 ".tar.gz"))
11045 (sha256
11046 (base32
11047 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
11048 (build-system haskell-build-system)
11049 (home-page "https://github.com/basvandijk/unbounded-delays")
11050 (synopsis "Unbounded thread delays and timeouts")
11051 (description "The @code{threadDelay} and @code{timeout} functions from the
11052Haskell base library use the bounded @code{Int} type for specifying the delay
11053or timeout period. This package provides alternative functions which use the
11054unbounded @code{Integer} type.")
11055 (license license:bsd-3)))
11056
11057(define-public ghc-unexceptionalio
11058 (package
11059 (name "ghc-unexceptionalio")
11060 (version "0.4.0")
11061 (source
11062 (origin
11063 (method url-fetch)
11064 (uri (string-append "https://hackage.haskell.org/package/"
11065 "unexceptionalio-" version "/" "unexceptionalio-"
11066 version ".tar.gz"))
11067 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
11068 (build-system haskell-build-system)
11069 (home-page "https://github.com/singpolyma/unexceptionalio")
11070 (synopsis "IO without any non-error, synchronous exceptions")
11071 (description "When you've caught all the exceptions that can be
11072handled safely, this is what you're left with.")
11073 (license license:isc)))
11074
11075(define-public ghc-union-find
11076 (package
11077 (name "ghc-union-find")
11078 (version "0.2")
11079 (source (origin
11080 (method url-fetch)
11081 (uri (string-append
11082 "https://hackage.haskell.org/package/union-find/union-find-"
11083 version ".tar.gz"))
11084 (sha256
11085 (base32
11086 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
11087 (build-system haskell-build-system)
11088 (home-page "https://github.com/nominolo/union-find")
11089 (synopsis "Efficient union and equivalence testing of sets")
11090 (description
11091 "The Union/Find algorithm implements these operations in (effectively)
11092constant-time:
11093@enumerate
11094@item Check whether two elements are in the same equivalence class.
11095@item Create a union of two equivalence classes.
11096@item Look up the descriptor of the equivalence class.
11097@end enumerate\n")
11098 (license license:bsd-3)))
11099
11100(define-public ghc-uniplate
11101 (package
11102 (name "ghc-uniplate")
11103 (version "1.6.12")
11104 (source
11105 (origin
11106 (method url-fetch)
11107 (uri (string-append
11108 "https://hackage.haskell.org/package/uniplate/uniplate-"
11109 version
11110 ".tar.gz"))
11111 (sha256
11112 (base32
11113 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
11114 (build-system haskell-build-system)
11115 (inputs
11116 `(("ghc-syb" ,ghc-syb)
11117 ("ghc-hashable" ,ghc-hashable)
11118 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11119 (home-page "http://community.haskell.org/~ndm/uniplate/")
11120 (synopsis "Simple, concise and fast generic operations")
11121 (description "Uniplate is a library for writing simple and concise generic
11122operations. Uniplate has similar goals to the original Scrap Your Boilerplate
11123work, but is substantially simpler and faster.")
11124 (license license:bsd-3)))
11125
11126(define-public ghc-unix-compat
11127 (package
11128 (name "ghc-unix-compat")
bc82e9f5 11129 (version "0.5.2")
dddbc90c
RV
11130 (source
11131 (origin
11132 (method url-fetch)
11133 (uri (string-append
11134 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
11135 version
11136 ".tar.gz"))
11137 (sha256
11138 (base32
bc82e9f5 11139 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
11140 (build-system haskell-build-system)
11141 (home-page
11142 "https://github.com/jystic/unix-compat")
11143 (synopsis "Portable POSIX-compatibility layer")
11144 (description
11145 "This package provides portable implementations of parts of the unix
11146package. This package re-exports the unix package when available. When it
11147isn't available, portable implementations are used.")
11148 (license license:bsd-3)))
11149
11150(define-public ghc-unix-time
11151 (package
11152 (name "ghc-unix-time")
fad9cff2 11153 (version "0.4.7")
dddbc90c
RV
11154 (source
11155 (origin
11156 (method url-fetch)
11157 (uri (string-append
11158 "https://hackage.haskell.org/package/unix-time/unix-time-"
11159 version
11160 ".tar.gz"))
11161 (sha256
11162 (base32
fad9cff2 11163 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
11164 (build-system haskell-build-system)
11165 (arguments
11166 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
11167 ; is weird, that should be provided by GHC 7.10.2.
11168 (inputs
11169 `(("ghc-old-time" ,ghc-old-time)
11170 ("ghc-old-locale" ,ghc-old-locale)))
11171 (home-page "https://hackage.haskell.org/package/unix-time")
11172 (synopsis "Unix time parser/formatter and utilities")
11173 (description "This library provides fast parsing and formatting utilities
11174for Unix time in Haskell.")
11175 (license license:bsd-3)))
11176
11177(define-public ghc-unliftio
11178 (package
11179 (name "ghc-unliftio")
a4084db1 11180 (version "0.2.12")
dddbc90c
RV
11181 (source
11182 (origin
11183 (method url-fetch)
11184 (uri (string-append
11185 "https://hackage.haskell.org/package/unliftio/unliftio-"
11186 version
11187 ".tar.gz"))
11188 (sha256
11189 (base32
a4084db1 11190 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
11191 (build-system haskell-build-system)
11192 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
11193 (inputs
11194 `(("ghc-async" ,ghc-async)
11195 ("ghc-unliftio-core" ,ghc-unliftio-core)))
11196 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
11197 (home-page "https://github.com/fpco/unliftio")
11198 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
11199IO (batteries included)")
11200 (description "This Haskell package provides the core @code{MonadUnliftIO}
11201typeclass, a number of common instances, and a collection of common functions
11202working with it.")
11203 (license license:expat)))
11204
11205(define-public ghc-unliftio-core
11206 (package
11207 (name "ghc-unliftio-core")
2ae42618 11208 (version "0.1.2.0")
dddbc90c
RV
11209 (source
11210 (origin
11211 (method url-fetch)
11212 (uri (string-append "https://hackage.haskell.org/package/"
11213 "unliftio-core-" version "/"
11214 "unliftio-core-" version ".tar.gz"))
11215 (sha256
11216 (base32
2ae42618 11217 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
11218 (build-system haskell-build-system)
11219 (arguments
11220 `(#:cabal-revision
2ae42618 11221 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
11222 (home-page
11223 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11224 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11225 (description "This Haskell package provides the core @code{MonadUnliftIO}
11226typeclass, instances for base and transformers, and basic utility
11227functions.")
11228 (license license:expat)))
11229
11230(define-public ghc-unordered-containers
11231 (package
11232 (name "ghc-unordered-containers")
ca01f8d3 11233 (version "0.2.10.0")
dddbc90c
RV
11234 (outputs '("out" "doc"))
11235 (source
11236 (origin
11237 (method url-fetch)
11238 (uri (string-append
11239 "https://hackage.haskell.org/package/unordered-containers"
11240 "/unordered-containers-" version ".tar.gz"))
11241 (sha256
11242 (base32
ca01f8d3 11243 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
11244 (build-system haskell-build-system)
11245 (inputs
11246 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11247 ("ghc-hunit" ,ghc-hunit)
11248 ("ghc-quickcheck" ,ghc-quickcheck)
11249 ("ghc-test-framework" ,ghc-test-framework)
11250 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11251 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11252 ("ghc-hashable" ,ghc-hashable)))
11253 (home-page
11254 "https://github.com/tibbe/unordered-containers")
11255 (synopsis
11256 "Efficient hashing-based container types")
11257 (description
11258 "Efficient hashing-based container types. The containers have been
11259optimized for performance critical use, both in terms of large data quantities
11260and high speed.")
11261 (license license:bsd-3)))
11262
11263(define-public ghc-unordered-containers-bootstrap
11264 (package
11265 (inherit ghc-unordered-containers)
11266 (name "ghc-unordered-containers-bootstrap")
11267 (arguments `(#:tests? #f))
11268 (inputs
11269 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11270 (properties '((hidden? #t)))))
dddbc90c 11271
a52f4c57
JS
11272(define-public ghc-unsafe
11273 (package
11274 (name "ghc-unsafe")
11275 (version "0.0")
11276 (source
11277 (origin
11278 (method url-fetch)
11279 (uri
11280 (string-append
11281 "https://hackage.haskell.org/package/unsafe/unsafe-"
11282 version ".tar.gz"))
11283 (sha256
11284 (base32
11285 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11286 (build-system haskell-build-system)
11287 (home-page "https://hackage.haskell.org/package/unsafe")
11288 (synopsis "Unified interface to unsafe functions")
11289 (description "Safe Haskell introduced the notion of safe and unsafe
11290modules. In order to make as many as possible modules ``safe'', the
11291well-known unsafe functions were moved to distinguished modules. This
11292makes it hard to write packages that work with both old and new versions
11293of GHC. This package provides a single module System.Unsafe that
11294exports the unsafe functions from the base package. It provides them in
11295a style ready for qualification, that is, you should import them by
11296@code{import qualified System.Unsafe as Unsafe}.")
11297 (license license:bsd-3)))
11298
dddbc90c
RV
11299(define-public ghc-uri-bytestring
11300 (package
11301 (name "ghc-uri-bytestring")
d35ffd39 11302 (version "0.3.2.2")
dddbc90c
RV
11303 (source
11304 (origin
11305 (method url-fetch)
11306 (uri (string-append "https://hackage.haskell.org/package/"
11307 "uri-bytestring-" version "/"
11308 "uri-bytestring-" version ".tar.gz"))
11309 (sha256
11310 (base32
d35ffd39 11311 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
11312 (build-system haskell-build-system)
11313 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
11314 ("ghc-blaze-builder" ,ghc-blaze-builder)
11315 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 11316 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
11317 ("ghc-tasty" ,ghc-tasty)
11318 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
11319 ("ghc-hedgehog" ,ghc-hedgehog)
11320 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 11321 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 11322 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 11323 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
11324 (home-page "https://github.com/Soostone/uri-bytestring")
11325 (synopsis "Haskell URI parsing as ByteStrings")
11326 (description "This Haskell package aims to be an RFC3986 compliant URI
11327parser that uses ByteStrings for parsing and representing the URI data.")
11328 (license license:bsd-3)))
11329
11330(define-public ghc-utf8-string
11331 (package
11332 (name "ghc-utf8-string")
11333 (version "1.0.1.1")
11334 (source
11335 (origin
11336 (method url-fetch)
11337 (uri (string-append
11338 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11339 version
11340 ".tar.gz"))
11341 (sha256
11342 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11343 (build-system haskell-build-system)
11344 (arguments
11345 `(#:cabal-revision
11346 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11347 (home-page "https://github.com/glguy/utf8-string/")
11348 (synopsis "Support for reading and writing UTF8 Strings")
11349 (description
11350 "A UTF8 layer for Strings. The utf8-string package provides operations
11351for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11352UTF8 without truncation.")
11353 (license license:bsd-3)))
11354
11355(define-public ghc-utility-ht
11356 (package
11357 (name "ghc-utility-ht")
11358 (version "0.0.14")
11359 (home-page "https://hackage.haskell.org/package/utility-ht")
11360 (source
11361 (origin
11362 (method url-fetch)
11363 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11364 (sha256
11365 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11366 (build-system haskell-build-system)
11367 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11368 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11369 (description "This package includes Hakell modules providing various
11370helper functions for Lists, Maybes, Tuples, Functions.")
11371 (license license:bsd-3)))
11372
11373(define-public ghc-uuid
11374 (package
11375 (name "ghc-uuid")
11376 (version "1.3.13")
11377 (source
11378 (origin
11379 (method url-fetch)
11380 (uri (string-append "https://hackage.haskell.org/package/"
11381 "uuid-" version "/"
11382 "uuid-" version ".tar.gz"))
11383 (sha256
11384 (base32
11385 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11386 (build-system haskell-build-system)
11387 (arguments
11388 `(#:cabal-revision
11389 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11390 #:phases
11391 (modify-phases %standard-phases
11392 (add-before 'configure 'strip-test-framework-constraints
11393 (lambda _
11394 (substitute* "uuid.cabal"
11395 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11396 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11397 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11398 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11399 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11400 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11401 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11402 ("ghc-entropy" ,ghc-entropy)
11403 ("ghc-network-info" ,ghc-network-info)
11404 ("ghc-random" ,ghc-random)
11405 ("ghc-uuid-types" ,ghc-uuid-types)))
11406 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11407 ("ghc-quickcheck" ,ghc-quickcheck)
11408 ("ghc-tasty" ,ghc-tasty)
11409 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11410 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11411 (home-page "https://github.com/hvr/uuid")
11412 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11413 (description "This Haskell library provides utilities creating, comparing,
11414parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11415 (license license:bsd-3)))
11416
11417(define-public ghc-uuid-types
11418 (package
11419 (name "ghc-uuid-types")
11420 (version "1.0.3")
11421 (source
11422 (origin
11423 (method url-fetch)
11424 (uri (string-append "https://hackage.haskell.org/package/"
11425 "uuid-types-" version "/"
11426 "uuid-types-" version ".tar.gz"))
11427 (sha256
11428 (base32
11429 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11430 (build-system haskell-build-system)
11431 (arguments
11432 `(#:phases
11433 (modify-phases %standard-phases
11434 (add-before 'configure 'strip-test-framework-constraints
11435 (lambda _
11436 (substitute* "uuid-types.cabal"
11437 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11438 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11439 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11440 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11441 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11442 (inputs `(("ghc-hashable" ,ghc-hashable)
11443 ("ghc-random" ,ghc-random)))
11444 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11445 ("ghc-quickcheck" ,ghc-quickcheck)
11446 ("ghc-tasty" ,ghc-tasty)
11447 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11448 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11449 (home-page "https://github.com/hvr/uuid")
11450 (synopsis "Haskell type definitions for UUIDs")
11451 (description "This Haskell library contains type definitions for
11452@dfn{Universally Unique Identifiers} or
11453@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11454functions.")
11455 (license license:bsd-3)))
11456
11457(define-public ghc-validation
11458 (package
11459 (name "ghc-validation")
11460 (version "1")
11461 (source
11462 (origin
11463 (method url-fetch)
11464 (uri (string-append
11465 "mirror://hackage/package/validation/validation-"
11466 version
11467 ".tar.gz"))
11468 (sha256
11469 (base32
11470 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11471 (build-system haskell-build-system)
11472 (arguments
11473 `(#:cabal-revision
11474 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11475 (inputs
11476 `(("ghc-semigroups" ,ghc-semigroups)
11477 ("ghc-semigroupoids" ,ghc-semigroupoids)
11478 ("ghc-bifunctors" ,ghc-bifunctors)
11479 ("ghc-lens" ,ghc-lens)))
11480 (native-inputs
11481 `(("ghc-hedgehog" ,ghc-hedgehog)
11482 ("ghc-hunit" ,ghc-hunit)))
11483 (home-page "https://github.com/qfpl/validation")
11484 (synopsis
11485 "Data-type like Either but with an accumulating Applicative")
11486 (description
11487 "A data-type like Either but with differing properties and type-class
11488instances.
11489
11490Library support is provided for this different representation, including
11491@code{lens}-related functions for converting between each and abstracting over
11492their similarities.
11493
11494The @code{Validation} data type is isomorphic to @code{Either}, but has an
11495instance of @code{Applicative} that accumulates on the error side. That is to
11496say, if two (or more) errors are encountered, they are appended using a
11497@{Semigroup} operation.
11498
11499As a consequence of this @code{Applicative} instance, there is no
11500corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11501example of, \"An applicative functor that is not a monad.\"")
11502 (license license:bsd-3)))
11503
11504(define-public ghc-validity
11505 (package
11506 (name "ghc-validity")
3f1ba75d 11507 (version "0.9.0.2")
dddbc90c
RV
11508 (source
11509 (origin
11510 (method url-fetch)
11511 (uri (string-append
11512 "https://hackage.haskell.org/package/validity/validity-"
11513 version
11514 ".tar.gz"))
11515 (sha256
11516 (base32
3f1ba75d 11517 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
11518 (build-system haskell-build-system)
11519 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11520 ("hspec-discover" ,hspec-discover)))
11521 (home-page
11522 "https://github.com/NorfairKing/validity")
11523 (synopsis "Validity typeclass")
11524 (description
11525 "Values of custom types usually have invariants imposed upon them. This
11526package provides the @code{Validity} type class, which makes these invariants
11527explicit by providing a function to check whether the invariants hold.")
11528 (license license:expat)))
11529
11530(define-public ghc-vault
11531 (package
11532 (name "ghc-vault")
b40a436e 11533 (version "0.3.1.3")
dddbc90c
RV
11534 (source
11535 (origin
11536 (method url-fetch)
11537 (uri (string-append
11538 "https://hackage.haskell.org/package/vault/vault-"
11539 version
11540 ".tar.gz"))
11541 (sha256
11542 (base32
b40a436e 11543 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
11544 (build-system haskell-build-system)
11545 (inputs
11546 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11547 ("ghc-hashable" ,ghc-hashable)
b40a436e 11548 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
11549 (home-page
11550 "https://github.com/HeinrichApfelmus/vault")
11551 (synopsis "Persistent store for arbitrary values")
11552 (description "This package provides vaults for Haskell. A vault is a
11553persistent store for values of arbitrary types. It's like having first-class
11554access to the storage space behind @code{IORefs}. The data structure is
11555analogous to a bank vault, where you can access different bank boxes with
11556different keys; hence the name. Also provided is a @code{locker} type,
11557representing a store for a single element.")
11558 (license license:bsd-3)))
11559
11560(define-public ghc-vector
11561 (package
11562 (name "ghc-vector")
3ad67f6b 11563 (version "0.12.0.3")
dddbc90c
RV
11564 (outputs '("out" "doc"))
11565 (source
11566 (origin
11567 (method url-fetch)
11568 (uri (string-append
11569 "https://hackage.haskell.org/package/vector/vector-"
11570 version
11571 ".tar.gz"))
11572 (sha256
11573 (base32
3ad67f6b 11574 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
11575 (build-system haskell-build-system)
11576 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11577 ;; disabled for now.
11578 (arguments
3ad67f6b 11579 `(#:tests? #f))
dddbc90c
RV
11580 (inputs
11581 `(("ghc-primitive" ,ghc-primitive)
11582 ("ghc-random" ,ghc-random)
11583 ("ghc-quickcheck" ,ghc-quickcheck)
11584 ;; ("ghc-hunit" ,ghc-hunit)
11585 ;; ("ghc-test-framework" ,ghc-test-framework)
11586 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11587 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11588 ))
11589 (home-page "https://github.com/haskell/vector")
11590 (synopsis "Efficient Arrays")
11591 (description "This library provides an efficient implementation of
11592Int-indexed arrays (both mutable and immutable), with a powerful loop
11593optimisation framework.")
11594 (license license:bsd-3)))
11595
11596(define-public ghc-vector-algorithms
11597 (package
11598 (name "ghc-vector-algorithms")
e71f316f 11599 (version "0.8.0.1")
dddbc90c
RV
11600 (source
11601 (origin
11602 (method url-fetch)
11603 (uri (string-append "https://hackage.haskell.org/package/"
11604 "vector-algorithms-" version "/"
11605 "vector-algorithms-" version ".tar.gz"))
11606 (sha256
11607 (base32
e71f316f 11608 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
11609 (build-system haskell-build-system)
11610 (inputs
11611 `(("ghc-vector" ,ghc-vector)))
11612 (native-inputs
11613 `(("ghc-quickcheck" ,ghc-quickcheck)))
11614 (home-page "https://github.com/bos/math-functions")
11615 (synopsis "Algorithms for vector arrays in Haskell")
11616 (description "This Haskell library algorithms for vector arrays.")
11617 (license license:bsd-3)))
11618
11619(define-public ghc-vector-binary-instances
11620 (package
11621 (name "ghc-vector-binary-instances")
ca0701ef 11622 (version "0.2.5.1")
dddbc90c
RV
11623 (source
11624 (origin
11625 (method url-fetch)
11626 (uri (string-append
11627 "https://hackage.haskell.org/package/"
11628 "vector-binary-instances/vector-binary-instances-"
11629 version ".tar.gz"))
11630 (sha256
11631 (base32
ca0701ef 11632 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 11633 (build-system haskell-build-system)
dddbc90c
RV
11634 (inputs
11635 `(("ghc-vector" ,ghc-vector)))
11636 (native-inputs
11637 `(("ghc-tasty" ,ghc-tasty)
11638 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11639 (home-page "https://github.com/bos/vector-binary-instances")
11640 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11641 (description "This library provides instances of @code{Binary} for the
11642types defined in the @code{vector} package, making it easy to serialize
11643vectors to and from disk. We use the generic interface to vectors, so all
11644vector types are supported. Specific instances are provided for unboxed,
11645boxed and storable vectors.")
11646 (license license:bsd-3)))
11647
11648(define-public ghc-vector-builder
11649 (package
11650 (name "ghc-vector-builder")
1fc05441 11651 (version "0.3.8")
dddbc90c
RV
11652 (source
11653 (origin
11654 (method url-fetch)
11655 (uri (string-append "https://hackage.haskell.org/package/"
11656 "vector-builder-" version "/"
11657 "vector-builder-" version ".tar.gz"))
11658 (sha256
11659 (base32
1fc05441 11660 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
11661 (build-system haskell-build-system)
11662 (inputs `(("ghc-vector" ,ghc-vector)
11663 ("ghc-semigroups" ,ghc-semigroups)
11664 ("ghc-base-prelude" ,ghc-base-prelude)))
11665 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11666 ("ghc-tasty" ,ghc-tasty)
11667 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11668 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11669 ("ghc-hunit" ,ghc-hunit)
11670 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11671 ("ghc-rerebase" ,ghc-rerebase)))
11672 (home-page "https://github.com/nikita-volkov/vector-builder")
11673 (synopsis "Vector builder for Haskell")
11674 (description "This Haskell package provides an API for constructing vectors.
11675It provides the composable @code{Builder} abstraction, which has instances of the
11676@code{Monoid} and @code{Semigroup} classes.
11677
11678You would first use the @code{Builder} abstraction to specify the structure of
11679the vector; then you can execute the builder to actually produce the
11680vector. ")
11681 (license license:expat)))
11682
11683(define-public ghc-vector-th-unbox
11684 (package
11685 (name "ghc-vector-th-unbox")
63056e61 11686 (version "0.2.1.7")
dddbc90c
RV
11687 (source
11688 (origin
11689 (method url-fetch)
11690 (uri (string-append "https://hackage.haskell.org/package/"
11691 "vector-th-unbox-" version "/"
11692 "vector-th-unbox-" version ".tar.gz"))
11693 (sha256
11694 (base32
63056e61 11695 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
11696 (build-system haskell-build-system)
11697 (inputs
11698 `(("ghc-vector" ,ghc-vector)
11699 ("ghc-data-default" ,ghc-data-default)))
11700 (home-page "https://github.com/liyang/vector-th-unbox")
11701 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11702 (description "This Haskell library provides a Template Haskell
11703deriver for unboxed vectors, given a pair of coercion functions to
11704and from some existing type with an Unbox instance.")
11705 (license license:bsd-3)))
11706
11707(define-public ghc-void
11708 (package
11709 (name "ghc-void")
51889121 11710 (version "0.7.3")
dddbc90c
RV
11711 (source
11712 (origin
11713 (method url-fetch)
11714 (uri (string-append
11715 "https://hackage.haskell.org/package/void/void-"
11716 version
11717 ".tar.gz"))
11718 (sha256
11719 (base32
51889121 11720 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
11721 (build-system haskell-build-system)
11722 (inputs
11723 `(("ghc-semigroups" ,ghc-semigroups)
11724 ("ghc-hashable" ,ghc-hashable)))
11725 (home-page "https://github.com/ekmett/void")
11726 (synopsis
11727 "Logically uninhabited data type")
11728 (description
11729 "A Haskell 98 logically uninhabited data type, used to indicate that a
11730given term should not exist.")
11731 (license license:bsd-3)))
11732
11733(define-public ghc-wave
11734 (package
11735 (name "ghc-wave")
1631a0f7 11736 (version "0.2.0")
dddbc90c
RV
11737 (source (origin
11738 (method url-fetch)
11739 (uri (string-append
11740 "https://hackage.haskell.org/package/wave/wave-"
11741 version
11742 ".tar.gz"))
11743 (sha256
11744 (base32
1631a0f7 11745 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
11746 (build-system haskell-build-system)
11747 (arguments
11748 '(#:phases
11749 (modify-phases %standard-phases
11750 (add-before 'configure 'update-constraints
11751 (lambda _
11752 (substitute* "wave.cabal"
11753 (("temporary.* < 1\\.3")
11754 "temporary >= 1.1 && < 1.4")))))))
11755 (inputs
11756 `(("ghc-cereal" ,ghc-cereal)
11757 ("ghc-data-default-class"
11758 ,ghc-data-default-class)
11759 ("ghc-quickcheck" ,ghc-quickcheck)
11760 ("ghc-temporary" ,ghc-temporary)))
11761 (native-inputs
11762 `(("hspec-discover" ,hspec-discover)
11763 ("ghc-hspec" ,ghc-hspec)))
11764 (home-page "https://github.com/mrkkrp/wave")
11765 (synopsis "Work with WAVE and RF64 files in Haskell")
11766 (description "This package allows you to work with WAVE and RF64
11767files in Haskell.")
11768 (license license:bsd-3)))
11769
11770(define-public ghc-wcwidth
11771 (package
11772 (name "ghc-wcwidth")
11773 (version "0.0.2")
11774 (source
11775 (origin
11776 (method url-fetch)
11777 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11778 version ".tar.gz"))
11779 (sha256
11780 (base32
11781 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11782 (build-system haskell-build-system)
11783 (inputs
11784 `(("ghc-setlocale" ,ghc-setlocale)
11785 ("ghc-utf8-string" ,ghc-utf8-string)
11786 ("ghc-attoparsec" ,ghc-attoparsec)))
11787 (home-page "https://github.com/solidsnack/wcwidth/")
11788 (synopsis "Haskell bindings to wcwidth")
11789 (description "This package provides Haskell bindings to your system's
11790native wcwidth and a command line tool to examine the widths assigned by it.
11791The command line tool can compile a width table to Haskell code that assigns
11792widths to the Char type.")
11793 (license license:bsd-3)))
11794
11795(define-public ghc-wcwidth-bootstrap
11796 (package
11797 (inherit ghc-wcwidth)
11798 (name "ghc-wcwidth-bootstrap")
11799 (inputs
11800 `(("ghc-setlocale" ,ghc-setlocale)
11801 ("ghc-utf8-string" ,ghc-utf8-string)
11802 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11803 (properties '((hidden? #t)))))
dddbc90c
RV
11804
11805(define-public ghc-weigh
11806 (package
11807 (name "ghc-weigh")
b6d9777f 11808 (version "0.0.14")
dddbc90c
RV
11809 (source
11810 (origin
11811 (method url-fetch)
11812 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11813 "weigh-" version ".tar.gz"))
11814 (sha256
11815 (base32
b6d9777f 11816 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
11817 (build-system haskell-build-system)
11818 (inputs
11819 `(("ghc-split" ,ghc-split)
11820 ("ghc-temporary" ,ghc-temporary)))
11821 (home-page "https://github.com/fpco/weigh#readme")
11822 (synopsis "Measure allocations of a Haskell functions/values")
11823 (description "This package provides tools to measure the memory usage of a
11824Haskell value or function.")
11825 (license license:bsd-3)))
11826
11827(define-public ghc-wl-pprint
11828 (package
11829 (name "ghc-wl-pprint")
11830 (version "1.2.1")
11831 (source (origin
11832 (method url-fetch)
11833 (uri (string-append
11834 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11835 version ".tar.gz"))
11836 (sha256
11837 (base32
11838 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11839 (build-system haskell-build-system)
11840 (home-page "https://hackage.haskell.org/package/wl-pprint")
11841 (synopsis "Wadler/Leijen pretty printer")
11842 (description
11843 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11844Printer}. This version allows the library user to declare overlapping
11845instances of the @code{Pretty} class.")
11846 (license license:bsd-3)))
11847
11848(define-public ghc-wl-pprint-annotated
11849 (package
11850 (name "ghc-wl-pprint-annotated")
11851 (version "0.1.0.1")
11852 (source
11853 (origin
11854 (method url-fetch)
11855 (uri (string-append
11856 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11857 version
11858 ".tar.gz"))
11859 (sha256
11860 (base32
11861 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11862 (build-system haskell-build-system)
11863 (native-inputs
11864 `(("ghc-tasty" ,ghc-tasty)
11865 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11866 (home-page
11867 "https://github.com/minad/wl-pprint-annotated#readme")
11868 (synopsis
11869 "Wadler/Leijen pretty printer with annotation support")
11870 (description
11871 "Annotations are useful for coloring. This is a limited version of
11872@code{wl-pprint-extras} without support for point effects and without the free
11873monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11874Compared to @code{annotated-wl-pprint} this library provides a slightly
11875modernized interface.")
11876 (license license:bsd-3)))
11877
11878(define-public ghc-wl-pprint-text
11879 (package
11880 (name "ghc-wl-pprint-text")
11881 (version "1.2.0.0")
11882 (source
11883 (origin
11884 (method url-fetch)
11885 (uri (string-append
11886 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11887 version ".tar.gz"))
11888 (sha256
11889 (base32
11890 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11891 (build-system haskell-build-system)
11892 (inputs
11893 `(("ghc-base-compat" ,ghc-base-compat)))
11894 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11895 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11896 (description
11897 "A clone of wl-pprint for use with the text library.")
11898 (license license:bsd-3)))
11899
11900(define-public ghc-word8
11901 (package
11902 (name "ghc-word8")
11903 (version "0.1.3")
11904 (source
11905 (origin
11906 (method url-fetch)
11907 (uri (string-append
11908 "https://hackage.haskell.org/package/word8/word8-"
11909 version
11910 ".tar.gz"))
11911 (sha256
11912 (base32
11913 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11914 (build-system haskell-build-system)
11915 (native-inputs
11916 `(("ghc-hspec" ,ghc-hspec)
11917 ("hspec-discover" ,hspec-discover)))
11918 (home-page "https://hackage.haskell.org/package/word8")
11919 (synopsis "Word8 library for Haskell")
11920 (description "Word8 library to be used with @code{Data.ByteString}.")
11921 (license license:bsd-3)))
11922
11923(define-public ghc-x11
11924 (package
11925 (name "ghc-x11")
6c4581a3 11926 (version "1.9.1")
dddbc90c
RV
11927 (source
11928 (origin
11929 (method url-fetch)
11930 (uri (string-append "https://hackage.haskell.org/package/X11/"
11931 "X11-" version ".tar.gz"))
11932 (sha256
6c4581a3 11933 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
11934 (build-system haskell-build-system)
11935 (inputs
11936 `(("libx11" ,libx11)
11937 ("libxrandr" ,libxrandr)
11938 ("libxinerama" ,libxinerama)
11939 ("libxscrnsaver" ,libxscrnsaver)
11940 ("ghc-data-default" ,ghc-data-default)))
11941 (home-page "https://github.com/haskell-pkg-janitors/X11")
11942 (synopsis "Bindings to the X11 graphics library")
11943 (description
11944 "This package provides Haskell bindings to the X11 graphics library. The
11945bindings are a direct translation of the C bindings.")
11946 (license license:bsd-3)))
11947
11948(define-public ghc-x11-xft
11949 (package
11950 (name "ghc-x11-xft")
11951 (version "0.3.1")
11952 (source
11953 (origin
11954 (method url-fetch)
11955 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11956 "X11-xft-" version ".tar.gz"))
11957 (sha256
11958 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11959 (inputs
11960 `(("ghc-x11" ,ghc-x11)
11961 ("ghc-utf8-string" ,ghc-utf8-string)
11962 ("libx11" ,libx11)
11963 ("libxft" ,libxft)
11964 ("xorgproto" ,xorgproto)))
11965 (native-inputs
11966 `(("pkg-config" ,pkg-config)))
11967 (build-system haskell-build-system)
11968 (home-page "https://hackage.haskell.org/package/X11-xft")
11969 (synopsis "Bindings to Xft")
11970 (description
11971 "Bindings to the Xft, X Free Type interface library, and some Xrender
11972parts.")
11973 (license license:lgpl2.1)))
11974
11975(define-public ghc-xdg-basedir
11976 (package
11977 (name "ghc-xdg-basedir")
11978 (version "0.2.2")
11979 (source
11980 (origin
11981 (method url-fetch)
11982 (uri (string-append
11983 "https://hackage.haskell.org/package/xdg-basedir/"
11984 "xdg-basedir-" version ".tar.gz"))
11985 (sha256
11986 (base32
11987 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11988 (build-system haskell-build-system)
11989 (home-page "http://github.com/willdonnelly/xdg-basedir")
11990 (synopsis "XDG Base Directory library for Haskell")
11991 (description "This package provides a library implementing the XDG Base Directory spec.")
11992 (license license:bsd-3)))
11993
11994(define-public ghc-xml
11995 (package
11996 (name "ghc-xml")
11997 (version "1.3.14")
11998 (source
11999 (origin
12000 (method url-fetch)
12001 (uri (string-append
12002 "https://hackage.haskell.org/package/xml/xml-"
12003 version
12004 ".tar.gz"))
12005 (sha256
12006 (base32
12007 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
12008 (build-system haskell-build-system)
12009 (home-page "http://code.galois.com")
12010 (synopsis "Simple XML library for Haskell")
12011 (description "This package provides a simple XML library for Haskell.")
12012 (license license:bsd-3)))
12013
12014(define-public ghc-xml-conduit
12015 (package
12016 (name "ghc-xml-conduit")
12017 (version "1.8.0.1")
12018 (source
12019 (origin
12020 (method url-fetch)
12021 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
12022 "xml-conduit-" version ".tar.gz"))
12023 (sha256
12024 (base32
12025 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
12026 (build-system haskell-build-system)
12027 (inputs
12028 `(("ghc-conduit" ,ghc-conduit)
12029 ("ghc-conduit-extra" ,ghc-conduit-extra)
12030 ("ghc-doctest" ,ghc-doctest)
12031 ("ghc-resourcet" ,ghc-resourcet)
12032 ("ghc-xml-types" ,ghc-xml-types)
12033 ("ghc-attoparsec" ,ghc-attoparsec)
12034 ("ghc-data-default-class" ,ghc-data-default-class)
12035 ("ghc-blaze-markup" ,ghc-blaze-markup)
12036 ("ghc-blaze-html" ,ghc-blaze-html)
12037 ("ghc-monad-control" ,ghc-monad-control)
12038 ("ghc-hspec" ,ghc-hspec)
12039 ("ghc-hunit" ,ghc-hunit)))
12040 (home-page "https://github.com/snoyberg/xml")
12041 (synopsis "Utilities for dealing with XML with the conduit package")
12042 (description
12043 "This package provides pure-Haskell utilities for dealing with XML with
12044the @code{conduit} package.")
12045 (license license:expat)))
12046
12047(define-public ghc-xml-types
12048 (package
12049 (name "ghc-xml-types")
12050 (version "0.3.6")
12051 (source
12052 (origin
12053 (method url-fetch)
12054 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
12055 "xml-types-" version ".tar.gz"))
12056 (sha256
12057 (base32
12058 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
12059 (build-system haskell-build-system)
12060 (home-page "https://john-millikin.com/software/haskell-xml/")
12061 (synopsis "Basic types for representing XML")
12062 (description "This package provides basic types for representing XML
12063documents.")
12064 (license license:expat)))
12065
12066(define-public ghc-yaml
12067 (package
12068 (name "ghc-yaml")
b58e5b84 12069 (version "0.11.1.2")
dddbc90c
RV
12070 (source (origin
12071 (method url-fetch)
12072 (uri (string-append "https://hackage.haskell.org/package/"
12073 "yaml/yaml-" version ".tar.gz"))
12074 (sha256
12075 (base32
b58e5b84 12076 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 12077 (build-system haskell-build-system)
dddbc90c
RV
12078 (inputs
12079 `(("ghc-conduit" ,ghc-conduit)
12080 ("ghc-resourcet" ,ghc-resourcet)
12081 ("ghc-aeson" ,ghc-aeson)
12082 ("ghc-unordered-containers" ,ghc-unordered-containers)
12083 ("ghc-vector" ,ghc-vector)
12084 ("ghc-attoparsec" ,ghc-attoparsec)
12085 ("ghc-scientific" ,ghc-scientific)
12086 ("ghc-semigroups" ,ghc-semigroups)
12087 ("ghc-temporary" ,ghc-temporary)
12088 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
12089 ("ghc-base-compat" ,ghc-base-compat)
12090 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
12091 (native-inputs
12092 `(("ghc-hspec" ,ghc-hspec)
12093 ("ghc-hunit" ,ghc-hunit)
12094 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
12095 ("ghc-mockery" ,ghc-mockery)
12096 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
12097 (home-page "https://github.com/snoyberg/yaml/")
12098 (synopsis "Parsing and rendering YAML documents")
12099 (description
12100 "This package provides a library to parse and render YAML documents.")
12101 (license license:bsd-3)))
12102
12103(define-public ghc-zip-archive
12104 (package
12105 (name "ghc-zip-archive")
93c1fdd3 12106 (version "0.4.1")
dddbc90c
RV
12107 (source
12108 (origin
12109 (method url-fetch)
12110 (uri (string-append
12111 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
12112 version
12113 ".tar.gz"))
12114 (sha256
12115 (base32
93c1fdd3 12116 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 12117 (build-system haskell-build-system)
93c1fdd3
TS
12118 (arguments
12119 `(#:phases
12120 (modify-phases %standard-phases
12121 (add-before 'check 'set-PATH-for-tests
12122 (lambda* (#:key inputs #:allow-other-keys)
12123 (let ((unzip (assoc-ref inputs "unzip"))
12124 (which (assoc-ref inputs "which"))
12125 (path (getenv "PATH")))
12126 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
12127 #t))))))
dddbc90c
RV
12128 (inputs
12129 `(("ghc-digest" ,ghc-digest)
12130 ("ghc-temporary" ,ghc-temporary)
12131 ("ghc-zlib" ,ghc-zlib)))
12132 (native-inputs
12133 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
12134 ("unzip" ,unzip)
12135 ("which" ,which)))
dddbc90c
RV
12136 (home-page "https://hackage.haskell.org/package/zip-archive")
12137 (synopsis "Zip archive library for Haskell")
12138 (description "The zip-archive library provides functions for creating,
12139modifying, and extracting files from zip archives in Haskell.")
12140 (license license:bsd-3)))
12141
12142(define-public ghc-zlib
12143 (package
12144 (name "ghc-zlib")
bf12089a 12145 (version "0.6.2.1")
dddbc90c
RV
12146 (outputs '("out" "doc"))
12147 (source
12148 (origin
12149 (method url-fetch)
12150 (uri (string-append
12151 "https://hackage.haskell.org/package/zlib/zlib-"
12152 version
12153 ".tar.gz"))
12154 (sha256
12155 (base32
bf12089a 12156 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
12157 (build-system haskell-build-system)
12158 (arguments
12159 `(#:phases
12160 (modify-phases %standard-phases
12161 (add-before 'configure 'strip-test-framework-constraints
12162 (lambda _
12163 (substitute* "zlib.cabal"
12164 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
12165 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
12166 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12167 (inputs `(("zlib" ,zlib)))
12168 (native-inputs
12169 `(("ghc-quickcheck" ,ghc-quickcheck)
12170 ("ghc-tasty" ,ghc-tasty)
12171 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12172 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12173 (home-page "https://hackage.haskell.org/package/zlib")
12174 (synopsis
12175 "Compression and decompression in the gzip and zlib formats")
12176 (description
12177 "This package provides a pure interface for compressing and decompressing
12178streams of data represented as lazy @code{ByteString}s. It uses the zlib C
12179library so it has high performance. It supports the @code{zlib}, @code{gzip}
12180and @code{raw} compression formats. It provides a convenient high level API
12181suitable for most tasks and for the few cases where more control is needed it
12182provides access to the full zlib feature set.")
bbf8bf31 12183 (license license:bsd-3)))
14e41996
RV
12184
12185(define-public ghc-zlib-bindings
12186 (package
12187 (name "ghc-zlib-bindings")
12188 (version "0.1.1.5")
12189 (source
12190 (origin
12191 (method url-fetch)
12192 (uri (string-append "https://hackage.haskell.org/package/"
12193 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
12194 (sha256
12195 (base32
12196 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
12197 (build-system haskell-build-system)
12198 (inputs
12199 `(("ghc-zlib" ,ghc-zlib)))
12200 (native-inputs
12201 `(("ghc-hspec" ,ghc-hspec)
12202 ("ghc-quickcheck" ,ghc-quickcheck)))
12203 (arguments
12204 `(#:cabal-revision
12205 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
12206 (home-page "https://github.com/snapframework/zlib-bindings")
12207 (synopsis "Low-level bindings to the @code{zlib} package")
12208 (description "This package provides low-level bindings to the
12209@code{zlib} package.")
12210 (license license:bsd-3)))