gnu: hlint: Update to 2.1.26.
[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
e34df1c3
TS
5815(define-public ghc-lib-parser
5816 (package
5817 (name "ghc-lib-parser")
5818 (version "8.8.0.20190424")
5819 (source
5820 (origin
5821 (method url-fetch)
5822 (uri (string-append "https://hackage.haskell.org/package/"
5823 "ghc-lib-parser/ghc-lib-parser-" version ".tar.gz"))
5824 (sha256
5825 (base32
5826 "12gsh994pr13bsybwlravmi21la66dyw74pk74yfw2pnz682wv10"))))
5827 (build-system haskell-build-system)
5828 (native-inputs
5829 `(("ghc-alex" ,ghc-alex)
5830 ("ghc-happy" ,ghc-happy)))
5831 (home-page "https://github.com/digital-asset/ghc-lib")
5832 (synopsis "The GHC API, decoupled from GHC versions")
5833 (description "This library implements the GHC API. It is like the
5834compiler-provided @code{ghc} package, but it can be loaded on many
5835compiler versions.")
5836 (license license:bsd-3)))
5837
dddbc90c
RV
5838(define-public ghc-libxml
5839 (package
5840 (name "ghc-libxml")
5841 (version "0.1.1")
5842 (source
5843 (origin
5844 (method url-fetch)
5845 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5846 "libxml-" version ".tar.gz"))
5847 (sha256
5848 (base32
5849 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5850 (build-system haskell-build-system)
5851 (inputs
5852 `(("libxml2" ,libxml2)))
5853 (arguments
5854 `(#:configure-flags
5855 `(,(string-append "--extra-include-dirs="
5856 (assoc-ref %build-inputs "libxml2")
5857 "/include/libxml2"))))
5858 (home-page "https://hackage.haskell.org/package/libxml")
5859 (synopsis "Haskell bindings to libxml2")
5860 (description
5861 "This library provides minimal Haskell binding to libxml2.")
5862 (license license:bsd-3)))
5863
0c2d6fc2
TS
5864(define-public ghc-libyaml
5865 (package
5866 (name "ghc-libyaml")
5867 (version "0.1.1.0")
5868 (source
5869 (origin
5870 (method url-fetch)
5871 (uri (string-append "https://hackage.haskell.org/package/"
5872 "libyaml/libyaml-" version ".tar.gz"))
5873 (sha256
5874 (base32
5875 "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va"))
5876 (modules '((guix build utils)))
5877 (snippet
5878 ;; Delete bundled LibYAML.
5879 '(begin
5880 (delete-file-recursively "libyaml_src")
5881 #t))))
5882 (build-system haskell-build-system)
5883 (arguments
5884 `(#:configure-flags `("--flags=system-libyaml")))
5885 (inputs
5886 `(("ghc-conduit" ,ghc-conduit)
5887 ("ghc-resourcet" ,ghc-resourcet)
5888 ("libyaml" ,libyaml-2.1)))
5889 (home-page "https://github.com/snoyberg/yaml#readme")
5890 (synopsis "Low-level, streaming YAML interface.")
5891 (description "This package provides a Haskell wrapper over the
5892LibYAML C library.")
5893 (license license:bsd-3)))
5894
dddbc90c
RV
5895(define-public ghc-lifted-async
5896 (package
5897 (name "ghc-lifted-async")
b5b6d7ea 5898 (version "0.10.0.4")
dddbc90c
RV
5899 (source
5900 (origin
5901 (method url-fetch)
5902 (uri (string-append
5903 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5904 version ".tar.gz"))
5905 (sha256
5906 (base32
b5b6d7ea 5907 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
5908 (build-system haskell-build-system)
5909 (inputs
5910 `(("ghc-async" ,ghc-async)
5911 ("ghc-lifted-base" ,ghc-lifted-base)
5912 ("ghc-transformers-base" ,ghc-transformers-base)
5913 ("ghc-monad-control" ,ghc-monad-control)
5914 ("ghc-constraints" ,ghc-constraints)
5915 ("ghc-hunit" ,ghc-hunit)
5916 ("ghc-tasty" ,ghc-tasty)
5917 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5918 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5919 ("ghc-tasty-th" ,ghc-tasty-th)))
5920 (home-page "https://github.com/maoe/lifted-async")
5921 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5922 (description
5923 "This package provides IO operations from @code{async} package lifted to any
5924instance of @code{MonadBase} or @code{MonadBaseControl}.")
5925 (license license:bsd-3)))
5926
5927(define-public ghc-lifted-base
5928 (package
5929 (name "ghc-lifted-base")
5930 (version "0.2.3.12")
5931 (source
5932 (origin
5933 (method url-fetch)
5934 (uri (string-append
5935 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5936 version
5937 ".tar.gz"))
5938 (sha256
5939 (base32
5940 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5941 (build-system haskell-build-system)
5942 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5943 (inputs
5944 `(("ghc-transformers-base" ,ghc-transformers-base)
5945 ("ghc-monad-control" ,ghc-monad-control)
5946 ("ghc-transformers-compat" ,ghc-transformers-compat)
5947 ("ghc-hunit" ,ghc-hunit)))
5948 (home-page "https://github.com/basvandijk/lifted-base")
5949 (synopsis "Lifted IO operations from the base library")
5950 (description "Lifted-base exports IO operations from the @code{base}
5951library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5952Note that not all modules from @code{base} are converted yet. The package
5953includes a copy of the @code{monad-peel} test suite written by Anders
5954Kaseorg.")
5955 (license license:bsd-3)))
5956
5957(define-public ghc-linear
5958 (package
5959 (name "ghc-linear")
5960 (version "1.20.8")
5961 (source
5962 (origin
5963 (method url-fetch)
5964 (uri (string-append "https://hackage.haskell.org/package/linear/"
5965 "linear-" version ".tar.gz"))
5966 (sha256
5967 (base32
5968 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5969 (build-system haskell-build-system)
5970 (inputs
5971 `(("ghc-adjunctions" ,ghc-adjunctions)
5972 ("ghc-base-orphans" ,ghc-base-orphans)
5973 ("ghc-bytes" ,ghc-bytes)
5974 ("ghc-cereal" ,ghc-cereal)
5975 ("ghc-distributive" ,ghc-distributive)
5976 ("ghc-hashable" ,ghc-hashable)
5977 ("ghc-lens" ,ghc-lens)
5978 ("ghc-reflection" ,ghc-reflection)
5979 ("ghc-semigroups" ,ghc-semigroups)
5980 ("ghc-semigroupoids" ,ghc-semigroupoids)
5981 ("ghc-tagged" ,ghc-tagged)
5982 ("ghc-transformers-compat" ,ghc-transformers-compat)
5983 ("ghc-unordered-containers" ,ghc-unordered-containers)
5984 ("ghc-vector" ,ghc-vector)
5985 ("ghc-void" ,ghc-void)))
5986 (native-inputs
5987 `(("cabal-doctest" ,cabal-doctest)
5988 ("ghc-doctest" ,ghc-doctest)
5989 ("ghc-simple-reflect" ,ghc-simple-reflect)
5990 ("ghc-test-framework" ,ghc-test-framework)
5991 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5992 ("ghc-hunit" ,ghc-hunit)))
5993 (home-page "http://github.com/ekmett/linear/")
5994 (synopsis "Linear algebra library for Haskell")
5995 (description
5996 "This package provides types and combinators for linear algebra on free
5997vector spaces.")
5998 (license license:bsd-3)))
1307e4c7
JS
5999
6000(define-public ghc-listlike
6001 (package
6002 (name "ghc-listlike")
6003 (version "4.6.2")
6004 (source
6005 (origin
6006 (method url-fetch)
6007 (uri
6008 (string-append
6009 "https://hackage.haskell.org/package/ListLike/ListLike-"
6010 version ".tar.gz"))
6011 (sha256
6012 (base32
6013 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
6014 (build-system haskell-build-system)
6015 (inputs
6016 `(("ghc-vector" ,ghc-vector)
6017 ("ghc-dlist" ,ghc-dlist)
6018 ("ghc-fmlist" ,ghc-fmlist)
6019 ("ghc-hunit" ,ghc-hunit)
6020 ("ghc-quickcheck" ,ghc-quickcheck)
6021 ("ghc-random" ,ghc-random)
6022 ("ghc-utf8-string" ,ghc-utf8-string)))
6023 (home-page "https://github.com/JohnLato/listlike")
6024 (synopsis "Generic support for list-like structures")
6025 (description "The ListLike module provides a common interface to the
6026various Haskell types that are list-like. Predefined interfaces include
6027standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
6028Custom types can easily be made ListLike instances as well.
6029
6030ListLike also provides for String-like types, such as String and
6031ByteString, for types that support input and output, and for types that
6032can handle infinite lists.")
6033 (license license:bsd-3)))
dddbc90c
RV
6034
6035(define-public ghc-logging-facade
6036 (package
6037 (name "ghc-logging-facade")
6038 (version "0.3.0")
6039 (source (origin
6040 (method url-fetch)
6041 (uri (string-append "https://hackage.haskell.org/package/"
6042 "logging-facade/logging-facade-"
6043 version ".tar.gz"))
6044 (sha256
6045 (base32
6046 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
6047 (build-system haskell-build-system)
6048 (native-inputs
6049 `(("ghc-hspec" ,ghc-hspec)
6050 ("hspec-discover" ,hspec-discover)))
6051 (home-page "https://hackage.haskell.org/package/logging-facade")
6052 (synopsis "Simple logging abstraction that allows multiple back-ends")
6053 (description
6054 "This package provides a simple logging abstraction that allows multiple
6055back-ends.")
6056 (license license:expat)))
6057
6058(define-public ghc-logict
6059 (package
6060 (name "ghc-logict")
79d9326f 6061 (version "0.7.0.2")
dddbc90c
RV
6062 (source
6063 (origin
6064 (method url-fetch)
6065 (uri (string-append
6066 "https://hackage.haskell.org/package/logict/logict-"
6067 version
6068 ".tar.gz"))
6069 (sha256
6070 (base32
79d9326f 6071 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 6072 (build-system haskell-build-system)
79d9326f
TS
6073 (native-inputs
6074 `(("ghc-tasty" ,ghc-tasty)
6075 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
6076 (home-page "http://code.haskell.org/~dolio/")
6077 (synopsis "Backtracking logic-programming monad")
6078 (description "This library provides a continuation-based, backtracking,
6079logic programming monad. An adaptation of the two-continuation implementation
6080found in the paper \"Backtracking, Interleaving, and Terminating Monad
6081Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6082online}.")
6083 (license license:bsd-3)))
6084
6085(define-public ghc-lzma
6086 (package
6087 (name "ghc-lzma")
6088 (version "0.0.0.3")
6089 (source
6090 (origin
6091 (method url-fetch)
6092 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6093 "lzma-" version ".tar.gz"))
6094 (sha256
6095 (base32
6096 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6097 (build-system haskell-build-system)
6098 (arguments
6099 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6100 #:cabal-revision
6101 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6102 (native-inputs
6103 `(("ghc-hunit" ,ghc-hunit)
6104 ("ghc-quickcheck" ,ghc-quickcheck)
6105 ("ghc-tasty" ,ghc-tasty)
6106 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6107 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6108 (home-page "https://github.com/hvr/lzma")
6109 (synopsis "LZMA/XZ compression and decompression")
6110 (description
6111 "This package provides a pure interface for compressing and
6112decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6113monadic incremental interface is provided as well.")
6114 (license license:bsd-3)))
6115
6116(define-public ghc-lzma-conduit
6117 (package
6118 (name "ghc-lzma-conduit")
6119 (version "1.2.1")
6120 (source
6121 (origin
6122 (method url-fetch)
6123 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6124 "lzma-conduit-" version ".tar.gz"))
6125 (sha256
6126 (base32
6127 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6128 (build-system haskell-build-system)
6129 (inputs
6130 `(("ghc-conduit" ,ghc-conduit)
6131 ("ghc-lzma" ,ghc-lzma)
6132 ("ghc-resourcet" ,ghc-resourcet)))
6133 (native-inputs
6134 `(("ghc-base-compat" ,ghc-base-compat)
6135 ("ghc-test-framework" ,ghc-test-framework)
6136 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6137 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6138 ("ghc-hunit" ,ghc-hunit)
6139 ("ghc-quickcheck" ,ghc-quickcheck)))
6140 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6141 (synopsis "Conduit interface for lzma/xz compression")
6142 (description
6143 "This package provides a @code{Conduit} interface for the LZMA
6144compression algorithm used in the @code{.xz} file format.")
6145 (license license:bsd-3)))
6146
e405912c
KM
6147(define-public ghc-magic
6148 (package
6149 (name "ghc-magic")
6150 (version "1.1")
6151 (source
6152 (origin
6153 (method url-fetch)
6154 (uri (string-append
6155 "https://hackage.haskell.org/package/magic/magic-"
6156 version ".tar.gz"))
6157 (sha256
6158 (base32
6159 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6160 (build-system haskell-build-system)
6161 (home-page "http://hackage.haskell.org/package/magic")
6162 (synopsis "Interface to C file/magic library")
6163 (description
6164 "This package provides a full-featured binding to the C libmagic library.
6165With it, you can determine the type of a file by examining its contents rather
6166than its name.")
6167 (license license:bsd-3)))
6168
dddbc90c
RV
6169(define-public ghc-markdown-unlit
6170 (package
6171 (name "ghc-markdown-unlit")
6172 (version "0.5.0")
6173 (source (origin
6174 (method url-fetch)
6175 (uri (string-append
6176 "mirror://hackage/package/markdown-unlit/"
6177 "markdown-unlit-" version ".tar.gz"))
6178 (sha256
6179 (base32
6180 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6181 (build-system haskell-build-system)
6182 (inputs
6183 `(("ghc-base-compat" ,ghc-base-compat)
6184 ("ghc-hspec" ,ghc-hspec)
6185 ("ghc-quickcheck" ,ghc-quickcheck)
6186 ("ghc-silently" ,ghc-silently)
6187 ("ghc-stringbuilder" ,ghc-stringbuilder)
6188 ("ghc-temporary" ,ghc-temporary)
6189 ("hspec-discover" ,hspec-discover)))
6190 (home-page "https://github.com/sol/markdown-unlit#readme")
6191 (synopsis "Literate Haskell support for Markdown")
6192 (description "This package allows you to have a README.md that at the
6193same time is a literate Haskell program.")
6194 (license license:expat)))
6195
6196(define-public ghc-math-functions
6197 (package
6198 (name "ghc-math-functions")
b45de2bf 6199 (version "0.3.3.0")
dddbc90c
RV
6200 (source
6201 (origin
6202 (method url-fetch)
6203 (uri (string-append "https://hackage.haskell.org/package/"
6204 "math-functions-" version "/"
6205 "math-functions-" version ".tar.gz"))
6206 (sha256
6207 (base32
b45de2bf 6208 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6209 (build-system haskell-build-system)
6210 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6211 (inputs
b45de2bf
TS
6212 `(("ghc-data-default-class" ,ghc-data-default-class)
6213 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6214 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6215 (native-inputs
6216 `(("ghc-hunit" ,ghc-hunit)
6217 ("ghc-quickcheck" ,ghc-quickcheck)
6218 ("ghc-erf" ,ghc-erf)
6219 ("ghc-test-framework" ,ghc-test-framework)
6220 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6221 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6222 (home-page "https://github.com/bos/math-functions")
6223 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6224 (description "This Haskell library provides implementations of
6225special mathematical functions and Chebyshev polynomials. These
6226functions are often useful in statistical and numerical computing.")
6227 (license license:bsd-3)))
6228
6229(define-public ghc-megaparsec
6230 (package
6231 (name "ghc-megaparsec")
03b0c92e 6232 (version "7.0.5")
dddbc90c
RV
6233 (source
6234 (origin
6235 (method url-fetch)
6236 (uri (string-append "https://hackage.haskell.org/package/"
6237 "megaparsec/megaparsec-"
6238 version ".tar.gz"))
6239 (sha256
6240 (base32
03b0c92e 6241 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 6242 (build-system haskell-build-system)
dddbc90c
RV
6243 (inputs
6244 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6245 ("ghc-parser-combinators" ,ghc-parser-combinators)
6246 ("ghc-scientific" ,ghc-scientific)))
6247 (native-inputs
6248 `(("ghc-quickcheck" ,ghc-quickcheck)
6249 ("ghc-hspec" ,ghc-hspec)
6250 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6251 ("hspec-discover" ,hspec-discover)))
6252 (home-page "https://github.com/mrkkrp/megaparsec")
6253 (synopsis "Monadic parser combinators")
6254 (description
6255 "This is an industrial-strength monadic parser combinator library.
6256Megaparsec is a feature-rich package that strikes a nice balance between
6257speed, flexibility, and quality of parse errors.")
6258 (license license:bsd-2)))
6259
6260(define-public ghc-memory
6261 (package
6262 (name "ghc-memory")
d2c7d336 6263 (version "0.14.18")
dddbc90c
RV
6264 (source (origin
6265 (method url-fetch)
6266 (uri (string-append "https://hackage.haskell.org/package/"
6267 "memory/memory-" version ".tar.gz"))
6268 (sha256
6269 (base32
d2c7d336 6270 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6271 (build-system haskell-build-system)
6272 (inputs
6273 `(("ghc-basement" ,ghc-basement)
6274 ("ghc-foundation" ,ghc-foundation)))
6275 (native-inputs
6276 `(("ghc-tasty" ,ghc-tasty)
6277 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6278 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6279 (home-page "https://github.com/vincenthz/hs-memory")
6280 (synopsis "Memory abstractions for Haskell")
6281 (description
6282 "This package provides memory abstractions, such as chunk of memory,
6283polymorphic byte array management and manipulation functions. It contains a
6284polymorphic byte array abstraction and functions similar to strict ByteString,
6285different type of byte array abstraction, raw memory IO operations (memory
6286set, memory copy, ..) and more")
6287 (license license:bsd-3)))
6288
6289(define-public ghc-memotrie
6290 (package
6291 (name "ghc-memotrie")
6292 (version "0.6.9")
6293 (source
6294 (origin
6295 (method url-fetch)
6296 (uri (string-append
6297 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6298 version
6299 ".tar.gz"))
6300 (sha256
6301 (base32
6302 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6303 (build-system haskell-build-system)
6304 (inputs
6305 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6306 (home-page "https://github.com/conal/MemoTrie")
6307 (synopsis "Trie-based memo functions")
6308 (description "This package provides a functional library for creating
6309efficient memo functions using tries.")
6310 (license license:bsd-3)))
6311
6312(define-public ghc-microlens
6313 (package
6314 (name "ghc-microlens")
82478c58 6315 (version "0.4.10")
dddbc90c
RV
6316 (source
6317 (origin
6318 (method url-fetch)
6319 (uri (string-append "https://hackage.haskell.org/package/"
6320 "microlens-" version "/"
6321 "microlens-" version ".tar.gz"))
6322 (sha256
6323 (base32
82478c58 6324 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6325 (build-system haskell-build-system)
6326 (home-page
6327 "https://github.com/aelve/microlens")
6328 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6329 (description "This Haskell package provides a lens library, just like
6330@code{ghc-lens}, but smaller. It provides essential lenses and
6331traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6332nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6333combinators (like @code{failing} and @code{singular}), but everything else is
6334stripped. As the result, this package has no dependencies.")
6335 (license license:bsd-3)))
6336
6337(define-public ghc-microlens-ghc
6338 (package
6339 (name "ghc-microlens-ghc")
027beb55 6340 (version "0.4.10")
dddbc90c
RV
6341 (source
6342 (origin
6343 (method url-fetch)
6344 (uri (string-append
6345 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6346 version
6347 ".tar.gz"))
6348 (sha256
6349 (base32
027beb55 6350 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6351 (build-system haskell-build-system)
6352 (inputs `(("ghc-microlens" ,ghc-microlens)))
6353 (home-page "https://github.com/monadfix/microlens")
6354 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6355 (description "This library provides everything that @code{microlens}
6356provides plus instances to make @code{each}, @code{at}, and @code{ix}
6357usable with arrays, @code{ByteString}, and containers. This package is
6358a part of the @uref{http://hackage.haskell.org/package/microlens,
6359microlens} family; see the readme
6360@uref{https://github.com/aelve/microlens#readme, on Github}.")
6361 (license license:bsd-3)))
6362
6363(define-public ghc-microlens-mtl
6364 (package
6365 (name "ghc-microlens-mtl")
6366 (version "0.1.11.1")
6367 (source
6368 (origin
6369 (method url-fetch)
6370 (uri (string-append
6371 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6372 version
6373 ".tar.gz"))
6374 (sha256
6375 (base32
6376 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6377 (build-system haskell-build-system)
6378 (inputs
6379 `(("ghc-microlens" ,ghc-microlens)
6380 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6381 (home-page "https://github.com/monadfix/microlens")
6382 (synopsis
6383 "@code{microlens} support for Reader/Writer/State from mtl")
6384 (description
6385 "This package contains functions (like @code{view} or @code{+=}) which
6386work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6387mtl package. This package is a part of the
6388@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6389readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6390 (license license:bsd-3)))
6391
6392(define-public ghc-microlens-platform
6393 (package
6394 (name "ghc-microlens-platform")
85decc1f 6395 (version "0.3.11")
dddbc90c
RV
6396 (source
6397 (origin
6398 (method url-fetch)
6399 (uri (string-append
6400 "https://hackage.haskell.org/package/"
6401 "microlens-platform/microlens-platform-" version ".tar.gz"))
6402 (sha256
6403 (base32
85decc1f 6404 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6405 (build-system haskell-build-system)
6406 (inputs
6407 `(("ghc-hashable" ,ghc-hashable)
6408 ("ghc-microlens" ,ghc-microlens)
6409 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6410 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6411 ("ghc-microlens-th" ,ghc-microlens-th)
6412 ("ghc-unordered-containers" ,ghc-unordered-containers)
6413 ("ghc-vector" ,ghc-vector)))
6414 (home-page "https://github.com/monadfix/microlens")
6415 (synopsis "Feature-complete microlens")
6416 (description
6417 "This package exports a module which is the recommended starting point
6418for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6419you aren't trying to keep your dependencies minimal. By importing
6420@code{Lens.Micro.Platform} you get all functions and instances from
6421@uref{http://hackage.haskell.org/package/microlens, microlens},
6422@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6423@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6424@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6425well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6426minor and major versions of @code{microlens-platform} are incremented whenever
6427the minor and major versions of any other @code{microlens} package are
6428incremented, so you can depend on the exact version of
6429@code{microlens-platform} without specifying the version of @code{microlens}
6430you need. This package is a part of the
6431@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6432readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6433 (license license:bsd-3)))
6434
6435(define-public ghc-microlens-th
6436 (package
6437 (name "ghc-microlens-th")
7ae52867 6438 (version "0.4.2.3")
dddbc90c
RV
6439 (source
6440 (origin
6441 (method url-fetch)
6442 (uri (string-append "https://hackage.haskell.org/package/"
6443 "microlens-th-" version "/"
6444 "microlens-th-" version ".tar.gz"))
6445 (sha256
6446 (base32
7ae52867 6447 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6448 (build-system haskell-build-system)
7ae52867
TS
6449 (arguments
6450 `(#:cabal-revision
6451 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6452 (inputs `(("ghc-microlens" ,ghc-microlens)
6453 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6454 (home-page
6455 "https://github.com/aelve/microlens")
6456 (synopsis "Automatic generation of record lenses for
6457@code{ghc-microlens}")
6458 (description "This Haskell package lets you automatically generate lenses
6459for data types; code was extracted from the lens package, and therefore
6460generated lenses are fully compatible with ones generated by lens (and can be
6461used both from lens and microlens).")
6462 (license license:bsd-3)))
6463
6464(define-public ghc-missingh
6465 (package
6466 (name "ghc-missingh")
641207cb 6467 (version "1.4.1.0")
dddbc90c
RV
6468 (source
6469 (origin
6470 (method url-fetch)
6471 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6472 "MissingH-" version ".tar.gz"))
6473 (sha256
6474 (base32
641207cb 6475 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
6476 (build-system haskell-build-system)
6477 ;; Tests require the unmaintained testpack package, which depends on the
6478 ;; outdated QuickCheck version 2.7, which can no longer be built with
6479 ;; recent versions of GHC and Haskell libraries.
6480 (arguments '(#:tests? #f))
6481 (inputs
6482 `(("ghc-network" ,ghc-network)
6483 ("ghc-hunit" ,ghc-hunit)
6484 ("ghc-regex-compat" ,ghc-regex-compat)
6485 ("ghc-hslogger" ,ghc-hslogger)
6486 ("ghc-random" ,ghc-random)
6487 ("ghc-old-time" ,ghc-old-time)
6488 ("ghc-old-locale" ,ghc-old-locale)))
6489 (native-inputs
6490 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6491 ("ghc-quickcheck" ,ghc-quickcheck)
6492 ("ghc-hunit" ,ghc-hunit)))
6493 (home-page "http://software.complete.org/missingh")
6494 (synopsis "Large utility library")
6495 (description
6496 "MissingH is a library of all sorts of utility functions for Haskell
6497programmers. It is written in pure Haskell and thus should be extremely
6498portable and easy to use.")
6499 (license license:bsd-3)))
6500
6501(define-public ghc-mmap
6502 (package
6503 (name "ghc-mmap")
6504 (version "0.5.9")
6505 (source (origin
6506 (method url-fetch)
6507 (uri (string-append "https://hackage.haskell.org/package/"
6508 "mmap/mmap-" version ".tar.gz"))
6509 (sha256
6510 (base32
6511 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6512 (build-system haskell-build-system)
6513 (home-page "https://hackage.haskell.org/package/mmap")
6514 (synopsis "Memory mapped files for Haskell")
6515 (description
6516 "This library provides a wrapper to @code{mmap}, allowing files or
6517devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6518@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6519do on-demand loading.")
6520 (license license:bsd-3)))
6521
6522(define-public ghc-mmorph
6523 (package
6524 (name "ghc-mmorph")
e0389704 6525 (version "1.1.3")
dddbc90c
RV
6526 (source
6527 (origin
6528 (method url-fetch)
6529 (uri (string-append
6530 "https://hackage.haskell.org/package/mmorph/mmorph-"
6531 version
6532 ".tar.gz"))
6533 (sha256
6534 (base32
e0389704 6535 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6536 (build-system haskell-build-system)
6537 (inputs
6538 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6539 (home-page "https://hackage.haskell.org/package/mmorph")
6540 (synopsis "Monad morphisms")
6541 (description
6542 "This library provides monad morphism utilities, most commonly used for
6543manipulating monad transformer stacks.")
6544 (license license:bsd-3)))
6545
6546(define-public ghc-mockery
6547 (package
6548 (name "ghc-mockery")
6549 (version "0.3.5")
6550 (source (origin
6551 (method url-fetch)
6552 (uri (string-append "https://hackage.haskell.org/package/"
6553 "mockery/mockery-" version ".tar.gz"))
6554 (sha256
6555 (base32
6556 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6557 (build-system haskell-build-system)
6558 (inputs
6559 `(("ghc-temporary" ,ghc-temporary)
6560 ("ghc-logging-facade" ,ghc-logging-facade)
6561 ("ghc-base-compat" ,ghc-base-compat)))
6562 (native-inputs
6563 `(("ghc-hspec" ,ghc-hspec)
6564 ("hspec-discover" ,hspec-discover)))
6565 (home-page "https://hackage.haskell.org/package/mockery")
6566 (synopsis "Support functions for automated testing")
6567 (description
6568 "The mockery package provides support functions for automated testing.")
6569 (license license:expat)))
6570
6571(define-public ghc-monad-control
6572 (package
6573 (name "ghc-monad-control")
6574 (version "1.0.2.3")
6575 (source
6576 (origin
6577 (method url-fetch)
6578 (uri (string-append
6579 "https://hackage.haskell.org/package/monad-control"
6580 "/monad-control-" version ".tar.gz"))
6581 (sha256
6582 (base32
6583 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6584 (build-system haskell-build-system)
6585 (inputs
6586 `(("ghc-transformers-base" ,ghc-transformers-base)
6587 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6588 (home-page "https://github.com/basvandijk/monad-control")
6589 (synopsis "Monad transformers to lift control operations like exception
6590catching")
6591 (description "This package defines the type class @code{MonadBaseControl},
6592a subset of @code{MonadBase} into which generic control operations such as
6593@code{catch} can be lifted from @code{IO} or any other base monad.")
6594 (license license:bsd-3)))
6595
6596(define-public ghc-monad-logger
6597 (package
6598 (name "ghc-monad-logger")
26980aae 6599 (version "0.3.30")
dddbc90c
RV
6600 (source
6601 (origin
6602 (method url-fetch)
6603 (uri (string-append "https://hackage.haskell.org/package/"
6604 "monad-logger-" version "/"
6605 "monad-logger-" version ".tar.gz"))
6606 (sha256
6607 (base32
26980aae 6608 "102l0v75hbvkmrypiyg4ybb6rbc7nij5nxs1aihmqfdpg04rkkp7"))))
dddbc90c
RV
6609 (build-system haskell-build-system)
6610 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6611 ("ghc-stm-chans" ,ghc-stm-chans)
6612 ("ghc-lifted-base" ,ghc-lifted-base)
6613 ("ghc-resourcet" ,ghc-resourcet)
6614 ("ghc-conduit" ,ghc-conduit)
6615 ("ghc-conduit-extra" ,ghc-conduit-extra)
6616 ("ghc-fast-logger" ,ghc-fast-logger)
6617 ("ghc-transformers-base" ,ghc-transformers-base)
6618 ("ghc-monad-control" ,ghc-monad-control)
6619 ("ghc-monad-loops" ,ghc-monad-loops)
6620 ("ghc-blaze-builder" ,ghc-blaze-builder)
6621 ("ghc-exceptions" ,ghc-exceptions)))
6622 (home-page "https://github.com/kazu-yamamoto/logger")
6623 (synopsis "Provides a class of monads which can log messages for Haskell")
6624 (description "This Haskell package uses a monad transformer approach
6625for logging.
6626
6627This package provides Template Haskell functions for determining source
6628code locations of messages.")
6629 (license license:expat)))
6630
6631(define-public ghc-monad-loops
6632 (package
6633 (name "ghc-monad-loops")
6634 (version "0.4.3")
6635 (source
6636 (origin
6637 (method url-fetch)
6638 (uri (string-append "https://hackage.haskell.org/package/"
6639 "monad-loops-" version "/"
6640 "monad-loops-" version ".tar.gz"))
6641 (sha256
6642 (base32
6643 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6644 (build-system haskell-build-system)
6645 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6646 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6647 (home-page "https://github.com/mokus0/monad-loops")
6648 (synopsis "Monadic loops for Haskell")
6649 (description "This Haskell package provides some useful control
6650operators for looping.")
6651 (license license:public-domain)))
6652
6653(define-public ghc-monad-par
6654 (package
6655 (name "ghc-monad-par")
6656 (version "0.3.4.8")
6657 (source
6658 (origin
6659 (method url-fetch)
6660 (uri (string-append "https://hackage.haskell.org/package/"
6661 "monad-par-" version "/"
6662 "monad-par-" version ".tar.gz"))
faac56f3 6663 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
6664 (sha256
6665 (base32
6666 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6667 (build-system haskell-build-system)
6668 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6669 ("ghc-abstract-deque" ,ghc-abstract-deque)
6670 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6671 ("ghc-mwc-random" ,ghc-mwc-random)
6672 ("ghc-parallel" ,ghc-parallel)))
6673 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6674 ("ghc-hunit" ,ghc-hunit)
6675 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6676 ("ghc-test-framework-quickcheck2"
6677 ,ghc-test-framework-quickcheck2)
6678 ("ghc-test-framework" ,ghc-test-framework)
6679 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6680 (home-page "https://github.com/simonmar/monad-par")
6681 (synopsis "Haskell library for parallel programming based on a monad")
6682 (description "The @code{Par} monad offers an API for parallel
6683programming. The library works for parallelising both pure and @code{IO}
6684computations, although only the pure version is deterministic. The default
6685implementation provides a work-stealing scheduler and supports forking tasks
6686that are much lighter weight than IO-threads.")
6687 (license license:bsd-3)))
6688
6689(define-public ghc-monad-par-extras
6690 (package
6691 (name "ghc-monad-par-extras")
6692 (version "0.3.3")
6693 (source
6694 (origin
6695 (method url-fetch)
6696 (uri (string-append "https://hackage.haskell.org/package/"
6697 "monad-par-extras-" version "/"
6698 "monad-par-extras-" version ".tar.gz"))
6699 (sha256
6700 (base32
6701 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6702 (build-system haskell-build-system)
6703 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6704 ("ghc-cereal" ,ghc-cereal)
6705 ("ghc-random" ,ghc-random)))
6706 (home-page "https://github.com/simonmar/monad-par")
6707 (synopsis "Combinators and extra features for Par monads for Haskell")
6708 (description "This Haskell package provides additional data structures,
6709and other added capabilities layered on top of the @code{Par} monad.")
6710 (license license:bsd-3)))
6711
6712(define-public ghc-monadplus
6713 (package
6714 (name "ghc-monadplus")
6715 (version "1.4.2")
6716 (source
6717 (origin
6718 (method url-fetch)
6719 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6720 "/monadplus-" version ".tar.gz"))
6721 (sha256
6722 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6723 (build-system haskell-build-system)
6724 (home-page "https://hackage.haskell.org/package/monadplus")
6725 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6726 (description
6727 "This package generalizes many common stream operations such as
6728@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6729arbitrary @code{MonadPlus} instances.")
6730 (license license:bsd-3)))
6731
6732(define-public ghc-monadrandom
6733 (package
6734 (name "ghc-monadrandom")
6735 (version "0.5.1.1")
6736 (source
6737 (origin
6738 (method url-fetch)
6739 (uri (string-append "https://hackage.haskell.org/package/"
6740 "MonadRandom-" version "/"
6741 "MonadRandom-" version ".tar.gz"))
6742 (sha256
6743 (base32
6744 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6745 (build-system haskell-build-system)
6746 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6747 ("ghc-primitive" ,ghc-primitive)
6748 ("ghc-fail" ,ghc-fail)
6749 ("ghc-random" ,ghc-random)))
6750 (home-page "https://github.com/byorgey/MonadRandom")
6751 (synopsis "Random-number generation monad for Haskell")
6752 (description "This Haskell package provides support for computations
6753which consume random values.")
6754 (license license:bsd-3)))
6755
6756(define-public ghc-monads-tf
6757 (package
6758 (name "ghc-monads-tf")
6759 (version "0.1.0.3")
6760 (source
6761 (origin
6762 (method url-fetch)
6763 (uri (string-append
6764 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6765 version ".tar.gz"))
6766 (sha256
6767 (base32
6768 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6769 (build-system haskell-build-system)
6770 (home-page "https://hackage.haskell.org/package/monads-tf")
6771 (synopsis "Monad classes, using type families")
6772 (description
6773 "Monad classes using type families, with instances for various monad transformers,
6774inspired by the paper 'Functional Programming with Overloading and Higher-Order
6775Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6776the @code{mtl-tf} package.")
6777 (license license:bsd-3)))
6778
6779(define-public ghc-mono-traversable
6780 (package
6781 (name "ghc-mono-traversable")
23bb445b 6782 (version "1.0.13.0")
dddbc90c
RV
6783 (source
6784 (origin
6785 (method url-fetch)
6786 (uri (string-append "https://hackage.haskell.org/package/"
6787 "mono-traversable-" version "/"
6788 "mono-traversable-" version ".tar.gz"))
6789 (sha256
6790 (base32
23bb445b 6791 "1bqy982lpdb83lacfy76n8kqw5bvd31avxj25kg8gkgycdh0g0ma"))))
dddbc90c
RV
6792 (build-system haskell-build-system)
6793 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6794 ("ghc-hashable" ,ghc-hashable)
6795 ("ghc-vector" ,ghc-vector)
6796 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6797 ("ghc-split" ,ghc-split)))
6798 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6799 ("ghc-hunit" ,ghc-hunit)
6800 ("ghc-quickcheck" ,ghc-quickcheck)
6801 ("ghc-semigroups" ,ghc-semigroups)
6802 ("ghc-foldl" ,ghc-foldl)))
6803 (home-page "https://github.com/snoyberg/mono-traversable")
6804 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6805containers")
6806 (description "This Haskell package provides Monomorphic variants of the
6807Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6808basic typeclasses, you understand mono-traversable. In addition to what
6809you are used to, it adds on an IsSequence typeclass and has code for marking
6810data structures as non-empty.")
6811 (license license:expat)))
6812
6813(define-public ghc-murmur-hash
6814 (package
6815 (name "ghc-murmur-hash")
6816 (version "0.1.0.9")
6817 (source
6818 (origin
6819 (method url-fetch)
6820 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6821 "/murmur-hash-" version ".tar.gz"))
6822 (sha256
6823 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6824 (build-system haskell-build-system)
6825 (home-page "https://github.com/nominolo/murmur-hash")
6826 (synopsis "MurmurHash2 implementation for Haskell")
6827 (description
6828 "This package provides an implementation of MurmurHash2, a good, fast,
6829general-purpose, non-cryptographic hashing function. See
6830@url{https://sites.google.com/site/murmurhash/} for details. This
6831implementation is pure Haskell, so it might be a bit slower than a C FFI
6832binding.")
6833 (license license:bsd-3)))
6834
6835(define-public ghc-mwc-random
6836 (package
6837 (name "ghc-mwc-random")
33268e2c 6838 (version "0.14.0.0")
dddbc90c
RV
6839 (source
6840 (origin
6841 (method url-fetch)
6842 (uri (string-append "https://hackage.haskell.org/package/"
6843 "mwc-random-" version "/"
6844 "mwc-random-" version ".tar.gz"))
6845 (sha256
6846 (base32
33268e2c 6847 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
6848 (build-system haskell-build-system)
6849 (inputs
6850 `(("ghc-primitive" ,ghc-primitive)
6851 ("ghc-vector" ,ghc-vector)
6852 ("ghc-math-functions" ,ghc-math-functions)))
6853 (arguments
6854 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6855 (native-inputs
6856 `(("ghc-hunit" ,ghc-hunit)
6857 ("ghc-quickcheck" ,ghc-quickcheck)
6858 ("ghc-test-framework" ,ghc-test-framework)
6859 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6860 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6861 (home-page "https://github.com/bos/mwc-random")
6862 (synopsis "Random number generation library for Haskell")
6863 (description "This Haskell package contains code for generating
6864high quality random numbers that follow either a uniform or normal
6865distribution. The generated numbers are suitable for use in
6866statistical applications.
6867
6868The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6869multiply-with-carry generator, which has a period of 2^{8222} and
6870fares well in tests of randomness. It is also extremely fast,
6871between 2 and 3 times faster than the Mersenne Twister.")
6872 (license license:bsd-3)))
6873
6874(define-public ghc-nats
6875 (package
6876 (name "ghc-nats")
6877 (version "1.1.2")
6878 (source
6879 (origin
6880 (method url-fetch)
6881 (uri (string-append
6882 "https://hackage.haskell.org/package/nats/nats-"
6883 version
6884 ".tar.gz"))
6885 (sha256
6886 (base32
6887 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6888 (build-system haskell-build-system)
6889 (arguments `(#:haddock? #f))
6890 (inputs
6891 `(("ghc-hashable" ,ghc-hashable)))
6892 (home-page "https://hackage.haskell.org/package/nats")
6893 (synopsis "Natural numbers")
6894 (description "This library provides the natural numbers for Haskell.")
6895 (license license:bsd-3)))
6896
6897(define-public ghc-nats-bootstrap
6898 (package
6899 (inherit ghc-nats)
6900 (name "ghc-nats-bootstrap")
6901 (inputs
6902 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6903 (properties '((hidden? #t)))))
6904
52915062
EF
6905(define-public ghc-ncurses
6906 (package
6907 (name "ghc-ncurses")
6908 (version "0.2.16")
6909 (source
6910 (origin
6911 (method url-fetch)
6912 (uri (string-append
6913 "https://hackage.haskell.org/package/ncurses/ncurses-"
6914 version ".tar.gz"))
6915 (sha256
6916 (base32
6917 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6918 (build-system haskell-build-system)
6919 (arguments
6920 '(#:phases
6921 (modify-phases %standard-phases
6922 (add-before 'build 'fix-includes
6923 (lambda _
6924 (substitute* '("cbits/hsncurses-shim.h"
6925 "lib/UI/NCurses.chs"
6926 "lib/UI/NCurses/Enums.chs"
6927 "lib/UI/NCurses/Panel.chs")
6928 (("<ncursesw/") "<"))
6929 #t)))
6930 #:cabal-revision
6931 ("1"
6932 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6933 (inputs `(("ncurses" ,ncurses)))
6934 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6935 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6936 (synopsis "Modernised bindings to GNU ncurses")
6937 (description "GNU ncurses is a library for creating command-line application
6938with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6939ncurses.")
6940 (license license:gpl3)))
6941
dddbc90c
RV
6942(define-public ghc-network
6943 (package
6944 (name "ghc-network")
d4473202 6945 (version "2.8.0.1")
dddbc90c
RV
6946 (outputs '("out" "doc"))
6947 (source
6948 (origin
6949 (method url-fetch)
6950 (uri (string-append
6951 "https://hackage.haskell.org/package/network/network-"
6952 version
6953 ".tar.gz"))
6954 (sha256
6955 (base32
d4473202 6956 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
6957 (build-system haskell-build-system)
6958 ;; The regression tests depend on an unpublished module.
6959 (arguments `(#:tests? #f))
6960 (native-inputs
6961 `(("ghc-hunit" ,ghc-hunit)
6962 ("ghc-doctest" ,ghc-doctest)
6963 ("ghc-test-framework" ,ghc-test-framework)
6964 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6965 (home-page "https://github.com/haskell/network")
6966 (synopsis "Low-level networking interface")
6967 (description
6968 "This package provides a low-level networking interface.")
6969 (license license:bsd-3)))
4780db2c 6970
30eebbe6
TS
6971(define-public ghc-network-bsd
6972 (package
6973 (name "ghc-network-bsd")
6974 (version "2.8.0.0")
6975 (source
6976 (origin
6977 (method url-fetch)
6978 (uri (string-append "https://hackage.haskell.org/package/"
6979 "network-bsd/network-bsd-" version ".tar.gz"))
6980 (sha256
6981 (base32
6982 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
6983 (build-system haskell-build-system)
6984 (inputs
6985 `(("ghc-network" ,ghc-network)))
6986 (home-page "https://github.com/haskell/network-bsd")
6987 (synopsis "POSIX network database (<netdb.h>) API")
6988 (description "This package provides Haskell bindings to the the POSIX
6989network database (<netdb.h>) API.")
6990 (license license:bsd-3)))
6991
096781a1
TS
6992(define-public ghc-network-byte-order
6993 (package
6994 (name "ghc-network-byte-order")
6995 (version "0.1.1.1")
6996 (source
6997 (origin
6998 (method url-fetch)
6999 (uri (string-append "https://hackage.haskell.org/package/"
7000 "network-byte-order/network-byte-order-"
7001 version ".tar.gz"))
7002 (sha256
7003 (base32
7004 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
7005 (build-system haskell-build-system)
7006 (native-inputs
7007 `(("ghc-doctest" ,ghc-doctest)))
7008 (home-page "http://hackage.haskell.org/package/network-byte-order")
7009 (synopsis "Network byte order utilities")
7010 (description "This library provides peek and poke functions for network
7011byte order.")
7012 (license license:bsd-3)))
7013
dddbc90c
RV
7014(define-public ghc-network-info
7015 (package
7016 (name "ghc-network-info")
7017 (version "0.2.0.10")
7018 (source
7019 (origin
7020 (method url-fetch)
7021 (uri (string-append "https://hackage.haskell.org/package/"
7022 "network-info-" version "/"
7023 "network-info-" version ".tar.gz"))
7024 (sha256
7025 (base32
7026 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
7027 (build-system haskell-build-system)
7028 (home-page "https://github.com/jystic/network-info")
7029 (synopsis "Access the local computer's basic network configuration")
7030 (description "This Haskell library provides simple read-only access to the
7031local computer's networking configuration. It is currently capable of
7032getting a list of all the network interfaces and their respective
7033IPv4, IPv6 and MAC addresses.")
7034 (license license:bsd-3)))
7035
7036(define-public ghc-network-uri
7037 (package
7038 (name "ghc-network-uri")
7039 (version "2.6.1.0")
7040 (outputs '("out" "doc"))
7041 (source
7042 (origin
7043 (method url-fetch)
7044 (uri (string-append
7045 "https://hackage.haskell.org/package/network-uri/network-uri-"
7046 version
7047 ".tar.gz"))
7048 (sha256
7049 (base32
7050 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
7051 (build-system haskell-build-system)
7052 (arguments
7053 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
7054 (inputs
7055 `(("ghc-network" ,ghc-network)))
7056 (native-inputs
7057 `(("ghc-hunit" ,ghc-hunit)))
7058 (home-page
7059 "https://github.com/haskell/network-uri")
7060 (synopsis "Library for URI manipulation")
7061 (description "This package provides an URI manipulation interface. In
7062@code{network-2.6} the @code{Network.URI} module was split off from the
7063@code{network} package into this package.")
7064 (license license:bsd-3)))
7065
7066(define-public ghc-newtype-generics
7067 (package
7068 (name "ghc-newtype-generics")
c07e16dd 7069 (version "0.5.4")
dddbc90c
RV
7070 (source
7071 (origin
7072 (method url-fetch)
7073 (uri (string-append "https://hackage.haskell.org/package/"
7074 "newtype-generics/newtype-generics-"
7075 version ".tar.gz"))
7076 (sha256
7077 (base32
c07e16dd 7078 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
7079 (build-system haskell-build-system)
7080 (native-inputs
7081 `(("ghc-hspec" ,ghc-hspec)
7082 ("hspec-discover" ,hspec-discover)))
7083 (home-page "http://github.com/sjakobi/newtype-generics")
7084 (synopsis "Typeclass and set of functions for working with newtypes")
7085 (description "The @code{Newtype} typeclass represents the packing and
7086unpacking of a newtype, and allows you to operate under that newtype with
7087functions such as @code{ala}. Generics support was added in version 0.4,
7088making this package a full replacement for the original newtype package,
7089and an alternative to newtype-th.")
7090 (license license:bsd-3)))
7091
6b652f5a
JS
7092(define-public ghc-non-negative
7093 (package
7094 (name "ghc-non-negative")
7095 (version "0.1.2")
7096 (source
7097 (origin
7098 (method url-fetch)
7099 (uri
7100 (string-append
7101 "https://hackage.haskell.org/package/non-negative/non-negative-"
7102 version ".tar.gz"))
7103 (sha256
7104 (base32
7105 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7106 (build-system haskell-build-system)
7107 (inputs
7108 `(("ghc-semigroups" ,ghc-semigroups)
7109 ("ghc-utility-ht" ,ghc-utility-ht)
7110 ("ghc-quickcheck" ,ghc-quickcheck)))
7111 (home-page "https://hackage.haskell.org/package/non-negative")
7112 (synopsis "Non-negative numbers class")
7113 (description "This library provides a class for non-negative numbers,
7114a wrapper which can turn any ordered numeric type into a member of that
7115class, and a lazy number type for non-negative numbers (a generalization
7116of Peano numbers).")
7117 (license license:gpl3+)))
7118
dddbc90c
RV
7119(define-public ghc-objectname
7120 (package
7121 (name "ghc-objectname")
7122 (version "1.1.0.1")
7123 (source
7124 (origin
7125 (method url-fetch)
7126 (uri (string-append
7127 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7128 version
7129 ".tar.gz"))
7130 (sha256
7131 (base32
7132 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7133 (build-system haskell-build-system)
7134 (home-page "https://hackage.haskell.org/package/ObjectName")
7135 (synopsis "Helper library for Haskell OpenGL")
7136 (description "This tiny package contains the class ObjectName, which
7137corresponds to the general notion of explicitly handled identifiers for API
7138objects, e.g. a texture object name in OpenGL or a buffer object name in
7139OpenAL.")
7140 (license license:bsd-3)))
7141
7142(define-public ghc-old-locale
7143 (package
7144 (name "ghc-old-locale")
7145 (version "1.0.0.7")
7146 (source
7147 (origin
7148 (method url-fetch)
7149 (uri (string-append
7150 "https://hackage.haskell.org/package/old-locale/old-locale-"
7151 version
7152 ".tar.gz"))
7153 (sha256
7154 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7155 (build-system haskell-build-system)
7156 (arguments
7157 `(#:cabal-revision
7158 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7159 (home-page "https://hackage.haskell.org/package/old-locale")
7160 (synopsis "Adapt to locale conventions")
7161 (description
7162 "This package provides the ability to adapt to locale conventions such as
7163date and time formats.")
7164 (license license:bsd-3)))
7165
7166(define-public ghc-old-time
7167 (package
7168 (name "ghc-old-time")
7169 (version "1.1.0.3")
7170 (source
7171 (origin
7172 (method url-fetch)
7173 (uri (string-append
7174 "https://hackage.haskell.org/package/old-time/old-time-"
7175 version
7176 ".tar.gz"))
7177 (sha256
7178 (base32
7179 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7180 (build-system haskell-build-system)
7181 (arguments
7182 `(#:cabal-revision
7183 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7184 (inputs
7185 `(("ghc-old-locale" ,ghc-old-locale)))
7186 (home-page "https://hackage.haskell.org/package/old-time")
7187 (synopsis "Time compatibility library for Haskell")
7188 (description "Old-time is a package for backwards compatibility with the
7189old @code{time} library. For new projects, the newer
7190@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7191 (license license:bsd-3)))
7192
7193(define-public ghc-opengl
7194 (package
7195 (name "ghc-opengl")
79a06910 7196 (version "3.0.3.0")
dddbc90c
RV
7197 (source
7198 (origin
7199 (method url-fetch)
7200 (uri (string-append
7201 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7202 version
7203 ".tar.gz"))
7204 (sha256
7205 (base32
79a06910 7206 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 7207 (build-system haskell-build-system)
79a06910
TS
7208 (arguments
7209 `(#:cabal-revision
7210 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
7211 (inputs
7212 `(("ghc-objectname" ,ghc-objectname)
7213 ("ghc-gluraw" ,ghc-gluraw)
7214 ("ghc-statevar" ,ghc-statevar)
7215 ("ghc-openglraw" ,ghc-openglraw)))
7216 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7217 (synopsis "Haskell bindings for the OpenGL graphics system")
7218 (description "This package provides Haskell bindings for the OpenGL
7219graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7220version 1.3).")
7221 (license license:bsd-3)))
7222
7223(define-public ghc-openglraw
7224 (package
7225 (name "ghc-openglraw")
15ebc815 7226 (version "3.3.3.0")
dddbc90c
RV
7227 (source
7228 (origin
7229 (method url-fetch)
7230 (uri (string-append
7231 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7232 version
7233 ".tar.gz"))
7234 (sha256
7235 (base32
15ebc815 7236 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7237 (build-system haskell-build-system)
7238 (inputs
7239 `(("ghc-half" ,ghc-half)
7240 ("ghc-fixed" ,ghc-fixed)
7241 ("glu" ,glu)))
7242 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7243 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7244 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7245graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7246of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7247offers access to all necessary functions, tokens and types plus a general
7248facility for loading extension entries. The module hierarchy closely mirrors
7249the naming structure of the OpenGL extensions, making it easy to find the
7250right module to import. All API entries are loaded dynamically, so no special
7251C header files are needed for building this package. If an API entry is not
7252found at runtime, a userError is thrown.")
7253 (license license:bsd-3)))
7254
7255(define-public ghc-operational
7256 (package
7257 (name "ghc-operational")
7258 (version "0.2.3.5")
7259 (source
7260 (origin
7261 (method url-fetch)
7262 (uri (string-append "https://hackage.haskell.org/package/operational/"
7263 "operational-" version ".tar.gz"))
7264 (sha256
7265 (base32
7266 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7267 (build-system haskell-build-system)
7268 (inputs
7269 `(("ghc-random" ,ghc-random)))
7270 (home-page "http://wiki.haskell.org/Operational")
7271 (synopsis "Implementation of difficult monads made easy with operational semantics")
7272 (description
7273 "This library makes it easy to implement monads with tricky control
7274flow. This is useful for: writing web applications in a sequential style,
7275programming games with a uniform interface for human and AI players and easy
7276replay capababilities, implementing fast parser monads, designing monadic
7277DSLs, etc.")
7278 (license license:bsd-3)))
7279
7280(define-public ghc-options
7281 (package
7282 (name "ghc-options")
7283 (version "1.2.1.1")
7284 (source
7285 (origin
7286 (method url-fetch)
7287 (uri (string-append
7288 "https://hackage.haskell.org/package/options/options-"
7289 version ".tar.gz"))
7290 (sha256
7291 (base32
7292 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7293 (build-system haskell-build-system)
7294 (inputs
7295 `(("ghc-monads-tf" ,ghc-monads-tf)
7296 ("ghc-chell" ,ghc-chell)
7297 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7298 (home-page "https://john-millikin.com/software/haskell-options/")
7299 (synopsis "Powerful and easy-to-use command-line option parser")
7300 (description
7301 "The @code{options} package lets library and application developers
7302easily work with command-line options.")
7303 (license license:expat)))
7304
7305;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7306(define ghc-options-bootstrap
7307 (package
7308 (name "ghc-options-bootstrap")
7309 (version "1.2.1.1")
7310 (source
7311 (origin
7312 (method url-fetch)
7313 (uri (string-append
7314 "https://hackage.haskell.org/package/options/options-"
7315 version ".tar.gz"))
7316 (sha256
7317 (base32
7318 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7319 (build-system haskell-build-system)
7320 (arguments
7321 `(#:tests? #f))
7322 (inputs
7323 `(("ghc-monads-tf" ,ghc-monads-tf)))
7324 (home-page "https://john-millikin.com/software/haskell-options/")
7325 (synopsis "Powerful and easy-to-use command-line option parser")
7326 (description
7327 "The @code{options} package lets library and application developers
7328easily work with command-line options.")
7329 (license license:expat)))
7330
7331
7332(define-public ghc-optparse-applicative
7333 (package
7334 (name "ghc-optparse-applicative")
74bf6965 7335 (version "0.14.3.0")
dddbc90c
RV
7336 (source
7337 (origin
7338 (method url-fetch)
7339 (uri (string-append
7340 "https://hackage.haskell.org/package/optparse-applicative"
7341 "/optparse-applicative-" version ".tar.gz"))
7342 (sha256
7343 (base32
74bf6965 7344 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7345 (build-system haskell-build-system)
74bf6965
TS
7346 (arguments
7347 `(#:cabal-revision
7348 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7349 (inputs
7350 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7351 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7352 (native-inputs
7353 `(("ghc-quickcheck" ,ghc-quickcheck)))
7354 (home-page "https://github.com/pcapriotti/optparse-applicative")
7355 (synopsis "Utilities and combinators for parsing command line options")
7356 (description "This package provides utilities and combinators for parsing
7357command line options in Haskell.")
7358 (license license:bsd-3)))
7359
7360(define-public ghc-pandoc
7361 (package
7362 (name "ghc-pandoc")
7363 (version "2.2.1")
7364 (source
7365 (origin
7366 (method url-fetch)
7367 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7368 version ".tar.gz"))
7369 (sha256
7370 (base32
7371 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7372 (build-system haskell-build-system)
7373 (arguments
7374 `(#:phases
7375 (modify-phases %standard-phases
7376 (add-before 'configure 'update-constraints
7377 (lambda _
7378 (substitute* "pandoc.cabal"
7379 (("tasty >= 0\\.11 && < 1\\.1")
7380 "tasty >= 0.11 && < 1.1.1"))))
7381 (add-before 'configure 'patch-tests
7382 (lambda _
7383 ;; These tests fail benignly and have been adjusted upstream:
7384 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7385 (substitute* "test/Tests/Old.hs"
7386 (("lhsWriterTests \"html\"") "[]")))))))
7387 (inputs
7388 `(("ghc-aeson" ,ghc-aeson)
7389 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7390 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7391 ("ghc-blaze-html" ,ghc-blaze-html)
7392 ("ghc-blaze-markup" ,ghc-blaze-markup)
7393 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7394 ("ghc-data-default" ,ghc-data-default)
7395 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7396 ("ghc-diff" ,ghc-diff)
7397 ("ghc-doctemplates" ,ghc-doctemplates)
7398 ("ghc-executable-path" ,ghc-executable-path)
7399 ("ghc-glob" ,ghc-glob)
7400 ("ghc-haddock-library" ,ghc-haddock-library)
7401 ("ghc-hslua" ,ghc-hslua)
7402 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7403 ("ghc-http" ,ghc-http)
7404 ("ghc-http-client" ,ghc-http-client)
7405 ("ghc-http-client-tls" ,ghc-http-client-tls)
7406 ("ghc-http-types" ,ghc-http-types)
7407 ("ghc-juicypixels" ,ghc-juicypixels)
7408 ("ghc-network" ,ghc-network)
7409 ("ghc-network-uri" ,ghc-network-uri)
7410 ("ghc-old-locale" ,ghc-old-locale)
7411 ("ghc-pandoc-types" ,ghc-pandoc-types)
7412 ("ghc-random" ,ghc-random)
7413 ("ghc-scientific" ,ghc-scientific)
7414 ("ghc-sha" ,ghc-sha)
7415 ("ghc-skylighting" ,ghc-skylighting)
7416 ("ghc-split" ,ghc-split)
7417 ("ghc-syb" ,ghc-syb)
7418 ("ghc-tagsoup" ,ghc-tagsoup)
7419 ("ghc-temporary" ,ghc-temporary)
7420 ("ghc-texmath" ,ghc-texmath)
7421 ("ghc-unordered-containers" ,ghc-unordered-containers)
7422 ("ghc-vector" ,ghc-vector)
7423 ("ghc-xml" ,ghc-xml)
7424 ("ghc-yaml" ,ghc-yaml)
7425 ("ghc-zip-archive" ,ghc-zip-archive)
7426 ("ghc-zlib" ,ghc-zlib)))
7427 (native-inputs
7428 `(("ghc-tasty" ,ghc-tasty)
7429 ("ghc-tasty-golden" ,ghc-tasty-golden)
7430 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7431 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7432 ("ghc-quickcheck" ,ghc-quickcheck)
7433 ("ghc-hunit" ,ghc-hunit)))
7434 (home-page "https://pandoc.org")
7435 (synopsis "Conversion between markup formats")
7436 (description
7437 "Pandoc is a Haskell library for converting from one markup format to
7438another, and a command-line tool that uses this library. It can read and
7439write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7440LaTeX, DocBook, and many more.
7441
7442Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7443definition lists, tables, and other features. A compatibility mode is
7444provided for those who need a drop-in replacement for Markdown.pl.")
7445 (license license:gpl2+)))
7446
7447(define-public ghc-pandoc-citeproc
7448 (package
7449 (name "ghc-pandoc-citeproc")
7450 (version "0.14.3.1")
7451 (source
7452 (origin
7453 (method url-fetch)
7454 (uri (string-append "https://hackage.haskell.org/package/"
7455 "pandoc-citeproc/pandoc-citeproc-"
7456 version ".tar.gz"))
7457 (sha256
7458 (base32
7459 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7460 (build-system haskell-build-system)
7461 (arguments
7462 `(#:phases
7463 (modify-phases %standard-phases
7464 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7465 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7466 (add-before 'configure 'patch-tests
7467 (lambda _
7468 (substitute* "tests/test-pandoc-citeproc.hs"
7469 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7470 "let allTests = citeprocTests"))))
7471 ;; Tests need to be run after installation.
7472 (delete 'check)
7473 (add-after 'install 'post-install-check
7474 (assoc-ref %standard-phases 'check)))))
7475 (inputs
7476 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7477 ("ghc-pandoc" ,ghc-pandoc)
7478 ("ghc-tagsoup" ,ghc-tagsoup)
7479 ("ghc-aeson" ,ghc-aeson)
7480 ("ghc-vector" ,ghc-vector)
7481 ("ghc-xml-conduit" ,ghc-xml-conduit)
7482 ("ghc-unordered-containers" ,ghc-unordered-containers)
7483 ("ghc-data-default" ,ghc-data-default)
7484 ("ghc-setenv" ,ghc-setenv)
7485 ("ghc-split" ,ghc-split)
7486 ("ghc-yaml" ,ghc-yaml)
7487 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7488 ("ghc-rfc5051" ,ghc-rfc5051)
7489 ("ghc-syb" ,ghc-syb)
7490 ("ghc-old-locale" ,ghc-old-locale)
7491 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7492 ("ghc-attoparsec" ,ghc-attoparsec)
7493 ("ghc-temporary" ,ghc-temporary)))
7494 (home-page "https://github.com/jgm/pandoc-citeproc")
7495 (synopsis "Library for using pandoc with citeproc")
7496 (description
7497 "The @code{pandoc-citeproc} library exports functions for using the
7498citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7499rendering bibliographic reference citations into a variety of styles using a
7500macro language called @dfn{Citation Style Language} (CSL). This package also
7501contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7502and also has a mode for converting bibliographic databases a YAML format
7503suitable for inclusion in pandoc YAML metadata.")
7504 (license license:bsd-3)))
7505
7506(define-public ghc-pandoc-types
7507 (package
7508 (name "ghc-pandoc-types")
0eaa88c8 7509 (version "1.17.6.1")
dddbc90c
RV
7510 (source (origin
7511 (method url-fetch)
7512 (uri (string-append "https://hackage.haskell.org/package/"
7513 "pandoc-types/pandoc-types-"
7514 version ".tar.gz"))
7515 (sha256
7516 (base32
0eaa88c8 7517 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
7518 (build-system haskell-build-system)
7519 (inputs
7520 `(("ghc-syb" ,ghc-syb)
7521 ("ghc-aeson" ,ghc-aeson)
7522 ("ghc-string-qq" ,ghc-string-qq)))
7523 (native-inputs
7524 `(("ghc-quickcheck" ,ghc-quickcheck)
7525 ("ghc-test-framework" ,ghc-test-framework)
7526 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7527 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7528 ("ghc-hunit" ,ghc-hunit)))
7529 (home-page "http://johnmacfarlane.net/pandoc")
7530 (synopsis "Types for representing a structured document")
7531 (description
7532 "This module defines the @code{Pandoc} data structure, which is used by
7533pandoc to represent structured documents. It also provides functions for
7534building up, manipulating and serialising @code{Pandoc} structures.")
7535 (license license:bsd-3)))
7536
7537(define-public ghc-parallel
7538 (package
7539 (name "ghc-parallel")
7540 (version "3.2.2.0")
7541 (outputs '("out" "doc"))
7542 (source
7543 (origin
7544 (method url-fetch)
7545 (uri (string-append
7546 "https://hackage.haskell.org/package/parallel/parallel-"
7547 version
7548 ".tar.gz"))
7549 (sha256
7550 (base32
7551 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7552 (build-system haskell-build-system)
7553 (home-page "https://hackage.haskell.org/package/parallel")
7554 (synopsis "Parallel programming library")
7555 (description
7556 "This package provides a library for parallel programming.")
7557 (license license:bsd-3)))
7558
7559(define-public ghc-parsec-numbers
7560 (package
7561 (name "ghc-parsec-numbers")
7562 (version "0.1.0")
7563 (source
7564 (origin
7565 (method url-fetch)
7566 (uri (string-append "https://hackage.haskell.org/package/"
7567 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7568 (sha256
7569 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7570 (build-system haskell-build-system)
7571 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7572 (synopsis "Utilities for parsing numbers from strings")
7573 (description
7574 "This package provides the number parsers without the need to use a large
7575(and unportable) token parser.")
7576 (license license:bsd-3)))
7577
7578(define-public ghc-parser-combinators
7579 (package
7580 (name "ghc-parser-combinators")
2f173160 7581 (version "1.1.0")
dddbc90c
RV
7582 (source
7583 (origin
7584 (method url-fetch)
7585 (uri (string-append "https://hackage.haskell.org/package/"
7586 "parser-combinators/parser-combinators-"
7587 version ".tar.gz"))
7588 (sha256
7589 (base32
2f173160 7590 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7591 (build-system haskell-build-system)
7592 (home-page "https://github.com/mrkkrp/parser-combinators")
7593 (synopsis "Commonly useful parser combinators")
7594 (description
7595 "This is a lightweight package providing commonly useful parser
7596combinators.")
7597 (license license:bsd-3)))
7598
7599(define-public ghc-parsers
7600 (package
7601 (name "ghc-parsers")
6818f970 7602 (version "0.12.10")
dddbc90c
RV
7603 (source
7604 (origin
7605 (method url-fetch)
7606 (uri (string-append
7607 "https://hackage.haskell.org/package/parsers/parsers-"
7608 version
7609 ".tar.gz"))
7610 (sha256
7611 (base32
6818f970 7612 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
7613 (build-system haskell-build-system)
7614 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7615 ; -package attoparsec-0.13.0.1"
7616 (inputs
7617 `(("ghc-base-orphans" ,ghc-base-orphans)
7618 ("ghc-attoparsec" ,ghc-attoparsec)
7619 ("ghc-scientific" ,ghc-scientific)
7620 ("ghc-charset" ,ghc-charset)
7621 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7622 (home-page "https://github.com/ekmett/parsers/")
7623 (synopsis "Parsing combinators")
7624 (description "This library provides convenient combinators for working
7625with and building parsing combinator libraries. Given a few simple instances,
7626you get access to a large number of canned definitions. Instances exist for
7627the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7628@code{Text.Read}.")
7629 (license license:bsd-3)))
7630
7631(define-public ghc-path
7632 (package
7633 (name "ghc-path")
7634 (version "0.6.1")
7635 (source
7636 (origin
7637 (method url-fetch)
7638 (uri (string-append
7639 "https://hackage.haskell.org/package/path/path-"
7640 version
7641 ".tar.gz"))
7642 (sha256
7643 (base32
7644 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7645 (build-system haskell-build-system)
7646 (arguments
7647 ;; TODO: There are some Windows-related tests and modules that need to be
7648 ;; danced around.
7649 `(#:tests? #f
7650 #:cabal-revision
7651 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7652 (inputs
7653 `(("ghc-aeson" ,ghc-aeson)
7654 ("ghc-exceptions" ,ghc-exceptions)
7655 ("ghc-hashable" ,ghc-hashable)))
7656 (native-inputs
7657 `(("ghc-hspec" ,ghc-hspec)
7658 ("ghc-quickcheck" ,ghc-quickcheck)
7659 ("ghc-genvalidity" ,ghc-genvalidity)
7660 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7661 ("ghc-hspec" ,ghc-hspec)
7662 ("ghc-validity" ,ghc-validity)))
7663 (home-page
7664 "http://hackage.haskell.org/package/path")
7665 (synopsis "Support for well-typed paths")
7666 (description "This package introduces a type for paths upholding useful
7667invariants.")
7668 (license license:bsd-3)))
7669
7670(define-public ghc-path-io
7671 (package
7672 (name "ghc-path-io")
a06613ea 7673 (version "1.4.2")
dddbc90c
RV
7674 (source
7675 (origin
7676 (method url-fetch)
7677 (uri (string-append
7678 "https://hackage.haskell.org/package/path-io/path-io-"
7679 version
7680 ".tar.gz"))
7681 (sha256
7682 (base32
a06613ea 7683 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
7684 (build-system haskell-build-system)
7685 (inputs
7686 `(("ghc-dlist" ,ghc-dlist)
7687 ("ghc-exceptions" ,ghc-exceptions)
7688 ("ghc-path" ,ghc-path)
7689 ("ghc-transformers-base" ,ghc-transformers-base)
7690 ("ghc-unix-compat" ,ghc-unix-compat)
7691 ("ghc-temporary" ,ghc-temporary)))
7692 (native-inputs
7693 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
7694 (home-page
7695 "https://github.com/mrkkrp/path-io")
7696 (synopsis "Functions for manipulating well-typed paths")
7697 (description "This package provides an interface to the @code{directory}
7698package for users of @code{path}. It also implements some missing stuff like
7699recursive scanning and copying of directories, working with temporary
7700files/directories, and more.")
7701 (license license:bsd-3)))
7702
7703(define-public ghc-paths
7704 (package
7705 (name "ghc-paths")
9a8adeb1 7706 (version "0.1.0.12")
dddbc90c
RV
7707 (outputs '("out" "doc"))
7708 (source
7709 (origin
7710 (method url-fetch)
7711 (uri (string-append
7712 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7713 version
7714 ".tar.gz"))
7715 (sha256
7716 (base32
9a8adeb1 7717 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7718 (build-system haskell-build-system)
7719 (home-page "https://github.com/simonmar/ghc-paths")
7720 (synopsis
7721 "Knowledge of GHC's installation directories")
7722 (description
7723 "Knowledge of GHC's installation directories.")
7724 (license license:bsd-3)))
7725
7726(define-public ghc-patience
7727 (package
7728 (name "ghc-patience")
484476f3 7729 (version "0.3")
dddbc90c
RV
7730 (source
7731 (origin
7732 (method url-fetch)
7733 (uri (string-append
7734 "https://hackage.haskell.org/package/patience/patience-"
7735 version ".tar.gz"))
7736 (sha256
7737 (base32
484476f3 7738 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
7739 (build-system haskell-build-system)
7740 (home-page "https://hackage.haskell.org/package/patience")
7741 (synopsis "Patience diff and longest increasing subsequence")
7742 (description
7743 "This library implements the 'patience diff' algorithm, as well as the
7744patience algorithm for the longest increasing subsequence problem.
7745Patience diff computes the difference between two lists, for example the lines
7746of two versions of a source file. It provides a good balance between
7747performance, nice output for humans, and simplicity of implementation.")
7748 (license license:bsd-3)))
7749
7750(define-public ghc-pcre-light
7751 (package
7752 (name "ghc-pcre-light")
7753 (version "0.4.0.4")
7754 (source
7755 (origin
7756 (method url-fetch)
7757 (uri (string-append
7758 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7759 version
7760 ".tar.gz"))
7761 (sha256
7762 (base32
7763 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7764 (build-system haskell-build-system)
7765 (inputs
7766 `(("pcre" ,pcre)))
7767 (native-inputs
7768 `(("pkg-config" ,pkg-config)))
7769 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7770 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7771 (description "This package provides a small, efficient, and portable regex
7772library for Perl 5 compatible regular expressions. The PCRE library is a set
7773of functions that implement regular expression pattern matching using the same
7774syntax and semantics as Perl 5.")
7775 (license license:bsd-3)))
7776
7777(define-public ghc-persistent
7778 (package
7779 (name "ghc-persistent")
7780 (version "2.8.2")
7781 (source
7782 (origin
7783 (method url-fetch)
7784 (uri (string-append "https://hackage.haskell.org/package/"
7785 "persistent-" version "/"
7786 "persistent-" version ".tar.gz"))
7787 (sha256
7788 (base32
7789 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7790 (build-system haskell-build-system)
7791 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7792 ("ghc-conduit" ,ghc-conduit)
7793 ("ghc-resourcet" ,ghc-resourcet)
7794 ("ghc-exceptions" ,ghc-exceptions)
7795 ("ghc-monad-control" ,ghc-monad-control)
7796 ("ghc-lifted-base" ,ghc-lifted-base)
7797 ("ghc-resource-pool" ,ghc-resource-pool)
7798 ("ghc-path-pieces" ,ghc-path-pieces)
7799 ("ghc-http-api-data" ,ghc-http-api-data)
7800 ("ghc-aeson" ,ghc-aeson)
7801 ("ghc-monad-logger" ,ghc-monad-logger)
7802 ("ghc-transformers-base" ,ghc-transformers-base)
7803 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7804 ("ghc-unordered-containers" ,ghc-unordered-containers)
7805 ("ghc-vector" ,ghc-vector)
7806 ("ghc-attoparsec" ,ghc-attoparsec)
7807 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7808 ("ghc-blaze-html" ,ghc-blaze-html)
7809 ("ghc-blaze-markup" ,ghc-blaze-markup)
7810 ("ghc-silently" ,ghc-silently)
7811 ("ghc-fast-logger" ,ghc-fast-logger)
7812 ("ghc-scientific" ,ghc-scientific)
7813 ("ghc-tagged" ,ghc-tagged)
7814 ("ghc-void" ,ghc-void)))
7815 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7816 (home-page "https://www.yesodweb.com/book/persistent")
7817 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7818 (description "This Haskell package allows Haskell programs to access data
7819storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7820way.")
7821 (license license:expat)))
7822
7823(define-public ghc-persistent-sqlite
7824 (package
7825 (name "ghc-persistent-sqlite")
7826 (version "2.8.2")
7827 (source
7828 (origin
7829 (method url-fetch)
7830 (uri (string-append "https://hackage.haskell.org/package/"
7831 "persistent-sqlite-" version "/"
7832 "persistent-sqlite-" version ".tar.gz"))
7833 (sha256
7834 (base32
7835 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7836 (build-system haskell-build-system)
7837 (inputs `(("ghc-persistent" ,ghc-persistent)
7838 ("ghc-unliftio-core" ,ghc-unliftio-core)
7839 ("ghc-aeson" ,ghc-aeson)
7840 ("ghc-conduit" ,ghc-conduit)
7841 ("ghc-monad-logger" ,ghc-monad-logger)
7842 ("ghc-microlens-th" ,ghc-microlens-th)
7843 ("ghc-resourcet" ,ghc-resourcet)
7844 ("ghc-old-locale" ,ghc-old-locale)
7845 ("ghc-resource-pool" ,ghc-resource-pool)
7846 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7847 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7848 ("ghc-persistent-template" ,ghc-persistent-template)
7849 ("ghc-temporary" ,ghc-temporary)))
7850 (home-page
7851 "https://www.yesodweb.com/book/persistent")
7852 (synopsis "Backend for the persistent library using sqlite3")
7853 (description "This Haskell package includes a thin sqlite3 wrapper based
7854on the direct-sqlite package, as well as the entire C library, so there are no
7855system dependencies.")
7856 (license license:expat)))
7857
7858(define-public ghc-persistent-template
7859 (package
7860 (name "ghc-persistent-template")
7861 (version "2.5.4")
7862 (source
7863 (origin
7864 (method url-fetch)
7865 (uri (string-append "https://hackage.haskell.org/package/"
7866 "persistent-template-" version "/"
7867 "persistent-template-" version ".tar.gz"))
7868 (sha256
7869 (base32
7870 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7871 (build-system haskell-build-system)
7872 (arguments
7873 `(#:cabal-revision
7874 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7875 (inputs `(("ghc-persistent" ,ghc-persistent)
7876 ("ghc-monad-control" ,ghc-monad-control)
7877 ("ghc-aeson" ,ghc-aeson)
7878 ("ghc-aeson-compat" ,ghc-aeson-compat)
7879 ("ghc-monad-logger" ,ghc-monad-logger)
7880 ("ghc-unordered-containers" ,ghc-unordered-containers)
7881 ("ghc-tagged" ,ghc-tagged)
7882 ("ghc-path-pieces" ,ghc-path-pieces)
7883 ("ghc-http-api-data" ,ghc-http-api-data)))
7884 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7885 ("ghc-quickcheck" ,ghc-quickcheck)))
7886 (home-page "https://www.yesodweb.com/book/persistent")
7887 (synopsis "Type-safe, non-relational, multi-backend persistence")
7888 (description "This Haskell package provides interfaces and helper
7889functions for the ghc-persistent package.")
7890 (license license:expat)))
7891
7892(define-public ghc-polyparse
7893 (package
7894 (name "ghc-polyparse")
9822b9ca 7895 (version "1.12.1")
dddbc90c
RV
7896 (source
7897 (origin
7898 (method url-fetch)
7899 (uri (string-append
7900 "https://hackage.haskell.org/package/polyparse/polyparse-"
7901 version
7902 ".tar.gz"))
7903 (sha256
7904 (base32
9822b9ca 7905 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
7906 (build-system haskell-build-system)
7907 (home-page
7908 "http://code.haskell.org/~malcolm/polyparse/")
7909 (synopsis
7910 "Alternative parser combinator libraries")
7911 (description
7912 "This package provides a variety of alternative parser combinator
7913libraries, including the original HuttonMeijer set. The Poly sets have
7914features like good error reporting, arbitrary token type, running state, lazy
7915parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7916standard Read class, for better deserialisation of Haskell values from
7917Strings.")
7918 (license license:lgpl2.1)))
7919
7920(define-public ghc-pqueue
7921 (package
7922 (name "ghc-pqueue")
142415b0 7923 (version "1.4.1.2")
dddbc90c
RV
7924 (source
7925 (origin
7926 (method url-fetch)
7927 (uri (string-append "https://hackage.haskell.org/package/"
7928 "pqueue/pqueue-" version ".tar.gz"))
7929 (sha256
7930 (base32
142415b0 7931 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
7932 (build-system haskell-build-system)
7933 (native-inputs
7934 `(("ghc-quickcheck" ,ghc-quickcheck)))
7935 (home-page "https://hackage.haskell.org/package/pqueue")
7936 (synopsis "Reliable, persistent, fast priority queues")
7937 (description
7938 "This package provides a fast, reliable priority queue implementation
7939based on a binomial heap.")
7940 (license license:bsd-3)))
7941
7942(define-public ghc-prelude-extras
7943 (package
7944 (name "ghc-prelude-extras")
7945 (version "0.4.0.3")
7946 (source
7947 (origin
7948 (method url-fetch)
7949 (uri (string-append
7950 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7951 version
7952 ".tar.gz"))
7953 (sha256
7954 (base32
7955 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7956 (build-system haskell-build-system)
7957 (home-page "https://github.com/ekmett/prelude-extras")
7958 (synopsis "Higher order versions of Prelude classes")
7959 (description "This library provides higher order versions of
7960@code{Prelude} classes to ease programming with polymorphic recursion and
7961reduce @code{UndecidableInstances}.")
7962 (license license:bsd-3)))
7963
7964(define-public ghc-prettyclass
7965 (package
7966 (name "ghc-prettyclass")
7967 (version "1.0.0.0")
7968 (source
7969 (origin
7970 (method url-fetch)
7971 (uri (string-append "https://hackage.haskell.org/package/"
7972 "prettyclass/prettyclass-" version ".tar.gz"))
7973 (sha256
7974 (base32
7975 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7976 (build-system haskell-build-system)
7977 (home-page "http://hackage.haskell.org/package/prettyclass")
7978 (synopsis "Pretty printing class similar to Show")
7979 (description "This package provides a pretty printing class similar
7980to @code{Show}, based on the HughesPJ pretty printing library. It
7981provides the pretty printing class and instances for the Prelude
7982types.")
7983 (license license:bsd-3)))
7984
7985(define-public ghc-pretty-hex
7986 (package
7987 (name "ghc-pretty-hex")
7988 (version "1.0")
7989 (source
7990 (origin
7991 (method url-fetch)
7992 (uri (string-append "https://hackage.haskell.org/package/"
7993 "pretty-hex-" version "/"
7994 "pretty-hex-" version ".tar.gz"))
7995 (sha256
7996 (base32
7997 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7998 (build-system haskell-build-system)
7999 (home-page "https://github.com/GaloisInc/hexdump")
8000 (synopsis "Haskell library for hex dumps of ByteStrings")
8001 (description "This Haskell library generates pretty hex dumps of
8002ByteStrings in the style of other common *nix hex dump tools.")
8003 (license license:bsd-3)))
8004
8005(define-public ghc-pretty-show
8006 (package
8007 (name "ghc-pretty-show")
7683a084 8008 (version "1.9.5")
dddbc90c
RV
8009 (source
8010 (origin
8011 (method url-fetch)
8012 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
8013 "pretty-show-" version ".tar.gz"))
8014 (sha256
8015 (base32
7683a084 8016 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
8017 (build-system haskell-build-system)
8018 (inputs
8019 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
8020 ("ghc-happy" ,ghc-happy)))
8021 (home-page "http://wiki.github.com/yav/pretty-show")
8022 (synopsis "Tools for working with derived `Show` instances")
8023 (description
8024 "This package provides a library and an executable for working with
8025derived @code{Show} instances. By using the library, derived @code{Show}
8026instances can be parsed into a generic data structure. The @code{ppsh} tool
8027uses the library to produce human-readable versions of @code{Show} instances,
8028which can be quite handy for debugging Haskell programs. We can also render
8029complex generic values into an interactive Html page, for easier
8030examination.")
8031 (license license:expat)))
8032
8033(define-public ghc-primitive
8034 (package
8035 (name "ghc-primitive")
8036 (version "0.6.4.0")
8037 (outputs '("out" "doc"))
8038 (source
8039 (origin
8040 (method url-fetch)
8041 (uri (string-append
8042 "https://hackage.haskell.org/package/primitive/primitive-"
8043 version
8044 ".tar.gz"))
8045 (sha256
8046 (base32
8047 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
8048 (build-system haskell-build-system)
6cf0daa4
TS
8049 (arguments
8050 `(#:cabal-revision
8051 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
8052 (home-page
8053 "https://github.com/haskell/primitive")
8054 (synopsis "Primitive memory-related operations")
8055 (description
8056 "This package provides various primitive memory-related operations.")
8057 (license license:bsd-3)))
8058
21f5b9a9
JS
8059(define-public ghc-process-extras
8060 (package
8061 (name "ghc-process-extras")
8062 (version "0.7.4")
8063 (source
8064 (origin
8065 (method url-fetch)
8066 (uri
8067 (string-append
8068 "https://hackage.haskell.org/package/process-extras/"
8069 "process-extras-" version ".tar.gz"))
8070 (sha256
8071 (base32
8072 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
8073 (build-system haskell-build-system)
8074 (inputs
8075 `(("ghc-data-default" ,ghc-data-default)
8076 ("ghc-generic-deriving" ,ghc-generic-deriving)
8077 ("ghc-hunit" ,ghc-hunit)
8078 ("ghc-listlike" ,ghc-listlike)))
8079 (home-page "https://github.com/seereason/process-extras")
8080 (synopsis "Extra tools for managing processes")
f74b6983 8081 (description "This package extends
21f5b9a9
JS
8082@url{http://hackage.haskell.org/package/process}. It allows you to read
8083process input and output as ByteStrings or Text, or write your own
8084ProcessOutput instance. It also provides lazy process input and output,
8085and a ProcessMaker class for more flexibility in the process creation
8086API.")
8087 (license license:expat)))
8088
dddbc90c
RV
8089(define-public ghc-profunctors
8090 (package
8091 (name "ghc-profunctors")
899b5297 8092 (version "5.3")
dddbc90c
RV
8093 (source
8094 (origin
8095 (method url-fetch)
8096 (uri (string-append
8097 "https://hackage.haskell.org/package/profunctors/profunctors-"
8098 version
8099 ".tar.gz"))
8100 (sha256
8101 (base32
899b5297 8102 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 8103 (build-system haskell-build-system)
dddbc90c
RV
8104 (inputs
8105 `(("ghc-base-orphans" ,ghc-base-orphans)
8106 ("ghc-bifunctors" ,ghc-bifunctors)
8107 ("ghc-comonad" ,ghc-comonad)
8108 ("ghc-contravariant" ,ghc-contravariant)
8109 ("ghc-distributive" ,ghc-distributive)
8110 ("ghc-semigroups" ,ghc-semigroups)
8111 ("ghc-tagged" ,ghc-tagged)))
8112 (home-page "https://github.com/ekmett/profunctors/")
8113 (synopsis "Profunctors for Haskell")
8114 (description "This library provides profunctors for Haskell.")
8115 (license license:bsd-3)))
8116
8117(define-public ghc-psqueues
8118 (package
8119 (name "ghc-psqueues")
5d133942 8120 (version "0.2.7.2")
dddbc90c
RV
8121 (source
8122 (origin
8123 (method url-fetch)
8124 (uri (string-append "https://hackage.haskell.org/package/"
8125 "psqueues-" version "/"
8126 "psqueues-" version ".tar.gz"))
8127 (sha256
8128 (base32
5d133942 8129 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
8130 (build-system haskell-build-system)
8131 (inputs
8132 `(("ghc-hashable" ,ghc-hashable)))
8133 (native-inputs
8134 `(("ghc-hunit" ,ghc-hunit)
8135 ("ghc-quickcheck" ,ghc-quickcheck)
8136 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
8137 ("ghc-tasty" ,ghc-tasty)
8138 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8139 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
8140 (home-page "https://github.com/jaspervdj/psqueues")
8141 (synopsis "Pure priority search queues")
8142 (description "The psqueues package provides
8143@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8144three different flavors:
8145
8146@itemize
8147@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8148fast insertion, deletion and lookup. This implementation is based on Ralf
8149Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8150Implementation Technique for Priority Search Queues}.
8151
8152Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8153PSQueue} library, although it is considerably faster and provides a slightly
8154different API.
8155
8156@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8157key type to @code{Int} and uses a
8158@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8159with an additional min-heap property.
8160
8161@item @code{HashPSQ k p v} is a fairly straightforward extension
8162of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8163@code{IntPSQ}. If there are any hash collisions, it uses an
8164@code{OrdPSQ} to resolve those. The performance of this implementation
8165is comparable to that of @code{IntPSQ}, but it is more widely
8166applicable since the keys are not restricted to @code{Int},
8167but rather to any @code{Hashable} datatype.
8168@end itemize
8169
8170Each of the three implementations provides the same API, so they can
8171be used interchangeably.
8172
8173Typical applications of Priority Search Queues include:
8174
8175@itemize
8176@item Caches, and more specifically LRU Caches;
8177@item Schedulers;
8178@item Pathfinding algorithms, such as Dijkstra's and A*.
8179@end itemize")
8180 (license license:bsd-3)))
8181
8182(define-public ghc-random
8183 (package
8184 (name "ghc-random")
8185 (version "1.1")
8186 (outputs '("out" "doc"))
8187 (source
8188 (origin
8189 (method url-fetch)
8190 (uri (string-append
8191 "https://hackage.haskell.org/package/random/random-"
8192 version
8193 ".tar.gz"))
8194 (sha256
8195 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8196 (build-system haskell-build-system)
8197 (home-page "https://hackage.haskell.org/package/random")
8198 (synopsis "Random number library")
8199 (description "This package provides a basic random number generation
8200library, including the ability to split random number generators.")
8201 (license license:bsd-3)))
8202
8203(define-public ghc-raw-strings-qq
8204 (package
8205 (name "ghc-raw-strings-qq")
8206 (version "1.1")
8207 (source
8208 (origin
8209 (method url-fetch)
8210 (uri (string-append "https://hackage.haskell.org/package/"
8211 "raw-strings-qq/raw-strings-qq-"
8212 version ".tar.gz"))
8213 (sha256
8214 (base32
8215 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8216 (build-system haskell-build-system)
8217 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8218 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8219 (synopsis "Raw string literals for Haskell")
8220 (description
8221 "This package provides a quasiquoter for raw string literals, i.e. string
8222literals that don't recognise the standard escape sequences. Basically, they
8223make your code more readable by freeing you from the responsibility to escape
8224backslashes. They are useful when working with regular expressions,
8225DOS/Windows paths and markup languages (such as XML).")
8226 (license license:bsd-3)))
8227
8228(define-public ghc-readable
8229 (package
8230 (name "ghc-readable")
8231 (version "0.3.1")
8232 (source
8233 (origin
8234 (method url-fetch)
8235 (uri (string-append "https://hackage.haskell.org/package/"
8236 "readable/readable-" version ".tar.gz"))
8237 (sha256
8238 (base32
8239 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8240 (build-system haskell-build-system)
8241 (home-page "https://github.com/mightybyte/readable")
8242 (synopsis "Type class for reading from Text and ByteString")
8243 (description "This package provides a @code{Readable} type class for
8244reading data types from @code{ByteString} and @code{Text}. It also
8245includes efficient implementations for common data types.")
8246 (license license:bsd-3)))
8247
8248(define-public ghc-rebase
8249 (package
8250 (name "ghc-rebase")
8d2ae3fe 8251 (version "1.3.1.1")
dddbc90c
RV
8252 (source
8253 (origin
8254 (method url-fetch)
8255 (uri (string-append "https://hackage.haskell.org/package/"
8256 "rebase-" version "/"
8257 "rebase-" version ".tar.gz"))
8258 (sha256
8259 (base32
8d2ae3fe 8260 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
8261 (build-system haskell-build-system)
8262 (inputs `(("ghc-hashable" ,ghc-hashable)
8263 ("ghc-vector" ,ghc-vector)
8264 ("ghc-unordered-containers" ,ghc-unordered-containers)
8265 ("ghc-scientific" ,ghc-scientific)
8266 ("ghc-uuid" ,ghc-uuid)
8267 ("ghc-dlist" ,ghc-dlist)
8268 ("ghc-void" ,ghc-void)
8269 ("ghc-bifunctors" ,ghc-bifunctors)
8270 ("ghc-profunctors" ,ghc-profunctors)
8271 ("ghc-contravariant" ,ghc-contravariant)
8272 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8273 ("ghc-semigroups" ,ghc-semigroups)
8274 ("ghc-either" ,ghc-either)
8275 ("ghc-fail" ,ghc-fail)
8276 ("ghc-base-prelude" ,ghc-base-prelude)))
8277 (home-page "https://github.com/nikita-volkov/rebase")
8278 (synopsis "Progressive alternative to the base package
8279for Haskell")
8280 (description "This Haskell package is intended for those who are
8281tired of keeping long lists of dependencies to the same essential libraries
8282in each package as well as the endless imports of the same APIs all over again.
8283
8284It also supports the modern tendencies in the language.
8285
8286To solve those problems this package does the following:
8287
8288@itemize
8289@item Reexport the original APIs under the @code{Rebase} namespace.
8290
8291@item Export all the possible non-conflicting symbols from the
8292@code{Rebase.Prelude} module.
8293
8294@item Give priority to the modern practices in the conflicting cases.
8295@end itemize
8296
8297The policy behind the package is only to reexport the non-ambiguous and
8298non-controversial APIs, which the community has obviously settled on.
8299The package is intended to rapidly evolve with the contribution from
8300the community, with the missing features being added with pull-requests.")
8301 (license license:expat)))
8302
8303(define-public ghc-reducers
8304 (package
8305 (name "ghc-reducers")
8306 (version "3.12.3")
8307 (source
8308 (origin
8309 (method url-fetch)
8310 (uri (string-append
8311 "https://hackage.haskell.org/package/reducers/reducers-"
8312 version
8313 ".tar.gz"))
8314 (sha256
8315 (base32
8316 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8317 (build-system haskell-build-system)
8318 (inputs
8319 `(("ghc-fingertree" ,ghc-fingertree)
8320 ("ghc-hashable" ,ghc-hashable)
8321 ("ghc-unordered-containers" ,ghc-unordered-containers)
8322 ("ghc-semigroupoids" ,ghc-semigroupoids)
8323 ("ghc-semigroups" ,ghc-semigroups)))
8324 (home-page "https://github.com/ekmett/reducers/")
8325 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8326 (description "This library provides various semigroups, specialized
8327containers and a general map/reduce framework for Haskell.")
8328 (license license:bsd-3)))
8329
8330(define-public ghc-refact
8331 (package
8332 (name "ghc-refact")
8333 (version "0.3.0.2")
8334 (source
8335 (origin
8336 (method url-fetch)
8337 (uri (string-append "https://hackage.haskell.org/package/"
8338 "refact/refact-"
8339 version ".tar.gz"))
8340 (sha256
8341 (base32
8342 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8343 (build-system haskell-build-system)
8344 (home-page "http://hackage.haskell.org/package/refact")
8345 (synopsis "Specify refactorings to perform with apply-refact")
8346 (description
8347 "This library provides a datatype which can be interpreted by
8348@code{apply-refact}. It exists as a separate library so that applications can
8349specify refactorings without depending on GHC.")
8350 (license license:bsd-3)))
8351
8352(define-public ghc-reflection
8353 (package
8354 (name "ghc-reflection")
d215f1cc 8355 (version "2.1.5")
dddbc90c
RV
8356 (source
8357 (origin
8358 (method url-fetch)
8359 (uri (string-append
8360 "https://hackage.haskell.org/package/reflection/reflection-"
8361 version
8362 ".tar.gz"))
8363 (sha256
8364 (base32
d215f1cc 8365 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8366 (build-system haskell-build-system)
8367 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8368 (native-inputs
8369 `(("ghc-hspec" ,ghc-hspec)
8370 ("ghc-quickcheck" ,ghc-quickcheck)
8371 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8372 (home-page "https://github.com/ekmett/reflection")
8373 (synopsis "Reify arbitrary terms into types that can be reflected back
8374into terms")
8375 (description "This package addresses the 'configuration problem' which is
8376propagating configurations that are available at run-time, allowing multiple
8377configurations to coexist without resorting to mutable global variables or
8378@code{System.IO.Unsafe.unsafePerformIO}.")
8379 (license license:bsd-3)))
8380
8381(define-public ghc-regex
8382 (package
8383 (name "ghc-regex")
b9a5e634 8384 (version "1.0.2.0")
dddbc90c
RV
8385 (source
8386 (origin
8387 (method url-fetch)
8388 (uri (string-append "https://hackage.haskell.org/package/regex/"
8389 "regex-" version ".tar.gz"))
8390 (sha256
8391 (base32
b9a5e634 8392 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
8393 (build-system haskell-build-system)
8394 (arguments
8395 `(#:phases
8396 (modify-phases %standard-phases
8397 (add-after 'unpack 'relax-dependencies
8398 (lambda _
8399 (substitute* "regex.cabal"
8400 (("base-compat.*>=.*0.6.*")
8401 "base-compat >= 0.6\n")
8402 (("template-haskell.*>=.*2.7.*")
8403 "template-haskell >= 2.7\n"))
8404 #t)))))
8405 (inputs
8406 `(("ghc-base-compat" ,ghc-base-compat)
8407 ("ghc-hashable" ,ghc-hashable)
8408 ("ghc-regex-base" ,ghc-regex-base)
8409 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8410 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8411 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8412 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8413 ("ghc-unordered-containers" ,ghc-unordered-containers)
8414 ("ghc-utf8-string" ,ghc-utf8-string)))
8415 (home-page "http://regex.uk")
8416 (synopsis "Toolkit for regex-base")
8417 (description
8418 "This package provides a regular expression toolkit for @code{regex-base}
8419with compile-time checking of regular expression syntax, data types for
8420matches and captures, a text replacement toolkit, portable options, high-level
8421AWK-like tools for building text processing apps, regular expression macros
8422with parsers and test bench, comprehensive documentation, tutorials and
8423copious examples.")
8424 (license license:bsd-3)))
8425
8426(define-public ghc-regex-applicative
8427 (package
8428 (name "ghc-regex-applicative")
30f60e42 8429 (version "0.3.3.1")
dddbc90c
RV
8430 (source
8431 (origin
8432 (method url-fetch)
8433 (uri (string-append
8434 "https://hackage.haskell.org/package/regex-applicative/"
8435 "regex-applicative-" version ".tar.gz"))
8436 (sha256
8437 (base32
30f60e42 8438 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8439 (build-system haskell-build-system)
8440 (inputs
8441 `(("ghc-smallcheck" ,ghc-smallcheck)
8442 ("ghc-tasty" ,ghc-tasty)
8443 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8444 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8445 (home-page "https://github.com/feuerbach/regex-applicative")
8446 (synopsis "Regex-based parsing with applicative interface")
8447 (description
8448 "@code{regex-applicative} is a Haskell library for parsing using
8449regular expressions. Parsers can be built using Applicative interface.")
8450 (license license:expat)))
8451
8452(define-public ghc-regex-base
8453 (package
8454 (name "ghc-regex-base")
8455 (version "0.93.2")
8456 (source
8457 (origin
8458 (method url-fetch)
8459 (uri (string-append
8460 "https://hackage.haskell.org/package/regex-base/regex-base-"
8461 version
8462 ".tar.gz"))
8463 (sha256
8464 (base32
8465 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8466 (build-system haskell-build-system)
8467 (home-page
8468 "https://sourceforge.net/projects/lazy-regex")
8469 (synopsis "Replaces/Enhances Text.Regex")
8470 (description "@code{Text.Regex.Base} provides the interface API for
8471regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8472 (license license:bsd-3)))
8473
8474(define-public ghc-regex-compat
8475 (package
8476 (name "ghc-regex-compat")
8477 (version "0.95.1")
8478 (source
8479 (origin
8480 (method url-fetch)
8481 (uri (string-append
8482 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8483 version
8484 ".tar.gz"))
8485 (sha256
8486 (base32
8487 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8488 (build-system haskell-build-system)
8489 (inputs
8490 `(("ghc-regex-base" ,ghc-regex-base)
8491 ("ghc-regex-posix" ,ghc-regex-posix)))
8492 (home-page "https://sourceforge.net/projects/lazy-regex")
8493 (synopsis "Replaces/Enhances Text.Regex")
8494 (description "This library provides one module layer over
8495@code{regex-posix} to replace @code{Text.Regex}.")
8496 (license license:bsd-3)))
8497
8498(define-public ghc-regex-compat-tdfa
8499 (package
8500 (name "ghc-regex-compat-tdfa")
8501 (version "0.95.1.4")
8502 (source
8503 (origin
8504 (method url-fetch)
8505 (uri (string-append
8506 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8507 version ".tar.gz"))
8508 (sha256
8509 (base32
8510 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8511 (build-system haskell-build-system)
8512 (inputs
8513 `(("ghc-regex-base" ,ghc-regex-base)
8514 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8515 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8516 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8517 (description
8518 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8519@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8520This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8521this problem.")
8522 (license license:bsd-3)))
8523
8524(define-public ghc-regex-pcre-builtin
8525 (package
8526 (name "ghc-regex-pcre-builtin")
ee946143 8527 (version "0.94.5.8.8.35")
dddbc90c
RV
8528 (source (origin
8529 (method url-fetch)
8530 (uri (string-append "https://hackage.haskell.org/package/"
8531 "regex-pcre-builtin/regex-pcre-builtin-"
8532 version ".tar.gz"))
8533 (sha256
8534 (base32
ee946143 8535 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8536 (build-system haskell-build-system)
8537 (inputs
8538 `(("ghc-regex-base" ,ghc-regex-base)))
8539 (home-page "https://hackage.haskell.org/package/regex-pcre")
8540 (synopsis "Enhancement of the builtin Text.Regex library")
8541 (description
8542 "This package is an enhancement of the @code{Text.Regex} library,
8543providing the PCRE backend to accompany regex-base, with bundled code from
8544@url{https://www.pcre.org}.")
8545 (license license:bsd-3)))
8546
8547(define-public ghc-regex-posix
8548 (package
8549 (name "ghc-regex-posix")
8550 (version "0.95.2")
8551 (source
8552 (origin
8553 (method url-fetch)
8554 (uri (string-append
8555 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8556 version
8557 ".tar.gz"))
8558 (sha256
8559 (base32
8560 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8561 (build-system haskell-build-system)
8562 (inputs
8563 `(("ghc-regex-base" ,ghc-regex-base)))
8564 (home-page "https://sourceforge.net/projects/lazy-regex")
8565 (synopsis "POSIX regular expressions for Haskell")
8566 (description "This library provides the POSIX regex backend used by the
8567Haskell library @code{regex-base}.")
8568 (license license:bsd-3)))
8569
8570(define-public ghc-regex-tdfa
8571 (package
8572 (name "ghc-regex-tdfa")
ce684db0 8573 (version "1.2.3.2")
dddbc90c
RV
8574 (source
8575 (origin
8576 (method url-fetch)
8577 (uri (string-append
8578 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8579 version ".tar.gz"))
8580 (sha256
8581 (base32
ce684db0 8582 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8583 (build-system haskell-build-system)
8584 (inputs
8585 `(("ghc-regex-base" ,ghc-regex-base)))
8586 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8587 (synopsis "POSIX extended regular expressions in Haskell.")
8588 (description
8589 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8590extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8591inspired by libtre.")
8592 (license license:bsd-3)))
8593
8594(define-public ghc-regex-tdfa-text
8595 (package
8596 (name "ghc-regex-tdfa-text")
8597 (version "1.0.0.3")
8598 (source
8599 (origin
8600 (method url-fetch)
8601 (uri (string-append
8602 "https://hackage.haskell.org/package/regex-tdfa-text/"
8603 "regex-tdfa-text-" version ".tar.gz"))
8604 (sha256
8605 (base32
8606 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8607 (build-system haskell-build-system)
8608 (inputs
8609 `(("ghc-regex-base" ,ghc-regex-base)
8610 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8611 (home-page
8612 "http://hackage.haskell.org/package/regex-tdfa-text")
8613 (synopsis "Text interface for regex-tdfa")
8614 (description
8615 "This provides an extra text interface for regex-tdfa.")
8616 (license license:bsd-3)))
8617
8618(define-public ghc-rerebase
8619 (package
8620 (name "ghc-rerebase")
cdec7b8c 8621 (version "1.3.1.1")
dddbc90c
RV
8622 (source
8623 (origin
8624 (method url-fetch)
8625 (uri (string-append
8626 "https://hackage.haskell.org/package/rerebase/rerebase-"
8627 version ".tar.gz"))
8628 (sha256
8629 (base32
cdec7b8c 8630 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
8631 (build-system haskell-build-system)
8632 (inputs
8633 `(("ghc-rebase" ,ghc-rebase)))
8634 (home-page "https://github.com/nikita-volkov/rerebase")
8635 (synopsis "Reexports from ``base'' with many other standard libraries")
8636 (description "A rich drop-in replacement for @code{base}. For details and
8637documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8638the project's home page}.")
8639 (license license:expat)))
8640
8641(define-public ghc-resolv
8642 (package
8643 (name "ghc-resolv")
8644 (version "0.1.1.1")
8645 (source
8646 (origin
8647 (method url-fetch)
8648 (uri (string-append
8649 "https://hackage.haskell.org/package/resolv/resolv-"
8650 version ".tar.gz"))
8651 (sha256
8652 (base32
8653 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8654 (build-system haskell-build-system)
8655 (arguments
8656 `(#:cabal-revision
8657 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8658 #:tests? #f)) ; The required test frameworks are too old.
8659 (inputs
8660 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8661 (home-page "https://github.com/haskell/hackage-security")
8662 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8663 (description "This package implements an API for accessing the
8664@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8665resolver service via the standard @code{libresolv} system library (whose
8666API is often available directly via the standard @code{libc} C library) on
8667Unix systems.")
8668 (license license:gpl3)))
8669
8670(define-public ghc-resource-pool
8671 (package
8672 (name "ghc-resource-pool")
8673 (version "0.2.3.2")
8674 (source
8675 (origin
8676 (method url-fetch)
8677 (uri (string-append "https://hackage.haskell.org/package/"
8678 "resource-pool-" version "/"
8679 "resource-pool-" version ".tar.gz"))
8680 (sha256
8681 (base32
8682 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8683 (build-system haskell-build-system)
8684 (inputs `(("ghc-hashable" ,ghc-hashable)
8685 ("ghc-monad-control" ,ghc-monad-control)
8686 ("ghc-transformers-base" ,ghc-transformers-base)
8687 ("ghc-vector" ,ghc-vector)))
8688 (home-page "https://github.com/bos/pool")
8689 (synopsis "Striped resource pooling implementation in Haskell")
8690 (description "This Haskell package provides striped pooling abstraction
8691for managing flexibly-sized collections of resources such as database
8692connections.")
8693 (license license:bsd-3)))
8694
8695(define-public ghc-resourcet
8696 (package
8697 (name "ghc-resourcet")
9ac341ac 8698 (version "1.2.2")
dddbc90c
RV
8699 (source
8700 (origin
8701 (method url-fetch)
8702 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8703 "resourcet-" version ".tar.gz"))
8704 (sha256
8705 (base32
9ac341ac 8706 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
8707 (build-system haskell-build-system)
8708 (inputs
8709 `(("ghc-transformers-base" ,ghc-transformers-base)
8710 ("ghc-monad-control" ,ghc-monad-control)
8711 ("ghc-transformers-compat" ,ghc-transformers-compat)
8712 ("ghc-mmorph" ,ghc-mmorph)
8713 ("ghc-exceptions" ,ghc-exceptions)
8714 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8715 (native-inputs
8716 `(("ghc-lifted-base" ,ghc-lifted-base)
8717 ("ghc-hspec" ,ghc-hspec)))
8718 (home-page "https://github.com/snoyberg/conduit")
8719 (synopsis "Deterministic allocation and freeing of scarce resources")
8720 (description "ResourceT is a monad transformer which creates a region of
8721code where you can safely allocate resources.")
8722 (license license:bsd-3)))
8723
b9debc37
TS
8724(define-public ghc-retry
8725 (package
8726 (name "ghc-retry")
8727 (version "0.8.1.0")
8728 (source
8729 (origin
8730 (method url-fetch)
8731 (uri (string-append "https://hackage.haskell.org/package/"
8732 "retry/retry-" version ".tar.gz"))
8733 (sha256
8734 (base32
8735 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
8736 (build-system haskell-build-system)
8737 (inputs
8738 `(("ghc-exceptions" ,ghc-exceptions)
8739 ("ghc-random" ,ghc-random)))
8740 (native-inputs
8741 `(("ghc-hunit" ,ghc-hunit)
8742 ("ghc-tasty" ,ghc-tasty)
8743 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8744 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
8745 ("ghc-hedgehog" ,ghc-hedgehog)))
8746 (home-page "http://github.com/Soostone/retry")
8747 (synopsis "Retry combinators for monadic actions that may fail")
8748 (description "This package exposes combinators that can wrap
8749arbitrary monadic actions. They run the action and potentially retry
8750running it with some configurable delay for a configurable number of
8751times. The purpose is to make it easier to work with IO and especially
8752network IO actions that often experience temporary failure and warrant
8753retrying of the original action. For example, a database query may time
8754out for a while, in which case we should hang back for a bit and retry
8755the query instead of simply raising an exception.")
8756 (license license:bsd-3)))
8757
dddbc90c
RV
8758(define-public ghc-rfc5051
8759 (package
8760 (name "ghc-rfc5051")
ec42ab7c 8761 (version "0.1.0.4")
dddbc90c
RV
8762 (source
8763 (origin
8764 (method url-fetch)
8765 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8766 "rfc5051-" version ".tar.gz"))
8767 (sha256
8768 (base32
ec42ab7c 8769 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
8770 (build-system haskell-build-system)
8771 (home-page "https://hackage.haskell.org/package/rfc5051")
8772 (synopsis "Simple unicode collation as per RFC5051")
8773 (description
8774 "This library implements @code{unicode-casemap}, the simple, non
8775locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8776unicode collation can be done using @code{text-icu}, but that is a big
8777dependency that depends on a large C library, and @code{rfc5051} might be
8778better for some purposes.")
8779 (license license:bsd-3)))
8780
8781(define-public ghc-rio
8782 (package
8783 (name "ghc-rio")
8bda2fa7 8784 (version "0.1.12.0")
dddbc90c
RV
8785 (source
8786 (origin
8787 (method url-fetch)
8788 (uri (string-append
8789 "https://hackage.haskell.org/package/rio/rio-"
8790 version ".tar.gz"))
8791 (sha256
8792 (base32
8bda2fa7 8793 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
8794 (build-system haskell-build-system)
8795 (inputs
8796 `(("ghc-exceptions" ,ghc-exceptions)
8797 ("ghc-hashable" ,ghc-hashable)
8798 ("ghc-microlens" ,ghc-microlens)
8799 ("ghc-primitive" ,ghc-primitive)
8800 ("ghc-typed-process" ,ghc-typed-process)
8801 ("ghc-unliftio" ,ghc-unliftio)
8802 ("ghc-unordered-containers" ,ghc-unordered-containers)
8803 ("ghc-vector" ,ghc-vector)))
8804 (native-inputs
8805 `(("ghc-hspec" ,ghc-hspec)
8806 ("hspec-discover" ,hspec-discover)))
8807 (home-page "https://github.com/commercialhaskell/rio#readme")
8808 (synopsis "A standard library for Haskell")
8809 (description "This package works as a prelude replacement for Haskell,
8810providing more functionality and types out of the box than the standard
8811prelude (such as common data types like @code{ByteString} and
8812@code{Text}), as well as removing common ``gotchas'', like partial
8813functions and lazy I/O. The guiding principle here is:
8814@itemize
8815@item If something is safe to use in general and has no expected naming
8816conflicts, expose it.
8817@item If something should not always be used, or has naming conflicts,
8818expose it from another module in the hierarchy.
8819@end itemize")
8820 (license license:expat)))
8821
8822(define-public ghc-safe
8823 (package
8824 (name "ghc-safe")
8825 (version "0.3.17")
8826 (source
8827 (origin
8828 (method url-fetch)
8829 (uri (string-append
8830 "https://hackage.haskell.org/package/safe/safe-"
8831 version
8832 ".tar.gz"))
8833 (sha256
8834 (base32
8835 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8836 (build-system haskell-build-system)
8837 (native-inputs
8838 `(("ghc-quickcheck" ,ghc-quickcheck)))
8839 (home-page "https://github.com/ndmitchell/safe#readme")
8840 (synopsis "Library of safe (exception free) functions")
8841 (description "This library provides wrappers around @code{Prelude} and
8842@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8843exceptions.")
8844 (license license:bsd-3)))
8845
8846(define-public ghc-safe-exceptions
8847 (package
8848 (name "ghc-safe-exceptions")
8849 (version "0.1.7.0")
8850 (source
8851 (origin
8852 (method url-fetch)
8853 (uri (string-append "https://hackage.haskell.org/package/"
8854 "safe-exceptions/safe-exceptions-"
8855 version ".tar.gz"))
8856 (sha256
8857 (base32
8858 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8859 (build-system haskell-build-system)
8860 (arguments
8861 '(#:cabal-revision
8862 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8863 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8864 (native-inputs
8865 `(("ghc-hspec" ,ghc-hspec)
8866 ("ghc-void" ,ghc-void)
8867 ("hspec-discover" ,hspec-discover)))
8868 (home-page "https://github.com/fpco/safe-exceptions")
8869 (synopsis "Safe, consistent, and easy exception handling")
8870 (description "Runtime exceptions - as exposed in @code{base} by the
8871@code{Control.Exception} module - have long been an intimidating part of the
8872Haskell ecosystem. This package is intended to overcome this. It provides a
8873safe and simple API on top of the existing exception handling machinery. The
8874API is equivalent to the underlying implementation in terms of power but
8875encourages best practices to minimize the chances of getting the exception
8876handling wrong.")
8877 (license license:expat)))
8878
8879(define-public ghc-safeio
8880 (package
8881 (name "ghc-safeio")
8882 (version "0.0.5.0")
8883 (source
8884 (origin
8885 (method url-fetch)
8886 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8887 "safeio-" version ".tar.gz"))
8888 (sha256
8889 (base32
8890 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8891 (build-system haskell-build-system)
8892 (inputs
8893 `(("ghc-conduit" ,ghc-conduit)
8894 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8895 ("ghc-exceptions" ,ghc-exceptions)
8896 ("ghc-resourcet" ,ghc-resourcet)))
8897 (native-inputs
8898 `(("ghc-hunit" ,ghc-hunit)
8899 ("ghc-test-framework" ,ghc-test-framework)
8900 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8901 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8902 (home-page "https://github.com/luispedro/safeio")
8903 (synopsis "Write output to disk atomically")
8904 (description
8905 "This package implements utilities to perform atomic output so as to
8906avoid the problem of partial intermediate files.")
8907 (license license:expat)))
8908
8909(define-public ghc-safesemaphore
8910 (package
8911 (name "ghc-safesemaphore")
8912 (version "0.10.1")
8913 (source
8914 (origin
8915 (method url-fetch)
8916 (uri (string-append "https://hackage.haskell.org/package/"
8917 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8918 (sha256
8919 (base32
8920 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8921 (build-system haskell-build-system)
8922 (native-inputs
8923 `(("ghc-hunit" ,ghc-hunit)))
8924 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8925 (synopsis "Exception safe semaphores")
8926 (description "This library provides exception safe semaphores that can be
8927used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8928are not exception safe and can be broken by @code{killThread}.")
8929 (license license:bsd-3)))
8930
8931(define-public ghc-sandi
8932 (package
8933 (name "ghc-sandi")
8934 (version "0.4.2")
8935 (source
8936 (origin
8937 (method url-fetch)
8938 (uri (string-append
8939 "https://hackage.haskell.org/package/sandi/sandi-"
8940 version ".tar.gz"))
8941 (sha256
8942 (base32
8943 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8944 (build-system haskell-build-system)
8945 (inputs
8946 `(("ghc-stringsearch" ,ghc-stringsearch)
8947 ("ghc-conduit" ,ghc-conduit)
8948 ("ghc-exceptions" ,ghc-exceptions)
8949 ("ghc-hunit" ,ghc-hunit)
8950 ("ghc-tasty" ,ghc-tasty)
8951 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8952 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8953 ("ghc-tasty-th" ,ghc-tasty-th)))
8954 (home-page "https://hackage.haskell.org/package/sandi")
8955 (synopsis "Data encoding library")
8956 (description "Reasonably fast data encoding library.")
8957 (license license:bsd-3)))
8958
8959(define-public ghc-scientific
8960 (package
8961 (name "ghc-scientific")
8962 (version "0.3.6.2")
8963 (source
8964 (origin
8965 (method url-fetch)
8966 (uri (string-append
8967 "https://hackage.haskell.org/package/scientific/scientific-"
8968 version
8969 ".tar.gz"))
8970 (sha256
8971 (base32
8972 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8973 (build-system haskell-build-system)
8974 (inputs
8975 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8976 ("ghc-hashable" ,ghc-hashable)
8977 ("ghc-primitive" ,ghc-primitive)))
8978 (native-inputs
8979 `(("ghc-tasty" ,ghc-tasty)
8980 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8981 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8982 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8983 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8984 ("ghc-smallcheck" ,ghc-smallcheck)
8985 ("ghc-quickcheck" ,ghc-quickcheck)))
8986 (home-page "https://github.com/basvandijk/scientific")
8987 (synopsis "Numbers represented using scientific notation")
8988 (description "This package provides @code{Data.Scientific}, which provides
8989the number type @code{Scientific}. Scientific numbers are arbitrary precision
8990and space efficient. They are represented using
8991@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8992notation}.")
8993 (license license:bsd-3)))
8994
8995(define-public ghc-scientific-bootstrap
8996 (package
8997 (inherit ghc-scientific)
8998 (name "ghc-scientific-bootstrap")
8999 (arguments `(#:tests? #f))
9000 (inputs
9001 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
9002 ("ghc-hashable" ,ghc-hashable)
9003 ("ghc-primitive" ,ghc-primitive)))
9004 (native-inputs '())
799d8d3c 9005 (properties '((hidden? #t)))))
dddbc90c
RV
9006
9007(define-public ghc-sdl
9008 (package
9009 (name "ghc-sdl")
9010 (version "0.6.7.0")
9011 (source
9012 (origin
9013 (method url-fetch)
9014 (uri (string-append
9015 "https://hackage.haskell.org/package/SDL/SDL-"
9016 version
9017 ".tar.gz"))
9018 (sha256
9019 (base32
9020 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
9021 (build-system haskell-build-system)
9022 (inputs
9023 `(("sdl" ,sdl)))
9024 (home-page "https://hackage.haskell.org/package/SDL")
9025 (synopsis "LibSDL for Haskell")
9026 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
9027multimedia library designed to provide low level access to audio, keyboard,
9028mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
9029by MPEG playback software, emulators, and many popular games, including the
9030award winning Linux port of \"Civilization: Call To Power.\"")
9031 (license license:bsd-3)))
9032
1874cdc1
RV
9033(define-public ghc-sdl2
9034 (package
9035 (name "ghc-sdl2")
9036 (version "2.4.1.0")
9037 (source
9038 (origin
9039 (method url-fetch)
9040 (uri (string-append "https://hackage.haskell.org/package/"
9041 "sdl2/sdl2-" version ".tar.gz"))
9042 (sha256
9043 (base32
9044 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
9045 (build-system haskell-build-system)
9046 (arguments '(#:tests? #f)) ; tests require graphical environment
9047 (inputs
9048 `(("ghc-exceptions" ,ghc-exceptions)
9049 ("ghc-linear" ,ghc-linear)
9050 ("ghc-statevar" ,ghc-statevar)
9051 ("ghc-vector" ,ghc-vector)
9052 ("sdl2" ,sdl2)))
9053 (native-inputs
9054 `(("ghc-weigh" ,ghc-weigh)
9055 ("pkg-config" ,pkg-config)))
9056 (home-page "http://hackage.haskell.org/package/sdl2")
9057 (synopsis "High- and low-level bindings to the SDL library")
9058 (description
9059 "This package contains bindings to the SDL 2 library, in both high- and
9060low-level forms. The @code{SDL} namespace contains high-level bindings, where
9061enumerations are split into sum types, and we perform automatic
9062error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
9063translation of the C API into Haskell FFI calls. As such, this does not
9064contain sum types nor error checking. Thus this namespace is suitable for
9065building your own abstraction over SDL, but is not recommended for day-to-day
9066programming.")
9067 (license license:bsd-3)))
9068
9069(define-public ghc-sdl2-image
9070 (package
9071 (name "ghc-sdl2-image")
9072 (version "2.0.0")
9073 (source
9074 (origin
9075 (method url-fetch)
9076 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
9077 "sdl2-image-" version ".tar.gz"))
9078 (sha256
9079 (base32
9080 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
9081 (build-system haskell-build-system)
9082 (inputs
9083 `(("ghc-sdl2" ,ghc-sdl2)
9084 ("sdl2-image" ,sdl2-image)))
9085 (native-inputs
9086 `(("pkg-config" ,pkg-config)))
9087 (home-page "http://hackage.haskell.org/package/sdl2-image")
9088 (synopsis "Bindings to SDL2_image")
9089 (description "This package provides Haskell bindings to
9090@code{SDL2_image}.")
9091 (license license:expat)))
9092
9093(define-public ghc-sdl2-mixer
9094 (package
9095 (name "ghc-sdl2-mixer")
9096 (version "1.1.0")
9097 (source
9098 (origin
9099 (method url-fetch)
9100 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
9101 "sdl2-mixer-" version ".tar.gz"))
9102 (sha256
9103 (base32
9104 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
9105 (build-system haskell-build-system)
9106 (inputs
9107 `(("ghc-data-default-class" ,ghc-data-default-class)
9108 ("ghc-lifted-base" ,ghc-lifted-base)
9109 ("ghc-monad-control" ,ghc-monad-control)
9110 ("ghc-sdl2" ,ghc-sdl2)
9111 ("ghc-vector" ,ghc-vector)
9112 ("sdl2-mixer" ,sdl2-mixer)))
9113 (native-inputs
9114 `(("pkg-config" ,pkg-config)))
9115 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
9116 (synopsis "Bindings to SDL2 mixer")
9117 (description "This package provides Haskell bindings to
9118@code{SDL2_mixer}.")
9119 (license license:bsd-3)))
9120
dddbc90c
RV
9121(define-public ghc-sdl-image
9122 (package
9123 (name "ghc-sdl-image")
9124 (version "0.6.2.0")
9125 (source
9126 (origin
9127 (method url-fetch)
9128 (uri (string-append
9129 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
9130 version
9131 ".tar.gz"))
9132 (sha256
9133 (base32
9134 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
9135 (build-system haskell-build-system)
9136 (arguments
9137 `(#:configure-flags
9138 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
9139 (sdl-image-include (string-append sdl-image "/include/SDL")))
9140 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
9141 (inputs
9142 `(("ghc-sdl" ,ghc-sdl)
9143 ("sdl-image" ,sdl-image)))
9144 (home-page "https://hackage.haskell.org/package/SDL-image")
9145 (synopsis "Haskell bindings to libSDL_image")
9146 (description "SDL_image is an image file loading library. It loads images
9147as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
9148PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
9149 (license license:bsd-3)))
9150
9151(define-public ghc-sdl-mixer
9152 (package
9153 (name "ghc-sdl-mixer")
9154 (version "0.6.3.0")
9155 (source
9156 (origin
9157 (method url-fetch)
9158 (uri (string-append
9159 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
9160 version
9161 ".tar.gz"))
9162 (sha256
9163 (base32
9164 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
9165 (build-system haskell-build-system)
9166 (arguments
9167 `(#:configure-flags
9168 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
9169 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
9170 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
9171 (inputs
9172 `(("ghc-sdl" ,ghc-sdl)
9173 ("sdl-mixer" ,sdl-mixer)))
9174 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9175 (synopsis "Haskell bindings to libSDL_mixer")
9176 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9177supports any number of simultaneously playing channels of 16 bit stereo audio,
9178plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9179MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9180 (license license:bsd-3)))
9181
9182(define-public ghc-securemem
9183 (package
9184 (name "ghc-securemem")
9185 (version "0.1.10")
9186 (source
9187 (origin
9188 (method url-fetch)
9189 (uri (string-append "https://hackage.haskell.org/package/"
9190 "securemem-" version "/"
9191 "securemem-" version ".tar.gz"))
9192 (sha256
9193 (base32
9194 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9195 (build-system haskell-build-system)
9196 (inputs `(("ghc-byteable" ,ghc-byteable)
9197 ("ghc-memory" ,ghc-memory)))
9198 (home-page "https://github.com/vincenthz/hs-securemem")
9199 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9200Haskell")
9201 (description "SecureMem is similar to ByteString, except that it provides
9202a memory chunk that will be auto-scrubbed after it run out of scope.")
9203 (license license:bsd-3)))
9204
9205(define-public ghc-semigroupoids
9206 (package
9207 (name "ghc-semigroupoids")
a8aaadf2 9208 (version "5.3.3")
dddbc90c
RV
9209 (source
9210 (origin
9211 (method url-fetch)
9212 (uri (string-append
9213 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9214 version
9215 ".tar.gz"))
9216 (sha256
9217 (base32
a8aaadf2 9218 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 9219 (build-system haskell-build-system)
dddbc90c
RV
9220 (inputs
9221 `(("ghc-base-orphans" ,ghc-base-orphans)
9222 ("ghc-transformers-compat" ,ghc-transformers-compat)
9223 ("ghc-bifunctors" ,ghc-bifunctors)
9224 ("ghc-comonad" ,ghc-comonad)
9225 ("ghc-contravariant" ,ghc-contravariant)
9226 ("ghc-distributive" ,ghc-distributive)
9227 ("ghc-hashable" ,ghc-hashable)
9228 ("ghc-semigroups" ,ghc-semigroups)
9229 ("ghc-tagged" ,ghc-tagged)
9230 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9231 (native-inputs
9232 `(("cabal-doctest" ,cabal-doctest)
9233 ("ghc-doctest" ,ghc-doctest)))
9234 (home-page "https://github.com/ekmett/semigroupoids")
9235 (synopsis "Semigroupoids operations for Haskell")
9236 (description "This library provides a wide array of (semi)groupoids and
9237operations for working with them. A @code{Semigroupoid} is a @code{Category}
9238without the requirement of identity arrows for every object in the category.
9239A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9240Finally, to work with these weaker structures it is beneficial to have
9241containers that can provide stronger guarantees about their contents, so
9242versions of @code{Traversable} and @code{Foldable} that can be folded with
9243just a @code{Semigroup} are added.")
9244 (license license:bsd-3)))
9245
9246(define-public ghc-semigroups
9247 (package
9248 (name "ghc-semigroups")
9249 (version "0.18.5")
9250 (source
9251 (origin
9252 (method url-fetch)
9253 (uri (string-append
9254 "https://hackage.haskell.org/package/semigroups/semigroups-"
9255 version
9256 ".tar.gz"))
9257 (sha256
9258 (base32
9259 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9260 (build-system haskell-build-system)
9261 (inputs
9262 `(("ghc-nats" ,ghc-nats)
9263 ("ghc-tagged" ,ghc-tagged)
9264 ("ghc-unordered-containers" ,ghc-unordered-containers)
9265 ("ghc-hashable" ,ghc-hashable)))
9266 (home-page "https://github.com/ekmett/semigroups/")
9267 (synopsis "Semigroup operations for Haskell")
9268 (description "This package provides semigroups for Haskell. In
9269mathematics, a semigroup is an algebraic structure consisting of a set
9270together with an associative binary operation. A semigroup generalizes a
9271monoid in that there might not exist an identity element. It
9272also (originally) generalized a group (a monoid with all inverses) to a type
9273where every element did not have to have an inverse, thus the name
9274semigroup.")
9275 (license license:bsd-3)))
9276
9277(define-public ghc-semigroups-bootstrap
9278 (package
9279 (inherit ghc-semigroups)
9280 (name "ghc-semigroups-bootstrap")
9281 (inputs
9282 `(("ghc-nats" ,ghc-nats-bootstrap)
9283 ("ghc-tagged" ,ghc-tagged)
9284 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9285 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9286 (properties '((hidden? #t)))))
dddbc90c
RV
9287
9288(define-public ghc-setenv
9289 (package
9290 (name "ghc-setenv")
9291 (version "0.1.1.3")
9292 (source
9293 (origin
9294 (method url-fetch)
9295 (uri (string-append
9296 "https://hackage.haskell.org/package/setenv/setenv-"
9297 version
9298 ".tar.gz"))
9299 (sha256
9300 (base32
9301 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9302 (build-system haskell-build-system)
9303 (home-page "https://hackage.haskell.org/package/setenv")
9304 (synopsis "Library for setting environment variables")
9305 (description "This package provides a Haskell library for setting
9306environment variables.")
9307 (license license:expat)))
9308
9309(define-public ghc-setlocale
9310 (package
9311 (name "ghc-setlocale")
9d7cfc9b 9312 (version "1.0.0.9")
dddbc90c
RV
9313 (source (origin
9314 (method url-fetch)
9315 (uri (string-append
9316 "https://hackage.haskell.org/package/setlocale-"
9317 version "/setlocale-" version ".tar.gz"))
9318 (sha256
9319 (base32
9d7cfc9b 9320 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9321 (build-system haskell-build-system)
9322 (home-page "https://hackage.haskell.org/package/setlocale")
9323 (synopsis "Haskell bindings to setlocale")
9324 (description "This package provides Haskell bindings to the
9325@code{setlocale} C function.")
9326 (license license:bsd-3)))
9327
9328(define-public ghc-shakespeare
9329 (package
9330 (name "ghc-shakespeare")
f680955f 9331 (version "2.0.22")
dddbc90c
RV
9332 (source
9333 (origin
9334 (method url-fetch)
9335 (uri (string-append "https://hackage.haskell.org/package/"
9336 "shakespeare-" version "/"
9337 "shakespeare-" version ".tar.gz"))
9338 (sha256
9339 (base32
f680955f 9340 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
9341 (build-system haskell-build-system)
9342 (inputs `(("ghc-aeson" ,ghc-aeson)
9343 ("ghc-blaze-markup" ,ghc-blaze-markup)
9344 ("ghc-blaze-html" ,ghc-blaze-html)
9345 ("ghc-exceptions" ,ghc-exceptions)
9346 ("ghc-vector" ,ghc-vector)
9347 ("ghc-unordered-containers" ,ghc-unordered-containers)
9348 ("ghc-scientific" ,ghc-scientific)))
9349 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9350 ("ghc-hunit" ,ghc-hunit)
9351 ("hspec-discover" ,hspec-discover)))
9352 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9353 (synopsis "Family of type-safe template languages for Haskell")
9354 (description "This Haskell package provides a family of type-safe
9355templates with simple variable interpolation. Shakespeare templates can
9356be used inline with a quasi-quoter or in an external file and it
9357interpolates variables according to the type being inserted.")
9358 (license license:expat)))
9359
9360(define-public ghc-shelly
9361 (package
9362 (name "ghc-shelly")
9363 (version "1.8.1")
9364 (source
9365 (origin
9366 (method url-fetch)
9367 (uri (string-append
9368 "https://hackage.haskell.org/package/shelly/shelly-"
9369 version ".tar.gz"))
9370 (sha256
9371 (base32
9372 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9373 (build-system haskell-build-system)
9374 (inputs
9375 `(("ghc-unix-compat" ,ghc-unix-compat)
9376 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9377 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9378 ("ghc-monad-control" ,ghc-monad-control)
9379 ("ghc-lifted-base" ,ghc-lifted-base)
9380 ("ghc-lifted-async" ,ghc-lifted-async)
9381 ("ghc-exceptions" ,ghc-exceptions)
9382 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9383 ("ghc-async" ,ghc-async)
9384 ("ghc-transformers-base" ,ghc-transformers-base)
9385 ("ghc-hunit" ,ghc-hunit)
9386 ("ghc-hspec" ,ghc-hspec)
9387 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9388 (home-page "https://github.com/yesodweb/Shelly.hs")
9389 (synopsis "Shell-like (systems) programming in Haskell")
9390 (description
9391 "Shelly provides convenient systems programming in Haskell, similar in
9392spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9393 (license license:bsd-3)))
9394
9395(define-public ghc-silently
9396 (package
9397 (name "ghc-silently")
544bb369 9398 (version "1.2.5.1")
dddbc90c
RV
9399 (source
9400 (origin
9401 (method url-fetch)
9402 (uri (string-append
9403 "https://hackage.haskell.org/package/silently/silently-"
9404 version
9405 ".tar.gz"))
9406 (sha256
9407 (base32
544bb369 9408 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9409 (build-system haskell-build-system)
9410 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9411 ;; (inputs
9412 ;; `(("ghc-temporary" ,ghc-temporary)))
9413 (home-page "https://github.com/hspec/silently")
9414 (synopsis "Prevent writing to stdout")
9415 (description "This package provides functions to prevent or capture
9416writing to stdout and other handles.")
9417 (license license:bsd-3)))
9418
9419(define-public ghc-simple-reflect
9420 (package
9421 (name "ghc-simple-reflect")
9422 (version "0.3.3")
9423 (source
9424 (origin
9425 (method url-fetch)
9426 (uri (string-append
9427 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9428 version
9429 ".tar.gz"))
9430 (sha256
9431 (base32
9432 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9433 (build-system haskell-build-system)
9434 (home-page
9435 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9436 (synopsis
9437 "Simple reflection of expressions containing variables")
9438 (description
9439 "This package allows simple reflection of expressions containing
9440variables. Reflection here means that a Haskell expression is turned into a
9441string. The primary aim of this package is teaching and understanding; there
9442are no options for manipulating the reflected expressions beyond showing
9443them.")
9444 (license license:bsd-3)))
9445
9446(define-public ghc-simple-sendfile
9447 (package
9448 (name "ghc-simple-sendfile")
9449 (version "0.2.27")
9450 (source
9451 (origin
9452 (method url-fetch)
9453 (uri (string-append "https://hackage.haskell.org/package/"
9454 "simple-sendfile-" version "/"
9455 "simple-sendfile-" version ".tar.gz"))
9456 (sha256
9457 (base32
9458 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9459 (build-system haskell-build-system)
9460 (inputs
9461 `(("ghc-conduit" ,ghc-conduit)
9462 ("ghc-conduit-extra" ,ghc-conduit-extra)
9463 ("ghc-network" ,ghc-network)
9464 ("ghc-resourcet" ,ghc-resourcet)))
9465 (native-inputs
9466 `(("ghc-hspec" ,ghc-hspec)
9467 ("hspec-discover" ,hspec-discover)))
9468 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9469 (synopsis "Cross platform library for the sendfile system call")
9470 (description "This library tries to call minimum system calls which
9471are the bottleneck of web servers.")
9472 (license license:bsd-3)))
9473
9474(define-public ghc-skylighting-core
9475 (package
9476 (name "ghc-skylighting-core")
1826c2a8 9477 (version "0.8.2.1")
dddbc90c
RV
9478 (source (origin
9479 (method url-fetch)
9480 (uri (string-append "https://hackage.haskell.org/package/"
9481 "skylighting-core/skylighting-core-"
9482 version ".tar.gz"))
9483 (sha256
9484 (base32
1826c2a8 9485 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
9486 (build-system haskell-build-system)
9487 (inputs
9488 `(("ghc-aeson" ,ghc-aeson)
9489 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9490 ("ghc-attoparsec" ,ghc-attoparsec)
9491 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9492 ("ghc-blaze-html" ,ghc-blaze-html)
9493 ("ghc-case-insensitive" ,ghc-case-insensitive)
9494 ("ghc-colour" ,ghc-colour)
9495 ("ghc-hxt" ,ghc-hxt)
9496 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9497 ("ghc-safe" ,ghc-safe)
9498 ("ghc-utf8-string" ,ghc-utf8-string)))
9499 (native-inputs
9500 `(("ghc-diff" ,ghc-diff)
9501 ("ghc-hunit" ,ghc-hunit)
9502 ("ghc-pretty-show" ,ghc-pretty-show)
9503 ("ghc-quickcheck" ,ghc-quickcheck)
9504 ("ghc-tasty" ,ghc-tasty)
9505 ("ghc-tasty-golden" ,ghc-tasty-golden)
9506 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9507 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9508 (home-page "https://github.com/jgm/skylighting")
9509 (synopsis "Syntax highlighting library")
9510 (description "Skylighting is a syntax highlighting library with support
9511for over one hundred languages. It derives its tokenizers from XML syntax
9512definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9513supported by that framework can be added. An optional command-line program is
9514provided. Skylighting is intended to be the successor to highlighting-kate.")
9515 (license license:gpl2)))
9516
9517(define-public ghc-skylighting
9518 (package
9519 (inherit ghc-skylighting-core)
9520 (name "ghc-skylighting")
36c940cf 9521 (version "0.8.2.1")
dddbc90c
RV
9522 (source (origin
9523 (method url-fetch)
9524 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9525 version "/skylighting-" version ".tar.gz"))
9526 (sha256
9527 (base32
36c940cf 9528 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
9529 (inputs
9530 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9531 ,@(package-inputs ghc-skylighting-core)))))
9532
9533(define-public ghc-smallcheck
9534 (package
9535 (name "ghc-smallcheck")
9536 (version "1.1.5")
9537 (source
9538 (origin
9539 (method url-fetch)
9540 (uri (string-append
9541 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9542 version
9543 ".tar.gz"))
9544 (sha256
9545 (base32
9546 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9547 (build-system haskell-build-system)
9548 (inputs
9549 `(("ghc-logict" ,ghc-logict)))
9550 (home-page
9551 "https://github.com/feuerbach/smallcheck")
9552 (synopsis "Property-based testing library")
9553 (description "SmallCheck is a testing library that allows to verify
9554properties for all test cases up to some depth. The test cases are generated
9555automatically by SmallCheck.")
9556 (license license:bsd-3)))
9557
9558(define-public ghc-socks
9559 (package
9560 (name "ghc-socks")
ab761e9d 9561 (version "0.6.1")
dddbc90c
RV
9562 (source (origin
9563 (method url-fetch)
9564 (uri (string-append "https://hackage.haskell.org/package/"
9565 "socks/socks-" version ".tar.gz"))
9566 (sha256
9567 (base32
ab761e9d 9568 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
9569 (build-system haskell-build-system)
9570 (inputs
9571 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 9572 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
9573 ("ghc-network" ,ghc-network)))
9574 (home-page "https://github.com/vincenthz/hs-socks")
9575 (synopsis "SOCKS proxy (version 5) implementation")
9576 (description
9577 "This library provides a SOCKS proxy (version 5) implementation.")
9578 (license license:bsd-3)))
9579
081d85d6
TS
9580(define-public ghc-sop-core
9581 (package
9582 (name "ghc-sop-core")
9583 (version "0.4.0.0")
9584 (source
9585 (origin
9586 (method url-fetch)
9587 (uri (string-append "https://hackage.haskell.org/package/"
9588 "sop-core/sop-core-" version ".tar.gz"))
9589 (sha256
9590 (base32
9591 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9592 (build-system haskell-build-system)
9593 (home-page "http://hackage.haskell.org/package/sop-core")
9594 (synopsis "True Sums of Products")
9595 (description "This package provides an implementation of
9596@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9597is the main module of this library and contains more detailed
9598documentation. The main use case of this package is to serve as the
9599core of @url{https://hackage.haskell.org/package/generics-sop,
9600generics-sop}.")
9601 (license license:bsd-3)))
9602
dddbc90c
RV
9603(define-public ghc-split
9604 (package
9605 (name "ghc-split")
9606 (version "0.2.3.3")
9607 (outputs '("out" "doc"))
9608 (source
9609 (origin
9610 (method url-fetch)
9611 (uri (string-append
9612 "https://hackage.haskell.org/package/split/split-"
9613 version
9614 ".tar.gz"))
9615 (sha256
9616 (base32
9617 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9618 (build-system haskell-build-system)
9bbc21a7
TS
9619 (arguments
9620 `(#:cabal-revision
9621 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
9622 (native-inputs
9623 `(("ghc-quickcheck" ,ghc-quickcheck)))
9624 (home-page "https://hackage.haskell.org/package/split")
9625 (synopsis "Combinator library for splitting lists")
9626 (description "This package provides a collection of Haskell functions for
9627splitting lists into parts, akin to the @code{split} function found in several
9628mainstream languages.")
9629 (license license:bsd-3)))
9630
7799d17f 9631(define-public ghc-splitmix
49367c92 9632 (package
7799d17f 9633 (name "ghc-splitmix")
49367c92
TS
9634 (version "0.0.3")
9635 (source
9636 (origin
9637 (method url-fetch)
9638 (uri (string-append "https://hackage.haskell.org/package/"
9639 "splitmix/splitmix-" version ".tar.gz"))
9640 (sha256
9641 (base32
9642 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 9643 (build-system haskell-build-system)
49367c92
TS
9644 (inputs
9645 `(("ghc-random" ,ghc-random)))
7799d17f
TS
9646 (native-inputs
9647 `(("ghc-hunit" ,ghc-hunit)
9648 ("ghc-async" ,ghc-async)
9649 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
9650 ("ghc-tf-random" ,ghc-tf-random)
9651 ("ghc-vector" ,ghc-vector)))
49367c92
TS
9652 (home-page "http://hackage.haskell.org/package/splitmix")
9653 (synopsis "Fast and splittable pseudorandom number generator")
9654 (description "This package provides a Pure Haskell implementation of the
9655SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
9656pseudorandom number generator that is quite fast: 9 64-bit
9657arithmetic/logical operations per 64 bits generated. SplitMix is tested
9658with two standard statistical test suites (DieHarder and TestU01, this
9659implementation only using the former) and it appears to be adequate for
9660\"everyday\" use, such as Monte Carlo algorithms and randomized data
9661structures where speed is important. In particular, it @strong{should not
9662be used for cryptographic or security applications}, because generated
9663sequences of pseudorandom values are too predictable (the mixing functions
9664are easily inverted, and two successive outputs suffice to reconstruct the
9665internal state).")
9666 (license license:bsd-3)))
9667
7799d17f
TS
9668(define-public ghc-splitmix-bootstrap
9669 (package
9670 (inherit ghc-splitmix)
9671 (name "ghc-splitmix-bootstrap")
9672 (arguments `(#:tests? #f))
9673 (native-inputs '())
9674 (properties '((hidden? #t)))))
9675
dddbc90c
RV
9676(define-public ghc-statevar
9677 (package
9678 (name "ghc-statevar")
19419709 9679 (version "1.2")
dddbc90c
RV
9680 (source
9681 (origin
9682 (method url-fetch)
9683 (uri (string-append
9684 "https://hackage.haskell.org/package/StateVar/StateVar-"
9685 version
9686 ".tar.gz"))
9687 (sha256
9688 (base32
19419709 9689 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9690 (build-system haskell-build-system)
9691 (home-page "https://hackage.haskell.org/package/StateVar")
9692 (synopsis "State variables for Haskell")
9693 (description "This package provides state variables, which are references
9694in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9695 (license license:bsd-3)))
9696
9697(define-public ghc-statistics
9698 (package
9699 (name "ghc-statistics")
60e78e68 9700 (version "0.15.1.1")
dddbc90c
RV
9701 (source
9702 (origin
9703 (method url-fetch)
9704 (uri (string-append "https://hackage.haskell.org/package/"
9705 "statistics-" version "/"
9706 "statistics-" version ".tar.gz"))
9707 (sha256
9708 (base32
60e78e68 9709 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
9710 (build-system haskell-build-system)
9711 (arguments
60e78e68 9712 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
9713 #:tests? #f))
9714 (inputs
9715 `(("ghc-aeson" ,ghc-aeson)
60e78e68 9716 ("ghc-async" ,ghc-async)
dddbc90c 9717 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 9718 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
9719 ("ghc-math-functions" ,ghc-math-functions)
9720 ("ghc-monad-par" ,ghc-monad-par)
9721 ("ghc-mwc-random" ,ghc-mwc-random)
9722 ("ghc-primitive" ,ghc-primitive)
9723 ("ghc-vector" ,ghc-vector)
9724 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9725 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9726 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9727 (native-inputs
9728 `(("ghc-hunit" ,ghc-hunit)
9729 ("ghc-quickcheck" ,ghc-quickcheck)
9730 ("ghc-ieee754" ,ghc-ieee754)
9731 ("ghc-test-framework" ,ghc-test-framework)
9732 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9733 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9734 (home-page "https://github.com/bos/mwc-random")
9735 (synopsis "Haskell library of statistical types, data, and functions")
9736 (description "This library provides a number of common functions
9737and types useful in statistics. We focus on high performance, numerical
9738robustness, and use of good algorithms. Where possible, we provide references
9739to the statistical literature.
9740
9741The library's facilities can be divided into four broad categories:
9742
9743@itemize
9744@item Working with widely used discrete and continuous probability
9745distributions. (There are dozens of exotic distributions in use; we focus
9746on the most common.)
9747
9748@item Computing with sample data: quantile estimation, kernel density
9749estimation, histograms, bootstrap methods, significance testing,
9750and regression and autocorrelation analysis.
9751
9752@item Random variate generation under several different distributions.
9753
9754@item Common statistical tests for significant differences between samples.
9755@end itemize")
9756 (license license:bsd-2)))
9757
9758(define-public ghc-stm-chans
9759 (package
9760 (name "ghc-stm-chans")
9761 (version "3.0.0.4")
9762 (source
9763 (origin
9764 (method url-fetch)
9765 (uri (string-append "https://hackage.haskell.org/package/"
9766 "stm-chans-" version "/"
9767 "stm-chans-" version ".tar.gz"))
9768 (sha256
9769 (base32
9770 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9771 (build-system haskell-build-system)
9772 (home-page "https://hackage.haskell.org/package/stm-chans")
9773 (synopsis "Additional types of channels for ghc-stm")
9774 (description "This Haskell package offers a collection of channel types,
9775similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9776features.")
9777 (license license:bsd-3)))
9778
9779(define-public ghc-stm-conduit
9780 (package
9781 (name "ghc-stm-conduit")
9782 (version "4.0.0")
9783 (source
9784 (origin
9785 (method url-fetch)
9786 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9787 "stm-conduit-" version ".tar.gz"))
9788 (sha256
9789 (base32
9790 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9791 (build-system haskell-build-system)
9792 (inputs
9793 `(("ghc-stm-chans" ,ghc-stm-chans)
9794 ("ghc-cereal" ,ghc-cereal)
9795 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9796 ("ghc-conduit" ,ghc-conduit)
9797 ("ghc-conduit-extra" ,ghc-conduit-extra)
9798 ("ghc-exceptions" ,ghc-exceptions)
9799 ("ghc-resourcet" ,ghc-resourcet)
9800 ("ghc-async" ,ghc-async)
9801 ("ghc-monad-loops" ,ghc-monad-loops)
9802 ("ghc-unliftio" ,ghc-unliftio)))
9803 (native-inputs
9804 `(("ghc-doctest" ,ghc-doctest)
9805 ("ghc-quickcheck" ,ghc-quickcheck)
9806 ("ghc-hunit" ,ghc-hunit)
9807 ("ghc-test-framework" ,ghc-test-framework)
9808 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9809 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9810 (home-page "https://github.com/cgaebel/stm-conduit")
9811 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9812 (description
9813 "This package provides two simple conduit wrappers around STM channels: a
9814source and a sink.")
9815 (license license:bsd-3)))
9816
9817(define-public ghc-stmonadtrans
9818 (package
9819 (name "ghc-stmonadtrans")
9820 (version "0.4.3")
9821 (source
9822 (origin
9823 (method url-fetch)
9824 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9825 "/STMonadTrans-" version ".tar.gz"))
9826 (sha256
9827 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9828 (build-system haskell-build-system)
9829 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9830 (synopsis "Monad transformer version of the ST monad")
9831 (description
9832 "This package provides a monad transformer version of the @code{ST} monad
9833for strict state threads.")
9834 (license license:bsd-3)))
9835
9836(define-public ghc-storable-complex
9837 (package
9838 (name "ghc-storable-complex")
4a35e3c3 9839 (version "0.2.3.0")
dddbc90c
RV
9840 (source
9841 (origin
9842 (method url-fetch)
9843 (uri (string-append
9844 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9845 version ".tar.gz"))
9846 (sha256
4a35e3c3 9847 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 9848 (build-system haskell-build-system)
4a35e3c3
TS
9849 (inputs
9850 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
9851 (home-page "https://github.com/cartazio/storable-complex")
9852 (synopsis "Haskell Storable instance for Complex")
9853 (description "This package provides a Haskell library including a
9854Storable instance for Complex which is binary compatible with C99, C++
9855and Fortran complex data types.")
9856 (license license:bsd-3)))
9857
ad80074a
JS
9858(define-public ghc-storable-record
9859 (package
9860 (name "ghc-storable-record")
9861 (version "0.0.4")
9862 (source
9863 (origin
9864 (method url-fetch)
9865 (uri
9866 (string-append
9867 "https://hackage.haskell.org/package/storable-record/"
9868 "storable-record-" version ".tar.gz"))
9869 (sha256
9870 (base32
9871 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9872 (build-system haskell-build-system)
9873 (inputs
9874 `(("ghc-semigroups" ,ghc-semigroups)
9875 ("ghc-utility-ht" ,ghc-utility-ht)
9876 ("ghc-storablevector" ,ghc-storablevector)
9877 ("ghc-timeit" ,ghc-timeit)))
9878 (home-page "https://hackage.haskell.org/package/storable-record")
9879 (synopsis "Elegant definition of Storable instances for records")
9880 (description "With this package you can build a Storable instance of
9881a record type from Storable instances of its elements in an elegant way.
9882It does not do any magic, just a bit arithmetic to compute the right
9883offsets, that would be otherwise done manually or by a preprocessor like
9884C2HS. There is no guarantee that the generated memory layout is
9885compatible with that of a corresponding C struct. However, the module
9886generates the smallest layout that is possible with respect to the
9887alignment of the record elements.")
9888 (license license:bsd-3)))
9889
55f4c653
JS
9890(define-public ghc-storable-tuple
9891 (package
9892 (name "ghc-storable-tuple")
9893 (version "0.0.3.3")
9894 (source
9895 (origin
9896 (method url-fetch)
9897 (uri
9898 (string-append
9899 "https://hackage.haskell.org/package/storable-tuple/"
9900 "storable-tuple-" version ".tar.gz"))
9901 (sha256
9902 (base32
9903 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9904 (build-system haskell-build-system)
9905 (inputs
9906 `(("ghc-storable-record" ,ghc-storable-record)
9907 ("ghc-utility-ht" ,ghc-utility-ht)
9908 ("ghc-base-orphans" ,ghc-base-orphans)))
9909 (home-page "https://hackage.haskell.org/package/storable-tuple")
9910 (synopsis "Storable instance for pairs and triples")
9911 (description "This package provides a Storable instance for pairs
9912and triples which should be binary compatible with C99 and C++. The
9913only purpose of this package is to provide a standard location for this
9914instance so that other packages needing this instance can play nicely
9915together.")
9916 (license license:bsd-3)))
9917
bc06ca45
JS
9918(define-public ghc-storablevector
9919 (package
9920 (name "ghc-storablevector")
9921 (version "0.2.13")
9922 (source
9923 (origin
9924 (method url-fetch)
9925 (uri
9926 (string-append
9927 "https://hackage.haskell.org/package/storablevector/storablevector-"
9928 version ".tar.gz"))
9929 (sha256
9930 (base32
9931 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9932 (build-system haskell-build-system)
9933 (inputs
9934 `(("ghc-non-negative" ,ghc-non-negative)
9935 ("ghc-utility-ht" ,ghc-utility-ht)
9936 ("ghc-semigroups" ,ghc-semigroups)
9937 ("ghc-unsafe" ,ghc-unsafe)
9938 ("ghc-quickcheck" ,ghc-quickcheck)
9939 ("ghc-syb" ,ghc-syb)))
9940 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9941 (synopsis "Fast, packed, strict storable arrays with a list interface")
9942 (description "This library provides fast, packed, strict storable
9943arrays with a list interface, a chunky lazy list interface with variable
9944chunk size and an interface for write access via the ST monad. This is
9945much like bytestring and binary but can be used for every
9946@code{Foreign.Storable.Storable} type. See also
9947@url{http://hackage.haskell.org/package/vector}, a library with a
9948similar intention.
9949
9950This library does not do advanced fusion optimization, since especially
9951for lazy vectors this would either be incorrect or not applicable. See
9952@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9953a library that provides fusion with lazy lists.")
9954 (license license:bsd-3)))
9955
dddbc90c
RV
9956(define-public ghc-streaming-commons
9957 (package
9958 (name "ghc-streaming-commons")
9959 (version "0.2.1.1")
9960 (source
9961 (origin
9962 (method url-fetch)
9963 (uri (string-append "https://hackage.haskell.org/package/"
9964 "streaming-commons/streaming-commons-"
9965 version ".tar.gz"))
9966 (sha256
9967 (base32
9968 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9969 (build-system haskell-build-system)
9970 (inputs
9971 `(("ghc-async" ,ghc-async)
9972 ("ghc-blaze-builder" ,ghc-blaze-builder)
9973 ("ghc-network" ,ghc-network)
9974 ("ghc-random" ,ghc-random)
9975 ("ghc-zlib" ,ghc-zlib)))
9976 (native-inputs
9977 `(("ghc-quickcheck" ,ghc-quickcheck)
9978 ("ghc-hspec" ,ghc-hspec)
9979 ("hspec-discover" ,hspec-discover)))
9980 (home-page "https://hackage.haskell.org/package/streaming-commons")
9981 (synopsis "Conduit and pipes needed by some streaming data libraries")
9982 (description "This package provides low-dependency functionality commonly
9983needed by various Haskell streaming data libraries, such as @code{conduit} and
9984@code{pipe}s.")
9985 (license license:expat)))
9986
9987(define-public ghc-strict
9988 (package
9989 (name "ghc-strict")
9990 (version "0.3.2")
9991 (source
9992 (origin
9993 (method url-fetch)
9994 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9995 version ".tar.gz"))
9996 (sha256
9997 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9998 (build-system haskell-build-system)
9999 (home-page "https://hackage.haskell.org/package/strict")
10000 (synopsis "Strict data types and String IO")
10001 (description
10002 "This package provides strict versions of some standard Haskell data
10003types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
10004IO operations.")
10005 (license license:bsd-3)))
10006
10007(define-public ghc-stringbuilder
10008 (package
10009 (name "ghc-stringbuilder")
10010 (version "0.5.1")
10011 (source
10012 (origin
10013 (method url-fetch)
10014 (uri (string-append
10015 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
10016 version
10017 ".tar.gz"))
10018 (sha256
10019 (base32
10020 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
10021 (build-system haskell-build-system)
10022 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
10023 ; enabled
10024 (home-page "https://hackage.haskell.org/package/stringbuilder")
10025 (synopsis "Writer monad for multi-line string literals")
10026 (description "This package provides a writer monad for multi-line string
10027literals.")
10028 (license license:expat)))
10029
10030(define-public ghc-string-qq
10031 (package
10032 (name "ghc-string-qq")
4d6fddc3 10033 (version "0.0.4")
dddbc90c
RV
10034 (source
10035 (origin
10036 (method url-fetch)
10037 (uri (string-append
10038 "https://hackage.haskell.org/package/string-qq/string-qq-"
10039 version
10040 ".tar.gz"))
10041 (sha256
10042 (base32
4d6fddc3 10043 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 10044 (build-system haskell-build-system)
4d6fddc3
TS
10045 (native-inputs
10046 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
10047 (home-page "http://hackage.haskell.org/package/string-qq")
10048 (synopsis
10049 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
10050 (description
10051 "This package provides a quasiquoter for non-interpolated strings, texts
10052and bytestrings.")
10053 (license license:public-domain)))
10054
10055(define-public ghc-stringsearch
10056 (package
10057 (name "ghc-stringsearch")
10058 (version "0.3.6.6")
10059 (source
10060 (origin
10061 (method url-fetch)
10062 (uri (string-append
10063 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
10064 version
10065 ".tar.gz"))
10066 (sha256
10067 (base32
10068 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
10069 (build-system haskell-build-system)
e2303abb
TS
10070 (arguments
10071 `(#:cabal-revision
10072 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
10073 (home-page "https://bitbucket.org/dafis/stringsearch")
10074 (synopsis "Fast searching, splitting and replacing of ByteStrings")
10075 (description "This package provides several functions to quickly search
10076for substrings in strict or lazy @code{ByteStrings}. It also provides
10077functions for breaking or splitting on substrings and replacing all
10078occurrences of a substring (the first in case of overlaps) with another.")
10079 (license license:bsd-3)))
10080
10081(define-public ghc-stylish-haskell
10082 (package
10083 (name "ghc-stylish-haskell")
10084 (version "0.9.2.1")
10085 (source
10086 (origin
10087 (method url-fetch)
10088 (uri (string-append
10089 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
10090 version
10091 ".tar.gz"))
10092 (sha256
10093 (base32
10094 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
10095 (build-system haskell-build-system)
10096 (inputs
10097 `(("ghc-aeson" ,ghc-aeson)
10098 ("ghc-file-embed" ,ghc-file-embed)
10099 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
10100 ("ghc-semigroups" ,ghc-semigroups)
10101 ("ghc-syb" ,ghc-syb)
10102 ("ghc-yaml" ,ghc-yaml)
10103 ("ghc-strict" ,ghc-strict)
10104 ("ghc-optparse-applicative"
10105 ,ghc-optparse-applicative)))
10106 (native-inputs
10107 `(("ghc-hunit" ,ghc-hunit)
10108 ("ghc-test-framework" ,ghc-test-framework)
10109 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10110 (home-page "https://github.com/jaspervdj/stylish-haskell")
10111 (synopsis "Haskell code prettifier")
10112 (description "Stylish-haskell is a Haskell code prettifier. The goal is
10113not to format all of the code in a file, to avoid \"getting in the way\".
10114However, this tool can e.g. clean up import statements and help doing various
10115tasks that get tedious very quickly. It can
10116@itemize
10117@item
10118Align and sort @code{import} statements
10119@item
10120Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
10121pragmas
10122@item
10123Remove trailing whitespaces
10124@item
10125Align branches in @code{case} and fields in records
10126@item
10127Convert line endings (customisable)
10128@item
10129Replace tabs by four spaces (turned off by default)
10130@item
10131Replace some ASCII sequences by their Unicode equivalent (turned off by
10132default)
10133@end itemize")
10134 (license license:bsd-3)))
10135
10136(define-public ghc-syb
10137 (package
10138 (name "ghc-syb")
07d65eef 10139 (version "0.7.1")
dddbc90c
RV
10140 (outputs '("out" "doc"))
10141 (source
10142 (origin
10143 (method url-fetch)
10144 (uri (string-append
10145 "https://hackage.haskell.org/package/syb/syb-"
10146 version
10147 ".tar.gz"))
10148 (sha256
10149 (base32
07d65eef 10150 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
10151 (build-system haskell-build-system)
10152 (inputs
10153 `(("ghc-hunit" ,ghc-hunit)))
10154 (home-page
10155 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
10156 (synopsis "Scrap Your Boilerplate")
10157 (description "This package contains the generics system described in the
10158/Scrap Your Boilerplate/ papers (see
10159@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
10160defines the @code{Data} class of types permitting folding and unfolding of
10161constructor applications, instances of this class for primitive types, and a
10162variety of traversals.")
10163 (license license:bsd-3)))
10164
10165(define-public ghc-system-fileio
10166 (package
10167 (name "ghc-system-fileio")
dcfb99d4 10168 (version "0.3.16.4")
dddbc90c
RV
10169 (source
10170 (origin
10171 (method url-fetch)
10172 (uri (string-append
10173 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10174 version ".tar.gz"))
10175 (sha256
10176 (base32
dcfb99d4 10177 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 10178 (build-system haskell-build-system)
dcfb99d4
TS
10179 (arguments
10180 `(#:phases
10181 (modify-phases %standard-phases
10182 (add-before 'configure 'update-constraints
10183 (lambda _
10184 (substitute* "system-fileio.cabal"
10185 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
10186 #t)))))
dddbc90c
RV
10187 (inputs
10188 `(("ghc-system-filepath" ,ghc-system-filepath)
10189 ("ghc-chell" ,ghc-chell)
10190 ("ghc-temporary" ,ghc-temporary)))
10191 (home-page "https://github.com/fpco/haskell-filesystem")
10192 (synopsis "Consistent file system interaction across GHC versions")
10193 (description
10194 "This is a small wrapper around the directory, unix, and Win32 packages,
10195for use with system-filepath. It provides a consistent API to the various
10196versions of these packages distributed with different versions of GHC.
10197In particular, this library supports working with POSIX files that have paths
10198which can't be decoded in the current locale encoding.")
10199 (license license:expat)))
10200
10201;; See ghc-system-filepath-bootstrap. In addition this package depends on
10202;; ghc-system-filepath.
10203(define ghc-system-fileio-bootstrap
10204 (package
10205 (name "ghc-system-fileio-bootstrap")
10206 (version "0.3.16.3")
10207 (source
10208 (origin
10209 (method url-fetch)
10210 (uri (string-append
10211 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10212 version ".tar.gz"))
10213 (sha256
10214 (base32
10215 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10216 (build-system haskell-build-system)
10217 (arguments
10218 `(#:tests? #f))
10219 (inputs
10220 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10221 ("ghc-temporary" ,ghc-temporary)))
10222 (home-page "https://github.com/fpco/haskell-filesystem")
10223 (synopsis "Consistent file system interaction across GHC versions")
10224 (description
10225 "This is a small wrapper around the directory, unix, and Win32 packages,
10226for use with system-filepath. It provides a consistent API to the various
10227versions of these packages distributed with different versions of GHC.
10228In particular, this library supports working with POSIX files that have paths
10229which can't be decoded in the current locale encoding.")
10230 (license license:expat)))
10231
10232
10233(define-public ghc-system-filepath
10234 (package
10235 (name "ghc-system-filepath")
10236 (version "0.4.14")
10237 (source
10238 (origin
10239 (method url-fetch)
10240 (uri (string-append
10241 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10242 version ".tar.gz"))
10243 (sha256
10244 (base32
10245 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10246 (build-system haskell-build-system)
10247 ;; FIXME: One of the tests fails:
10248 ;; [ FAIL ] tests.validity.posix
10249 ;; note: seed=7310214548328823169
10250 ;; *** Failed! Falsifiable (after 24 tests):
10251 ;; 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"
10252 (arguments `(#:tests? #f))
10253 (inputs
10254 `(("ghc-chell" ,ghc-chell)
10255 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10256 ("ghc-quickcheck" ,ghc-quickcheck)))
10257 (home-page "https://github.com/fpco/haskell-filesystem")
10258 (synopsis "High-level, byte-based file and directory path manipulations")
10259 (description
10260 "Provides a FilePath datatype and utility functions for operating on it.
10261Unlike the filepath package, this package does not simply reuse String,
10262increasing type safety.")
10263 (license license:expat)))
10264
10265;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10266;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10267;; which depends on ghc-chell and ghc-chell-quickcheck.
10268;; Therefore we bootstrap it with tests disabled.
10269(define ghc-system-filepath-bootstrap
10270 (package
10271 (name "ghc-system-filepath-bootstrap")
10272 (version "0.4.14")
10273 (source
10274 (origin
10275 (method url-fetch)
10276 (uri (string-append
10277 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10278 version ".tar.gz"))
10279 (sha256
10280 (base32
10281 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10282 (build-system haskell-build-system)
10283 (arguments
10284 `(#:tests? #f))
10285 (inputs
10286 `(("ghc-quickcheck" ,ghc-quickcheck)))
10287 (home-page "https://github.com/fpco/haskell-filesystem")
10288 (synopsis "High-level, byte-based file and directory path manipulations")
10289 (description
10290 "Provides a FilePath datatype and utility functions for operating on it.
10291Unlike the filepath package, this package does not simply reuse String,
10292increasing type safety.")
10293 (license license:expat)))
10294
10295
10296(define-public ghc-tagged
10297 (package
10298 (name "ghc-tagged")
f0f3756a 10299 (version "0.8.6")
dddbc90c
RV
10300 (source
10301 (origin
10302 (method url-fetch)
10303 (uri (string-append
10304 "https://hackage.haskell.org/package/tagged/tagged-"
10305 version
10306 ".tar.gz"))
10307 (sha256
10308 (base32
f0f3756a 10309 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10310 (build-system haskell-build-system)
10311 (arguments
10312 `(#:cabal-revision
f0f3756a 10313 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10314 (inputs
10315 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10316 (home-page "https://hackage.haskell.org/package/tagged")
10317 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10318 (description "This library provides phantom types for Haskell 98, to avoid
10319having to unsafely pass dummy arguments.")
10320 (license license:bsd-3)))
10321
10322(define-public ghc-tar
10323 (package
10324 (name "ghc-tar")
ec83929f 10325 (version "0.5.1.1")
dddbc90c
RV
10326 (source
10327 (origin
10328 (method url-fetch)
10329 (uri (string-append
10330 "https://hackage.haskell.org/package/tar/tar-"
10331 version ".tar.gz"))
10332 (sha256
10333 (base32
ec83929f 10334 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10335 (build-system haskell-build-system)
10336 ;; FIXME: 2/24 tests fail.
10337 (arguments `(#:tests? #f))
10338 (inputs
10339 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10340 ("ghc-quickcheck" ,ghc-quickcheck)
10341 ("ghc-tasty" ,ghc-tasty)
10342 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10343 (home-page "https://hackage.haskell.org/package/tar")
10344 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10345 (description
10346 "This library is for working with \\\"@.tar@\\\" archive files.
10347It can read and write a range of common variations of the tar archive format
10348including V7, POSIX USTAR and GNU formats. It provides support for packing and
10349unpacking portable archives. This makes it suitable for distribution but not
10350backup because details like file ownership and exact permissions are not
10351preserved. It also provides features for random access to archive content using
10352an index.")
10353 (license license:bsd-3)))
10354
10355(define-public ghc-temporary
10356 (package
10357 (name "ghc-temporary")
10358 (version "1.3")
10359 (source
10360 (origin
10361 (method url-fetch)
10362 (uri (string-append
10363 "https://hackage.haskell.org/package/temporary/temporary-"
10364 version
10365 ".tar.gz"))
10366 (sha256
10367 (base32
10368 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10369 (build-system haskell-build-system)
10370 (inputs
10371 `(("ghc-exceptions" ,ghc-exceptions)
10372 ("ghc-random" ,ghc-random)))
10373 (native-inputs
10374 `(("ghc-base-compat" ,ghc-base-compat)
10375 ("ghc-tasty" ,ghc-tasty)
10376 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10377 (home-page "https://www.github.com/batterseapower/temporary")
10378 (synopsis "Temporary file and directory support")
10379 (description "The functions for creating temporary files and directories
10380in the Haskelll base library are quite limited. This library just repackages
10381the Cabal implementations of its own temporary file and folder functions so
10382that you can use them without linking against Cabal or depending on it being
10383installed.")
10384 (license license:bsd-3)))
10385
10386(define-public ghc-temporary-rc
10387 (package
10388 (name "ghc-temporary-rc")
10389 (version "1.2.0.3")
10390 (source
10391 (origin
10392 (method url-fetch)
10393 (uri (string-append
10394 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10395 version
10396 ".tar.gz"))
10397 (sha256
10398 (base32
10399 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10400 (build-system haskell-build-system)
10401 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10402 (home-page
10403 "https://www.github.com/feuerbach/temporary")
10404 (synopsis
10405 "Portable temporary file and directory support")
10406 (description
10407 "The functions for creating temporary files and directories in the base
10408library are quite limited. The unixutils package contains some good ones, but
10409they aren't portable to Windows. This library just repackages the Cabal
10410implementations of its own temporary file and folder functions so that you can
10411use them without linking against Cabal or depending on it being installed.
10412This is a better maintained fork of the \"temporary\" package.")
10413 (license license:bsd-3)))
10414
10415(define-public ghc-terminal-size
10416 (package
10417 (name "ghc-terminal-size")
10418 (version "0.3.2.1")
10419 (source (origin
10420 (method url-fetch)
10421 (uri (string-append
10422 "https://hackage.haskell.org/package/terminal-size/"
10423 "terminal-size-" version ".tar.gz"))
10424 (sha256
10425 (base32
10426 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10427 (build-system haskell-build-system)
10428 (home-page "https://hackage.haskell.org/package/terminal-size")
10429 (synopsis "Get terminal window height and width")
10430 (description "Get terminal window height and width without ncurses
10431dependency.")
10432 (license license:bsd-3)))
10433
10434(define-public ghc-texmath
10435 (package
10436 (name "ghc-texmath")
7fec7e66 10437 (version "0.11.3")
dddbc90c
RV
10438 (source (origin
10439 (method url-fetch)
10440 (uri (string-append "https://hackage.haskell.org/package/"
10441 "texmath/texmath-" version ".tar.gz"))
10442 (sha256
10443 (base32
7fec7e66 10444 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
10445 (build-system haskell-build-system)
10446 (inputs
10447 `(("ghc-syb" ,ghc-syb)
10448 ("ghc-network-uri" ,ghc-network-uri)
10449 ("ghc-split" ,ghc-split)
10450 ("ghc-temporary" ,ghc-temporary)
10451 ("ghc-utf8-string" ,ghc-utf8-string)
10452 ("ghc-xml" ,ghc-xml)
10453 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10454 (home-page "https://github.com/jgm/texmath")
10455 (synopsis "Conversion between formats used to represent mathematics")
10456 (description
10457 "The texmath library provides functions to read and write TeX math,
10458presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10459Office). Support is also included for converting math formats to pandoc's
10460native format (allowing conversion, via pandoc, to a variety of different
10461markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10462it can parse and apply LaTeX macros.")
10463 (license license:gpl2+)))
10464
10465(define-public ghc-text-binary
10466 (package
10467 (name "ghc-text-binary")
10468 (version "0.2.1.1")
10469 (source
10470 (origin
10471 (method url-fetch)
10472 (uri (string-append "https://hackage.haskell.org/package/"
10473 "text-binary/text-binary-"
10474 version ".tar.gz"))
10475 (sha256
10476 (base32
10477 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10478 (build-system haskell-build-system)
10479 (home-page "https://github.com/kawu/text-binary")
10480 (synopsis "Binary instances for text types")
10481 (description
10482 "This package provides a compatibility layer providing @code{Binary}
10483instances for strict and lazy text types for versions older than 1.2.1 of the
10484text package.")
10485 (license license:bsd-2)))
10486
bdc877c4
TS
10487(define-public ghc-text-metrics
10488 (package
10489 (name "ghc-text-metrics")
10490 (version "0.3.0")
10491 (source
10492 (origin
10493 (method url-fetch)
10494 (uri (string-append "https://hackage.haskell.org/package/"
10495 "text-metrics/text-metrics-" version ".tar.gz"))
10496 (sha256
10497 (base32
10498 "18mzxwkdvjp31r720ai9bnxr638qq8x3a2v408bz0d8f0rsayx1q"))))
10499 (build-system haskell-build-system)
10500 (inputs
10501 `(("ghc-vector" ,ghc-vector)))
10502 (native-inputs
10503 `(("ghc-quickcheck" ,ghc-quickcheck)
10504 ("ghc-hspec" ,ghc-hspec)))
10505 (arguments
10506 `(#:cabal-revision
10507 ("4" "017drxq9x56b345d8w5m8xdsi1zzs0z16pbdx8j35cd1lsnh3kf1")))
10508 (home-page "https://github.com/mrkkrp/text-metrics")
10509 (synopsis "Calculate various string metrics efficiently")
10510 (description "This library provides tools to calculate various
10511string metrics efficiently.")
10512 (license license:bsd-3)))
10513
dddbc90c
RV
10514(define-public ghc-tf-random
10515 (package
10516 (name "ghc-tf-random")
10517 (version "0.5")
10518 (outputs '("out" "doc"))
10519 (source
10520 (origin
10521 (method url-fetch)
10522 (uri (string-append
10523 "https://hackage.haskell.org/package/tf-random/tf-random-"
10524 version
10525 ".tar.gz"))
10526 (sha256
10527 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10528 (build-system haskell-build-system)
10529 (inputs
10530 `(("ghc-primitive" ,ghc-primitive)
10531 ("ghc-random" ,ghc-random)))
10532 (home-page "https://hackage.haskell.org/package/tf-random")
10533 (synopsis "High-quality splittable pseudorandom number generator")
10534 (description "This package contains an implementation of a high-quality
10535splittable pseudorandom number generator. The generator is based on a
10536cryptographic hash function built on top of the ThreeFish block cipher. See
10537the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10538Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10539 (license license:bsd-3)))
10540
10541(define-public ghc-th-abstraction
10542 (package
10543 (name "ghc-th-abstraction")
1188eabb 10544 (version "0.3.1.0")
dddbc90c
RV
10545 (source
10546 (origin
10547 (method url-fetch)
10548 (uri (string-append "https://hackage.haskell.org/package/"
10549 "th-abstraction/th-abstraction-"
10550 version ".tar.gz"))
10551 (sha256
10552 (base32
1188eabb 10553 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10554 (build-system haskell-build-system)
10555 (home-page "https://github.com/glguy/th-abstraction")
10556 (synopsis "Nicer interface for reified information about data types")
10557 (description
10558 "This package normalizes variations in the interface for inspecting
10559datatype information via Template Haskell so that packages and support a
10560single, easier to use informational datatype while supporting many versions of
10561Template Haskell.")
10562 (license license:isc)))
10563
10564(define-public ghc-th-expand-syns
10565 (package
10566 (name "ghc-th-expand-syns")
8c766600 10567 (version "0.4.5.0")
dddbc90c
RV
10568 (source (origin
10569 (method url-fetch)
10570 (uri (string-append "https://hackage.haskell.org/package/"
10571 "th-expand-syns/th-expand-syns-"
10572 version ".tar.gz"))
10573 (sha256
10574 (base32
8c766600 10575 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
10576 (build-system haskell-build-system)
10577 (inputs
10578 `(("ghc-syb" ,ghc-syb)))
10579 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10580 (synopsis "Expands type synonyms in Template Haskell ASTs")
10581 (description
10582 "This package enables users to expand type synonyms in Template Haskell
10583@dfn{abstract syntax trees} (ASTs).")
10584 (license license:bsd-3)))
10585
10586(define-public ghc-th-lift
10587 (package
10588 (name "ghc-th-lift")
bd76b20a 10589 (version "0.8.0.1")
dddbc90c
RV
10590 (source (origin
10591 (method url-fetch)
10592 (uri (string-append "https://hackage.haskell.org/package/"
10593 "th-lift/th-lift-" version ".tar.gz"))
10594 (sha256
10595 (base32
bd76b20a 10596 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10597 (build-system haskell-build-system)
10598 (inputs
10599 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10600 (home-page "https://github.com/mboes/th-lift")
10601 (synopsis "Derive Template Haskell's Lift class for datatypes")
10602 (description
10603 "This is a Haskell library to derive Template Haskell's Lift class for
10604datatypes.")
10605 (license license:bsd-3)))
10606
10607(define-public ghc-th-lift-instances
10608 (package
10609 (name "ghc-th-lift-instances")
d3db399e 10610 (version "0.1.14")
dddbc90c
RV
10611 (source
10612 (origin
10613 (method url-fetch)
10614 (uri (string-append "https://hackage.haskell.org/package/"
10615 "th-lift-instances/th-lift-instances-"
10616 version ".tar.gz"))
10617 (sha256
10618 (base32
d3db399e 10619 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
10620 (build-system haskell-build-system)
10621 (inputs
10622 `(("ghc-th-lift" ,ghc-th-lift)
10623 ("ghc-vector" ,ghc-vector)
10624 ("ghc-quickcheck" ,ghc-quickcheck)))
10625 (home-page "https://github.com/bennofs/th-lift-instances/")
10626 (synopsis "Lift instances for template-haskell for common data types.")
10627 (description "Most data types in the Haskell platform do not have Lift
10628instances. This package provides orphan instances for @code{containers},
10629@code{text}, @code{bytestring} and @code{vector}.")
10630 (license license:bsd-3)))
10631
10632(define-public ghc-th-orphans
10633 (package
10634 (name "ghc-th-orphans")
882b23e2 10635 (version "0.13.9")
dddbc90c
RV
10636 (source (origin
10637 (method url-fetch)
10638 (uri (string-append "https://hackage.haskell.org/package/"
10639 "th-orphans/th-orphans-" version ".tar.gz"))
10640 (sha256
10641 (base32
882b23e2 10642 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
10643 (build-system haskell-build-system)
10644 (inputs
10645 `(("ghc-th-lift" ,ghc-th-lift)
10646 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10647 ("ghc-th-reify-many" ,ghc-th-reify-many)
10648 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10649 (native-inputs
10650 `(("ghc-hspec" ,ghc-hspec)))
10651 (home-page "https://hackage.haskell.org/package/th-orphans")
10652 (synopsis "Orphan instances for TH datatypes")
10653 (description
10654 "This package provides orphan instances for Template Haskell datatypes. In particular,
10655instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10656and @code{Eq} instances. These instances used to live in the haskell-src-meta
10657package, and that's where the version number started.")
10658 (license license:bsd-3)))
10659
10660(define-public ghc-threads
10661 (package
10662 (name "ghc-threads")
10663 (version "0.5.1.6")
10664 (source
10665 (origin
10666 (method url-fetch)
10667 (uri (string-append "https://hackage.haskell.org/package/"
10668 "threads/threads-" version ".tar.gz"))
10669 (sha256
10670 (base32
10671 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10672 (build-system haskell-build-system)
10673 (native-inputs
10674 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10675 ("ghc-hunit" ,ghc-hunit)
10676 ("ghc-test-framework" ,ghc-test-framework)
10677 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10678 (home-page "https://github.com/basvandijk/threads")
10679 (synopsis "Fork threads and wait for their result")
10680 (description "This package provides functions to fork threads and
10681wait for their result, whether it's an exception or a normal value.
10682Besides waiting for the termination of a single thread this package also
10683provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10684package is similar to the @code{threadmanager}, @code{async} and
10685@code{spawn} packages. The advantages of this package are:
10686
dddbc90c
RV
10687@itemize
10688@item Simpler API.
10689@item More efficient in both space and time.
10690@item No space-leak when forking a large number of threads.
10691@item Correct handling of asynchronous exceptions.
10692@item GHC specific functionality like @code{forkOn} and
10693@code{forkIOWithUnmask}.
10694@end itemize")
10695 (license license:bsd-3)))
10696
10697(define-public ghc-th-reify-many
10698 (package
10699 (name "ghc-th-reify-many")
32d4a6ae 10700 (version "0.1.9")
dddbc90c
RV
10701 (source (origin
10702 (method url-fetch)
10703 (uri (string-append "https://hackage.haskell.org/package/"
10704 "th-reify-many/th-reify-many-"
10705 version ".tar.gz"))
10706 (sha256
10707 (base32
32d4a6ae 10708 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
10709 (build-system haskell-build-system)
10710 (inputs
10711 `(("ghc-safe" ,ghc-safe)
10712 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10713 (home-page "https://github.com/mgsloan/th-reify-many")
10714 (synopsis "Recurseively reify template haskell datatype info")
10715 (description
10716 "th-reify-many provides functions for recursively reifying top level
10717declarations. The main intended use case is for enumerating the names of
10718datatypes reachable from an initial datatype, and passing these names to some
10719function which generates instances.")
10720 (license license:bsd-3)))
10721
75cfc9a2
TS
10722(define-public ghc-time-compat
10723 (package
10724 (name "ghc-time-compat")
10725 (version "1.9.2.2")
10726 (source
10727 (origin
10728 (method url-fetch)
10729 (uri (string-append "https://hackage.haskell.org/package/"
10730 "time-compat/time-compat-" version ".tar.gz"))
10731 (sha256
10732 (base32
10733 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
10734 (build-system haskell-build-system)
10735 (inputs
10736 `(("ghc-base-orphans" ,ghc-base-orphans)))
10737 (native-inputs
10738 `(("ghc-hunit" ,ghc-hunit)
10739 ("ghc-base-compat" ,ghc-base-compat)
10740 ("ghc-quickcheck" ,ghc-quickcheck)
10741 ("ghc-tagged" ,ghc-tagged)
10742 ("ghc-tasty" ,ghc-tasty)
10743 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10744 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10745 (arguments
10746 `(#:cabal-revision
10747 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
10748 (home-page "https://github.com/phadej/time-compat")
10749 (synopsis "Compatibility package for time")
10750 (description "This packages tries to compat as many @code{time}
10751features as possible.")
10752 (license license:bsd-3)))
10753
dddbc90c
RV
10754(define-public ghc-time-locale-compat
10755 (package
10756 (name "ghc-time-locale-compat")
10757 (version "0.1.1.5")
10758 (source
10759 (origin
10760 (method url-fetch)
10761 (uri (string-append "https://hackage.haskell.org/package/"
10762 "time-locale-compat/time-locale-compat-"
10763 version ".tar.gz"))
10764 (sha256
10765 (base32
10766 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10767 (build-system haskell-build-system)
10768 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10769 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10770 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10771 (description "This package contains a wrapped name module for
10772@code{TimeLocale}.")
10773 (license license:bsd-3)))
10774
7bbfa392
JS
10775(define-public ghc-timeit
10776 (package
10777 (name "ghc-timeit")
10778 (version "2.0")
10779 (source
10780 (origin
10781 (method url-fetch)
10782 (uri
10783 (string-append
10784 "https://hackage.haskell.org/package/timeit/timeit-"
10785 version ".tar.gz"))
10786 (sha256
10787 (base32
10788 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10789 (build-system haskell-build-system)
10790 (home-page "https://github.com/merijn/timeit")
10791 (synopsis "Time monadic computations with an IO base")
10792 (description "This package provides a simple wrapper to show the
10793used CPU time of monadic computation with an IO base.")
10794 (license license:bsd-3)))
10795
dddbc90c
RV
10796(define-public ghc-tldr
10797 (package
10798 (name "ghc-tldr")
871ceb31 10799 (version "0.4.0.2")
dddbc90c
RV
10800 (source
10801 (origin
10802 (method url-fetch)
10803 (uri (string-append
10804 "https://hackage.haskell.org/package/tldr/tldr-"
10805 version
10806 ".tar.gz"))
10807 (sha256
10808 (base32
871ceb31 10809 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
10810 (build-system haskell-build-system)
10811 (inputs
10812 `(("ghc-cmark" ,ghc-cmark)
10813 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10814 ("ghc-typed-process" ,ghc-typed-process)
10815 ("ghc-semigroups" ,ghc-semigroups)))
10816 (native-inputs
10817 `(("ghc-tasty" ,ghc-tasty)
10818 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10819 (home-page "https://github.com/psibi/tldr-hs#readme")
10820 (synopsis "Haskell tldr client")
10821 (description "This package provides the @command{tldr} command and a
10822Haskell client library allowing users to update and view @code{tldr} pages
10823from a shell. The @code{tldr} pages are a community effort to simplify the
10824man pages with practical examples.")
10825 (license license:bsd-3)))
10826
10827(define-public ghc-transformers-base
10828 (package
10829 (name "ghc-transformers-base")
10830 (version "0.4.5.2")
10831 (source
10832 (origin
10833 (method url-fetch)
10834 (uri (string-append
10835 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10836 version
10837 ".tar.gz"))
10838 (sha256
10839 (base32
10840 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10841 (build-system haskell-build-system)
10842 (inputs
10843 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10844 (home-page
10845 "https://hackage.haskell.org/package/transformers-compat")
10846 (synopsis
10847 "Backported transformer library")
10848 (description
10849 "Backported versions of types that were added to transformers in
10850transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10851compatibility to run on old versions of the platform.")
10852 (license license:bsd-3)))
10853
10854(define-public ghc-transformers-compat
10855 (package
10856 (name "ghc-transformers-compat")
1c9c4d58 10857 (version "0.6.5")
dddbc90c
RV
10858 (source
10859 (origin
10860 (method url-fetch)
10861 (uri (string-append
10862 "https://hackage.haskell.org/package/transformers-compat"
10863 "/transformers-compat-" version ".tar.gz"))
10864 (sha256
10865 (base32
1c9c4d58 10866 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
10867 (build-system haskell-build-system)
10868 (home-page "https://github.com/ekmett/transformers-compat/")
10869 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10870 (description "This package includes backported versions of types that were
10871added to transformers in transformers 0.3 and 0.4 for users who need strict
10872transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10873but also need those types.")
10874 (license license:bsd-3)))
10875
10876(define-public ghc-tree-diff
10877 (package
10878 (name "ghc-tree-diff")
10879 (version "0.0.1")
10880 (source
10881 (origin
10882 (method url-fetch)
10883 (uri (string-append
10884 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10885 version
10886 ".tar.gz"))
10887 (sha256
10888 (base32
10889 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10890 (build-system haskell-build-system)
10891 (arguments
10892 `(#:cabal-revision
10893 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10894 #:phases
10895 (modify-phases %standard-phases
10896 (add-before 'configure 'update-constraints
10897 (lambda _
10898 (substitute* "tree-diff.cabal"
10899 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10900 "trifecta >=1.7.1.1 && <=2")))))))
10901 (inputs
10902 `(("ghc-aeson" ,ghc-aeson)
10903 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10904 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10905 ("ghc-base-compat" ,ghc-base-compat)
10906 ("ghc-generics-sop" ,ghc-generics-sop)
10907 ("ghc-hashable" ,ghc-hashable)
10908 ("ghc-memotrie" ,ghc-memotrie)
10909 ("ghc-parsers" ,ghc-parsers)
10910 ("ghc-quickcheck" ,ghc-quickcheck)
10911 ("ghc-scientific" ,ghc-scientific)
10912 ("ghc-tagged" ,ghc-tagged)
10913 ("ghc-unordered-containers" ,ghc-unordered-containers)
10914 ("ghc-uuid-types" ,ghc-uuid-types)
10915 ("ghc-vector" ,ghc-vector)))
10916 (native-inputs
10917 `(("ghc-base-compat" ,ghc-base-compat)
10918 ("ghc-quickcheck" ,ghc-quickcheck)
10919 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10920 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10921 ("ghc-trifecta" ,ghc-trifecta)
10922 ("ghc-tasty" ,ghc-tasty)
10923 ("ghc-tasty-golden" ,ghc-tasty-golden)
10924 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10925 (home-page "https://github.com/phadej/tree-diff")
10926 (synopsis "Compute difference between (expression) trees")
10927 (description "This Haskell library provides a function for computing
10928the difference between (expression) trees. It also provides a way to
10929compute the difference between arbitrary abstract datatypes (ADTs) using
10930@code{Generics}-derivable helpers.")
10931 (license license:bsd-3)))
10932
10933(define-public ghc-trifecta
10934 (package
10935 (name "ghc-trifecta")
10936 (version "2")
10937 (source (origin
10938 (method url-fetch)
10939 (uri (string-append
10940 "https://hackage.haskell.org/package/trifecta/"
10941 "trifecta-" version ".tar.gz"))
10942 (sha256
10943 (base32
10944 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10945 (build-system haskell-build-system)
10946 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10947 (inputs
10948 `(("ghc-reducers" ,ghc-reducers)
10949 ("ghc-semigroups" ,ghc-semigroups)
10950 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10951 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10952 ("ghc-blaze-builder" ,ghc-blaze-builder)
10953 ("ghc-blaze-html" ,ghc-blaze-html)
10954 ("ghc-blaze-markup" ,ghc-blaze-markup)
10955 ("ghc-charset" ,ghc-charset)
10956 ("ghc-comonad" ,ghc-comonad)
10957 ("ghc-fingertree" ,ghc-fingertree)
10958 ("ghc-hashable" ,ghc-hashable)
10959 ("ghc-lens" ,ghc-lens)
10960 ("ghc-parsers" ,ghc-parsers)
10961 ("ghc-profunctors" ,ghc-profunctors)
10962 ("ghc-unordered-containers" ,ghc-unordered-containers)
10963 ("ghc-utf8-string" ,ghc-utf8-string)))
10964 (native-inputs
10965 `(("cabal-doctest" ,cabal-doctest)
10966 ("ghc-doctest" ,ghc-doctest)
10967 ("ghc-quickcheck" ,ghc-quickcheck)))
10968 (home-page "https://github.com/ekmett/trifecta/")
10969 (synopsis "Parser combinator library with convenient diagnostics")
10970 (description "Trifecta is a modern parser combinator library for Haskell,
10971with slicing and Clang-style colored diagnostics.")
10972 (license license:bsd-3)))
10973
10974(define-public ghc-tuple-th
10975 (package
10976 (name "ghc-tuple-th")
10977 (version "0.2.5")
10978 (source
10979 (origin
10980 (method url-fetch)
10981 (uri (string-append "https://hackage.haskell.org/package/"
10982 "tuple-th-" version "/"
10983 "tuple-th-" version ".tar.gz"))
10984 (sha256
10985 (base32
10986 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10987 (build-system haskell-build-system)
10988 (home-page "https://github.com/DanielSchuessler/tuple-th")
10989 (synopsis "Generate utility functions for tuples of statically known size
10990for Haskell")
10991 (description "This Haskell package contains Template Haskell functions for
10992generating functions similar to those in @code{Data.List} for tuples of
10993statically known size.")
10994 (license license:bsd-3)))
10995
10996(define-public ghc-typed-process
10997 (package
10998 (name "ghc-typed-process")
72fb84a5 10999 (version "0.2.6.0")
dddbc90c
RV
11000 (source
11001 (origin
11002 (method url-fetch)
11003 (uri (string-append "https://hackage.haskell.org/package/"
11004 "typed-process/typed-process-"
11005 version ".tar.gz"))
11006 (sha256
11007 (base32
72fb84a5 11008 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
11009 (build-system haskell-build-system)
11010 (inputs
72fb84a5
TS
11011 `(("ghc-async" ,ghc-async)
11012 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
11013 (native-inputs
11014 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
11015 ("ghc-hspec" ,ghc-hspec)
11016 ("hspec-discover" ,hspec-discover)
11017 ("ghc-temporary" ,ghc-temporary)))
11018 (home-page "https://haskell-lang.org/library/typed-process")
11019 (synopsis "Run external processes with strong typing of streams")
11020 (description
11021 "This library provides the ability to launch and interact with external
11022processes. It wraps around the @code{process} library, and intends to improve
11023upon it.")
11024 (license license:expat)))
11025
d392f803
AG
11026(define-public ghc-unagi-chan
11027 (package
11028 (name "ghc-unagi-chan")
11029 (version "0.4.1.2")
11030 (source
11031 (origin
11032 (method url-fetch)
11033 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
11034 "/unagi-chan-" version ".tar.gz"))
11035 (sha256
11036 (base32
11037 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
11038 (build-system haskell-build-system)
11039 (inputs
11040 `(("ghc-atomic-primops" ,ghc-atomic-primops)
11041 ("ghc-primitive" ,ghc-primitive)))
11042 (arguments
11043 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
11044 #:cabal-revision
11045 ("1"
11046 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
11047 (home-page "http://hackage.haskell.org/package/unagi-chan")
11048 (synopsis "Fast concurrent queues with a Chan-like API, and more")
11049 (description
11050 "This library provides implementations of concurrent FIFO queues (for
11051both general boxed and primitive unboxed values) that are fast, perform well
11052under contention, and offer a Chan-like interface. The library may be of
11053limited usefulness outside of x86 architectures where the fetch-and-add
11054instruction is not available.")
11055 (license license:bsd-3)))
11056
dddbc90c
RV
11057(define-public ghc-unbounded-delays
11058 (package
11059 (name "ghc-unbounded-delays")
11060 (version "0.1.1.0")
11061 (source
11062 (origin
11063 (method url-fetch)
11064 (uri (string-append
11065 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
11066 version
11067 ".tar.gz"))
11068 (sha256
11069 (base32
11070 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
11071 (build-system haskell-build-system)
11072 (home-page "https://github.com/basvandijk/unbounded-delays")
11073 (synopsis "Unbounded thread delays and timeouts")
11074 (description "The @code{threadDelay} and @code{timeout} functions from the
11075Haskell base library use the bounded @code{Int} type for specifying the delay
11076or timeout period. This package provides alternative functions which use the
11077unbounded @code{Integer} type.")
11078 (license license:bsd-3)))
11079
11080(define-public ghc-unexceptionalio
11081 (package
11082 (name "ghc-unexceptionalio")
11083 (version "0.4.0")
11084 (source
11085 (origin
11086 (method url-fetch)
11087 (uri (string-append "https://hackage.haskell.org/package/"
11088 "unexceptionalio-" version "/" "unexceptionalio-"
11089 version ".tar.gz"))
11090 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
11091 (build-system haskell-build-system)
11092 (home-page "https://github.com/singpolyma/unexceptionalio")
11093 (synopsis "IO without any non-error, synchronous exceptions")
11094 (description "When you've caught all the exceptions that can be
11095handled safely, this is what you're left with.")
11096 (license license:isc)))
11097
11098(define-public ghc-union-find
11099 (package
11100 (name "ghc-union-find")
11101 (version "0.2")
11102 (source (origin
11103 (method url-fetch)
11104 (uri (string-append
11105 "https://hackage.haskell.org/package/union-find/union-find-"
11106 version ".tar.gz"))
11107 (sha256
11108 (base32
11109 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
11110 (build-system haskell-build-system)
11111 (home-page "https://github.com/nominolo/union-find")
11112 (synopsis "Efficient union and equivalence testing of sets")
11113 (description
11114 "The Union/Find algorithm implements these operations in (effectively)
11115constant-time:
11116@enumerate
11117@item Check whether two elements are in the same equivalence class.
11118@item Create a union of two equivalence classes.
11119@item Look up the descriptor of the equivalence class.
11120@end enumerate\n")
11121 (license license:bsd-3)))
11122
11123(define-public ghc-uniplate
11124 (package
11125 (name "ghc-uniplate")
11126 (version "1.6.12")
11127 (source
11128 (origin
11129 (method url-fetch)
11130 (uri (string-append
11131 "https://hackage.haskell.org/package/uniplate/uniplate-"
11132 version
11133 ".tar.gz"))
11134 (sha256
11135 (base32
11136 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
11137 (build-system haskell-build-system)
11138 (inputs
11139 `(("ghc-syb" ,ghc-syb)
11140 ("ghc-hashable" ,ghc-hashable)
11141 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11142 (home-page "http://community.haskell.org/~ndm/uniplate/")
11143 (synopsis "Simple, concise and fast generic operations")
11144 (description "Uniplate is a library for writing simple and concise generic
11145operations. Uniplate has similar goals to the original Scrap Your Boilerplate
11146work, but is substantially simpler and faster.")
11147 (license license:bsd-3)))
11148
11149(define-public ghc-unix-compat
11150 (package
11151 (name "ghc-unix-compat")
bc82e9f5 11152 (version "0.5.2")
dddbc90c
RV
11153 (source
11154 (origin
11155 (method url-fetch)
11156 (uri (string-append
11157 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
11158 version
11159 ".tar.gz"))
11160 (sha256
11161 (base32
bc82e9f5 11162 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
11163 (build-system haskell-build-system)
11164 (home-page
11165 "https://github.com/jystic/unix-compat")
11166 (synopsis "Portable POSIX-compatibility layer")
11167 (description
11168 "This package provides portable implementations of parts of the unix
11169package. This package re-exports the unix package when available. When it
11170isn't available, portable implementations are used.")
11171 (license license:bsd-3)))
11172
11173(define-public ghc-unix-time
11174 (package
11175 (name "ghc-unix-time")
fad9cff2 11176 (version "0.4.7")
dddbc90c
RV
11177 (source
11178 (origin
11179 (method url-fetch)
11180 (uri (string-append
11181 "https://hackage.haskell.org/package/unix-time/unix-time-"
11182 version
11183 ".tar.gz"))
11184 (sha256
11185 (base32
fad9cff2 11186 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
11187 (build-system haskell-build-system)
11188 (arguments
11189 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
11190 ; is weird, that should be provided by GHC 7.10.2.
11191 (inputs
11192 `(("ghc-old-time" ,ghc-old-time)
11193 ("ghc-old-locale" ,ghc-old-locale)))
11194 (home-page "https://hackage.haskell.org/package/unix-time")
11195 (synopsis "Unix time parser/formatter and utilities")
11196 (description "This library provides fast parsing and formatting utilities
11197for Unix time in Haskell.")
11198 (license license:bsd-3)))
11199
11200(define-public ghc-unliftio
11201 (package
11202 (name "ghc-unliftio")
a4084db1 11203 (version "0.2.12")
dddbc90c
RV
11204 (source
11205 (origin
11206 (method url-fetch)
11207 (uri (string-append
11208 "https://hackage.haskell.org/package/unliftio/unliftio-"
11209 version
11210 ".tar.gz"))
11211 (sha256
11212 (base32
a4084db1 11213 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
11214 (build-system haskell-build-system)
11215 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
11216 (inputs
11217 `(("ghc-async" ,ghc-async)
11218 ("ghc-unliftio-core" ,ghc-unliftio-core)))
11219 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
11220 (home-page "https://github.com/fpco/unliftio")
11221 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
11222IO (batteries included)")
11223 (description "This Haskell package provides the core @code{MonadUnliftIO}
11224typeclass, a number of common instances, and a collection of common functions
11225working with it.")
11226 (license license:expat)))
11227
11228(define-public ghc-unliftio-core
11229 (package
11230 (name "ghc-unliftio-core")
2ae42618 11231 (version "0.1.2.0")
dddbc90c
RV
11232 (source
11233 (origin
11234 (method url-fetch)
11235 (uri (string-append "https://hackage.haskell.org/package/"
11236 "unliftio-core-" version "/"
11237 "unliftio-core-" version ".tar.gz"))
11238 (sha256
11239 (base32
2ae42618 11240 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
11241 (build-system haskell-build-system)
11242 (arguments
11243 `(#:cabal-revision
2ae42618 11244 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
11245 (home-page
11246 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11247 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11248 (description "This Haskell package provides the core @code{MonadUnliftIO}
11249typeclass, instances for base and transformers, and basic utility
11250functions.")
11251 (license license:expat)))
11252
11253(define-public ghc-unordered-containers
11254 (package
11255 (name "ghc-unordered-containers")
ca01f8d3 11256 (version "0.2.10.0")
dddbc90c
RV
11257 (outputs '("out" "doc"))
11258 (source
11259 (origin
11260 (method url-fetch)
11261 (uri (string-append
11262 "https://hackage.haskell.org/package/unordered-containers"
11263 "/unordered-containers-" version ".tar.gz"))
11264 (sha256
11265 (base32
ca01f8d3 11266 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
11267 (build-system haskell-build-system)
11268 (inputs
11269 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11270 ("ghc-hunit" ,ghc-hunit)
11271 ("ghc-quickcheck" ,ghc-quickcheck)
11272 ("ghc-test-framework" ,ghc-test-framework)
11273 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11274 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11275 ("ghc-hashable" ,ghc-hashable)))
11276 (home-page
11277 "https://github.com/tibbe/unordered-containers")
11278 (synopsis
11279 "Efficient hashing-based container types")
11280 (description
11281 "Efficient hashing-based container types. The containers have been
11282optimized for performance critical use, both in terms of large data quantities
11283and high speed.")
11284 (license license:bsd-3)))
11285
11286(define-public ghc-unordered-containers-bootstrap
11287 (package
11288 (inherit ghc-unordered-containers)
11289 (name "ghc-unordered-containers-bootstrap")
11290 (arguments `(#:tests? #f))
11291 (inputs
11292 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11293 (properties '((hidden? #t)))))
dddbc90c 11294
a52f4c57
JS
11295(define-public ghc-unsafe
11296 (package
11297 (name "ghc-unsafe")
11298 (version "0.0")
11299 (source
11300 (origin
11301 (method url-fetch)
11302 (uri
11303 (string-append
11304 "https://hackage.haskell.org/package/unsafe/unsafe-"
11305 version ".tar.gz"))
11306 (sha256
11307 (base32
11308 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11309 (build-system haskell-build-system)
11310 (home-page "https://hackage.haskell.org/package/unsafe")
11311 (synopsis "Unified interface to unsafe functions")
11312 (description "Safe Haskell introduced the notion of safe and unsafe
11313modules. In order to make as many as possible modules ``safe'', the
11314well-known unsafe functions were moved to distinguished modules. This
11315makes it hard to write packages that work with both old and new versions
11316of GHC. This package provides a single module System.Unsafe that
11317exports the unsafe functions from the base package. It provides them in
11318a style ready for qualification, that is, you should import them by
11319@code{import qualified System.Unsafe as Unsafe}.")
11320 (license license:bsd-3)))
11321
dddbc90c
RV
11322(define-public ghc-uri-bytestring
11323 (package
11324 (name "ghc-uri-bytestring")
d35ffd39 11325 (version "0.3.2.2")
dddbc90c
RV
11326 (source
11327 (origin
11328 (method url-fetch)
11329 (uri (string-append "https://hackage.haskell.org/package/"
11330 "uri-bytestring-" version "/"
11331 "uri-bytestring-" version ".tar.gz"))
11332 (sha256
11333 (base32
d35ffd39 11334 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
11335 (build-system haskell-build-system)
11336 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
11337 ("ghc-blaze-builder" ,ghc-blaze-builder)
11338 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 11339 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
11340 ("ghc-tasty" ,ghc-tasty)
11341 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
11342 ("ghc-hedgehog" ,ghc-hedgehog)
11343 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 11344 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 11345 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 11346 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
11347 (home-page "https://github.com/Soostone/uri-bytestring")
11348 (synopsis "Haskell URI parsing as ByteStrings")
11349 (description "This Haskell package aims to be an RFC3986 compliant URI
11350parser that uses ByteStrings for parsing and representing the URI data.")
11351 (license license:bsd-3)))
11352
11353(define-public ghc-utf8-string
11354 (package
11355 (name "ghc-utf8-string")
11356 (version "1.0.1.1")
11357 (source
11358 (origin
11359 (method url-fetch)
11360 (uri (string-append
11361 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11362 version
11363 ".tar.gz"))
11364 (sha256
11365 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11366 (build-system haskell-build-system)
11367 (arguments
11368 `(#:cabal-revision
11369 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11370 (home-page "https://github.com/glguy/utf8-string/")
11371 (synopsis "Support for reading and writing UTF8 Strings")
11372 (description
11373 "A UTF8 layer for Strings. The utf8-string package provides operations
11374for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11375UTF8 without truncation.")
11376 (license license:bsd-3)))
11377
11378(define-public ghc-utility-ht
11379 (package
11380 (name "ghc-utility-ht")
11381 (version "0.0.14")
11382 (home-page "https://hackage.haskell.org/package/utility-ht")
11383 (source
11384 (origin
11385 (method url-fetch)
11386 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11387 (sha256
11388 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11389 (build-system haskell-build-system)
11390 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11391 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11392 (description "This package includes Hakell modules providing various
11393helper functions for Lists, Maybes, Tuples, Functions.")
11394 (license license:bsd-3)))
11395
11396(define-public ghc-uuid
11397 (package
11398 (name "ghc-uuid")
11399 (version "1.3.13")
11400 (source
11401 (origin
11402 (method url-fetch)
11403 (uri (string-append "https://hackage.haskell.org/package/"
11404 "uuid-" version "/"
11405 "uuid-" version ".tar.gz"))
11406 (sha256
11407 (base32
11408 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11409 (build-system haskell-build-system)
11410 (arguments
11411 `(#:cabal-revision
11412 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11413 #:phases
11414 (modify-phases %standard-phases
11415 (add-before 'configure 'strip-test-framework-constraints
11416 (lambda _
11417 (substitute* "uuid.cabal"
11418 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11419 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11420 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11421 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11422 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11423 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11424 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11425 ("ghc-entropy" ,ghc-entropy)
11426 ("ghc-network-info" ,ghc-network-info)
11427 ("ghc-random" ,ghc-random)
11428 ("ghc-uuid-types" ,ghc-uuid-types)))
11429 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11430 ("ghc-quickcheck" ,ghc-quickcheck)
11431 ("ghc-tasty" ,ghc-tasty)
11432 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11433 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11434 (home-page "https://github.com/hvr/uuid")
11435 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11436 (description "This Haskell library provides utilities creating, comparing,
11437parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11438 (license license:bsd-3)))
11439
11440(define-public ghc-uuid-types
11441 (package
11442 (name "ghc-uuid-types")
11443 (version "1.0.3")
11444 (source
11445 (origin
11446 (method url-fetch)
11447 (uri (string-append "https://hackage.haskell.org/package/"
11448 "uuid-types-" version "/"
11449 "uuid-types-" version ".tar.gz"))
11450 (sha256
11451 (base32
11452 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11453 (build-system haskell-build-system)
11454 (arguments
11455 `(#:phases
11456 (modify-phases %standard-phases
11457 (add-before 'configure 'strip-test-framework-constraints
11458 (lambda _
11459 (substitute* "uuid-types.cabal"
11460 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11461 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11462 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11463 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11464 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11465 (inputs `(("ghc-hashable" ,ghc-hashable)
11466 ("ghc-random" ,ghc-random)))
11467 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11468 ("ghc-quickcheck" ,ghc-quickcheck)
11469 ("ghc-tasty" ,ghc-tasty)
11470 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11471 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11472 (home-page "https://github.com/hvr/uuid")
11473 (synopsis "Haskell type definitions for UUIDs")
11474 (description "This Haskell library contains type definitions for
11475@dfn{Universally Unique Identifiers} or
11476@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11477functions.")
11478 (license license:bsd-3)))
11479
11480(define-public ghc-validation
11481 (package
11482 (name "ghc-validation")
11483 (version "1")
11484 (source
11485 (origin
11486 (method url-fetch)
11487 (uri (string-append
11488 "mirror://hackage/package/validation/validation-"
11489 version
11490 ".tar.gz"))
11491 (sha256
11492 (base32
11493 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11494 (build-system haskell-build-system)
11495 (arguments
11496 `(#:cabal-revision
11497 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11498 (inputs
11499 `(("ghc-semigroups" ,ghc-semigroups)
11500 ("ghc-semigroupoids" ,ghc-semigroupoids)
11501 ("ghc-bifunctors" ,ghc-bifunctors)
11502 ("ghc-lens" ,ghc-lens)))
11503 (native-inputs
11504 `(("ghc-hedgehog" ,ghc-hedgehog)
11505 ("ghc-hunit" ,ghc-hunit)))
11506 (home-page "https://github.com/qfpl/validation")
11507 (synopsis
11508 "Data-type like Either but with an accumulating Applicative")
11509 (description
11510 "A data-type like Either but with differing properties and type-class
11511instances.
11512
11513Library support is provided for this different representation, including
11514@code{lens}-related functions for converting between each and abstracting over
11515their similarities.
11516
11517The @code{Validation} data type is isomorphic to @code{Either}, but has an
11518instance of @code{Applicative} that accumulates on the error side. That is to
11519say, if two (or more) errors are encountered, they are appended using a
11520@{Semigroup} operation.
11521
11522As a consequence of this @code{Applicative} instance, there is no
11523corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11524example of, \"An applicative functor that is not a monad.\"")
11525 (license license:bsd-3)))
11526
11527(define-public ghc-validity
11528 (package
11529 (name "ghc-validity")
3f1ba75d 11530 (version "0.9.0.2")
dddbc90c
RV
11531 (source
11532 (origin
11533 (method url-fetch)
11534 (uri (string-append
11535 "https://hackage.haskell.org/package/validity/validity-"
11536 version
11537 ".tar.gz"))
11538 (sha256
11539 (base32
3f1ba75d 11540 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
11541 (build-system haskell-build-system)
11542 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11543 ("hspec-discover" ,hspec-discover)))
11544 (home-page
11545 "https://github.com/NorfairKing/validity")
11546 (synopsis "Validity typeclass")
11547 (description
11548 "Values of custom types usually have invariants imposed upon them. This
11549package provides the @code{Validity} type class, which makes these invariants
11550explicit by providing a function to check whether the invariants hold.")
11551 (license license:expat)))
11552
11553(define-public ghc-vault
11554 (package
11555 (name "ghc-vault")
b40a436e 11556 (version "0.3.1.3")
dddbc90c
RV
11557 (source
11558 (origin
11559 (method url-fetch)
11560 (uri (string-append
11561 "https://hackage.haskell.org/package/vault/vault-"
11562 version
11563 ".tar.gz"))
11564 (sha256
11565 (base32
b40a436e 11566 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
11567 (build-system haskell-build-system)
11568 (inputs
11569 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11570 ("ghc-hashable" ,ghc-hashable)
b40a436e 11571 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
11572 (home-page
11573 "https://github.com/HeinrichApfelmus/vault")
11574 (synopsis "Persistent store for arbitrary values")
11575 (description "This package provides vaults for Haskell. A vault is a
11576persistent store for values of arbitrary types. It's like having first-class
11577access to the storage space behind @code{IORefs}. The data structure is
11578analogous to a bank vault, where you can access different bank boxes with
11579different keys; hence the name. Also provided is a @code{locker} type,
11580representing a store for a single element.")
11581 (license license:bsd-3)))
11582
11583(define-public ghc-vector
11584 (package
11585 (name "ghc-vector")
3ad67f6b 11586 (version "0.12.0.3")
dddbc90c
RV
11587 (outputs '("out" "doc"))
11588 (source
11589 (origin
11590 (method url-fetch)
11591 (uri (string-append
11592 "https://hackage.haskell.org/package/vector/vector-"
11593 version
11594 ".tar.gz"))
11595 (sha256
11596 (base32
3ad67f6b 11597 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
11598 (build-system haskell-build-system)
11599 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11600 ;; disabled for now.
11601 (arguments
3ad67f6b 11602 `(#:tests? #f))
dddbc90c
RV
11603 (inputs
11604 `(("ghc-primitive" ,ghc-primitive)
11605 ("ghc-random" ,ghc-random)
11606 ("ghc-quickcheck" ,ghc-quickcheck)
11607 ;; ("ghc-hunit" ,ghc-hunit)
11608 ;; ("ghc-test-framework" ,ghc-test-framework)
11609 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11610 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11611 ))
11612 (home-page "https://github.com/haskell/vector")
11613 (synopsis "Efficient Arrays")
11614 (description "This library provides an efficient implementation of
11615Int-indexed arrays (both mutable and immutable), with a powerful loop
11616optimisation framework.")
11617 (license license:bsd-3)))
11618
11619(define-public ghc-vector-algorithms
11620 (package
11621 (name "ghc-vector-algorithms")
e71f316f 11622 (version "0.8.0.1")
dddbc90c
RV
11623 (source
11624 (origin
11625 (method url-fetch)
11626 (uri (string-append "https://hackage.haskell.org/package/"
11627 "vector-algorithms-" version "/"
11628 "vector-algorithms-" version ".tar.gz"))
11629 (sha256
11630 (base32
e71f316f 11631 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
11632 (build-system haskell-build-system)
11633 (inputs
11634 `(("ghc-vector" ,ghc-vector)))
11635 (native-inputs
11636 `(("ghc-quickcheck" ,ghc-quickcheck)))
11637 (home-page "https://github.com/bos/math-functions")
11638 (synopsis "Algorithms for vector arrays in Haskell")
11639 (description "This Haskell library algorithms for vector arrays.")
11640 (license license:bsd-3)))
11641
11642(define-public ghc-vector-binary-instances
11643 (package
11644 (name "ghc-vector-binary-instances")
ca0701ef 11645 (version "0.2.5.1")
dddbc90c
RV
11646 (source
11647 (origin
11648 (method url-fetch)
11649 (uri (string-append
11650 "https://hackage.haskell.org/package/"
11651 "vector-binary-instances/vector-binary-instances-"
11652 version ".tar.gz"))
11653 (sha256
11654 (base32
ca0701ef 11655 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 11656 (build-system haskell-build-system)
dddbc90c
RV
11657 (inputs
11658 `(("ghc-vector" ,ghc-vector)))
11659 (native-inputs
11660 `(("ghc-tasty" ,ghc-tasty)
11661 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11662 (home-page "https://github.com/bos/vector-binary-instances")
11663 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11664 (description "This library provides instances of @code{Binary} for the
11665types defined in the @code{vector} package, making it easy to serialize
11666vectors to and from disk. We use the generic interface to vectors, so all
11667vector types are supported. Specific instances are provided for unboxed,
11668boxed and storable vectors.")
11669 (license license:bsd-3)))
11670
11671(define-public ghc-vector-builder
11672 (package
11673 (name "ghc-vector-builder")
1fc05441 11674 (version "0.3.8")
dddbc90c
RV
11675 (source
11676 (origin
11677 (method url-fetch)
11678 (uri (string-append "https://hackage.haskell.org/package/"
11679 "vector-builder-" version "/"
11680 "vector-builder-" version ".tar.gz"))
11681 (sha256
11682 (base32
1fc05441 11683 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
11684 (build-system haskell-build-system)
11685 (inputs `(("ghc-vector" ,ghc-vector)
11686 ("ghc-semigroups" ,ghc-semigroups)
11687 ("ghc-base-prelude" ,ghc-base-prelude)))
11688 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11689 ("ghc-tasty" ,ghc-tasty)
11690 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11691 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11692 ("ghc-hunit" ,ghc-hunit)
11693 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11694 ("ghc-rerebase" ,ghc-rerebase)))
11695 (home-page "https://github.com/nikita-volkov/vector-builder")
11696 (synopsis "Vector builder for Haskell")
11697 (description "This Haskell package provides an API for constructing vectors.
11698It provides the composable @code{Builder} abstraction, which has instances of the
11699@code{Monoid} and @code{Semigroup} classes.
11700
11701You would first use the @code{Builder} abstraction to specify the structure of
11702the vector; then you can execute the builder to actually produce the
11703vector. ")
11704 (license license:expat)))
11705
11706(define-public ghc-vector-th-unbox
11707 (package
11708 (name "ghc-vector-th-unbox")
63056e61 11709 (version "0.2.1.7")
dddbc90c
RV
11710 (source
11711 (origin
11712 (method url-fetch)
11713 (uri (string-append "https://hackage.haskell.org/package/"
11714 "vector-th-unbox-" version "/"
11715 "vector-th-unbox-" version ".tar.gz"))
11716 (sha256
11717 (base32
63056e61 11718 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
11719 (build-system haskell-build-system)
11720 (inputs
11721 `(("ghc-vector" ,ghc-vector)
11722 ("ghc-data-default" ,ghc-data-default)))
11723 (home-page "https://github.com/liyang/vector-th-unbox")
11724 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11725 (description "This Haskell library provides a Template Haskell
11726deriver for unboxed vectors, given a pair of coercion functions to
11727and from some existing type with an Unbox instance.")
11728 (license license:bsd-3)))
11729
11730(define-public ghc-void
11731 (package
11732 (name "ghc-void")
51889121 11733 (version "0.7.3")
dddbc90c
RV
11734 (source
11735 (origin
11736 (method url-fetch)
11737 (uri (string-append
11738 "https://hackage.haskell.org/package/void/void-"
11739 version
11740 ".tar.gz"))
11741 (sha256
11742 (base32
51889121 11743 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
11744 (build-system haskell-build-system)
11745 (inputs
11746 `(("ghc-semigroups" ,ghc-semigroups)
11747 ("ghc-hashable" ,ghc-hashable)))
11748 (home-page "https://github.com/ekmett/void")
11749 (synopsis
11750 "Logically uninhabited data type")
11751 (description
11752 "A Haskell 98 logically uninhabited data type, used to indicate that a
11753given term should not exist.")
11754 (license license:bsd-3)))
11755
11756(define-public ghc-wave
11757 (package
11758 (name "ghc-wave")
1631a0f7 11759 (version "0.2.0")
dddbc90c
RV
11760 (source (origin
11761 (method url-fetch)
11762 (uri (string-append
11763 "https://hackage.haskell.org/package/wave/wave-"
11764 version
11765 ".tar.gz"))
11766 (sha256
11767 (base32
1631a0f7 11768 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
11769 (build-system haskell-build-system)
11770 (arguments
11771 '(#:phases
11772 (modify-phases %standard-phases
11773 (add-before 'configure 'update-constraints
11774 (lambda _
11775 (substitute* "wave.cabal"
11776 (("temporary.* < 1\\.3")
11777 "temporary >= 1.1 && < 1.4")))))))
11778 (inputs
11779 `(("ghc-cereal" ,ghc-cereal)
11780 ("ghc-data-default-class"
11781 ,ghc-data-default-class)
11782 ("ghc-quickcheck" ,ghc-quickcheck)
11783 ("ghc-temporary" ,ghc-temporary)))
11784 (native-inputs
11785 `(("hspec-discover" ,hspec-discover)
11786 ("ghc-hspec" ,ghc-hspec)))
11787 (home-page "https://github.com/mrkkrp/wave")
11788 (synopsis "Work with WAVE and RF64 files in Haskell")
11789 (description "This package allows you to work with WAVE and RF64
11790files in Haskell.")
11791 (license license:bsd-3)))
11792
11793(define-public ghc-wcwidth
11794 (package
11795 (name "ghc-wcwidth")
11796 (version "0.0.2")
11797 (source
11798 (origin
11799 (method url-fetch)
11800 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11801 version ".tar.gz"))
11802 (sha256
11803 (base32
11804 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11805 (build-system haskell-build-system)
11806 (inputs
11807 `(("ghc-setlocale" ,ghc-setlocale)
11808 ("ghc-utf8-string" ,ghc-utf8-string)
11809 ("ghc-attoparsec" ,ghc-attoparsec)))
11810 (home-page "https://github.com/solidsnack/wcwidth/")
11811 (synopsis "Haskell bindings to wcwidth")
11812 (description "This package provides Haskell bindings to your system's
11813native wcwidth and a command line tool to examine the widths assigned by it.
11814The command line tool can compile a width table to Haskell code that assigns
11815widths to the Char type.")
11816 (license license:bsd-3)))
11817
11818(define-public ghc-wcwidth-bootstrap
11819 (package
11820 (inherit ghc-wcwidth)
11821 (name "ghc-wcwidth-bootstrap")
11822 (inputs
11823 `(("ghc-setlocale" ,ghc-setlocale)
11824 ("ghc-utf8-string" ,ghc-utf8-string)
11825 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11826 (properties '((hidden? #t)))))
dddbc90c
RV
11827
11828(define-public ghc-weigh
11829 (package
11830 (name "ghc-weigh")
b6d9777f 11831 (version "0.0.14")
dddbc90c
RV
11832 (source
11833 (origin
11834 (method url-fetch)
11835 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11836 "weigh-" version ".tar.gz"))
11837 (sha256
11838 (base32
b6d9777f 11839 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
11840 (build-system haskell-build-system)
11841 (inputs
11842 `(("ghc-split" ,ghc-split)
11843 ("ghc-temporary" ,ghc-temporary)))
11844 (home-page "https://github.com/fpco/weigh#readme")
11845 (synopsis "Measure allocations of a Haskell functions/values")
11846 (description "This package provides tools to measure the memory usage of a
11847Haskell value or function.")
11848 (license license:bsd-3)))
11849
11850(define-public ghc-wl-pprint
11851 (package
11852 (name "ghc-wl-pprint")
11853 (version "1.2.1")
11854 (source (origin
11855 (method url-fetch)
11856 (uri (string-append
11857 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11858 version ".tar.gz"))
11859 (sha256
11860 (base32
11861 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11862 (build-system haskell-build-system)
11863 (home-page "https://hackage.haskell.org/package/wl-pprint")
11864 (synopsis "Wadler/Leijen pretty printer")
11865 (description
11866 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11867Printer}. This version allows the library user to declare overlapping
11868instances of the @code{Pretty} class.")
11869 (license license:bsd-3)))
11870
11871(define-public ghc-wl-pprint-annotated
11872 (package
11873 (name "ghc-wl-pprint-annotated")
11874 (version "0.1.0.1")
11875 (source
11876 (origin
11877 (method url-fetch)
11878 (uri (string-append
11879 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11880 version
11881 ".tar.gz"))
11882 (sha256
11883 (base32
11884 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11885 (build-system haskell-build-system)
11886 (native-inputs
11887 `(("ghc-tasty" ,ghc-tasty)
11888 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11889 (home-page
11890 "https://github.com/minad/wl-pprint-annotated#readme")
11891 (synopsis
11892 "Wadler/Leijen pretty printer with annotation support")
11893 (description
11894 "Annotations are useful for coloring. This is a limited version of
11895@code{wl-pprint-extras} without support for point effects and without the free
11896monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11897Compared to @code{annotated-wl-pprint} this library provides a slightly
11898modernized interface.")
11899 (license license:bsd-3)))
11900
11901(define-public ghc-wl-pprint-text
11902 (package
11903 (name "ghc-wl-pprint-text")
11904 (version "1.2.0.0")
11905 (source
11906 (origin
11907 (method url-fetch)
11908 (uri (string-append
11909 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11910 version ".tar.gz"))
11911 (sha256
11912 (base32
11913 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11914 (build-system haskell-build-system)
11915 (inputs
11916 `(("ghc-base-compat" ,ghc-base-compat)))
11917 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11918 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11919 (description
11920 "A clone of wl-pprint for use with the text library.")
11921 (license license:bsd-3)))
11922
11923(define-public ghc-word8
11924 (package
11925 (name "ghc-word8")
11926 (version "0.1.3")
11927 (source
11928 (origin
11929 (method url-fetch)
11930 (uri (string-append
11931 "https://hackage.haskell.org/package/word8/word8-"
11932 version
11933 ".tar.gz"))
11934 (sha256
11935 (base32
11936 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11937 (build-system haskell-build-system)
11938 (native-inputs
11939 `(("ghc-hspec" ,ghc-hspec)
11940 ("hspec-discover" ,hspec-discover)))
11941 (home-page "https://hackage.haskell.org/package/word8")
11942 (synopsis "Word8 library for Haskell")
11943 (description "Word8 library to be used with @code{Data.ByteString}.")
11944 (license license:bsd-3)))
11945
11946(define-public ghc-x11
11947 (package
11948 (name "ghc-x11")
6c4581a3 11949 (version "1.9.1")
dddbc90c
RV
11950 (source
11951 (origin
11952 (method url-fetch)
11953 (uri (string-append "https://hackage.haskell.org/package/X11/"
11954 "X11-" version ".tar.gz"))
11955 (sha256
6c4581a3 11956 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
11957 (build-system haskell-build-system)
11958 (inputs
11959 `(("libx11" ,libx11)
11960 ("libxrandr" ,libxrandr)
11961 ("libxinerama" ,libxinerama)
11962 ("libxscrnsaver" ,libxscrnsaver)
11963 ("ghc-data-default" ,ghc-data-default)))
11964 (home-page "https://github.com/haskell-pkg-janitors/X11")
11965 (synopsis "Bindings to the X11 graphics library")
11966 (description
11967 "This package provides Haskell bindings to the X11 graphics library. The
11968bindings are a direct translation of the C bindings.")
11969 (license license:bsd-3)))
11970
11971(define-public ghc-x11-xft
11972 (package
11973 (name "ghc-x11-xft")
11974 (version "0.3.1")
11975 (source
11976 (origin
11977 (method url-fetch)
11978 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11979 "X11-xft-" version ".tar.gz"))
11980 (sha256
11981 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11982 (inputs
11983 `(("ghc-x11" ,ghc-x11)
11984 ("ghc-utf8-string" ,ghc-utf8-string)
11985 ("libx11" ,libx11)
11986 ("libxft" ,libxft)
11987 ("xorgproto" ,xorgproto)))
11988 (native-inputs
11989 `(("pkg-config" ,pkg-config)))
11990 (build-system haskell-build-system)
11991 (home-page "https://hackage.haskell.org/package/X11-xft")
11992 (synopsis "Bindings to Xft")
11993 (description
11994 "Bindings to the Xft, X Free Type interface library, and some Xrender
11995parts.")
11996 (license license:lgpl2.1)))
11997
11998(define-public ghc-xdg-basedir
11999 (package
12000 (name "ghc-xdg-basedir")
12001 (version "0.2.2")
12002 (source
12003 (origin
12004 (method url-fetch)
12005 (uri (string-append
12006 "https://hackage.haskell.org/package/xdg-basedir/"
12007 "xdg-basedir-" version ".tar.gz"))
12008 (sha256
12009 (base32
12010 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
12011 (build-system haskell-build-system)
12012 (home-page "http://github.com/willdonnelly/xdg-basedir")
12013 (synopsis "XDG Base Directory library for Haskell")
12014 (description "This package provides a library implementing the XDG Base Directory spec.")
12015 (license license:bsd-3)))
12016
12017(define-public ghc-xml
12018 (package
12019 (name "ghc-xml")
12020 (version "1.3.14")
12021 (source
12022 (origin
12023 (method url-fetch)
12024 (uri (string-append
12025 "https://hackage.haskell.org/package/xml/xml-"
12026 version
12027 ".tar.gz"))
12028 (sha256
12029 (base32
12030 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
12031 (build-system haskell-build-system)
12032 (home-page "http://code.galois.com")
12033 (synopsis "Simple XML library for Haskell")
12034 (description "This package provides a simple XML library for Haskell.")
12035 (license license:bsd-3)))
12036
12037(define-public ghc-xml-conduit
12038 (package
12039 (name "ghc-xml-conduit")
12040 (version "1.8.0.1")
12041 (source
12042 (origin
12043 (method url-fetch)
12044 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
12045 "xml-conduit-" version ".tar.gz"))
12046 (sha256
12047 (base32
12048 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
12049 (build-system haskell-build-system)
12050 (inputs
12051 `(("ghc-conduit" ,ghc-conduit)
12052 ("ghc-conduit-extra" ,ghc-conduit-extra)
12053 ("ghc-doctest" ,ghc-doctest)
12054 ("ghc-resourcet" ,ghc-resourcet)
12055 ("ghc-xml-types" ,ghc-xml-types)
12056 ("ghc-attoparsec" ,ghc-attoparsec)
12057 ("ghc-data-default-class" ,ghc-data-default-class)
12058 ("ghc-blaze-markup" ,ghc-blaze-markup)
12059 ("ghc-blaze-html" ,ghc-blaze-html)
12060 ("ghc-monad-control" ,ghc-monad-control)
12061 ("ghc-hspec" ,ghc-hspec)
12062 ("ghc-hunit" ,ghc-hunit)))
12063 (home-page "https://github.com/snoyberg/xml")
12064 (synopsis "Utilities for dealing with XML with the conduit package")
12065 (description
12066 "This package provides pure-Haskell utilities for dealing with XML with
12067the @code{conduit} package.")
12068 (license license:expat)))
12069
12070(define-public ghc-xml-types
12071 (package
12072 (name "ghc-xml-types")
12073 (version "0.3.6")
12074 (source
12075 (origin
12076 (method url-fetch)
12077 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
12078 "xml-types-" version ".tar.gz"))
12079 (sha256
12080 (base32
12081 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
12082 (build-system haskell-build-system)
12083 (home-page "https://john-millikin.com/software/haskell-xml/")
12084 (synopsis "Basic types for representing XML")
12085 (description "This package provides basic types for representing XML
12086documents.")
12087 (license license:expat)))
12088
12089(define-public ghc-yaml
12090 (package
12091 (name "ghc-yaml")
b58e5b84 12092 (version "0.11.1.2")
dddbc90c
RV
12093 (source (origin
12094 (method url-fetch)
12095 (uri (string-append "https://hackage.haskell.org/package/"
12096 "yaml/yaml-" version ".tar.gz"))
12097 (sha256
12098 (base32
b58e5b84 12099 "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc"))))
dddbc90c 12100 (build-system haskell-build-system)
dddbc90c
RV
12101 (inputs
12102 `(("ghc-conduit" ,ghc-conduit)
12103 ("ghc-resourcet" ,ghc-resourcet)
12104 ("ghc-aeson" ,ghc-aeson)
12105 ("ghc-unordered-containers" ,ghc-unordered-containers)
12106 ("ghc-vector" ,ghc-vector)
12107 ("ghc-attoparsec" ,ghc-attoparsec)
12108 ("ghc-scientific" ,ghc-scientific)
12109 ("ghc-semigroups" ,ghc-semigroups)
12110 ("ghc-temporary" ,ghc-temporary)
12111 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
b58e5b84
TS
12112 ("ghc-base-compat" ,ghc-base-compat)
12113 ("ghc-libyaml" ,ghc-libyaml)))
dddbc90c
RV
12114 (native-inputs
12115 `(("ghc-hspec" ,ghc-hspec)
12116 ("ghc-hunit" ,ghc-hunit)
12117 ("hspec-discover" ,hspec-discover)
b58e5b84
TS
12118 ("ghc-mockery" ,ghc-mockery)
12119 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)))
dddbc90c
RV
12120 (home-page "https://github.com/snoyberg/yaml/")
12121 (synopsis "Parsing and rendering YAML documents")
12122 (description
12123 "This package provides a library to parse and render YAML documents.")
12124 (license license:bsd-3)))
12125
12126(define-public ghc-zip-archive
12127 (package
12128 (name "ghc-zip-archive")
93c1fdd3 12129 (version "0.4.1")
dddbc90c
RV
12130 (source
12131 (origin
12132 (method url-fetch)
12133 (uri (string-append
12134 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
12135 version
12136 ".tar.gz"))
12137 (sha256
12138 (base32
93c1fdd3 12139 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 12140 (build-system haskell-build-system)
93c1fdd3
TS
12141 (arguments
12142 `(#:phases
12143 (modify-phases %standard-phases
12144 (add-before 'check 'set-PATH-for-tests
12145 (lambda* (#:key inputs #:allow-other-keys)
12146 (let ((unzip (assoc-ref inputs "unzip"))
12147 (which (assoc-ref inputs "which"))
12148 (path (getenv "PATH")))
12149 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
12150 #t))))))
dddbc90c
RV
12151 (inputs
12152 `(("ghc-digest" ,ghc-digest)
12153 ("ghc-temporary" ,ghc-temporary)
12154 ("ghc-zlib" ,ghc-zlib)))
12155 (native-inputs
12156 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
12157 ("unzip" ,unzip)
12158 ("which" ,which)))
dddbc90c
RV
12159 (home-page "https://hackage.haskell.org/package/zip-archive")
12160 (synopsis "Zip archive library for Haskell")
12161 (description "The zip-archive library provides functions for creating,
12162modifying, and extracting files from zip archives in Haskell.")
12163 (license license:bsd-3)))
12164
12165(define-public ghc-zlib
12166 (package
12167 (name "ghc-zlib")
bf12089a 12168 (version "0.6.2.1")
dddbc90c
RV
12169 (outputs '("out" "doc"))
12170 (source
12171 (origin
12172 (method url-fetch)
12173 (uri (string-append
12174 "https://hackage.haskell.org/package/zlib/zlib-"
12175 version
12176 ".tar.gz"))
12177 (sha256
12178 (base32
bf12089a 12179 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
12180 (build-system haskell-build-system)
12181 (arguments
12182 `(#:phases
12183 (modify-phases %standard-phases
12184 (add-before 'configure 'strip-test-framework-constraints
12185 (lambda _
12186 (substitute* "zlib.cabal"
12187 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
12188 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
12189 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12190 (inputs `(("zlib" ,zlib)))
12191 (native-inputs
12192 `(("ghc-quickcheck" ,ghc-quickcheck)
12193 ("ghc-tasty" ,ghc-tasty)
12194 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12195 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12196 (home-page "https://hackage.haskell.org/package/zlib")
12197 (synopsis
12198 "Compression and decompression in the gzip and zlib formats")
12199 (description
12200 "This package provides a pure interface for compressing and decompressing
12201streams of data represented as lazy @code{ByteString}s. It uses the zlib C
12202library so it has high performance. It supports the @code{zlib}, @code{gzip}
12203and @code{raw} compression formats. It provides a convenient high level API
12204suitable for most tasks and for the few cases where more control is needed it
12205provides access to the full zlib feature set.")
bbf8bf31 12206 (license license:bsd-3)))
14e41996
RV
12207
12208(define-public ghc-zlib-bindings
12209 (package
12210 (name "ghc-zlib-bindings")
12211 (version "0.1.1.5")
12212 (source
12213 (origin
12214 (method url-fetch)
12215 (uri (string-append "https://hackage.haskell.org/package/"
12216 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
12217 (sha256
12218 (base32
12219 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
12220 (build-system haskell-build-system)
12221 (inputs
12222 `(("ghc-zlib" ,ghc-zlib)))
12223 (native-inputs
12224 `(("ghc-hspec" ,ghc-hspec)
12225 ("ghc-quickcheck" ,ghc-quickcheck)))
12226 (arguments
12227 `(#:cabal-revision
12228 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
12229 (home-page "https://github.com/snapframework/zlib-bindings")
12230 (synopsis "Low-level bindings to the @code{zlib} package")
12231 (description "This package provides low-level bindings to the
12232@code{zlib} package.")
12233 (license license:bsd-3)))