gnu: ghc-vector-builder: Update to 0.3.8.
[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)
62 #:use-module (gnu packages xml)
63 #:use-module (gnu packages xorg)
6b34d01c
RV
64 #:use-module (guix build-system haskell)
65 #:use-module (guix download)
dddbc90c 66 #:use-module (guix git-download)
4780db2c 67 #:use-module (guix utils)
6b34d01c
RV
68 #:use-module ((guix licenses) #:prefix license:)
69 #:use-module (guix packages))
70
dddbc90c 71(define-public ghc-abstract-deque
efb96749 72 (package
dddbc90c
RV
73 (name "ghc-abstract-deque")
74 (version "0.3")
efb96749
RV
75 (source
76 (origin
77 (method url-fetch)
78 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
79 "abstract-deque-" version "/"
80 "abstract-deque-" version ".tar.gz"))
efb96749
RV
81 (sha256
82 (base32
dddbc90c 83 "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9"))))
efb96749 84 (build-system haskell-build-system)
dddbc90c
RV
85 (inputs `(("ghc-random" ,ghc-random)))
86 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
87 (synopsis "Abstract, parameterized interface to mutable Deques for Haskell")
88 (description "This Haskell package provides an abstract interface to
89highly-parameterizable queues/deques.
90
91Background: There exists a feature space for queues that extends between:
efb96749
RV
92
93@itemize
dddbc90c
RV
94@item Simple, single-ended, non-concurrent, bounded queues
95
96@item Double-ended, thread-safe, growable queues with important points
97in between (such as the queues used for work stealing).
efb96749
RV
98@end itemize
99
dddbc90c
RV
100This package includes an interface for Deques that allows the programmer
101to use a single API for all of the above, while using the type system to
102select an efficient implementation given the requirements (using type families).
efb96749 103
dddbc90c
RV
104This package also includes a simple reference implementation based on
105@code{IORef} and @code{Data.Sequence}.")
efb96749
RV
106 (license license:bsd-3)))
107
dddbc90c 108(define-public ghc-abstract-par
658dbc7f 109 (package
dddbc90c
RV
110 (name "ghc-abstract-par")
111 (version "0.3.3")
658dbc7f
RV
112 (source
113 (origin
114 (method url-fetch)
115 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
116 "abstract-par-" version "/"
117 "abstract-par-" version ".tar.gz"))
658dbc7f
RV
118 (sha256
119 (base32
dddbc90c
RV
120 "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4"))))
121 (build-system haskell-build-system)
122 (home-page "https://github.com/simonmar/monad-par")
123 (synopsis "Abstract parallelization interface for Haskell")
124 (description "This Haskell package is an abstract interface
125only. It provides a number of type clasess, but not an
126implementation. The type classes separate different levels
127of @code{Par} functionality. See the @code{Control.Monad.Par.Class}
128module for more details.")
129 (license license:bsd-3)))
130
131(define-public ghc-adjunctions
132 (package
133 (name "ghc-adjunctions")
134 (version "4.4")
135 (source
136 (origin
137 (method url-fetch)
138 (uri (string-append
139 "https://hackage.haskell.org/package/adjunctions/adjunctions-"
140 version
141 ".tar.gz"))
142 (sha256
143 (base32
144 "1sbal7cbhm12crfnfhkk322jnzgx7lhw3jzq0p463bipagsjwz2h"))))
658dbc7f
RV
145 (build-system haskell-build-system)
146 (inputs
dddbc90c
RV
147 `(("ghc-profunctors" ,ghc-profunctors)
148 ("ghc-comonad" ,ghc-comonad)
149 ("ghc-contravariant" ,ghc-contravariant)
150 ("ghc-distributive" ,ghc-distributive)
151 ("ghc-free" ,ghc-free)
152 ("ghc-tagged" ,ghc-tagged)
153 ("ghc-semigroupoids" ,ghc-semigroupoids)
154 ("ghc-semigroups" ,ghc-semigroups)
155 ("ghc-transformers-compat" ,ghc-transformers-compat)
156 ("ghc-void" ,ghc-void)))
658dbc7f 157 (native-inputs
dddbc90c
RV
158 `(("ghc-generic-deriving" ,ghc-generic-deriving)
159 ("ghc-hspec" ,ghc-hspec)
160 ("hspec-discover" ,hspec-discover)))
161 (home-page "https://github.com/ekmett/adjunctions/")
162 (synopsis "Adjunctions and representable functors")
163 (description "This library provides adjunctions and representable functors
164for Haskell.")
165 (license license:bsd-3)))
166
167(define-public ghc-aeson-compat
168 (package
169 (name "ghc-aeson-compat")
0bafb755 170 (version "0.3.9")
dddbc90c
RV
171 (source
172 (origin
173 (method url-fetch)
174 (uri (string-append "https://hackage.haskell.org/package/"
175 "aeson-compat-" version "/"
176 "aeson-compat-" version ".tar.gz"))
177 (sha256
178 (base32
0bafb755 179 "1j13gykv4ryvmr14w5blz0nnpdb4p0hpa27wahw3mhb1lwdr8hz0"))))
dddbc90c
RV
180 (build-system haskell-build-system)
181 (arguments `(#:tests? #f)) ; FIXME: Tests require QuickCheck >= 2.10
182 (inputs `(("ghc-base-compat" ,ghc-base-compat)
183 ("ghc-aeson" ,ghc-aeson)
184 ("ghc-attoparsec" ,ghc-attoparsec)
185 ("ghc-attoparsec" ,ghc-attoparsec-iso8601)
186 ("ghc-exceptions" ,ghc-exceptions)
187 ("ghc-hashable" ,ghc-hashable)
188 ("ghc-scientific" ,ghc-scientific)
189 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
190 ("ghc-unordered-containers" ,ghc-unordered-containers)
191 ("ghc-vector" ,ghc-vector)
192 ("ghc-tagged" ,ghc-tagged)
193 ("ghc-semigroups" ,ghc-semigroups)
194 ("ghc-nats" ,ghc-nats)))
195 (home-page "https://github.com/phadej/aeson-compat")
196 (synopsis "Compatibility layer for ghc-aeson")
197 (description "This Haskell package provides compatibility layer for
198ghc-aeson.")
199 (license license:bsd-3)))
200
201(define-public ghc-alex
202 (package
203 (name "ghc-alex")
204 (version "3.2.4")
205 (source
206 (origin
207 (method url-fetch)
208 (uri (string-append
209 "https://hackage.haskell.org/package/alex/alex-"
210 version
211 ".tar.gz"))
212 (sha256
213 (base32
214 "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm"))))
215 (build-system haskell-build-system)
658dbc7f 216 (arguments
dddbc90c
RV
217 `(#:phases
218 (modify-phases %standard-phases
219 (add-before 'check 'set-check-variables
220 (lambda _
221 (setenv "PATH" (string-append (getcwd) "/dist/build/alex:"
222 (getenv "PATH")))
223 (setenv "alex_datadir" (string-append (getcwd) "/data"))
224 #t)))))
225 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
226 (native-inputs
227 `(("which" ,which)))
228 (home-page "https://www.haskell.org/alex/")
229 (synopsis
230 "Tool for generating lexical analysers in Haskell")
231 (description
232 "Alex is a tool for generating lexical analysers in Haskell. It takes a
233description of tokens based on regular expressions and generates a Haskell
234module containing code for scanning text efficiently. It is similar to the
235tool lex or flex for C/C++.")
658dbc7f
RV
236 (license license:bsd-3)))
237
dddbc90c 238(define-public ghc-alsa-core
7b01a977 239 (package
dddbc90c
RV
240 (name "ghc-alsa-core")
241 (version "0.5.0.1")
242 (source
243 (origin
244 (method url-fetch)
245 (uri (string-append
246 "mirror://hackage/package/alsa-core/alsa-core-"
247 version
248 ".tar.gz"))
249 (sha256
250 (base32
251 "1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
252 (build-system haskell-build-system)
253 (inputs
254 `(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
255 ("alsa-lib" ,alsa-lib)))
256 (native-inputs
257 `(("pkg-config" ,pkg-config)))
258 (home-page "http://www.haskell.org/haskellwiki/ALSA")
259 (synopsis "Binding to the ALSA Library API (Exceptions)")
260 (description "This package provides access to ALSA infrastructure, that is
261needed by both alsa-seq and alsa-pcm.")
262 (license license:bsd-3)))
263
264(define-public ghc-annotated-wl-pprint
265 (package
266 (name "ghc-annotated-wl-pprint")
267 (version "0.7.0")
268 (source
269 (origin
270 (method url-fetch)
271 (uri (string-append
272 "https://hackage.haskell.org/package/annotated-wl-pprint"
273 "/annotated-wl-pprint-" version
274 ".tar.gz"))
275 (sha256
276 (base32
277 "061xfz6qany3wf95csl8dcik2pz22cn8iv1qchhm16isw5zjs9hc"))))
278 (build-system haskell-build-system)
279 (home-page
280 "https://github.com/david-christiansen/annotated-wl-pprint")
281 (synopsis
282 "The Wadler/Leijen Pretty Printer, with annotation support")
283 (description "This is a modified version of wl-pprint, which was based on
284Wadler's paper \"A Prettier Printer\". This version allows the library user
285to annotate the text with semantic information, which can later be rendered in
286a variety of ways.")
287 (license license:bsd-3)))
288
289(define-public ghc-ansi-terminal
290 (package
291 (name "ghc-ansi-terminal")
f1b4a73f 292 (version "0.9.1")
dddbc90c
RV
293 (source
294 (origin
295 (method url-fetch)
296 (uri (string-append
297 "https://hackage.haskell.org/package/ansi-terminal/ansi-terminal-"
298 version
299 ".tar.gz"))
300 (sha256
301 (base32
f1b4a73f 302 "1yr0ld0kqns3w3j9gl62bdwshvyazidx4dv1qkvq19ivnf08w23l"))))
dddbc90c
RV
303 (build-system haskell-build-system)
304 (inputs
305 `(("ghc-colour" ,ghc-colour)))
306 (home-page "https://github.com/feuerbach/ansi-terminal")
307 (synopsis "ANSI terminal support for Haskell")
308 (description "This package provides ANSI terminal support for Haskell. It
309allows cursor movement, screen clearing, color output showing or hiding the
310cursor, and changing the title.")
311 (license license:bsd-3)))
312
313(define-public ghc-ansi-wl-pprint
314 (package
315 (name "ghc-ansi-wl-pprint")
c38746eb 316 (version "0.6.9")
7b01a977
RV
317 (source
318 (origin
319 (method url-fetch)
320 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c 321 "ansi-wl-pprint/ansi-wl-pprint-"
7b01a977
RV
322 version ".tar.gz"))
323 (sha256
324 (base32
c38746eb 325 "1b2fg8px98dzbaqyns10kvs8kn6cl1hdq5wb9saz40izrpkyicm7"))))
7b01a977
RV
326 (build-system haskell-build-system)
327 (inputs
dddbc90c
RV
328 `(("ghc-ansi-terminal" ,ghc-ansi-terminal)))
329 (home-page "https://github.com/ekmett/ansi-wl-pprint")
330 (synopsis "Wadler/Leijen Pretty Printer for colored ANSI terminal output")
331 (description "This is a pretty printing library based on Wadler's paper
332\"A Prettier Printer\". It has been enhanced with support for ANSI terminal
333colored output using the ansi-terminal package.")
334 (license license:bsd-3)))
335
336(define-public ghc-appar
337 (package
338 (name "ghc-appar")
1159d1a5 339 (version "0.1.8")
dddbc90c
RV
340 (source
341 (origin
342 (method url-fetch)
343 (uri (string-append
344 "https://hackage.haskell.org/package/appar/appar-"
345 version
346 ".tar.gz"))
347 (sha256
348 (base32
1159d1a5 349 "07v3h766q9mnhphsm53718h1lds147ix7dj15kc5hnsj4vffvkn4"))))
dddbc90c
RV
350 (build-system haskell-build-system)
351 (home-page
352 "https://hackage.haskell.org/package/appar")
353 (synopsis "Simple applicative parser")
354 (description "This package provides a simple applicative parser in Parsec
355style.")
356 (license license:bsd-3)))
357
358(define-public ghc-async
359 (package
360 (name "ghc-async")
048ef066 361 (version "2.2.2")
dddbc90c
RV
362 (source
363 (origin
364 (method url-fetch)
365 (uri (string-append
366 "https://hackage.haskell.org/package/async/async-"
367 version
368 ".tar.gz"))
369 (sha256
370 (base32
048ef066 371 "1zxvfcyy4sg8lmzphi5dgnavksj5pav6rbvd5kc48lf4hanb2jjb"))))
dddbc90c
RV
372 (build-system haskell-build-system)
373 (inputs
374 `(("ghc-hashable" ,ghc-hashable)
375 ("ghc-hunit" ,ghc-hunit)
7b01a977
RV
376 ("ghc-test-framework" ,ghc-test-framework)
377 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
378 (home-page "https://github.com/simonmar/async")
379 (synopsis "Library to run IO operations asynchronously")
380 (description "Async provides a library to run IO operations
381asynchronously, and wait for their results. It is a higher-level interface
382over threads in Haskell, in which @code{Async a} is a concurrent thread that
383will eventually deliver a value of type @code{a}.")
7b01a977
RV
384 (license license:bsd-3)))
385
9ad9ec2e
AG
386(define-public ghc-atomic-primops
387 (package
388 (name "ghc-atomic-primops")
389 (version "0.8.2")
390 (source
391 (origin
392 (method url-fetch)
393 (uri (string-append "https://hackage.haskell.org/package/atomic-primops"
394 "/atomic-primops-" version ".tar.gz"))
395 (sha256
396 (base32
397 "0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37"))))
398 (build-system haskell-build-system)
399 (inputs `(("ghc-primitive" ,ghc-primitive)))
400 (home-page "https://github.com/rrnewton/haskell-lockfree/wiki")
401 (synopsis "Safe approach to CAS and other atomic ops")
402 (description
403 "GHC 7.4 introduced a new @code{casMutVar} PrimOp which is difficult to
404use safely, because pointer equality is a highly unstable property in Haskell.
405This library provides a safer method based on the concept of @code{Ticket}s.")
406 (license license:bsd-3)))
407
dddbc90c 408(define-public ghc-atomic-write
79fcc5e5 409 (package
dddbc90c 410 (name "ghc-atomic-write")
c09d1e62 411 (version "0.2.0.6")
79fcc5e5
RV
412 (source
413 (origin
414 (method url-fetch)
dddbc90c
RV
415 (uri (string-append
416 "https://hackage.haskell.org/package/atomic-write/atomic-write-"
417 version
418 ".tar.gz"))
79fcc5e5
RV
419 (sha256
420 (base32
c09d1e62 421 "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl"))))
dddbc90c
RV
422 (build-system haskell-build-system)
423 (inputs
424 `(("ghc-temporary" ,ghc-temporary)
425 ("ghc-unix-compat" ,ghc-unix-compat)))
426 (native-inputs
427 `(("ghc-temporary" ,ghc-temporary)
428 ("ghc-unix-compat" ,ghc-unix-compat)
429 ("ghc-hspec" ,ghc-hspec)
430 ("hspec-discover" ,hspec-discover)))
431 (home-page "https://github.com/stackbuilders/atomic-write")
432 (synopsis "Atomically write to a file")
433 (description
434 "Atomically write to a file on POSIX-compliant systems while preserving
435permissions. @code{mv} is an atomic operation. This makes it simple to write
436to a file atomically just by using the @code{mv} operation. However, this
437will destroy the permissions on the original file. This library preserves
438permissions while atomically writing to a file.")
439 (license license:expat)))
440
441(define-public ghc-attoparsec
442 (package
443 (name "ghc-attoparsec")
511c3204 444 (version "0.13.2.3")
dddbc90c
RV
445 (source
446 (origin
447 (method url-fetch)
448 (uri (string-append
449 "https://hackage.haskell.org/package/attoparsec/attoparsec-"
450 version
451 ".tar.gz"))
452 (sha256
453 (base32
511c3204 454 "1ngjn9h5n0vyki0m2jir4mg85875ysswy9hznpmj1r856mqwc6ix"))))
79fcc5e5 455 (build-system haskell-build-system)
79fcc5e5 456 (arguments
dddbc90c
RV
457 `(#:phases
458 (modify-phases %standard-phases
459 (add-after 'unpack 'patch-for-newer-quickcheck
460 (lambda _
461 (substitute* "attoparsec.cabal"
462 (("QuickCheck >= 2\\.7 && < 2\\.10")
463 "QuickCheck >= 2.7 && < 2.12"))
464 ;; This test fails because of the newer QuickCheck:
465 ;; <https://github.com/bos/attoparsec/issues/134>.
466 (substitute* "tests/QC/ByteString.hs"
467 ((", testProperty \"satisfyWith\" satisfyWith")
468 "")))))))
469 (inputs
470 `(("ghc-scientific" ,ghc-scientific)))
471 (native-inputs
472 `(("ghc-tasty" ,ghc-tasty)
473 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
474 ("ghc-quickcheck" ,ghc-quickcheck)
475 ("ghc-quickcheck-unicode" ,ghc-quickcheck-unicode)
476 ("ghc-vector" ,ghc-vector)))
477 (home-page "https://github.com/bos/attoparsec")
478 (synopsis "Fast combinator parsing for bytestrings and text")
479 (description "This library provides a fast parser combinator library,
480aimed particularly at dealing efficiently with network protocols and
481complicated text/binary file formats.")
79fcc5e5
RV
482 (license license:bsd-3)))
483
dddbc90c 484(define-public ghc-attoparsec-bootstrap
6b34d01c 485 (package
dddbc90c
RV
486 (inherit ghc-attoparsec)
487 (name "ghc-attoparsec-bootstrap")
488 (arguments `(#:tests? #f))
489 (inputs
490 `(("ghc-scientific" ,ghc-scientific-bootstrap)))
491 (native-inputs '())
799d8d3c 492 (properties '((hidden? #t)))))
dddbc90c
RV
493
494(define-public ghc-attoparsec-iso8601
495 (package
496 (name "ghc-attoparsec-iso8601")
97f267c8 497 (version "1.0.1.0")
6b34d01c
RV
498 (source
499 (origin
500 (method url-fetch)
501 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
502 "attoparsec-iso8601-" version "/"
503 "attoparsec-iso8601-" version ".tar.gz"))
6b34d01c
RV
504 (sha256
505 (base32
97f267c8 506 "0hj10w15qp2z5bz2v4xahhmbgzclpyfi5l2sv97wqycysg9gp7s9"))))
6b34d01c 507 (build-system haskell-build-system)
dddbc90c
RV
508 (arguments
509 `(#:cabal-revision
97f267c8 510 ("1" "1rjhscmczgs1bwyqx7lvkm8py3ylxjd2797mrzgnq60fvm292750")))
dddbc90c
RV
511 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
512 ("ghc-base-compat" ,ghc-base-compat)))
513 (home-page "https://github.com/bos/aeson")
514 (synopsis "Parse ISO 8601 dates")
515 (description "Haskell library for parsing of ISO 8601 dates, originally
516from aeson.")
6b34d01c 517 (license license:bsd-3)))
b57e99f5 518
dddbc90c 519(define-public ghc-auto-update
b57e99f5 520 (package
dddbc90c 521 (name "ghc-auto-update")
11b1b6cd 522 (version "0.1.6")
dddbc90c
RV
523 (source
524 (origin
525 (method url-fetch)
526 (uri (string-append
527 "https://hackage.haskell.org/package/auto-update/auto-update-"
528 version
529 ".tar.gz"))
530 (sha256
531 (base32
11b1b6cd 532 "1i36xc2i34aync8271x3pv515l3zb53i518dybn8ghqkhzf27q7l"))))
dddbc90c 533 (build-system haskell-build-system)
11b1b6cd
TS
534 (native-inputs
535 `(("ghc-hspec" ,ghc-hspec)
536 ("ghc-hunit" ,ghc-hunit)
537 ("ghc-retry" ,ghc-retry)
538 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
539 (home-page "https://github.com/yesodweb/wai")
540 (synopsis "Efficiently run periodic, on-demand actions")
541 (description "This library provides mechanisms to efficiently run
542periodic, on-demand actions in Haskell.")
543 (license license:expat)))
544
545(define-public ghc-aws
546 (package
547 (name "ghc-aws")
548 (version "0.20")
b57e99f5
RV
549 (source
550 (origin
551 (method url-fetch)
552 (uri (string-append "https://hackage.haskell.org/package/"
dddbc90c
RV
553 "aws-" version "/aws-" version ".tar.gz"))
554 (sha256 (base32
555 "0pwpabmypi1w8rni9qfwabgn95jks4h8dyw6889mn8xzsrhdhyf0"))))
556 (build-system haskell-build-system)
557 (arguments `(#:tests? #f)) ; Tests require AWS credentials.
558 (inputs
559 `(("ghc-aeson" ,ghc-aeson)
560 ("ghc-attoparsec" ,ghc-attoparsec)
561 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
562 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
563 ("ghc-blaze-builder" ,ghc-blaze-builder)
564 ("ghc-byteable" ,ghc-byteable)
565 ("ghc-case-insensitive" ,ghc-case-insensitive)
566 ("ghc-cereal" ,ghc-cereal)
567 ("ghc-conduit" ,ghc-conduit)
568 ("ghc-conduit-extra" ,ghc-conduit-extra)
569 ("ghc-cryptonite" ,ghc-cryptonite)
570 ("ghc-data-default" ,ghc-data-default)
571 ("ghc-http-conduit" ,ghc-http-conduit)
572 ("ghc-http-types" ,ghc-http-types)
573 ("ghc-lifted-base" ,ghc-lifted-base)
574 ("ghc-monad-control" ,ghc-monad-control)
575 ("ghc-network" ,ghc-network)
576 ("ghc-old-locale" ,ghc-old-locale)
577 ("ghc-safe" ,ghc-safe)
578 ("ghc-scientific" ,ghc-scientific)
579 ("ghc-tagged" ,ghc-tagged)
580 ("ghc-unordered-containers" ,ghc-unordered-containers)
581 ("ghc-utf8-string" ,ghc-utf8-string)
582 ("ghc-vector" ,ghc-vector)
583 ("ghc-xml-conduit" ,ghc-xml-conduit)))
584 (native-inputs
585 `(("ghc-quickcheck" ,ghc-quickcheck)
586 ("ghc-errors" ,ghc-errors)
587 ("ghc-http-client" ,ghc-http-client)
588 ("ghc-http-client-tls" ,ghc-http-client-tls)
589 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
590 ("ghc-tasty" ,ghc-tasty)
591 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
592 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
593 ("ghc-conduit-combinators" ,ghc-conduit-combinators)))
594 (home-page "https://github.com/aristidb/aws")
595 (synopsis "Amazon Web Services for Haskell")
596 (description "This package attempts to provide support for using
597Amazon Web Services like S3 (storage), SQS (queuing) and others to
598Haskell programmers. The ultimate goal is to support all Amazon
599Web Services.")
600 (license license:bsd-3)))
601
602(define-public ghc-base16-bytestring
603 (package
604 (name "ghc-base16-bytestring")
605 (version "0.1.1.6")
606 (source
607 (origin
608 (method url-fetch)
609 (uri (string-append
610 "https://hackage.haskell.org/package/base16-bytestring/"
611 "base16-bytestring-" version ".tar.gz"))
b57e99f5
RV
612 (sha256
613 (base32
dddbc90c 614 "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs"))))
b57e99f5 615 (build-system haskell-build-system)
dddbc90c
RV
616 (home-page "https://github.com/bos/base16-bytestring")
617 (synopsis "Fast base16 (hex) encoding and decoding for ByteStrings")
618 (description
619 "This package provides a Haskell library for working with base16-encoded
620data quickly and efficiently, using the ByteString type.")
b57e99f5 621 (license license:bsd-3)))
bbf8bf31 622
dddbc90c 623(define-public ghc-base64-bytestring
bbf8bf31 624 (package
dddbc90c
RV
625 (name "ghc-base64-bytestring")
626 (version "1.0.0.2")
bbf8bf31
RV
627 (source
628 (origin
629 (method url-fetch)
dddbc90c
RV
630 (uri (string-append
631 "https://hackage.haskell.org/package/base64-bytestring/base64-bytestring-"
632 version
633 ".tar.gz"))
634 (sha256
635 (base32 "13305brzlac24pifiqd5a2z10c6k6amhpdy9cc0z5ryrkgnm8dhr"))))
636 (build-system haskell-build-system)
637 (arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
638 (home-page "https://github.com/bos/base64-bytestring")
639 (synopsis "Base64 encoding and decoding for ByteStrings")
640 (description "This library provides fast base64 encoding and decoding for
641Haskell @code{ByteString}s.")
642 (license license:bsd-3)))
643
644(define-public ghc-base-compat
645 (package
646 (name "ghc-base-compat")
4daaa371 647 (version "0.10.5")
dddbc90c
RV
648 (source
649 (origin
650 (method url-fetch)
651 (uri (string-append
652 "https://hackage.haskell.org/package/base-compat/base-compat-"
653 version
654 ".tar.gz"))
bbf8bf31
RV
655 (sha256
656 (base32
4daaa371 657 "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr"))))
bbf8bf31
RV
658 (build-system haskell-build-system)
659 (native-inputs
dddbc90c
RV
660 `(("ghc-quickcheck" ,ghc-quickcheck)
661 ("ghc-hspec" ,ghc-hspec)
662 ("hspec-discover" ,hspec-discover)))
663 (home-page "https://hackage.haskell.org/package/base-compat")
664 (synopsis "Haskell compiler compatibility library")
665 (description "This library provides functions available in later versions
666of base to a wider range of compilers, without requiring the use of CPP
667pragmas in your code.")
668 (license license:bsd-3)))
669
f9d78c7f
TS
670(define-public ghc-base-compat-batteries
671 (package
672 (name "ghc-base-compat-batteries")
673 (version "0.10.5")
674 (source
675 (origin
676 (method url-fetch)
677 (uri (string-append "https://hackage.haskell.org/package/"
678 "base-compat-batteries/base-compat-batteries-"
679 version ".tar.gz"))
680 (sha256
681 (base32
682 "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p"))))
683 (build-system haskell-build-system)
684 (inputs
685 `(("ghc-base-compat" ,ghc-base-compat)))
686 (native-inputs
687 `(("ghc-hspec" ,ghc-hspec)
688 ("ghc-quickcheck" ,ghc-quickcheck)
689 ("hspec-discover" ,hspec-discover)))
690 (arguments
691 `(#:cabal-revision
692 ("1" "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp")))
693 (home-page "http://hackage.haskell.org/package/base-compat-batteries")
694 (synopsis "base-compat with extra batteries")
695 (description "This library provides functions available in later
696versions of @code{base} to a wider range of compilers, without requiring
697you to use CPP pragmas in your code. This package provides the same API
698as the @code{base-compat} library, but depends on compatibility
699packages (such as @code{semigroups}) to offer a wider support window
700than @code{base-compat}, which has no dependencies.")
701 (license license:expat)))
702
dddbc90c
RV
703(define-public ghc-basement
704 (package
705 (name "ghc-basement")
8b56c1fd 706 (version "0.0.11")
dddbc90c
RV
707 (source
708 (origin
709 (method url-fetch)
710 (uri (string-append "https://hackage.haskell.org/package/"
711 "basement/basement-" version ".tar.gz"))
712 (sha256
713 (base32
8b56c1fd 714 "0srlws74yiraqaapgcjd9p5d1fwb3zr9swcz74jpjm55fls2nn37"))))
dddbc90c
RV
715 (build-system haskell-build-system)
716 (home-page "https://github.com/haskell-foundation/foundation")
717 (synopsis "Basic primitives for Foundation starter pack")
718 (description
719 "This package contains basic primitives for the Foundation set of
720packages.")
721 (license license:bsd-3)))
722
723(define-public ghc-base-orphans
724 (package
725 (name "ghc-base-orphans")
780477fb 726 (version "0.8.1")
dddbc90c
RV
727 (source
728 (origin
729 (method url-fetch)
730 (uri (string-append
731 "https://hackage.haskell.org/package/base-orphans/base-orphans-"
732 version
733 ".tar.gz"))
734 (sha256
735 (base32
780477fb 736 "1nwr9av27i9p72k0sn96mw3ywdczw65dy5gd5wxpabhhxlxdcas4"))))
dddbc90c
RV
737 (build-system haskell-build-system)
738 (native-inputs
739 `(("ghc-quickcheck" ,ghc-quickcheck)
740 ("ghc-hspec" ,ghc-hspec)
741 ("hspec-discover" ,hspec-discover)))
742 (home-page "https://hackage.haskell.org/package/base-orphans")
743 (synopsis "Orphan instances for backwards compatibility")
744 (description "This package defines orphan instances that mimic instances
745available in later versions of base to a wider (older) range of compilers.")
746 (license license:bsd-3)))
747
748(define-public ghc-base-prelude
749 (package
750 (name "ghc-base-prelude")
751 (version "1.3")
752 (source
753 (origin
754 (method url-fetch)
755 (uri (string-append "https://hackage.haskell.org/package/"
756 "base-prelude-" version "/"
757 "base-prelude-" version ".tar.gz"))
758 (sha256
759 (base32
760 "1zk728sd09hh2r4xwz4lazsrrgg5cshydn64932sm0vckplndk73"))))
761 (build-system haskell-build-system)
762 (home-page "https://github.com/nikita-volkov/base-prelude")
763 (synopsis "The most complete prelude formed solely from the Haskell's base
764package")
765 (description "This Haskell package aims to reexport all the non-conflicting
766and most general definitions from the \"base\" package.
767
768This includes APIs for applicatives, arrows, monoids, foldables, traversables,
769exceptions, generics, ST, MVars and STM.
770
771This package will never have any dependencies other than \"base\".
772
773Versioning policy:
774
775The versioning policy of this package deviates from PVP in the sense
776that its exports in part are transitively determined by the version of \"base\".
777Therefore it's recommended for the users of @code{ghc-base-prelude} to specify
778the bounds of \"base\" as well.")
779 (license license:expat)))
780
781(define-public ghc-base-unicode-symbols
782 (package
783 (name "ghc-base-unicode-symbols")
784 (version "0.2.3")
785 (source
786 (origin
787 (method url-fetch)
788 (uri (string-append
789 "mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
790 version
791 ".tar.gz"))
792 (sha256
793 (base32
794 "1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
795 (build-system haskell-build-system)
796 (home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
797 (synopsis "Unicode alternatives for common functions and operators")
798 (description "This package defines new symbols for a number of functions,
799operators and types in the base package. All symbols are documented with
800their actual definition and information regarding their Unicode code point.
801They should be completely interchangeable with their definitions. For
802further Unicode goodness you can enable the @code{UnicodeSyntax}
803@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
804language extension}. This extension enables Unicode characters to be used to
805stand for certain ASCII character sequences, i.e. → instead of @code{->},
806∀ instead of @code{forall} and many others.")
807 (license license:bsd-3)))
808
809(define-public ghc-bifunctors
810 (package
811 (name "ghc-bifunctors")
0beaec66 812 (version "5.5.5")
dddbc90c
RV
813 (source
814 (origin
815 (method url-fetch)
816 (uri (string-append
817 "https://hackage.haskell.org/package/bifunctors/bifunctors-"
818 version
819 ".tar.gz"))
820 (sha256
821 (base32
0beaec66 822 "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb"))))
dddbc90c
RV
823 (build-system haskell-build-system)
824 (inputs
825 `(("ghc-base-orphans" ,ghc-base-orphans)
826 ("ghc-comonad" ,ghc-comonad)
827 ("ghc-th-abstraction" ,ghc-th-abstraction)
828 ("ghc-transformers-compat" ,ghc-transformers-compat)
829 ("ghc-tagged" ,ghc-tagged)
830 ("ghc-semigroups" ,ghc-semigroups)))
831 (native-inputs
832 `(("ghc-hspec" ,ghc-hspec)
833 ("hspec-discover" ,hspec-discover)
834 ("ghc-quickcheck" ,ghc-quickcheck)))
835 (home-page "https://github.com/ekmett/bifunctors/")
836 (synopsis "Bifunctors for Haskell")
837 (description "This package provides bifunctors for Haskell.")
838 (license license:bsd-3)))
839
840(define-public ghc-bindings-dsl
841 (package
842 (name "ghc-bindings-dsl")
843 (version "1.0.25")
844 (source
845 (origin
846 (method url-fetch)
847 (uri (string-append "https://hackage.haskell.org/package/bindings-DSL/"
848 "bindings-DSL-" version ".tar.gz"))
849 (sha256
850 (base32
851 "0kqrd78nspl3lk4a0fqn47d8dirjg3b24dkvkigcrlb81hw35pk3"))))
852 (build-system haskell-build-system)
853 (home-page "https://github.com/jwiegley/bindings-dsl/wiki")
854 (synopsis "FFI domain specific language, on top of hsc2hs")
855 (description
856 "This is a set of macros to be used when writing Haskell FFI. They were
857designed to be able to fully describe C interfaces, so that @code{hsc2hs} can
858extract from them all Haskell code needed to mimic such interfaces. All
859Haskell names used are automatically derived from C names, structures are
860mapped to Haskell instances of @code{Storable}, and there are also macros you
861can use with C code to help write bindings to inline functions or macro
862functions.")
863 (license license:bsd-3)))
864
865(define-public ghc-blaze-builder
866 (package
867 (name "ghc-blaze-builder")
868 (version "0.4.1.0")
869 (source
870 (origin
871 (method url-fetch)
872 (uri (string-append
873 "https://hackage.haskell.org/package/blaze-builder/blaze-builder-"
874 version
875 ".tar.gz"))
876 (sha256
877 (base32
878 "05681dih2d8s96an945wkbwl05w8ddbcfx8n3r3ck79ydyb8pz4i"))))
879 (build-system haskell-build-system)
880 (arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
881 (inputs
882 `(("ghc-utf8-string" ,ghc-utf8-string)))
883 (home-page "https://github.com/lpsmith/blaze-builder")
884 (synopsis "Efficient buffered output")
885 (description "This library provides an implementation of the older
886@code{blaze-builder} interface in terms of the new builder that shipped with
887@code{bytestring-0.10.4.0}. This implementation is mostly intended as a
888bridge to the new builder, so that code that uses the old interface can
889interoperate with code that uses the new implementation.")
890 (license license:bsd-3)))
891
892(define-public ghc-blaze-markup
893 (package
894 (name "ghc-blaze-markup")
7d30fcf3 895 (version "0.8.2.3")
dddbc90c
RV
896 (source
897 (origin
898 (method url-fetch)
899 (uri (string-append "https://hackage.haskell.org/package/"
900 "blaze-markup/blaze-markup-"
901 version ".tar.gz"))
902 (sha256
903 (base32
7d30fcf3 904 "1g9m7ansj7fdyzhz1wqkbzn5amjm50vjgjdwkbjc5qqhagnv1y3j"))))
dddbc90c
RV
905 (build-system haskell-build-system)
906 (arguments
907 `(#:phases
908 (modify-phases %standard-phases
909 (add-before 'configure 'update-constraints
910 (lambda _
911 (substitute* "blaze-markup.cabal"
912 (("tasty >= 1\\.0 && < 1\\.1")
913 "tasty >= 1.0 && < 1.2")))))))
914 (inputs
915 `(("ghc-blaze-builder" ,ghc-blaze-builder)))
916 (native-inputs
917 `(("ghc-hunit" ,ghc-hunit)
918 ("ghc-quickcheck" ,ghc-quickcheck)
919 ("ghc-tasty" ,ghc-tasty)
920 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
921 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
922 (home-page "https://jaspervdj.be/blaze")
923 (synopsis "Fast markup combinator library for Haskell")
924 (description "This library provides core modules of a markup combinator
925library for Haskell.")
926 (license license:bsd-3)))
927
928(define-public ghc-bloomfilter
929 (package
930 (name "ghc-bloomfilter")
931 (version "2.0.1.0")
932 (source
933 (origin
934 (method url-fetch)
935 (uri (string-append "https://hackage.haskell.org/package/"
936 "bloomfilter/bloomfilter-" version ".tar.gz"))
937 (sha256
938 (base32
939 "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc"))))
940 (build-system haskell-build-system)
941 (native-inputs
942 `(("ghc-quickcheck" ,ghc-quickcheck)
943 ("ghc-random" ,ghc-random)
944 ("ghc-test-framework" ,ghc-test-framework)
945 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
946 (home-page "https://github.com/bos/bloomfilter")
947 (synopsis "Pure and impure Bloom filter implementations")
948 (description "This package provides both mutable and immutable Bloom
949filter data types, along with a family of hash functions and an easy-to-use
950interface.")
951 (license license:bsd-3)))
952
953(define-public ghc-boxes
954 (package
955 (name "ghc-boxes")
956 (version "0.1.5")
957 (source
958 (origin
959 (method url-fetch)
960 (uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
961 version ".tar.gz"))
962 (sha256
963 (base32 "1hsnmw95i58d4bkpxby3ddsj1cawypw4mdyb18m393s5i8p7iq9q"))))
964 (build-system haskell-build-system)
965 (inputs
966 `(("ghc-split" ,ghc-split)
967 ("ghc-quickcheck" ,ghc-quickcheck)))
968 (home-page "https://hackage.haskell.org/package/boxes")
969 (synopsis "2D text pretty-printing library")
970 (description
971 "Boxes is a pretty-printing library for laying out text in two dimensions,
972using a simple box model.")
973 (license license:bsd-3)))
974
975(define-public ghc-byteable
976 (package
977 (name "ghc-byteable")
978 (version "0.1.1")
979 (source (origin
980 (method url-fetch)
981 (uri (string-append "https://hackage.haskell.org/package/"
982 "byteable/byteable-" version ".tar.gz"))
983 (sha256
984 (base32
985 "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4"))))
986 (build-system haskell-build-system)
987 (home-page "https://github.com/vincenthz/hs-byteable")
988 (synopsis "Type class for sequence of bytes")
989 (description
990 "This package provides an abstract class to manipulate sequence of bytes.
991The use case of this class is abstracting manipulation of types that are just
992wrapping a bytestring with stronger and more meaniful name.")
993 (license license:bsd-3)))
994
995(define-public ghc-byteorder
996 (package
997 (name "ghc-byteorder")
998 (version "1.0.4")
999 (source
1000 (origin
1001 (method url-fetch)
1002 (uri (string-append
1003 "https://hackage.haskell.org/package/byteorder/byteorder-"
1004 version
1005 ".tar.gz"))
1006 (sha256
1007 (base32
1008 "06995paxbxk8lldvarqpb3ygcjbg4v8dk4scib1rjzwlhssvn85x"))))
1009 (build-system haskell-build-system)
1010 (home-page
1011 "http://community.haskell.org/~aslatter/code/byteorder")
1012 (synopsis
1013 "Exposes the native endianness of the system")
1014 (description
1015 "This package is for working with the native byte-ordering of the
1016system.")
1017 (license license:bsd-3)))
1018
1019(define-public ghc-bytes
1020 (package
1021 (name "ghc-bytes")
1022 (version "0.15.5")
1023 (source
1024 (origin
1025 (method url-fetch)
1026 (uri
1027 (string-append "https://hackage.haskell.org/package/bytes-"
1028 version "/bytes-"
1029 version ".tar.gz"))
1030 (file-name (string-append name "-" version ".tar.gz"))
1031 (sha256
1032 (base32
1033 "063il2vrn0p88r9gzndh4ijs0mxj37khkc9ym9bqdsv7ngk3b683"))))
1034 (build-system haskell-build-system)
1035 (inputs `(("ghc-cereal" ,ghc-cereal)
1036 ("cabal-doctest" ,cabal-doctest)
1037 ("ghc-doctest" ,ghc-doctest)
1038 ("ghc-scientific" ,ghc-scientific)
1039 ("ghc-transformers-compat" ,ghc-transformers-compat)
1040 ("ghc-unordered-containers" ,ghc-unordered-containers)
1041 ("ghc-void" ,ghc-void)
1042 ("ghc-vector" ,ghc-vector)))
1043 (synopsis "Serialization between @code{binary} and @code{cereal}")
1044 (description "This package provides a simple compatibility shim that lets
1045you work with both @code{binary} and @code{cereal} with one chunk of
1046serialization code.")
1047 (home-page "https://hackage.haskell.org/package/bytes")
1048 (license license:bsd-3)))
1049
1050(define-public ghc-bytestring-builder
1051 (package
1052 (name "ghc-bytestring-builder")
13ac8a7f 1053 (version "0.10.8.2.0")
dddbc90c
RV
1054 (source
1055 (origin
1056 (method url-fetch)
1057 (uri (string-append
1058 "https://hackage.haskell.org/package/bytestring-builder"
1059 "/bytestring-builder-" version ".tar.gz"))
1060 (sha256
1061 (base32
13ac8a7f 1062 "0grcrgwwwcvwrs9az7l4d3kf0lsqfa9qpmjzf6iyanvwn9nyzyi7"))))
dddbc90c
RV
1063 (build-system haskell-build-system)
1064 (arguments `(#:haddock? #f)) ; Package contains no documentation.
1065 (home-page "https://hackage.haskell.org/package/bytestring-builder")
1066 (synopsis "The new bytestring builder, packaged outside of GHC")
1067 (description "This package provides the bytestring builder that is
1068debuting in bytestring-0.10.4.0, which should be shipping with GHC 7.8.
1069Compatibility package for older packages.")
1070 (license license:bsd-3)))
1071
1072(define-public ghc-bytestring-handle
1073 (package
1074 (name "ghc-bytestring-handle")
1075 (version "0.1.0.6")
1076 (source
1077 (origin
1078 (method url-fetch)
1079 (uri (string-append
1080 "https://hackage.haskell.org/package/bytestring-handle/bytestring-handle-"
1081 version ".tar.gz"))
1082 (sha256
1083 (base32
1084 "18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
1085 (build-system haskell-build-system)
1086 (arguments
853748c4
TS
1087 `(#:cabal-revision
1088 ("1" "0x11aj6w1lijh84jcdq1qgyvdnc7i9ivbyq4wf9rxicg57viisz9")
1089 #:phases
dddbc90c
RV
1090 (modify-phases %standard-phases
1091 (add-before 'configure 'update-constraints
1092 (lambda _
1093 (substitute* "bytestring-handle.cabal"
1094 (("QuickCheck >= 2\\.1\\.2 && < 2\\.11")
853748c4 1095 "QuickCheck >= 2.1.2 && < 2.14")))))))
dddbc90c
RV
1096 (inputs
1097 `(("ghc-hunit" ,ghc-hunit)
1098 ("ghc-quickcheck" ,ghc-quickcheck)
1099 ("ghc-test-framework" ,ghc-test-framework)
1100 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1101 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1102 (home-page "https://hub.darcs.net/ganesh/bytestring-handle")
1103 (synopsis "ByteString-backed Handles")
1104 (description "ByteString-backed Handles") ; There is no description
1105 (license license:bsd-3)))
1106
1107(define-public ghc-bytestring-lexing
1108 (package
1109 (name "ghc-bytestring-lexing")
1110 (version "0.5.0.2")
1111 (source
1112 (origin
1113 (method url-fetch)
1114 (uri (string-append "https://hackage.haskell.org/package/"
1115 "bytestring-lexing/bytestring-lexing-"
1116 version ".tar.gz"))
1117 (sha256
1118 (base32
1119 "0wrzniawhgpphc6yx1v972gyqxdbv0pizaz9bafahrshyb9svy81"))))
1120 (build-system haskell-build-system)
1121 (home-page "http://code.haskell.org/~wren/")
1122 (synopsis "Parse and produce literals from strict or lazy bytestrings")
1123 (description
1124 "This package provides tools to parse and produce literals efficiently
1125from strict or lazy bytestrings.")
1126 (license license:bsd-2)))
1127
1128(define-public ghc-bzlib-conduit
1129 (package
1130 (name "ghc-bzlib-conduit")
1131 (version "0.3.0.1")
1132 (source
1133 (origin
1134 (method url-fetch)
1135 (uri (string-append "https://hackage.haskell.org/package/bzlib-conduit/"
1136 "bzlib-conduit-" version ".tar.gz"))
1137 (sha256
1138 (base32
1139 "0fd2hnr782s7qgipazg2yxwia9qqhkvm9bcm90773c3zkxa13n23"))))
1140 (build-system haskell-build-system)
1141 (inputs
1142 `(("ghc-bindings-dsl" ,ghc-bindings-dsl)
1143 ("ghc-conduit" ,ghc-conduit)
1144 ("ghc-data-default-class" ,ghc-data-default-class)
1145 ("ghc-resourcet" ,ghc-resourcet)))
1146 (native-inputs
1147 `(("ghc-hspec" ,ghc-hspec)
1148 ("ghc-random" ,ghc-random)))
1149 (home-page "https://github.com/snoyberg/bzlib-conduit")
1150 (synopsis "Streaming compression/decompression via conduits")
1151 (description
1152 "This package provides Haskell bindings to bzlib and Conduit support for
1153streaming compression and decompression.")
1154 (license license:bsd-3)))
1155
1156(define-public ghc-c2hs
1157 (package
1158 (name "ghc-c2hs")
1159 (version "0.28.6")
1160 (source
1161 (origin
1162 (method url-fetch)
1163 (uri (string-append
1164 "https://hackage.haskell.org/package/c2hs/c2hs-"
1165 version
1166 ".tar.gz"))
1167 (sha256
1168 (base32
1169 "1nplgxfin139x12sb656f5870rpdclrhzi8mq8pry035qld15pci"))))
1170 (build-system haskell-build-system)
1171 (inputs
1172 `(("ghc-language-c" ,ghc-language-c)
1173 ("ghc-dlist" ,ghc-dlist)))
1174 (native-inputs
1175 `(("ghc-test-framework" ,ghc-test-framework)
1176 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
1177 ("ghc-hunit" ,ghc-hunit)
1178 ("ghc-shelly" ,ghc-shelly)
1179 ("gcc" ,gcc)))
1180 (arguments
1181 `(;; XXX: Test failures are induced by a parse error in <bits/floatn.h>
1182 ;; of glibc 2.28.
1183 #:tests? #f
1184
1185 #:phases
1186 (modify-phases %standard-phases
1187 (add-before 'check 'set-cc
1188 ;; add a cc executable in the path, needed for some tests to pass
1189 (lambda* (#:key inputs #:allow-other-keys)
1190 (let ((gcc (assoc-ref inputs "gcc"))
1191 (tmpbin (tmpnam))
1192 (curpath (getenv "PATH")))
1193 (mkdir-p tmpbin)
1194 (symlink (which "gcc") (string-append tmpbin "/cc"))
1195 (setenv "PATH" (string-append tmpbin ":" curpath)))
1196 #t))
1197 (add-after 'check 'remove-cc
1198 ;; clean the tmp dir made in 'set-cc
1199 (lambda _
1200 (let* ((cc-path (which "cc"))
1201 (cc-dir (dirname cc-path)))
1202 (delete-file-recursively cc-dir)
1203 #t))))))
1204 (home-page "https://github.com/haskell/c2hs")
1205 (synopsis "Create Haskell bindings to C libraries")
1206 (description "C->Haskell assists in the development of Haskell bindings to
1207C libraries. It extracts interface information from C header files and
1208generates Haskell code with foreign imports and marshaling. Unlike writing
1209foreign imports by hand (or using hsc2hs), this ensures that C functions are
1210imported with the correct Haskell types.")
1211 (license license:gpl2)))
1212
1213(define-public ghc-cairo
1214 (package
1215 (name "ghc-cairo")
1216 (version "0.13.5.0")
1217 (source
1218 (origin
1219 (method url-fetch)
1220 (uri (string-append "https://hackage.haskell.org/package/cairo/"
1221 "cairo-" version ".tar.gz"))
1222 (sha256
1223 (base32
1224 "1wxylv4d8120ri0vgar168ikqa9m6533ipdwi38qlmxmw20ws2j2"))))
1225 (build-system haskell-build-system)
1226 (arguments
1227 `(#:modules ((guix build haskell-build-system)
1228 (guix build utils)
1229 (ice-9 match)
1230 (srfi srfi-26))
1231 #:phases
1232 (modify-phases %standard-phases
1233 ;; FIXME: This is a copy of the standard configure phase with a tiny
1234 ;; difference: this package needs the -package-db flag to be passed
1235 ;; to "runhaskell" in addition to the "configure" action, because it
1236 ;; depends on gtk2hs-buildtools, which provide setup hooks. Without
1237 ;; this option the Setup.hs file cannot be evaluated. The
1238 ;; haskell-build-system should be changed to pass "-package-db" to
1239 ;; "runhaskell" in any case.
1240 (replace 'configure
1241 (lambda* (#:key outputs inputs tests? (configure-flags '())
1242 #:allow-other-keys)
1243 (let* ((out (assoc-ref outputs "out"))
1244 (name-version (strip-store-file-name out))
1245 (input-dirs (match inputs
1246 (((_ . dir) ...)
1247 dir)
1248 (_ '())))
1249 (ghc-path (getenv "GHC_PACKAGE_PATH"))
1250 (params (append `(,(string-append "--prefix=" out))
1251 `(,(string-append "--libdir=" out "/lib"))
1252 `(,(string-append "--bindir=" out "/bin"))
1253 `(,(string-append
1254 "--docdir=" out
1255 "/share/doc/" name-version))
1256 '("--libsubdir=$compiler/$pkg-$version")
1257 '("--package-db=../package.conf.d")
1258 '("--global")
1259 `(,@(map
1260 (cut string-append "--extra-include-dirs=" <>)
1261 (search-path-as-list '("include") input-dirs)))
1262 `(,@(map
1263 (cut string-append "--extra-lib-dirs=" <>)
1264 (search-path-as-list '("lib") input-dirs)))
1265 (if tests?
1266 '("--enable-tests")
1267 '())
1268 configure-flags)))
1269 (unsetenv "GHC_PACKAGE_PATH")
1270 (apply invoke "runhaskell" "-package-db=../package.conf.d"
1271 "Setup.hs" "configure" params)
1272 (setenv "GHC_PACKAGE_PATH" ghc-path)
1273 #t))))))
1274 (inputs
1275 `(("ghc-utf8-string" ,ghc-utf8-string)
1276 ("cairo" ,cairo)))
1277 (native-inputs
1278 `(("ghc-gtk2hs-buildtools" ,ghc-gtk2hs-buildtools)
1279 ("pkg-config" ,pkg-config)))
1280 (home-page "http://projects.haskell.org/gtk2hs/")
1281 (synopsis "Haskell bindings to the Cairo vector graphics library")
1282 (description
1283 "Cairo is a library to render high quality vector graphics. There exist
1284various backends that allows rendering to Gtk windows, PDF, PS, PNG and SVG
1285documents, amongst others.")
1286 (license license:bsd-3)))
1287
1288(define-public ghc-call-stack
1289 (package
1290 (name "ghc-call-stack")
1291 (version "0.1.0")
1292 (source
1293 (origin
1294 (method url-fetch)
1295 (uri (string-append "https://hackage.haskell.org/package/"
1296 "call-stack/call-stack-"
1297 version ".tar.gz"))
1298 (sha256
1299 (base32
1300 "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj"))))
1301 (build-system haskell-build-system)
1302 (inputs `(("ghc-nanospec" ,ghc-nanospec)))
1303 (home-page "https://github.com/sol/call-stack#readme")
1304 (synopsis "Use GHC call-stacks in a backward compatible way")
1305 (description "This package provides a compatibility layer for using GHC
1306call stacks with different versions of the compiler.")
1307 (license license:expat)))
1308
1309;; This is used as an input to ghc-hunit. We cannot use ghc-call-stack there,
1310;; because it depends on ghc-nanospec, which depends on ghc-hunit.
1311(define-public ghc-call-stack-boot
1312 (hidden-package
1313 (package
1314 (inherit ghc-call-stack)
1315 (arguments '(#:tests? #f))
1316 (inputs '()))))
1317
1318(define-public ghc-case-insensitive
1319 (package
1320 (name "ghc-case-insensitive")
1321 (version "1.2.0.11")
1322 (outputs '("out" "doc"))
1323 (source
1324 (origin
1325 (method url-fetch)
1326 (uri (string-append
1327 "https://hackage.haskell.org/package/case-insensitive/case-insensitive-"
1328 version
1329 ".tar.gz"))
1330 (sha256
1331 (base32
1332 "1qrpxfirsxckg7jv28f5ah2qc8lh95hp7rnqkbqs1ahcwlbnvkm7"))))
1333 (build-system haskell-build-system)
1334 ;; these inputs are necessary to use this library
1335 (inputs
1336 `(("ghc-hashable" ,ghc-hashable)))
1337 (arguments
1338 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
1339 (home-page
1340 "https://github.com/basvandijk/case-insensitive")
1341 (synopsis "Case insensitive string comparison")
1342 (description
1343 "The module @code{Data.CaseInsensitive} provides the @code{CI} type
1344constructor which can be parameterised by a string-like type like:
1345@code{String}, @code{ByteString}, @code{Text}, etc. Comparisons of values of
1346the resulting type will be insensitive to cases.")
1347 (license license:bsd-3)))
1348
1349(define-public ghc-cereal
1350 (package
1351 (name "ghc-cereal")
bd95427e 1352 (version "0.5.8.1")
dddbc90c
RV
1353 (source
1354 (origin
1355 (method url-fetch)
1356 (uri (string-append
1357 "https://hackage.haskell.org/package/cereal/cereal-"
1358 version
1359 ".tar.gz"))
1360 (sha256
1361 (base32
bd95427e 1362 "1mqvd1iwzr50az4y24332x3g3wsrzw8j1iwph02vr7jbjfn8i7id"))))
dddbc90c
RV
1363 (build-system haskell-build-system)
1364 (native-inputs
1365 `(("ghc-quickcheck" ,ghc-quickcheck)
1366 ("ghc-fail" ,ghc-fail)
1367 ("ghc-test-framework" ,ghc-test-framework)
1368 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
1369 (home-page "https://hackage.haskell.org/package/cereal")
1370 (synopsis "Binary serialization library")
1371 (description "This package provides a binary serialization library,
1372similar to @code{binary}, that introduces an @code{isolate} primitive for
1373parser isolation, and labeled blocks for better error messages.")
1374 (license license:bsd-3)))
1375
1376(define-public ghc-cereal-conduit
1377 (package
1378 (name "ghc-cereal-conduit")
1379 (version "0.8.0")
1380 (source
1381 (origin
1382 (method url-fetch)
1383 (uri (string-append "https://hackage.haskell.org/package/"
1384 "cereal-conduit/cereal-conduit-"
1385 version ".tar.gz"))
1386 (sha256
1387 (base32
1388 "1srr7agvgfw78q5s1npjq5sgynvhjgllpihiv37ylkwqm4c4ap6r"))))
1389 (build-system haskell-build-system)
1390 (inputs
1391 `(("ghc-conduit" ,ghc-conduit)
1392 ("ghc-resourcet" ,ghc-resourcet)
1393 ("ghc-cereal" ,ghc-cereal)))
1394 (native-inputs
1395 `(("ghc-hunit" ,ghc-hunit)))
1396 (home-page "https://github.com/snoyberg/conduit")
1397 (synopsis "Turn Data.Serialize Gets and Puts into Sources, Sinks, and Conduits")
1398 (description
1399 "This package turn @code{Data.Serialize} @code{Gets} and @code{Puts} into
1400@code{Sources}, @code{Sinks}, and @code{Conduits}.")
1401 (license license:bsd-3)))
1402
1403(define-public ghc-cgi
1404 (package
1405 (name "ghc-cgi")
b6b2c218 1406 (version "3001.4.0.0")
dddbc90c
RV
1407 (source
1408 (origin
1409 (method url-fetch)
1410 (uri (string-append
1411 "https://hackage.haskell.org/package/cgi/cgi-"
1412 version
1413 ".tar.gz"))
1414 (sha256
1415 (base32
b6b2c218 1416 "1d0nh5ymkqskkp4yn0gfz4mff8i0cxyw1wws8xxp6k1mg1ywa25k"))))
dddbc90c 1417 (build-system haskell-build-system)
dddbc90c
RV
1418 (inputs
1419 `(("ghc-exceptions" ,ghc-exceptions)
1420 ("ghc-multipart" ,ghc-multipart)
1421 ("ghc-network-uri" ,ghc-network-uri)
1422 ("ghc-network" ,ghc-network)))
1423 (native-inputs
1424 `(("ghc-doctest" ,ghc-doctest)
1425 ("ghc-quickcheck" ,ghc-quickcheck)))
1426 (home-page
1427 "https://github.com/cheecheeo/haskell-cgi")
1428 (synopsis "Library for writing CGI programs")
1429 (description
1430 "This is a Haskell library for writing CGI programs.")
1431 (license license:bsd-3)))
1432
1433(define-public ghc-charset
1434 (package
1435 (name "ghc-charset")
1436 (version "0.3.7.1")
1437 (source
1438 (origin
1439 (method url-fetch)
1440 (uri (string-append
1441 "https://hackage.haskell.org/package/charset/charset-"
1442 version
1443 ".tar.gz"))
1444 (sha256
1445 (base32
1446 "1gn0m96qpjww8hpp2g1as5yy0wcwy4iq73h3kz6g0yxxhcl5sh9x"))))
1447 (build-system haskell-build-system)
35ee173c
TS
1448 (arguments
1449 `(#:cabal-revision
1450 ("1" "1z6nxw2g9vgsjq0g159sk8mwj68lwzxzi5iv5ynha0h85jcqxszy")))
dddbc90c
RV
1451 (inputs
1452 `(("ghc-semigroups" ,ghc-semigroups)
1453 ("ghc-unordered-containers" ,ghc-unordered-containers)))
1454 (home-page "https://github.com/ekmett/charset")
1455 (synopsis "Fast unicode character sets for Haskell")
1456 (description "This package provides fast unicode character sets for
1457Haskell, based on complemented PATRICIA tries.")
1458 (license license:bsd-3)))
1459
1460(define-public ghc-chart
1461 (package
1462 (name "ghc-chart")
1463 (version "1.9")
1464 (source
1465 (origin
1466 (method url-fetch)
1467 (uri (string-append "https://hackage.haskell.org/package/Chart/"
1468 "Chart-" version ".tar.gz"))
1469 (sha256
1470 (base32
1471 "1f5azj17y8xsb3gjhf7gg1gnnlq12rxkmfjmgcly314d7vghs05z"))))
1472 (build-system haskell-build-system)
1473 (inputs
1474 `(("ghc-old-locale" ,ghc-old-locale)
1475 ("ghc-lens" ,ghc-lens)
1476 ("ghc-colour" ,ghc-colour)
1477 ("ghc-data-default-class" ,ghc-data-default-class)
1478 ("ghc-operational" ,ghc-operational)
1479 ("ghc-vector" ,ghc-vector)))
1480 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1481 (synopsis "Library for generating 2D charts and plots")
1482 (description
1483 "This package provides a library for generating 2D charts and plots, with
1484backends provided by the @code{Cairo} and @code{Diagrams} libraries.")
1485 (license license:bsd-3)))
1486
1487(define-public ghc-chart-cairo
1488 (package
1489 (name "ghc-chart-cairo")
1490 (version "1.9")
1491 (source
1492 (origin
1493 (method url-fetch)
1494 (uri (string-append "https://hackage.haskell.org/package/Chart-cairo/"
1495 "Chart-cairo-" version ".tar.gz"))
1496 (sha256
1497 (base32
1498 "0iany6lfyfb1cw0pxfs5aw5k0a6x41m6ql9ad9w59biwdckbsyqr"))))
1499 (build-system haskell-build-system)
1500 (inputs
1501 `(("ghc-old-locale" ,ghc-old-locale)
1502 ("ghc-cairo" ,ghc-cairo)
1503 ("ghc-colour" ,ghc-colour)
1504 ("ghc-data-default-class" ,ghc-data-default-class)
1505 ("ghc-operational" ,ghc-operational)
1506 ("ghc-lens" ,ghc-lens)
1507 ("ghc-chart" ,ghc-chart)))
1508 (home-page "https://github.com/timbod7/haskell-chart/wiki")
1509 (synopsis "Cairo backend for Charts")
1510 (description "This package provides a Cairo vector graphics rendering
1511backend for the Charts library.")
1512 (license license:bsd-3)))
1513
1514(define-public ghc-chasingbottoms
1515 (package
1516 (name "ghc-chasingbottoms")
1f67853e 1517 (version "1.3.1.7")
dddbc90c
RV
1518 (source
1519 (origin
1520 (method url-fetch)
1521 (uri (string-append "https://hackage.haskell.org/package/ChasingBottoms/"
1522 "ChasingBottoms-" version ".tar.gz"))
1523 (sha256
1524 (base32
1f67853e 1525 "0ziiqfsvv1ypdra6kd0bhbsl852i0wqn43jkfii38yl879cdacan"))))
dddbc90c
RV
1526 (build-system haskell-build-system)
1527 (inputs
1528 `(("ghc-quickcheck" ,ghc-quickcheck)
1529 ("ghc-random" ,ghc-random)
1530 ("ghc-syb" ,ghc-syb)))
1531 (home-page "https://hackage.haskell.org/package/ChasingBottoms")
1532 (synopsis "Testing of partial and infinite values in Haskell")
1533 (description
1534 ;; FIXME: There should be a @comma{} in the uref text, but it is not
1535 ;; rendered properly.
1536 "This is a library for testing code involving bottoms or infinite values.
1537For the underlying theory and a larger example involving use of QuickCheck,
1538see the article
1539@uref{http://www.cse.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html,
1540\"Chasing Bottoms A Case Study in Program Verification in the Presence of
1541Partial and Infinite Values\"}.")
1542 (license license:expat)))
1543
1544(define-public ghc-cheapskate
1545 (package
1546 (name "ghc-cheapskate")
5e18bb9e 1547 (version "0.1.1.1")
dddbc90c
RV
1548 (source
1549 (origin
1550 (method url-fetch)
1551 (uri (string-append
1552 "https://hackage.haskell.org/package/cheapskate/cheapskate-"
1553 version
1554 ".tar.gz"))
1555 (sha256
1556 (base32
5e18bb9e 1557 "0qnyd8bni2rby6b02ff4bvfdhm1hwc8vzpmnms84jgrlg1lly3fm"))))
dddbc90c
RV
1558 (build-system haskell-build-system)
1559 (inputs
1560 `(("ghc-blaze-html" ,ghc-blaze-html)
1561 ("ghc-xss-sanitize" ,ghc-xss-sanitize)
1562 ("ghc-data-default" ,ghc-data-default)
1563 ("ghc-syb" ,ghc-syb)
1564 ("ghc-uniplate" ,ghc-uniplate)))
1565 (home-page "https://github.com/jgm/cheapskate")
1566 (synopsis "Experimental markdown processor")
1567 (description "Cheapskate is an experimental Markdown processor in pure
1568Haskell. It aims to process Markdown efficiently and in the most forgiving
1569possible way. It is designed to deal with any input, including garbage, with
1570linear performance. Output is sanitized by default for protection against
1571cross-site scripting (@dfn{XSS}) attacks.")
1572 (license license:bsd-3)))
1573
1574(define-public ghc-chell
1575 (package
1576 (name "ghc-chell")
acdd03be 1577 (version "0.5")
dddbc90c
RV
1578 (source
1579 (origin
1580 (method url-fetch)
1581 (uri (string-append
1582 "https://hackage.haskell.org/package/chell/chell-"
1583 version ".tar.gz"))
1584 (sha256
1585 (base32
acdd03be 1586 "1i845isfbk0yq852am9bqmxfpfkpnlha8nfidffsv4gw2p8gg6fg"))))
dddbc90c 1587 (build-system haskell-build-system)
acdd03be
TS
1588 (arguments
1589 `(#:cabal-revision
1590 ("1" "1q93wrw03ix4cmnkz3lzkixcvvizw6i2ia2zifdfak1dvxnblxk0")))
dddbc90c
RV
1591 (inputs
1592 `(("ghc-options-bootstrap" ,ghc-options-bootstrap)
1593 ("ghc-patience" ,ghc-patience)
1594 ("ghc-random" ,ghc-random)
1595 ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
1596 (home-page "https://john-millikin.com/software/chell/")
1597 (synopsis "Simple and intuitive library for automated testing")
1598 (description
1599 "Chell is a simple and intuitive library for automated testing.
1600It natively supports assertion-based testing, and can use companion
1601libraries such as @code{chell-quickcheck} to support more complex
1602testing strategies.")
1603 (license license:expat)))
1604
1605(define-public ghc-chell-quickcheck
1606 (package
1607 (name "ghc-chell-quickcheck")
e0e21831 1608 (version "0.2.5.2")
dddbc90c
RV
1609 (source
1610 (origin
1611 (method url-fetch)
1612 (uri (string-append
1613 "https://hackage.haskell.org/package/chell-quickcheck/"
1614 "chell-quickcheck-" version ".tar.gz"))
1615 (sha256
1616 (base32
e0e21831 1617 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1618 (build-system haskell-build-system)
1619 (arguments
1620 `(#:phases
1621 (modify-phases %standard-phases
1622 (add-before 'configure 'update-constraints
1623 (lambda _
1624 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1625 (("QuickCheck >= 2\\.3 && < 2\\.13")
1626 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1627 (inputs
1628 `(("ghc-chell" ,ghc-chell)
1629 ("ghc-chell-quickcheck-bootstrap" ,ghc-chell-quickcheck-bootstrap)
1630 ("ghc-random" ,ghc-random)
1631 ("ghc-quickcheck" ,ghc-quickcheck)))
1632 (home-page "https://john-millikin.com/software/chell/")
1633 (synopsis "QuickCheck support for the Chell testing library")
1634 (description "More complex tests for @code{chell}.")
1635 (license license:expat)))
1636
1637(define ghc-chell-quickcheck-bootstrap
1638 (package
1639 (name "ghc-chell-quickcheck-bootstrap")
e0e21831 1640 (version "0.2.5.2")
dddbc90c
RV
1641 (source
1642 (origin
1643 (method url-fetch)
1644 (uri (string-append
1645 "https://hackage.haskell.org/package/chell-quickcheck/"
1646 "chell-quickcheck-" version ".tar.gz"))
1647 (sha256
1648 (base32
e0e21831 1649 "0n8c57n88r2bx0bh8nabsz07m42rh23ahs3hgyzf8gr76l08zq03"))))
dddbc90c
RV
1650 (build-system haskell-build-system)
1651 (inputs
1652 `(("ghc-chell" ,ghc-chell)
1653 ("ghc-random" ,ghc-random)
1654 ("ghc-quickcheck" ,ghc-quickcheck)))
1655 (arguments
1656 `(#:tests? #f
1657 #:phases
1658 (modify-phases %standard-phases
1659 (add-before 'configure 'update-constraints
1660 (lambda _
1661 (substitute* "chell-quickcheck.cabal"
e0e21831
TS
1662 (("QuickCheck >= 2\\.3 && < 2\\.13")
1663 "QuickCheck >= 2.3 && < 2.14")))))))
dddbc90c
RV
1664 (home-page "https://john-millikin.com/software/chell/")
1665 (synopsis "QuickCheck support for the Chell testing library")
1666 (description "More complex tests for @code{chell}.")
1667 (license license:expat)))
1668
1669(define-public ghc-chunked-data
1670 (package
1671 (name "ghc-chunked-data")
1672 (version "0.3.1")
1673 (source
1674 (origin
1675 (method url-fetch)
1676 (uri (string-append "https://hackage.haskell.org/package/"
1677 "chunked-data-" version "/"
1678 "chunked-data-" version ".tar.gz"))
1679 (sha256
1680 (base32
1681 "16m7y7fwrirbjbqqcsfmr4yxa9qvfax6r7pw0zl9ky71ms0wa47p"))))
1682 (build-system haskell-build-system)
1683 (inputs `(("ghc-vector" ,ghc-vector)
1684 ("ghc-semigroups" ,ghc-semigroups)))
1685 (home-page "https://github.com/snoyberg/mono-traversable")
1686 (synopsis "Typeclasses for dealing with various chunked data
1687representations for Haskell")
1688 (description "This Haskell package was originally present in
1689classy-prelude.")
1690 (license license:expat)))
1691
1692(define-public ghc-clock
1693 (package
1694 (name "ghc-clock")
0841b6f2 1695 (version "0.8")
dddbc90c
RV
1696 (source
1697 (origin
1698 (method url-fetch)
1699 (uri (string-append
1700 "https://hackage.haskell.org/package/"
1701 "clock/"
1702 "clock-" version ".tar.gz"))
1703 (sha256
0841b6f2 1704 (base32 "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8"))))
dddbc90c
RV
1705 (build-system haskell-build-system)
1706 (inputs
1707 `(("ghc-tasty" ,ghc-tasty)
1708 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
1709 (home-page "https://hackage.haskell.org/package/clock")
1710 (synopsis "High-resolution clock for Haskell")
1711 (description "A package for convenient access to high-resolution clock and
1712timer functions of different operating systems via a unified API.")
1713 (license license:bsd-3)))
1714
1715;; This package builds `clock` without tests, since the tests rely on tasty
1716;; and tasty-quickcheck, which in turn require clock to build.
1717(define-public ghc-clock-bootstrap
1718 (package
1719 (inherit ghc-clock)
1720 (name "ghc-clock-bootstrap")
1721 (arguments '(#:tests? #f))
1722 (inputs '())
1723 (properties '((hidden? #t)))))
1724
1725(define-public ghc-cmark
1726 (package
1727 (name "ghc-cmark")
6bdd36c0 1728 (version "0.6")
dddbc90c
RV
1729 (source (origin
1730 (method url-fetch)
6bdd36c0 1731 ;; XXX As of version 0.6, this package bundles libcmark 0.28.0.
dddbc90c
RV
1732 ;; See cbits/cmark_version.h.
1733 (uri (string-append "https://hackage.haskell.org/package/"
1734 "cmark/cmark-" version ".tar.gz"))
1735 (sha256
1736 (base32
6bdd36c0 1737 "1p41z6z8dqxk62287lvhhg4ayy9laai9ljh4azsnzb029v6mbv0d"))))
dddbc90c
RV
1738 (build-system haskell-build-system)
1739 (native-inputs
1740 `(("ghc-hunit" ,ghc-hunit)))
1741 (home-page "https://github.com/jgm/commonmark-hs")
1742 (synopsis "Fast, accurate CommonMark (Markdown) parser and renderer")
1743 (description
1744 "This package provides Haskell bindings for
1745@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
1746CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
1747sources, and does not require prior installation of the C library.")
1748 (license license:bsd-3)))
1749
1750(define-public ghc-cmark-gfm
1751 (package
1752 (name "ghc-cmark-gfm")
24fc8dae 1753 (version "0.2.0")
dddbc90c
RV
1754 (source
1755 (origin
1756 (method url-fetch)
1757 (uri (string-append "https://hackage.haskell.org/package/"
1758 "cmark-gfm/cmark-gfm-"
1759 version ".tar.gz"))
1760 (sha256
1761 (base32
24fc8dae 1762 "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq"))))
dddbc90c
RV
1763 (build-system haskell-build-system)
1764 (native-inputs
1765 `(("ghc-hunit" ,ghc-hunit)))
1766 (home-page "https://github.com/kivikakk/cmark-gfm-hs")
1767 (synopsis
1768 "Fast, accurate GitHub Flavored Markdown parser and renderer")
1769 (description
1770 "This package provides Haskell bindings for libcmark-gfm, the reference
1771parser for GitHub Flavored Markdown, a fully specified variant of Markdown.
1772It includes sources for libcmark-gfm and does not require prior installation
1773of the C library.")
1774 (license license:bsd-3)))
1775
1776(define-public ghc-cmdargs
1777 (package
1778 (name "ghc-cmdargs")
1779 (version "0.10.20")
1780 (source
1781 (origin
1782 (method url-fetch)
1783 (uri (string-append
1784 "https://hackage.haskell.org/package/cmdargs/cmdargs-"
1785 version ".tar.gz"))
1786 (sha256
1787 (base32
1788 "0cbkmgrcnwgigg6z88y3c09gm7g6dwm7gzbgr53h8k1xik29s9hf"))))
1789 (build-system haskell-build-system)
1790 (home-page
1791 "http://community.haskell.org/~ndm/cmdargs/")
1792 (synopsis "Command line argument processing")
1793 (description
1794 "This library provides an easy way to define command line parsers.")
1795 (license license:bsd-3)))
1796
1797(define-public ghc-code-page
1798 (package
1799 (name "ghc-code-page")
f6bb6519 1800 (version "0.2")
dddbc90c
RV
1801 (source
1802 (origin
1803 (method url-fetch)
1804 (uri (string-append
1805 "https://hackage.haskell.org/package/code-page/code-page-"
1806 version ".tar.gz"))
1807 (sha256
1808 (base32
f6bb6519 1809 "0i0qbrbhvrwkbikqb7hh7yxaipaavwzvyrw211d0vkz99f62mqxz"))))
dddbc90c
RV
1810 (build-system haskell-build-system)
1811 (home-page "https://github.com/RyanGlScott/code-page")
1812 (synopsis "Windows code page library for Haskell")
1813 (description "A cross-platform library with functions for adjusting
1814code pages on Windows. On all other operating systems, the library does
1815nothing.")
1816 (license license:bsd-3)))
1817
1818(define-public ghc-colour
1819(package
1820 (name "ghc-colour")
bc9d1af9 1821 (version "2.3.5")
dddbc90c
RV
1822 (source
1823 (origin
1824 (method url-fetch)
1825 (uri (string-append
1826 "https://hackage.haskell.org/package/colour/colour-"
1827 version ".tar.gz"))
1828 (sha256
1829 (base32
bc9d1af9 1830 "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v"))))
dddbc90c
RV
1831 (arguments
1832 ;; The tests for this package have the following dependency cycle:
1833 ;; ghc-test-framework -> ghc-ansi-terminal -> ghc-colour.
1834 `(#:tests? #f))
1835 (build-system haskell-build-system)
1836 (home-page "https://www.haskell.org/haskellwiki/Colour")
1837 (synopsis "Model for human colour perception")
1838 (description
1839 "This package provides a data type for colours and transparency.
1840Colours can be blended and composed. Various colour spaces are
1841supported. A module of colour names (\"Data.Colour.Names\") is provided.")
1842 (license license:expat)))
1843
1844(define-public ghc-comonad
1845 (package
1846 (name "ghc-comonad")
1a825512 1847 (version "5.0.5")
dddbc90c
RV
1848 (source
1849 (origin
1850 (method url-fetch)
1851 (uri (string-append
1852 "https://hackage.haskell.org/package/comonad/comonad-"
1853 version
1854 ".tar.gz"))
1855 (sha256
1856 (base32
1a825512 1857 "1l7snp2mszgnjgd0nc9kzfyd13vla0rlazqi03rwx2akcxk14n3c"))))
dddbc90c
RV
1858 (build-system haskell-build-system)
1859 (native-inputs
1860 `(("cabal-doctest" ,cabal-doctest)
1861 ("ghc-doctest" ,ghc-doctest)))
1862 (inputs
1863 `(("ghc-contravariant" ,ghc-contravariant)
1864 ("ghc-distributive" ,ghc-distributive)
1865 ("ghc-semigroups" ,ghc-semigroups)
1866 ("ghc-tagged" ,ghc-tagged)
1867 ("ghc-transformers-compat" ,ghc-transformers-compat)))
1868 (home-page "https://github.com/ekmett/comonad/")
1869 (synopsis "Comonads for Haskell")
1870 (description "This library provides @code{Comonad}s for Haskell.")
1871 (license license:bsd-3)))
1872
1873(define-public ghc-concatenative
1874 (package
1875 (name "ghc-concatenative")
1876 (version "1.0.1")
1877 (source (origin
1878 (method url-fetch)
1879 (uri (string-append
1880 "https://hackage.haskell.org/package/concatenative/concatenative-"
1881 version ".tar.gz"))
1882 (sha256
1883 (base32
1884 "05xwqvcdnk8bsyj698ab9jxpa1nk23pf3m7wi9mwmw0q8n99fngd"))))
1885 (build-system haskell-build-system)
1886 (home-page
1887 "https://patch-tag.com/r/salazar/concatenative/snapshot/current/content/pretty")
1888 (synopsis "Library for postfix control flow")
1889 (description
1890 "Concatenative gives Haskell Factor-style combinators and arrows for
1891postfix notation. For more information on stack based languages, see
1892@uref{https://concatenative.org}.")
1893 (license license:bsd-3)))
1894
1895(define-public ghc-concurrent-extra
1896 (package
1897 (name "ghc-concurrent-extra")
1898 (version "0.7.0.12")
1899 (source
1900 (origin
1901 (method url-fetch)
1902 (uri (string-append "https://hackage.haskell.org/package/"
1903 "concurrent-extra/concurrent-extra-"
1904 version ".tar.gz"))
1905 (sha256
1906 (base32
1907 "1y8xk460fvnw0idzdiylmm874sjny4q9jxb1js9fjz8lw2wns3h4"))))
1908 (build-system haskell-build-system)
1909 (arguments
1910 ;; XXX: The ReadWriteLock 'stressTest' fails.
1911 `(#:tests? #f))
1912 (inputs
1913 `(("ghc-unbounded-delays" ,ghc-unbounded-delays)))
1914 (native-inputs
1915 `(("ghc-async" ,ghc-async)
1916 ("ghc-hunit" ,ghc-hunit)
1917 ("ghc-random" ,ghc-random)
1918 ("ghc-test-framework" ,ghc-test-framework)
1919 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
1920 (home-page "https://github.com/basvandijk/concurrent-extra")
1921 (synopsis "Extra concurrency primitives")
1922 (description "This Haskell library offers (among other things) the
1923following selection of synchronisation primitives:
1924
1925@itemize
1926@item @code{Broadcast}: Wake multiple threads by broadcasting a value.
1927@item @code{Event}: Wake multiple threads by signalling an event.
1928@item @code{Lock}: Enforce exclusive access to a resource. Also known
1929as a binary semaphore or mutex. The package additionally provides an
1930alternative that works in the STM monad.
1931@item @code{RLock}: A lock which can be acquired multiple times by the
1932same thread. Also known as a reentrant mutex.
1933@item @code{ReadWriteLock}: Multiple-reader, single-writer locks. Used
1934to protect shared resources which may be concurrently read, but only
1935sequentially written.
1936@item @code{ReadWriteVar}: Concurrent read, sequential write variables.
1937@end itemize
1938
1939Please consult the API documentation of the individual modules for more
1940detailed information.
1941
1942This package was inspired by the concurrency libraries of Java and
1943Python.")
1944 (license license:bsd-3)))
1945
1946(define-public ghc-concurrent-output
1947 (package
1948 (name "ghc-concurrent-output")
4fce0a4a 1949 (version "1.10.11")
dddbc90c
RV
1950 (source
1951 (origin
1952 (method url-fetch)
1953 (uri (string-append
1954 "mirror://hackage/package/concurrent-output/concurrent-output-"
1955 version
1956 ".tar.gz"))
1957 (sha256
1958 (base32
4fce0a4a 1959 "1d1aaqg5814k59b0iws3fh06p3g2siaj922gkhs75qgncj0my2p3"))))
dddbc90c
RV
1960 (build-system haskell-build-system)
1961 (inputs
1962 `(("ghc-async" ,ghc-async)
1963 ("ghc-exceptions" ,ghc-exceptions)
1964 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
1965 ("ghc-terminal-size" ,ghc-terminal-size)))
1966 (home-page
1967 "https://hackage.haskell.org/package/concurrent-output")
1968 (synopsis
1969 "Ungarble output from several threads or commands")
1970 (description
1971 "Lets multiple threads and external processes concurrently output to the
1972console, without it getting all garbled up.
1973
1974Built on top of that is a way of defining multiple output regions, which are
1975automatically laid out on the screen and can be individually updated by
1976concurrent threads. Can be used for progress displays etc.")
1977 (license license:bsd-2)))
1978
1979(define-public ghc-conduit
1980 (package
1981 (name "ghc-conduit")
1982 (version "1.3.0.3")
1983 (source (origin
1984 (method url-fetch)
1985 (uri (string-append "https://hackage.haskell.org/package/"
1986 "conduit/conduit-" version ".tar.gz"))
1987 (sha256
1988 (base32
1989 "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v"))))
1990 (build-system haskell-build-system)
1991 (inputs
1992 `(("ghc-exceptions" ,ghc-exceptions)
1993 ("ghc-lifted-base" ,ghc-lifted-base)
1994 ("ghc-mono-traversable" ,ghc-mono-traversable)
1995 ("ghc-mmorph" ,ghc-mmorph)
1996 ("ghc-resourcet" ,ghc-resourcet)
1997 ("ghc-silently" ,ghc-silently)
1998 ("ghc-transformers-base" ,ghc-transformers-base)
1999 ("ghc-unliftio" ,ghc-unliftio)
2000 ("ghc-unliftio-core" ,ghc-unliftio-core)
2001 ("ghc-vector" ,ghc-vector)
2002 ("ghc-void" ,ghc-void)))
2003 (native-inputs
2004 `(("ghc-quickcheck" ,ghc-quickcheck)
2005 ("ghc-hspec" ,ghc-hspec)
2006 ("ghc-safe" ,ghc-safe)
2007 ("ghc-split" ,ghc-split)))
2008 (home-page "https://github.com/snoyberg/conduit")
2009 (synopsis "Streaming data library ")
2010 (description
2011 "The conduit package is a solution to the streaming data problem,
2012allowing for production, transformation, and consumption of streams of data
2013in constant memory. It is an alternative to lazy I/O which guarantees
2014deterministic resource handling, and fits in the same general solution
2015space as enumerator/iteratee and pipes.")
2016 (license license:expat)))
2017
2018(define-public ghc-conduit-algorithms
2019 (package
2020 (name "ghc-conduit-algorithms")
2021 (version "0.0.8.1")
2022 (source
2023 (origin
2024 (method url-fetch)
2025 (uri (string-append "https://hackage.haskell.org/package/"
2026 "conduit-algorithms/conduit-algorithms-"
2027 version ".tar.gz"))
2028 (sha256
2029 (base32
2030 "07gx2q3d1bbfw14q41rmqg0i4m018pci10lswc0k1ij6lw7sb9fd"))))
2031 (build-system haskell-build-system)
2032 (inputs
2033 `(("ghc-async" ,ghc-async)
2034 ("ghc-bzlib-conduit" ,ghc-bzlib-conduit)
2035 ("ghc-conduit" ,ghc-conduit)
2036 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
2037 ("ghc-conduit-extra" ,ghc-conduit-extra)
2038 ("ghc-exceptions" ,ghc-exceptions)
2039 ("ghc-lzma-conduit" ,ghc-lzma-conduit)
2040 ("ghc-monad-control" ,ghc-monad-control)
2041 ("ghc-pqueue" ,ghc-pqueue)
2042 ("ghc-resourcet" ,ghc-resourcet)
2043 ("ghc-stm-conduit" ,ghc-stm-conduit)
2044 ("ghc-streaming-commons" ,ghc-streaming-commons)
2045 ("ghc-unliftio-core" ,ghc-unliftio-core)
2046 ("ghc-vector" ,ghc-vector)))
2047 (native-inputs
2048 `(("ghc-hunit" ,ghc-hunit)
2049 ("ghc-test-framework" ,ghc-test-framework)
2050 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2051 ("ghc-test-framework-th" ,ghc-test-framework-th)))
2052 (home-page "https://github.com/luispedro/conduit-algorithms#readme")
2053 (synopsis "Conduit-based algorithms")
2054 (description
2055 "This package provides algorithms on @code{Conduits}, including higher
2056level asynchronous processing and some other utilities.")
2057 (license license:expat)))
2058
2059(define-public ghc-conduit-combinators
2060 (package
2061 (name "ghc-conduit-combinators")
2062 (version "1.3.0")
2063 (source
2064 (origin
2065 (method url-fetch)
2066 (uri (string-append "https://hackage.haskell.org/package/"
2067 "conduit-combinators-" version "/"
2068 "conduit-combinators-" version ".tar.gz"))
2069 (sha256
2070 (base32
2071 "1lz70vwp4y4lpsivxl0cshq7aq3968rh48r6rjvpyaj2l0bdj5wp"))))
2072 (build-system haskell-build-system)
2073 (inputs `(("ghc-conduit" ,ghc-conduit)
2074 ("ghc-conduit-extra" ,ghc-conduit-extra)
2075 ("ghc-transformers-base" ,ghc-transformers-base)
2076 ("ghc-primitive" ,ghc-primitive)
2077 ("ghc-vector" ,ghc-vector)
2078 ("ghc-void" ,ghc-void)
2079 ("ghc-mwc-random" ,ghc-mwc-random)
2080 ("ghc-unix-compat" ,ghc-unix-compat)
2081 ("ghc-base16-bytestring" ,ghc-base16-bytestring)
2082 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
2083 ("ghc-resourcet" ,ghc-resourcet)
2084 ("ghc-monad-control" ,ghc-monad-control)
2085 ("ghc-chunked-data" ,ghc-chunked-data)
2086 ("ghc-mono-traversable" ,ghc-mono-traversable)))
2087 (native-inputs `(("ghc-hspec" ,ghc-hspec)
2088 ("ghc-silently" ,ghc-silently)
2089 ("ghc-safe" ,ghc-safe)
2090 ("ghc-quickcheck" ,ghc-quickcheck)))
2091 (home-page "https://github.com/snoyberg/mono-traversable")
2092 (synopsis "Commonly used conduit functions, for both chunked and
2093unchunked data")
2094 (description "This Haskell package provides a replacement for Data.Conduit.List,
2095as well as a convenient Conduit module.")
2096 (license license:expat)))
2097
2098(define-public ghc-conduit-extra
2099 (package
2100 (name "ghc-conduit-extra")
2101 (version "1.3.1.1")
2102 (source
2103 (origin
2104 (method url-fetch)
2105 (uri (string-append "https://hackage.haskell.org/package/"
2106 "conduit-extra/conduit-extra-"
2107 version ".tar.gz"))
2108 (sha256
2109 (base32
2110 "0jaj350vv6mbb26gdwcqz4gwzfzrjydv5pis2da49wz1npbakcfw"))))
2111 (build-system haskell-build-system)
2112 (inputs
2113 `(("ghc-conduit" ,ghc-conduit)
2114 ("ghc-exceptions" ,ghc-exceptions)
2115 ("ghc-monad-control" ,ghc-monad-control)
2116 ("ghc-transformers-base" ,ghc-transformers-base)
2117 ("ghc-typed-process" ,ghc-typed-process)
2118 ("ghc-async" ,ghc-async)
2119 ("ghc-attoparsec" ,ghc-attoparsec)
2120 ("ghc-blaze-builder" ,ghc-blaze-builder)
2121 ("ghc-network" ,ghc-network)
2122 ("ghc-primitive" ,ghc-primitive)
2123 ("ghc-resourcet" ,ghc-resourcet)
2124 ("ghc-streaming-commons" ,ghc-streaming-commons)
2125 ("ghc-hspec" ,ghc-hspec)
2126 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
2127 ("ghc-quickcheck" ,ghc-quickcheck)))
2128 (native-inputs
2129 `(("hspec-discover" ,hspec-discover)))
2130 (home-page "https://github.com/snoyberg/conduit")
2131 (synopsis "Conduit adapters for common libraries")
2132 (description
2133 "The @code{conduit} package itself maintains relative small dependencies.
2134The purpose of this package is to collect commonly used utility functions
2135wrapping other library dependencies, without depending on heavier-weight
2136dependencies. The basic idea is that this package should only depend on
2137@code{haskell-platform} packages and @code{conduit}.")
2138 (license license:expat)))
2139
2140(define-public ghc-configurator
2141 (package
2142 (name "ghc-configurator")
2143 (version "0.3.0.0")
2144 (source
2145 (origin
2146 (method url-fetch)
2147 (uri (string-append "https://hackage.haskell.org/package/"
2148 "configurator/configurator-"
2149 version ".tar.gz"))
2150 (sha256
2151 (base32
2152 "1d1iq1knwiq6ia5g64rw5hqm6dakz912qj13r89737rfcxmrkfbf"))))
2153 (build-system haskell-build-system)
2154 (inputs
2155 `(("ghc-attoparsec" ,ghc-attoparsec)
2156 ("ghc-hashable" ,ghc-hashable)
2157 ("ghc-unix-compat" ,ghc-unix-compat)
2158 ("ghc-unordered-containers" ,ghc-unordered-containers)))
2159 (native-inputs
2160 `(("ghc-hunit" ,ghc-hunit)
2161 ("ghc-test-framework" ,ghc-test-framework)
2162 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2163 (home-page "http://github.com/bos/configurator")
2164 (synopsis "Configuration management")
2165 (description
2166 "This package provides a configuration management library for programs
2167and daemons. The features include:
2168
2169@enumerate
2170@item Automatic, dynamic reloading in response to modifications to
2171 configuration files.
2172@item A simple, but flexible, configuration language, supporting several of
2173 the most commonly needed types of data, along with interpolation of strings
2174 from the configuration or the system environment (e.g. @code{$(HOME)}).
2175@item Subscription-based notification of changes to configuration properties.
2176@item An @code{import} directive allows the configuration of a complex
2177 application to be split across several smaller files, or common configuration
2178 data to be shared across several applications.
2179@end enumerate\n")
2180 (license license:bsd-3)))
2181
2182(define-public ghc-connection
2183 (package
2184 (name "ghc-connection")
6ee0d258 2185 (version "0.3.1")
dddbc90c
RV
2186 (source (origin
2187 (method url-fetch)
2188 (uri (string-append "https://hackage.haskell.org/package/"
2189 "connection/connection-"
2190 version ".tar.gz"))
2191 (sha256
2192 (base32
6ee0d258 2193 "1nbmafhlg0wy4aa3p7amjddbamdz6avzrxn4py3lvhrjqn4raxax"))))
dddbc90c
RV
2194 (build-system haskell-build-system)
2195 (inputs
2196 `(("ghc-byteable" ,ghc-byteable)
2197 ("ghc-data-default-class" ,ghc-data-default-class)
2198 ("ghc-network" ,ghc-network)
2199 ("ghc-tls" ,ghc-tls)
2200 ("ghc-socks" ,ghc-socks)
2201 ("ghc-x509" ,ghc-x509)
2202 ("ghc-x509-store" ,ghc-x509-store)
2203 ("ghc-x509-system" ,ghc-x509-system)
2204 ("ghc-x509-validation" ,ghc-x509-validation)))
2205 (home-page "https://github.com/vincenthz/hs-connection")
2206 (synopsis "Simple and easy network connections API")
2207 (description
2208 "This package provides a simple network library for all your connection
2209needs. It provides a very simple API to create sockets to a destination with
2210the choice of SSL/TLS, and SOCKS.")
2211 (license license:bsd-3)))
2212
2213(define-public ghc-constraints
2214 (package
2215 (name "ghc-constraints")
2216 (version "0.10.1")
2217 (source
2218 (origin
2219 (method url-fetch)
2220 (uri (string-append
2221 "https://hackage.haskell.org/package/constraints/constraints-"
2222 version ".tar.gz"))
2223 (sha256
2224 (base32
2225 "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q"))))
2226 (build-system haskell-build-system)
2227 (inputs
2228 `(("ghc-hashable" ,ghc-hashable)
2229 ("ghc-semigroups" ,ghc-semigroups)
2230 ("ghc-transformers-compat" ,ghc-transformers-compat)))
2231 (native-inputs
2232 `(("ghc-hspec" ,ghc-hspec)
2233 ("hspec-discover" ,hspec-discover)))
2234 (home-page "https://github.com/ekmett/constraints/")
2235 (synopsis "Constraint manipulation")
2236 (description
2237 "GHC 7.4 gave us the ability to talk about @code{ConstraintKinds}.
2238They stopped crashing the compiler in GHC 7.6. This package provides
2239a vocabulary for working with them.")
2240 (license license:bsd-3)))
2241
2242(define-public ghc-contravariant
2243 (package
2244 (name "ghc-contravariant")
e7b35ff0 2245 (version "1.5.2")
dddbc90c
RV
2246 (source
2247 (origin
2248 (method url-fetch)
2249 (uri (string-append
2250 "https://hackage.haskell.org/package/contravariant/contravariant-"
2251 version
2252 ".tar.gz"))
2253 (sha256
2254 (base32
e7b35ff0 2255 "0366gl62wwwdbl9i6kqy60asf60876k55v91la6bmhnwwcj2q9n4"))))
dddbc90c
RV
2256 (build-system haskell-build-system)
2257 (inputs
2258 `(("ghc-void" ,ghc-void)
2259 ("ghc-transformers-compat" ,ghc-transformers-compat)
2260 ("ghc-statevar" ,ghc-statevar)
2261 ("ghc-semigroups" ,ghc-semigroups)))
2262 (home-page
2263 "https://github.com/ekmett/contravariant/")
2264 (synopsis "Contravariant functors")
2265 (description "Contravariant functors for Haskell.")
2266 (license license:bsd-3)))
2267
2268(define-public ghc-contravariant-extras
2269 (package
2270 (name "ghc-contravariant-extras")
2271 (version "0.3.4")
2272 (source
2273 (origin
2274 (method url-fetch)
2275 (uri (string-append "https://hackage.haskell.org/package/"
2276 "contravariant-extras-" version "/"
2277 "contravariant-extras-" version ".tar.gz"))
2278 (sha256
2279 (base32
2280 "0gg62ccl94kvh7mnvdq09pifqxjx2kgs189si90nmg44bafj7a9n"))))
2281 (build-system haskell-build-system)
f3aca086
TS
2282 (arguments
2283 `(#:cabal-revision
2284 ("1" "1h2955ahga6i4fn7k8v66l03v77p6fhsac6ck8gpabkc08ij60wp")))
dddbc90c
RV
2285 (inputs
2286 `(("ghc-tuple-th" ,ghc-tuple-th)
2287 ("ghc-contravariant" ,ghc-contravariant)
2288 ("ghc-base-prelude" ,ghc-base-prelude)
2289 ("ghc-semigroups" ,ghc-semigroups)))
2290 (home-page "https://github.com/nikita-volkov/contravariant-extras")
2291 (synopsis "Extras for the @code{ghc-contravariant} Haskell package")
2292 (description "This Haskell package provides extras for the
2293@code{ghc-contravariant} package.")
2294 (license license:expat)))
2295
2296(define-public ghc-convertible
2297 (package
2298 (name "ghc-convertible")
2299 (version "1.1.1.0")
2300 (source
2301 (origin
2302 (method url-fetch)
2303 (uri (string-append "https://hackage.haskell.org/package/convertible/"
2304 "convertible-" version ".tar.gz"))
2305 (sha256
2306 (base32
2307 "0v18ap1mccnndgxmbfgyjdicg8jlss01bd5fq8a576dr0h4sgyg9"))))
2308 (build-system haskell-build-system)
2309 (inputs
2310 `(("ghc-old-time" ,ghc-old-time)
2311 ("ghc-old-locale" ,ghc-old-locale)))
2312 (home-page "https://hackage.haskell.org/package/convertible")
2313 (synopsis "Typeclasses and instances for converting between types")
2314 (description
2315 "This package provides a typeclass with a single function that is
2316designed to help convert between different types: numeric values, dates and
2317times, and the like. The conversions perform bounds checking and return a
2318pure @code{Either} value. This means that you need not remember which specific
2319function performs the conversion you desire.")
2320 (license license:bsd-3)))
2321
2322(define-public ghc-data-accessor
2323 (package
2324 (name "ghc-data-accessor")
6dcca515 2325 (version "0.2.2.8")
dddbc90c
RV
2326 (source
2327 (origin
2328 (method url-fetch)
2329 (uri (string-append
2330 "mirror://hackage/package/data-accessor/data-accessor-"
2331 version ".tar.gz"))
2332 (sha256
6dcca515 2333 (base32 "1fq4gygxbz0bd0mzgvc1sl3m4gjnsv8nbgpnmdpa29zj5lb9agxc"))))
dddbc90c
RV
2334 (build-system haskell-build-system)
2335 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2336 (synopsis
2337 "Haskell utilities for accessing and manipulating fields of records")
2338 (description "This package provides Haskell modules for accessing and
2339manipulating fields of records.")
2340 (license license:bsd-3)))
2341
2342(define-public ghc-data-accessor-transformers
2343 (package
2344 (name "ghc-data-accessor-transformers")
2345 (version "0.2.1.7")
2346 (source
2347 (origin
2348 (method url-fetch)
2349 (uri (string-append
2350 "mirror://hackage/package/data-accessor-transformers/"
2351 "data-accessor-transformers-" version ".tar.gz"))
2352 (sha256
2353 (base32 "0yp030vafbpddl27m606aibbbr5ar5j5bsv4bksscz3cq4yq5j10"))))
2354 (build-system haskell-build-system)
2355 (inputs `(("ghc-data-accessor" ,ghc-data-accessor)))
2356 (home-page "https://www.haskell.org/haskellwiki/Record_access")
2357 (synopsis "Use Accessor to access state in transformers State monad")
2358 (description "This package provides Haskell modules to allow use of
2359Accessor to access state in transformers State monad.")
2360 (license license:bsd-3)))
2361
2362(define-public ghc-data-default
2363 (package
2364 (name "ghc-data-default")
2365 (version "0.7.1.1")
2366 (source
2367 (origin
2368 (method url-fetch)
2369 (uri (string-append
2370 "https://hackage.haskell.org/package/data-default/data-default-"
2371 version
2372 ".tar.gz"))
2373 (sha256
2374 (base32 "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh"))))
2375 (build-system haskell-build-system)
2376 (inputs
2377 `(("ghc-data-default-class"
2378 ,ghc-data-default-class)
2379 ("ghc-data-default-instances-base"
2380 ,ghc-data-default-instances-base)
2381 ("ghc-data-default-instances-containers"
2382 ,ghc-data-default-instances-containers)
2383 ("ghc-data-default-instances-dlist"
2384 ,ghc-data-default-instances-dlist)
2385 ("ghc-data-default-instances-old-locale"
2386 ,ghc-data-default-instances-old-locale)))
2387 (home-page "https://hackage.haskell.org/package/data-default")
2388 (synopsis "Types with default values")
2389 (description
2390 "This package defines a class for types with a default value, and
2391provides instances for types from the base, containers, dlist and old-locale
2392packages.")
2393 (license license:bsd-3)))
2394
2395(define-public ghc-data-default-class
2396 (package
2397 (name "ghc-data-default-class")
2398 (version "0.1.2.0")
2399 (source
2400 (origin
2401 (method url-fetch)
2402 (uri (string-append
2403 "https://hackage.haskell.org/package/data-default-class/"
2404 "data-default-class-" version ".tar.gz"))
2405 (sha256
2406 (base32 "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag"))))
2407 (build-system haskell-build-system)
2408 (home-page "https://hackage.haskell.org/package/data-default-class")
2409 (synopsis "Types with default values")
2410 (description
2411 "This package defines a class for types with default values.")
2412 (license license:bsd-3)))
2413
2414(define-public ghc-data-default-instances-base
2415 (package
2416 (name "ghc-data-default-instances-base")
2417 (version "0.1.0.1")
2418 (source
2419 (origin
2420 (method url-fetch)
2421 (uri (string-append
2422 "https://hackage.haskell.org/package/"
2423 "data-default-instances-base/"
2424 "data-default-instances-base-" version ".tar.gz"))
2425 (sha256
2426 (base32 "0ym1sw3ssdzzifxxhh76qlv8kkmb2iclc158incv1dklyr9y8kw4"))))
2427 (build-system haskell-build-system)
2428 (inputs
2429 `(("ghc-data-default-class" ,ghc-data-default-class)))
2430 (home-page "https://hackage.haskell.org/package/data-default-instances-base")
2431 (synopsis "Default instances for types in base")
2432 (description
2433 "This package provides default instances for types from the base
2434package.")
2435 (license license:bsd-3)))
2436
2437(define-public ghc-data-default-instances-containers
2438 (package
2439 (name "ghc-data-default-instances-containers")
2440 (version "0.0.1")
2441 (source
2442 (origin
2443 (method url-fetch)
2444 (uri (string-append
2445 "https://hackage.haskell.org/package/"
2446 "data-default-instances-containers/"
2447 "data-default-instances-containers-" version ".tar.gz"))
2448 (sha256
2449 (base32 "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5"))))
2450 (build-system haskell-build-system)
2451 (inputs
2452 `(("ghc-data-default-class" ,ghc-data-default-class)))
2453 (home-page "https://hackage.haskell.org/package/data-default-instances-containers")
2454 (synopsis "Default instances for types in containers")
2455 (description "Provides default instances for types from the containers
2456package.")
2457 (license license:bsd-3)))
2458
2459(define-public ghc-data-default-instances-dlist
2460 (package
2461 (name "ghc-data-default-instances-dlist")
2462 (version "0.0.1")
2463 (source
2464 (origin
2465 (method url-fetch)
2466 (uri (string-append
2467 "https://hackage.haskell.org/package/"
2468 "data-default-instances-dlist/"
2469 "data-default-instances-dlist-" version ".tar.gz"))
2470 (sha256
2471 (base32 "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x"))))
2472 (build-system haskell-build-system)
2473 (inputs
2474 `(("ghc-data-default-class" ,ghc-data-default-class)
2475 ("ghc-dlist" ,ghc-dlist)))
2476 (home-page "https://hackage.haskell.org/package/data-default-instances-dlist")
2477 (synopsis "Default instances for types in dlist")
2478 (description "Provides default instances for types from the dlist
2479package.")
2480 (license license:bsd-3)))
2481
2482(define-public ghc-data-default-instances-old-locale
2483 (package
2484 (name "ghc-data-default-instances-old-locale")
2485 (version "0.0.1")
2486 (source
2487 (origin
2488 (method url-fetch)
2489 (uri (string-append
2490 "https://hackage.haskell.org/package/"
2491 "data-default-instances-old-locale/"
2492 "data-default-instances-old-locale-" version ".tar.gz"))
2493 (sha256
2494 (base32 "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0"))))
2495 (build-system haskell-build-system)
2496 (inputs
2497 `(("ghc-data-default-class" ,ghc-data-default-class)
2498 ("ghc-old-locale" ,ghc-old-locale)))
2499 (home-page
2500 "https://hackage.haskell.org/package/data-default-instances-old-locale")
2501 (synopsis "Default instances for types in old-locale")
2502 (description "Provides Default instances for types from the old-locale
2503 package.")
2504 (license license:bsd-3)))
2505
2506(define-public ghc-data-hash
2507 (package
2508 (name "ghc-data-hash")
2509 (version "0.2.0.1")
2510 (source
2511 (origin
2512 (method url-fetch)
2513 (uri (string-append "https://hackage.haskell.org/package/data-hash"
2514 "/data-hash-" version ".tar.gz"))
2515 (sha256
2516 (base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
2517 (build-system haskell-build-system)
2518 (inputs
2519 `(("ghc-quickcheck" ,ghc-quickcheck)
2520 ("ghc-test-framework" ,ghc-test-framework)
2521 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2522 (home-page "https://hackage.haskell.org/package/data-hash")
2523 (synopsis "Combinators for building fast hashing functions")
2524 (description
2525 "This package provides combinators for building fast hashing functions.
2526It includes hashing functions for all basic Haskell98 types.")
2527 (license license:bsd-3)))
2528
2529(define-public ghc-data-ordlist
2530 (package
2531 (name "ghc-data-ordlist")
2532 (version "0.4.7.0")
2533 (source
2534 (origin
2535 (method url-fetch)
2536 (uri (string-append
2537 "https://hackage.haskell.org/package/data-ordlist/data-ordlist-"
2538 version ".tar.gz"))
2539 (sha256
2540 (base32
2541 "03a9ix1fcx08viwv2jg5ndw1qbkydyyrmjvqr9wasmcik9x1wv3g"))))
2542 (build-system haskell-build-system)
2543 (home-page "https://hackage.haskell.org/package/data-ordlist")
2544 (synopsis "Set and bag operations on ordered lists")
2545 (description
2546 "This module provides set and multiset operations on ordered lists.")
2547 (license license:bsd-3)))
2548
2549(define-public ghc-deepseq-generics
2550 (package
2551 (name "ghc-deepseq-generics")
2552 (version "0.2.0.0")
2553 (source (origin
2554 (method url-fetch)
2555 (uri (string-append "https://hackage.haskell.org/package/"
2556 "deepseq-generics/deepseq-generics-"
2557 version ".tar.gz"))
2558 (sha256
2559 (base32
2560 "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
2561 (build-system haskell-build-system)
2562 (arguments
2563 `(#:cabal-revision
2564 ("2" "1pnidf8w8x0w5fsqgv8hhrw07slmhxwy5x4fikgk0bd6k76aqicb")))
2565 (native-inputs
2566 `(("ghc-hunit" ,ghc-hunit)
2567 ("ghc-test-framework" ,ghc-test-framework)
2568 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
2569 (home-page "https://github.com/hvr/deepseq-generics")
2570 (synopsis "Generic RNF implementation")
2571 (description
2572 "This package provides a @code{GHC.Generics}-based
2573@code{Control.DeepSeq.Generics.genericRnf} function which can be used for
2574providing an @code{rnf} implementation.")
2575 (license license:bsd-3)))
2576
e924e17e
TS
2577(define-public ghc-dense-linear-algebra
2578 (package
2579 (name "ghc-dense-linear-algebra")
2580 (version "0.1.0.0")
2581 (source
2582 (origin
2583 (method url-fetch)
2584 (uri (string-append "https://hackage.haskell.org/package/"
2585 "dense-linear-algebra/dense-linear-algebra-"
2586 version ".tar.gz"))
2587 (sha256
2588 (base32
2589 "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp"))))
2590 (build-system haskell-build-system)
2591 (inputs
2592 `(("ghc-math-functions" ,ghc-math-functions)
2593 ("ghc-primitive" ,ghc-primitive)
2594 ("ghc-vector" ,ghc-vector)
2595 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
2596 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
2597 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
2598 (native-inputs
2599 `(("ghc-hspec" ,ghc-hspec)
2600 ("ghc-quickcheck" ,ghc-quickcheck)))
2601 (home-page "http://hackage.haskell.org/package/dense-linear-algebra")
2602 (synopsis "Simple and incomplete implementation of linear algebra")
2603 (description "This library is simply a collection of linear-algebra
2604related modules split from the statistics library.")
2605 (license license:bsd-2)))
2606
dddbc90c
RV
2607(define-public ghc-descriptive
2608 (package
2609 (name "ghc-descriptive")
2610 (version "0.9.5")
2611 (source
2612 (origin
2613 (method url-fetch)
2614 (uri (string-append
2615 "https://hackage.haskell.org/package/descriptive/descriptive-"
2616 version
2617 ".tar.gz"))
2618 (sha256
2619 (base32
2620 "0y5693zm2kvqjilybbmrcv1g6n6x2p6zjgi0k0axjw1sdhh1g237"))))
2621 (build-system haskell-build-system)
2622 (inputs
2623 `(("ghc-aeson" ,ghc-aeson)
2624 ("ghc-bifunctors" ,ghc-bifunctors)
2625 ("ghc-scientific" ,ghc-scientific)
2626 ("ghc-vector" ,ghc-vector)))
2627 (native-inputs
2628 `(("ghc-hunit" ,ghc-hunit)
2629 ("ghc-hspec" ,ghc-hspec)))
2630 (home-page
2631 "https://github.com/chrisdone/descriptive")
2632 (synopsis
2633 "Self-describing consumers/parsers: forms, cmd-line args, JSON, etc.")
2634 (description
2635 "This package provides datatypes and functions for creating consumers
2636and parsers with useful semantics.")
2637 (license license:bsd-3)))
2638
2639(define-public ghc-diff
2640 (package
2641 (name "ghc-diff")
2642 (version "0.3.4")
2643 (source (origin
2644 (method url-fetch)
2645 (uri (string-append "https://hackage.haskell.org/package/"
2646 "Diff/Diff-" version ".tar.gz"))
a531ff94 2647 (patches (search-patches "ghc-diff-swap-cover-args.patch"))
dddbc90c
RV
2648 (sha256
2649 (base32
2650 "0bqcdvhxx8dmqc3793m6axg813wv9ldz2j37f1wygbbrbbndmdvp"))))
2651 (build-system haskell-build-system)
2652 (native-inputs
2653 `(("ghc-quickcheck" ,ghc-quickcheck)
2654 ("ghc-test-framework" ,ghc-test-framework)
2655 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2656 (home-page "https://hub.darcs.net/sterlingclover/Diff")
2657 (synopsis "O(ND) diff algorithm in Haskell")
2658 (description
2659 "This package provides an implementation of the standard diff algorithm,
2660and utilities for pretty printing.")
2661 (license license:bsd-3)))
2662
2663(define-public ghc-disk-free-space
2664 (package
2665 (name "ghc-disk-free-space")
2666 (version "0.1.0.1")
2667 (source
2668 (origin
2669 (method url-fetch)
2670 (uri (string-append "https://hackage.haskell.org/package/"
2671 "disk-free-space/disk-free-space-"
2672 version ".tar.gz"))
2673 (sha256
2674 (base32
2675 "07rqj8k1vh3cykq9yidpjxhgh1f7vgmjs6y1nv5kq2217ff4yypi"))))
2676 (build-system haskell-build-system)
2677 (home-page "https://github.com/redneb/disk-free-space")
2678 (synopsis "Retrieve information about disk space usage")
2679 (description "A cross-platform library for retrieving information about
2680disk space usage.")
2681 (license license:bsd-3)))
2682
2683(define-public ghc-distributive
2684 (package
2685 (name "ghc-distributive")
e4c92f28 2686 (version "0.6.1")
dddbc90c
RV
2687 (source
2688 (origin
2689 (method url-fetch)
2690 (uri (string-append
2691 "https://hackage.haskell.org/package/distributive/distributive-"
2692 version
2693 ".tar.gz"))
2694 (sha256
2695 (base32
e4c92f28 2696 "1wnayzzb4vk8rhh9gzhdpd9f64366k4vmbhximavmqqmp3cv2jbp"))))
dddbc90c 2697 (build-system haskell-build-system)
dddbc90c
RV
2698 (inputs
2699 `(("ghc-tagged" ,ghc-tagged)
2700 ("ghc-base-orphans" ,ghc-base-orphans)
2701 ("ghc-transformers-compat" ,ghc-transformers-compat)
2702 ("ghc-semigroups" ,ghc-semigroups)
2703 ("ghc-generic-deriving" ,ghc-generic-deriving)))
2704 (native-inputs
2705 `(("cabal-doctest" ,cabal-doctest)
2706 ("ghc-doctest" ,ghc-doctest)
2707 ("ghc-hspec" ,ghc-hspec)
2708 ("hspec-discover" ,hspec-discover)))
2709 (home-page "https://github.com/ekmett/distributive/")
2710 (synopsis "Distributive functors for Haskell")
2711 (description "This package provides distributive functors for Haskell.
2712Dual to @code{Traversable}.")
2713 (license license:bsd-3)))
2714
2715(define-public ghc-dlist
2716 (package
2717 (name "ghc-dlist")
197ddf33 2718 (version "0.8.0.7")
dddbc90c
RV
2719 (source
2720 (origin
2721 (method url-fetch)
2722 (uri (string-append
2723 "https://hackage.haskell.org/package/dlist/dlist-"
2724 version
2725 ".tar.gz"))
2726 (sha256
197ddf33 2727 (base32 "0b5spkzvj2kx8pk86xz0djkxs13j7dryf5fl16dk4mlp1wh6mh53"))))
dddbc90c
RV
2728 (build-system haskell-build-system)
2729 (inputs
2730 `(("ghc-quickcheck" ,ghc-quickcheck)))
2731 (home-page "https://github.com/spl/dlist")
2732 (synopsis "Difference lists")
2733 (description
2734 "Difference lists are a list-like type supporting O(1) append. This is
2735particularly useful for efficient logging and pretty printing (e.g. with the
2736Writer monad), where list append quickly becomes too expensive.")
2737 (license license:bsd-3)))
2738
2739(define-public ghc-doctemplates
2740 (package
2741 (name "ghc-doctemplates")
2742 (version "0.2.2.1")
2743 (source
2744 (origin
2745 (method url-fetch)
2746 (uri (string-append "https://hackage.haskell.org/package/"
2747 "doctemplates/doctemplates-"
2748 version ".tar.gz"))
2749 (sha256
2750 (base32
2751 "1gyckfg3kgvzhxw14i7iwrw0crygvsp86sy53bbr1yn7bxbgn33b"))))
2752 (build-system haskell-build-system)
2753 (inputs
2754 `(("ghc-aeson" ,ghc-aeson)
2755 ("ghc-blaze-markup" ,ghc-blaze-markup)
2756 ("ghc-blaze-html" ,ghc-blaze-html)
2757 ("ghc-vector" ,ghc-vector)
2758 ("ghc-unordered-containers" ,ghc-unordered-containers)
2759 ("ghc-scientific" ,ghc-scientific)))
2760 (native-inputs
2761 `(("ghc-hspec" ,ghc-hspec)))
2762 (home-page "https://github.com/jgm/doctemplates#readme")
2763 (synopsis "Pandoc-style document templates")
2764 (description
2765 "This package provides a simple text templating system used by pandoc.")
2766 (license license:bsd-3)))
2767
2768(define-public ghc-doctest
2769 (package
2770 (name "ghc-doctest")
19c14a0f 2771 (version "0.16.2")
dddbc90c
RV
2772 (source
2773 (origin
2774 (method url-fetch)
2775 (uri (string-append
2776 "https://hackage.haskell.org/package/doctest/doctest-"
2777 version
2778 ".tar.gz"))
2779 (sha256
2780 (base32
19c14a0f 2781 "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag"))))
dddbc90c
RV
2782 (build-system haskell-build-system)
2783 (arguments `(#:tests? #f)) ; FIXME: missing test framework
2784 (inputs
2785 `(("ghc-syb" ,ghc-syb)
2786 ("ghc-paths" ,ghc-paths)
2787 ("ghc-base-compat" ,ghc-base-compat)
2788 ("ghc-code-page" ,ghc-code-page)
2789 ("ghc-hunit" ,ghc-hunit)
2790 ("ghc-hspec" ,ghc-hspec)
2791 ("ghc-quickcheck" ,ghc-quickcheck)
2792 ("ghc-stringbuilder" ,ghc-stringbuilder)
2793 ("ghc-silently" ,ghc-silently)
2794 ("ghc-setenv" ,ghc-setenv)))
2795 (home-page
2796 "https://github.com/sol/doctest#readme")
2797 (synopsis "Test interactive Haskell examples")
2798 (description "The doctest program checks examples in source code comments.
2799It is modeled after doctest for Python, see
2800@uref{https://docs.python.org/library/doctest.html, the Doctest website}.")
2801 (license license:expat)))
2802
2803(define-public ghc-double-conversion
2804 (package
2805 (name "ghc-double-conversion")
2806 (version "2.0.2.0")
2807 (source
2808 (origin
2809 (method url-fetch)
2810 (uri (string-append "https://hackage.haskell.org/package/"
2811 "double-conversion/double-conversion-"
2812 version ".tar.gz"))
2813 (sha256
2814 (base32
2815 "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4"))))
2816 (build-system haskell-build-system)
2817 (native-inputs
2818 `(("ghc-hunit" ,ghc-hunit)
2819 ("ghc-test-framework" ,ghc-test-framework)
2820 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
2821 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2822 (home-page "https://github.com/bos/double-conversion")
2823 (synopsis "Fast conversion between double precision floating point and text")
2824 (description
2825 "This package provides a library that performs fast, accurate conversion
2826between double precision floating point and text.")
2827 (license license:bsd-3)))
2828
2829(define-public ghc-easy-file
2830 (package
2831 (name "ghc-easy-file")
2832 (version "0.2.2")
2833 (source
2834 (origin
2835 (method url-fetch)
2836 (uri (string-append
2837 "https://hackage.haskell.org/package/easy-file/easy-file-"
2838 version
2839 ".tar.gz"))
2840 (sha256
2841 (base32
2842 "0zmlcz723051qpn8l8vi51c5rx1blwrw4094jcshkmj8p9r2xxaj"))))
2843 (build-system haskell-build-system)
2844 (home-page
2845 "https://github.com/kazu-yamamoto/easy-file")
2846 (synopsis "File handling library for Haskell")
2847 (description "This library provides file handling utilities for Haskell.")
2848 (license license:bsd-3)))
2849
2850(define-public ghc-easyplot
2851 (package
2852 (name "ghc-easyplot")
2853 (version "1.0")
2854 (source
2855 (origin
2856 (method url-fetch)
2857 (uri (string-append
2858 "https://hackage.haskell.org/package/easyplot/easyplot-"
2859 version ".tar.gz"))
2860 (sha256
2861 (base32 "18kndgvdj2apjpfga6fp7m16y1gx8zrwp3c5vfj03sx4v6jvciqk"))))
2862 (build-system haskell-build-system)
2863 (propagated-inputs `(("gnuplot" ,gnuplot)))
2864 (arguments
2865 `(#:phases (modify-phases %standard-phases
2866 (add-after 'unpack 'fix-setup-suffix
2867 (lambda _ (rename-file "Setup.lhs" "Setup.hs") #t)))))
2868 (home-page "https://hub.darcs.net/scravy/easyplot")
2869 (synopsis "Haskell plotting library based on gnuplot")
2870 (description "This package provides a plotting library for
2871Haskell, using gnuplot for rendering.")
2872 (license license:expat)))
2873
2874(define-public ghc-echo
2875 (package
2876 (name "ghc-echo")
2877 (version "0.1.3")
2878 (source
2879 (origin
2880 (method url-fetch)
2881 (uri (string-append
2882 "https://hackage.haskell.org/package/echo/echo-"
2883 version ".tar.gz"))
2884 (sha256
2885 (base32
2886 "1vw5ykpwhr39wc0hhcgq3r8dh59zq6ib4zxbz1qd2wl21wqhfkvh"))))
2887 (build-system haskell-build-system)
2888 (arguments
2889 `(#:cabal-revision
2890 ("1" "0br8wfiybcw5hand4imiw0i5hacdmrax1dv8g95f35gazffbx42l")))
2891 (home-page "https://github.com/RyanGlScott/echo")
2892 (synopsis "Echo terminal input portably")
2893 (description "The @code{base} library exposes the @code{hGetEcho} and
2894@code{hSetEcho} functions for querying and setting echo status, but
2895unfortunately, neither function works with MinTTY consoles on Windows.
2896This library provides an alternative interface which works with both
2897MinTTY and other consoles.")
2898 (license license:bsd-3)))
2899
2900(define-public ghc-edisonapi
2901 (package
2902 (name "ghc-edisonapi")
2903 (version "1.3.1")
2904 (source
2905 (origin
2906 (method url-fetch)
2907 (uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
2908 "/EdisonAPI-" version ".tar.gz"))
2909 (sha256
2910 (base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
2911 (build-system haskell-build-system)
2912 (home-page "http://rwd.rdockins.name/edison/home/")
2913 (synopsis "Library of efficient, purely-functional data structures (API)")
2914 (description
2915 "Edison is a library of purely functional data structures written by
2916Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
2917value EDiSon (Efficient Data Structures). Edison provides several families of
2918abstractions, each with multiple implementations. The main abstractions
2919provided by Edison are: Sequences such as stacks, queues, and dequeues;
2920Collections such as sets, bags and heaps; and Associative Collections such as
2921finite maps and priority queues where the priority and element are distinct.")
2922 (license license:expat)))
2923
2924(define-public ghc-edisoncore
2925 (package
2926 (name "ghc-edisoncore")
2927 (version "1.3.2.1")
2928 (source
2929 (origin
2930 (method url-fetch)
2931 (uri (string-append "https://hackage.haskell.org/package/EdisonCore"
2932 "/EdisonCore-" version ".tar.gz"))
2933 (sha256
2934 (base32 "0fgj5iwiv3v2gdgx7kjcr15dcs4x1kvmjspp3p99wyhh0x6h3ikk"))))
2935 (build-system haskell-build-system)
2936 (inputs
2937 `(("ghc-quickcheck" ,ghc-quickcheck)
2938 ("ghc-edisonapi" ,ghc-edisonapi)))
2939 (home-page "http://rwd.rdockins.name/edison/home/")
2940 (synopsis "Library of efficient, purely-functional data structures")
2941 (description
2942 "This package provides the core Edison data structure implementations,
2943including multiple sequence, set, bag, and finite map concrete implementations
2944with various performance characteristics.")
2945 (license license:expat)))
2946
2947(define-public ghc-edit-distance
2948 (package
2949 (name "ghc-edit-distance")
2950 (version "0.2.2.1")
2951 (source
2952 (origin
2953 (method url-fetch)
2954 (uri (string-append "https://hackage.haskell.org/package/edit-distance"
2955 "/edit-distance-" version ".tar.gz"))
2956 (sha256
2957 (base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
2958 (build-system haskell-build-system)
2959 (arguments
2960 `(#:phases
2961 (modify-phases %standard-phases
2962 (add-before 'configure 'update-constraints
2963 (lambda _
2964 (substitute* "edit-distance.cabal"
2965 (("QuickCheck >= 2\\.4 && <2\\.9")
2966 "QuickCheck >= 2.4 && < 2.12")))))))
2967 (inputs
2968 `(("ghc-random" ,ghc-random)
2969 ("ghc-test-framework" ,ghc-test-framework)
2970 ("ghc-quickcheck" ,ghc-quickcheck)
2971 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
2972 (home-page "https://github.com/phadej/edit-distance")
2973 (synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
2974 (description
2975 "This package provides optimized functions to determine the edit
2976distances for fuzzy matching, including Levenshtein and restricted
2977Damerau-Levenshtein algorithms.")
2978 (license license:bsd-3)))
2979
2980(define-public ghc-either
2981 (package
2982 (name "ghc-either")
a3fd4dc7 2983 (version "5.0.1.1")
dddbc90c
RV
2984 (source
2985 (origin
2986 (method url-fetch)
2987 (uri (string-append "https://hackage.haskell.org/package/"
2988 "either-" version "/"
2989 "either-" version ".tar.gz"))
2990 (sha256
2991 (base32
a3fd4dc7 2992 "09yzki8ss56xhy9vggdw1rls86b2kf55hjl5wi0vbv02d8fxahq2"))))
dddbc90c
RV
2993 (build-system haskell-build-system)
2994 (inputs `(("ghc-bifunctors" ,ghc-bifunctors)
2995 ("ghc-exceptions" ,ghc-exceptions)
2996 ("ghc-free" ,ghc-free)
2997 ("ghc-monad-control" ,ghc-monad-control)
2998 ("ghc-manodrandom" ,ghc-monadrandom)
2999 ("ghc-mmorph" ,ghc-mmorph)
3000 ("ghc-profunctors" ,ghc-profunctors)
3001 ("ghc-semigroups" ,ghc-semigroups)
3002 ("ghc-semigroupoids" ,ghc-semigroupoids)
3003 ("ghc-transformers-base" ,ghc-transformers-base)))
3004 (native-inputs
3005 `(("ghc-quickcheck" ,ghc-quickcheck)
3006 ("ghc-test-framework" ,ghc-test-framework)
3007 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3008 (home-page "https://github.com/ekmett/either")
3009 (synopsis "Provides an either monad transformer for Haskell")
3010 (description "This Haskell package provides an either monad transformer.")
3011 (license license:bsd-3)))
3012
3013(define-public ghc-email-validate
3014 (package
3015 (name "ghc-email-validate")
a4fe1c64 3016 (version "2.3.2.12")
dddbc90c
RV
3017 (source
3018 (origin
3019 (method url-fetch)
3020 (uri (string-append
3021 "https://hackage.haskell.org/package/"
3022 "email-validate/email-validate-"
3023 version
3024 ".tar.gz"))
3025 (sha256
3026 (base32
a4fe1c64 3027 "0ar3cfjia3x11chb7w60mi7hp5djanms883ddk875l6lifr2lyqf"))))
dddbc90c
RV
3028 (build-system haskell-build-system)
3029 (inputs
3030 `(("ghc-attoparsec" ,ghc-attoparsec)
3031 ("ghc-hspec" ,ghc-hspec)
3032 ("ghc-quickcheck" ,ghc-quickcheck)
3033 ("ghc-doctest" ,ghc-doctest)))
3034 (home-page
3035 "https://github.com/Porges/email-validate-hs")
3036 (synopsis "Email address validator for Haskell")
3037 (description
3038 "This Haskell package provides a validator that can validate an email
3039address string against RFC 5322.")
3040 (license license:bsd-3)))
3041
3042(define-public ghc-enclosed-exceptions
3043 (package
3044 (name "ghc-enclosed-exceptions")
3045 (version "1.0.3")
3046 (source (origin
3047 (method url-fetch)
3048 (uri (string-append "https://hackage.haskell.org/package/"
3049 "enclosed-exceptions/enclosed-exceptions-"
3050 version ".tar.gz"))
3051 (sha256
3052 (base32
3053 "1fghjj7nkiddrf03ks8brjpr5x25yi9fs7xg6adbi4mc2gqr6vdg"))))
3054 (build-system haskell-build-system)
3055 ;; FIXME: one of the tests blocks forever:
3056 ;; "thread blocked indefinitely in an MVar operation"
3057 (arguments '(#:tests? #f))
3058 (inputs
3059 `(("ghc-lifted-base" ,ghc-lifted-base)
3060 ("ghc-monad-control" ,ghc-monad-control)
3061 ("ghc-async" ,ghc-async)
3062 ("ghc-transformers-base" ,ghc-transformers-base)))
3063 (native-inputs
3064 `(("ghc-hspec" ,ghc-hspec)
3065 ("ghc-quickcheck" ,ghc-quickcheck)))
3066 (home-page "https://github.com/jcristovao/enclosed-exceptions")
3067 (synopsis "Catch all exceptions from within an enclosed computation")
3068 (description
3069 "This library implements a technique to catch all exceptions raised
3070within an enclosed computation, while remaining responsive to (external)
3071asynchronous exceptions.")
3072 (license license:expat)))
3073
3074(define-public ghc-equivalence
3075 (package
3076 (name "ghc-equivalence")
3077 (version "0.3.2")
3078 (source
3079 (origin
3080 (method url-fetch)
3081 (uri (string-append "https://hackage.haskell.org/package/equivalence"
3082 "/equivalence-" version ".tar.gz"))
3083 (sha256
3084 (base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
3085 (build-system haskell-build-system)
3086 (inputs
3087 `(("ghc-stmonadtrans" ,ghc-stmonadtrans)
3088 ("ghc-transformers-compat" ,ghc-transformers-compat)
3089 ("ghc-quickcheck" ,ghc-quickcheck)
3090 ("ghc-test-framework" ,ghc-test-framework)
3091 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3092 (home-page "https://github.com/pa-ba/equivalence")
3093 (synopsis "Maintaining an equivalence relation implemented as union-find")
3094 (description
3095 "This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
3096Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
309722(2), 1975) in order to maintain an equivalence relation. This
3098implementation is a port of the @code{union-find} package using the @code{ST}
3099monad transformer (instead of the IO monad).")
3100 (license license:bsd-3)))
3101
3102(define-public ghc-erf
3103 (package
3104 (name "ghc-erf")
3105 (version "2.0.0.0")
3106 (source
3107 (origin
3108 (method url-fetch)
3109 (uri (string-append "https://hackage.haskell.org/package/"
3110 "erf-" version "/"
3111 "erf-" version ".tar.gz"))
3112 (sha256
3113 (base32
3114 "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14"))))
3115 (build-system haskell-build-system)
3116 (home-page "https://hackage.haskell.org/package/erf")
3117 (synopsis "The error function, erf, and related functions for Haskell")
3118 (description "This Haskell library provides a type class for the
3119error function, erf, and related functions. Instances for Float and
3120Double.")
3121 (license license:bsd-3)))
3122
3123(define-public ghc-errorcall-eq-instance
3124 (package
3125 (name "ghc-errorcall-eq-instance")
3126 (version "0.3.0")
3127 (source
3128 (origin
3129 (method url-fetch)
3130 (uri (string-append "https://hackage.haskell.org/package/"
3131 "errorcall-eq-instance/errorcall-eq-instance-"
3132 version ".tar.gz"))
3133 (sha256
3134 (base32
3135 "0hqw82m8bbrxy5vgdwb83bhzdx070ibqrm9rshyja7cb808ahijm"))))
3136 (build-system haskell-build-system)
3137 (inputs
3138 `(("ghc-base-orphans" ,ghc-base-orphans)))
3139 (native-inputs
3140 `(("ghc-quickcheck" ,ghc-quickcheck)
3141 ("ghc-hspec" ,ghc-hspec)
3142 ("hspec-discover" ,hspec-discover)))
3143 (home-page "http://hackage.haskell.org/package/errorcall-eq-instance")
3144 (synopsis "Orphan Eq instance for ErrorCall")
3145 (description
3146 "Prior to @code{base-4.7.0.0} there was no @code{Eq} instance for @code{ErrorCall}.
3147This package provides an orphan instance.")
3148 (license license:expat)))
3149
3150(define-public ghc-errors
3151 (package
3152 (name "ghc-errors")
3153 (version "2.3.0")
3154 (source
3155 (origin
3156 (method url-fetch)
3157 (uri (string-append "https://hackage.haskell.org/package/"
3158 "errors-" version "/"
3159 "errors-" version ".tar.gz"))
3160 (sha256
3161 (base32
3162 "0x8znwn31qcx6kqx99wp7bc86kckfb39ncz3zxvj1s07kxlfawk7"))))
3163 (build-system haskell-build-system)
3164 (inputs
3165 `(("ghc-exceptions" ,ghc-exceptions)
3166 ("ghc-transformers-compat" ,ghc-transformers-compat)
3167 ("ghc-unexceptionalio" ,ghc-unexceptionalio)
3168 ("ghc-safe" ,ghc-safe)))
3169 (home-page "https://github.com/gabriel439/haskell-errors-library")
3170 (synopsis "Error handling library for Haskell")
3171 (description "This library encourages an error-handling style that
3172directly uses the type system, rather than out-of-band exceptions.")
3173 (license license:bsd-3)))
3174
3175(define-public ghc-esqueleto
3176 (let ((version "2.5.3")
3177 (revision "1")
3178 (commit "b81e0d951e510ebffca03c5a58658ad884cc6fbd"))
3179 (package
3180 (name "ghc-esqueleto")
3181 (version (git-version version revision commit))
3182 (source
3183 (origin
3184 (method git-fetch)
3185 (uri (git-reference
3186 (url "https://github.com/bitemyapp/esqueleto")
3187 (commit commit)))
3188 (file-name (git-file-name name version))
3189 (sha256
3190 (base32
3191 "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa"))))
3192 (build-system haskell-build-system)
3193 (arguments
3194 `(#:haddock? #f ; Haddock reports an internal error.
3195 #:phases
3196 (modify-phases %standard-phases
3197 ;; This package normally runs tests for the MySQL, PostgreSQL, and
3198 ;; SQLite backends. Since we only have Haskell packages for
3199 ;; SQLite, we remove the other two test suites. FIXME: Add the
3200 ;; other backends and run all three test suites.
3201 (add-before 'configure 'remove-non-sqlite-test-suites
3202 (lambda _
3203 (use-modules (ice-9 rdelim))
3204 (with-atomic-file-replacement "esqueleto.cabal"
3205 (lambda (in out)
3206 (let loop ((line (read-line in 'concat)) (deleting? #f))
3207 (cond
3208 ((eof-object? line) #t)
3209 ((string-every char-set:whitespace line)
3210 (unless deleting? (display line out))
3211 (loop (read-line in 'concat) #f))
3212 ((member line '("test-suite mysql\n"
3213 "test-suite postgresql\n"))
3214 (loop (read-line in 'concat) #t))
3215 (else
3216 (unless deleting? (display line out))
3217 (loop (read-line in 'concat) deleting?)))))))))))
3218 (inputs
3219 `(("ghc-blaze-html" ,ghc-blaze-html)
3220 ("ghc-conduit" ,ghc-conduit)
3221 ("ghc-monad-logger" ,ghc-monad-logger)
3222 ("ghc-persistent" ,ghc-persistent)
3223 ("ghc-resourcet" ,ghc-resourcet)
3224 ("ghc-tagged" ,ghc-tagged)
3225 ("ghc-unliftio" ,ghc-unliftio)
3226 ("ghc-unordered-containers" ,ghc-unordered-containers)))
3227 (native-inputs
3228 `(("ghc-hspec" ,ghc-hspec)
3229 ("ghc-persistent-sqlite" ,ghc-persistent-sqlite)
3230 ("ghc-persistent-template" ,ghc-persistent-template)))
3231 (home-page "https://github.com/bitemyapp/esqueleto")
3232 (synopsis "Type-safe embedded domain specific language for SQL queries")
3233 (description "This library provides a type-safe embedded domain specific
3234language (EDSL) for SQL queries that works with SQL backends as provided by
3235@code{ghc-persistent}. Its language closely resembles SQL, so you don't have
3236to learn new concepts, just new syntax, and it's fairly easy to predict the
3237generated SQL and optimize it for your backend.")
3238 (license license:bsd-3))))
3239
3240(define-public ghc-exactprint
3241 (package
3242 (name "ghc-exactprint")
50614014 3243 (version "0.6.1")
dddbc90c
RV
3244 (source
3245 (origin
3246 (method url-fetch)
3247 (uri (string-append
3248 "https://hackage.haskell.org/package/"
3249 "ghc-exactprint/ghc-exactprint-" version ".tar.gz"))
3250 (sha256
3251 (base32
50614014 3252 "12nqpqmi9c57a3hgpfy8q073zryz66ylmcvf29hyffpj7vmmnvhl"))))
dddbc90c
RV
3253 (build-system haskell-build-system)
3254 (inputs
3255 `(("ghc-paths" ,ghc-paths)
3256 ("ghc-syb" ,ghc-syb)
3257 ("ghc-free" ,ghc-free)))
3258 (native-inputs
3259 `(("ghc-hunit" ,ghc-hunit)
3260 ("ghc-diff" ,ghc-diff)
3261 ("ghc-silently" ,ghc-silently)
3262 ("ghc-filemanip" ,ghc-filemanip)))
3263 (home-page
3264 "http://hackage.haskell.org/package/ghc-exactprint")
3265 (synopsis "ExactPrint for GHC")
3266 (description
3267 "Using the API Annotations available from GHC 7.10.2, this library
3268provides a means to round-trip any code that can be compiled by GHC, currently
3269excluding @file{.lhs} files.")
3270 (license license:bsd-3)))
3271
3272(define-public ghc-exceptions
3273 (package
3274 (name "ghc-exceptions")
46d3e65b 3275 (version "0.10.3")
dddbc90c
RV
3276 (source
3277 (origin
3278 (method url-fetch)
3279 (uri (string-append
3280 "https://hackage.haskell.org/package/exceptions/exceptions-"
3281 version
3282 ".tar.gz"))
3283 (sha256
3284 (base32
46d3e65b 3285 "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24"))))
dddbc90c
RV
3286 (build-system haskell-build-system)
3287 (native-inputs
3288 `(("ghc-quickcheck" ,ghc-quickcheck)
3289 ("ghc-test-framework" ,ghc-test-framework)
3290 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3291 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3292 (inputs
3293 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
3294 (home-page "https://github.com/ekmett/exceptions/")
3295 (synopsis "Extensible optionally-pure exceptions")
3296 (description "This library provides extensible optionally-pure exceptions
3297for Haskell.")
3298 (license license:bsd-3)))
3299
3300(define-public ghc-executable-path
3301 (package
3302 (name "ghc-executable-path")
3303 (version "0.0.3.1")
3304 (source (origin
3305 (method url-fetch)
3306 (uri (string-append "https://hackage.haskell.org/package/"
3307 "executable-path/executable-path-"
3308 version ".tar.gz"))
3309 (sha256
3310 (base32
3311 "0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
3312 (build-system haskell-build-system)
3313 (home-page "https://hackage.haskell.org/package/executable-path")
3314 (synopsis "Find out the full path of the executable")
3315 (description
3316 "The documentation of @code{System.Environment.getProgName} says that
3317\"However, this is hard-to-impossible to implement on some non-Unix OSes, so
3318instead, for maximum portability, we just return the leafname of the program
3319as invoked.\" This library tries to provide the missing path.")
3320 (license license:public-domain)))
3321
3322(define-public ghc-extensible-exceptions
3323 (package
3324 (name "ghc-extensible-exceptions")
3325 (version "0.1.1.4")
3326 (source
3327 (origin
3328 (method url-fetch)
3329 (uri (string-append "https://hackage.haskell.org/package/"
3330 "extensible-exceptions/extensible-exceptions-"
3331 version ".tar.gz"))
3332 (sha256
3333 (base32 "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc"))))
3334 (build-system haskell-build-system)
3335 (home-page "https://hackage.haskell.org/package/extensible-exceptions")
3336 (synopsis "Extensible exceptions for Haskell")
3337 (description
3338 "This package provides extensible exceptions for both new and old
3339versions of GHC (i.e., < 6.10).")
3340 (license license:bsd-3)))
3341
3342(define-public ghc-extra
3343 (package
3344 (name "ghc-extra")
10650c44 3345 (version "1.6.18")
dddbc90c
RV
3346 (source
3347 (origin
3348 (method url-fetch)
3349 (uri (string-append
3350 "https://hackage.haskell.org/package/extra/extra-"
3351 version
3352 ".tar.gz"))
3353 (sha256
3354 (base32
10650c44 3355 "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
dddbc90c
RV
3356 (build-system haskell-build-system)
3357 (inputs
3358 `(("ghc-clock" ,ghc-clock)
10650c44 3359 ("ghc-semigroups" ,ghc-semigroups)
dddbc90c
RV
3360 ("ghc-quickcheck" ,ghc-quickcheck)))
3361 (home-page "https://github.com/ndmitchell/extra")
3362 (synopsis "Extra Haskell functions")
3363 (description "This library provides extra functions for the standard
3364Haskell libraries. Most functions are simple additions, filling out missing
3365functionality. A few functions are available in later versions of GHC, but
3366this package makes them available back to GHC 7.2.")
3367 (license license:bsd-3)))
3368
3369(define-public ghc-fail
3370 (package
3371 (name "ghc-fail")
3372 (version "4.9.0.0")
3373 (source
3374 (origin
3375 (method url-fetch)
3376 (uri (string-append "https://hackage.haskell.org/package/fail/fail-"
3377 version ".tar.gz"))
3378 (sha256
3379 (base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
3380 (build-system haskell-build-system)
3381 (arguments `(#:haddock? #f)) ; Package contains no documentation.
3382 (home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
3383 (synopsis "Forward-compatible MonadFail class")
3384 (description
3385 "This package contains the @code{Control.Monad.Fail} module providing the
3386@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
3387class that became available in
3388@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
3389older @code{base} package versions. This package turns into an empty package
3390when used with GHC versions which already provide the
3391@code{Control.Monad.Fail} module.")
3392 (license license:bsd-3)))
3393
3394(define-public ghc-fast-logger
3395 (package
3396 (name "ghc-fast-logger")
d443a52a 3397 (version "2.4.17")
dddbc90c
RV
3398 (source
3399 (origin
3400 (method url-fetch)
3401 (uri (string-append
3402 "https://hackage.haskell.org/package/fast-logger/fast-logger-"
3403 version
3404 ".tar.gz"))
3405 (sha256
3406 (base32
d443a52a 3407 "02mxb1ckvx1s2r2m11l5i2l5rdl7232p0f61af6773haykjp0qxk"))))
dddbc90c
RV
3408 (build-system haskell-build-system)
3409 (inputs
3410 `(("ghc-auto-update" ,ghc-auto-update)
3411 ("ghc-easy-file" ,ghc-easy-file)
d443a52a
TS
3412 ("ghc-unix-time" ,ghc-unix-time)
3413 ("ghc-unix-compat" ,ghc-unix-compat)))
dddbc90c
RV
3414 (native-inputs
3415 `(("hspec-discover" ,hspec-discover)
3416 ("ghc-hspec" ,ghc-hspec)))
3417 (home-page "https://hackage.haskell.org/package/fast-logger")
3418 (synopsis "Fast logging system")
3419 (description "This library provides a fast logging system for Haskell.")
3420 (license license:bsd-3)))
3421
3422(define-public ghc-feed
3423 (package
3424 (name "ghc-feed")
3425 (version "1.0.0.0")
3426 (source
3427 (origin
3428 (method url-fetch)
3429 (uri (string-append "https://hackage.haskell.org/package/"
3430 "feed/feed-" version ".tar.gz"))
3431 (sha256
3432 (base32
3433 "05rgg7x1984mgfhkmz792xj8lhwjgznixhygzr8blf517lns2nck"))))
3434 (build-system haskell-build-system)
3435 (arguments
3436 `(#:cabal-revision
3437 ("4" "0baavcavm3ywykcr9cm07aqr7sna98jba2n68lyn3kany8ri214d")))
3438 (inputs
3439 `(("ghc-base-compat" ,ghc-base-compat)
3440 ("ghc-old-locale" ,ghc-old-locale)
3441 ("ghc-old-time" ,ghc-old-time)
3442 ("ghc-safe" ,ghc-safe)
3443 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
3444 ("ghc-utf8-string" ,ghc-utf8-string)
3445 ("ghc-xml-conduit" ,ghc-xml-conduit)
3446 ("ghc-xml-types" ,ghc-xml-types)))
3447 (native-inputs
3448 `(("ghc-hunit" ,ghc-hunit)
3449 ("ghc-test-framework" ,ghc-test-framework)
3450 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
3451 (home-page "https://github.com/bergmark/feed")
3452 (synopsis "Haskell package for handling various syndication formats")
3453 (description "This Haskell package includes tools for generating and
3454consuming feeds in both RSS (Really Simple Syndication) and Atom format.")
3455 (license license:bsd-3)))
3456
3457(define-public ghc-fgl
3458 (package
3459 (name "ghc-fgl")
17482b26 3460 (version "5.7.0.1")
dddbc90c
RV
3461 (outputs '("out" "doc"))
3462 (source
3463 (origin
3464 (method url-fetch)
3465 (uri (string-append
3466 "https://hackage.haskell.org/package/fgl/fgl-"
3467 version
3468 ".tar.gz"))
3469 (sha256
3470 (base32
17482b26 3471 "04793yh778ck3kz1z2svnfdwwls2kisbnky4lzvf4zjfgpv7mkpz"))))
dddbc90c
RV
3472 (build-system haskell-build-system)
3473 (arguments
3474 `(#:phases
3475 (modify-phases %standard-phases
3476 (add-before 'configure 'update-constraints
3477 (lambda _
3478 (substitute* "fgl.cabal"
17482b26
TS
3479 (("QuickCheck >= 2\\.8 && < 2\\.13")
3480 "QuickCheck >= 2.8 && < 2.14")
3481 (("hspec >= 2\\.1 && < 2\\.7")
3482 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3483 (inputs
3484 `(("ghc-hspec" ,ghc-hspec)
3485 ("ghc-quickcheck" ,ghc-quickcheck)))
3486 (home-page "https://web.engr.oregonstate.edu/~erwig/fgl/haskell")
3487 (synopsis
3488 "Martin Erwig's Functional Graph Library")
3489 (description "The functional graph library, FGL, is a collection of type
3490and function definitions to address graph problems. The basis of the library
3491is an inductive definition of graphs in the style of algebraic data types that
3492encourages inductive, recursive definitions of graph algorithms.")
3493 (license license:bsd-3)))
3494
3495(define-public ghc-fgl-arbitrary
3496 (package
3497 (name "ghc-fgl-arbitrary")
3498 (version "0.2.0.3")
3499 (source
3500 (origin
3501 (method url-fetch)
3502 (uri (string-append
3503 "https://hackage.haskell.org/package/fgl-arbitrary/fgl-arbitrary-"
3504 version ".tar.gz"))
3505 (sha256
3506 (base32
3507 "0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
3508 (build-system haskell-build-system)
3509 (arguments
3510 `(#:phases
3511 (modify-phases %standard-phases
3512 (add-before 'configure 'update-constraints
3513 (lambda _
3514 (substitute* "fgl-arbitrary.cabal"
3515 (("QuickCheck >= 2\\.3 && < 2\\.10")
4a0ffae5 3516 "QuickCheck >= 2.3 && < 2.14")
dddbc90c 3517 (("hspec >= 2\\.1 && < 2\\.5")
4a0ffae5 3518 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
3519 (inputs
3520 `(("ghc-fgl" ,ghc-fgl)
3521 ("ghc-quickcheck" ,ghc-quickcheck)
3522 ("ghc-hspec" ,ghc-hspec)))
3523 (home-page "https://hackage.haskell.org/package/fgl-arbitrary")
3524 (synopsis "QuickCheck support for fgl")
3525 (description
3526 "Provides Arbitrary instances for fgl graphs to avoid adding a
3527QuickCheck dependency for fgl whilst still making the instances
3528available to others. Also available are non-fgl-specific functions
3529for generating graph-like data structures.")
3530 (license license:bsd-3)))
3531
3532(define-public ghc-file-embed
3533 (package
3534 (name "ghc-file-embed")
b5920d50 3535 (version "0.0.11")
dddbc90c
RV
3536 (source
3537 (origin
3538 (method url-fetch)
3539 (uri (string-append "https://hackage.haskell.org/package/file-embed/"
3540 "file-embed-" version ".tar.gz"))
3541 (sha256
3542 (base32
b5920d50 3543 "0l6dkwccbzzyx8rcav03lya2334dgi3vfwk96h7l93l0fc4x19gf"))))
dddbc90c
RV
3544 (build-system haskell-build-system)
3545 (home-page "https://github.com/snoyberg/file-embed")
3546 (synopsis "Use Template Haskell to embed file contents directly")
3547 (description
3548 "This package allows you to use Template Haskell to read a file or all
3549the files in a directory, and turn them into @code{(path, bytestring)} pairs
3550embedded in your Haskell code.")
3551 (license license:bsd-3)))
3552
3553(define-public ghc-filemanip
3554 (package
3555 (name "ghc-filemanip")
3556 (version "0.3.6.3")
3557 (source (origin
3558 (method url-fetch)
3559 (uri (string-append "https://hackage.haskell.org/package/"
3560 "filemanip/filemanip-" version ".tar.gz"))
3561 (sha256
3562 (base32
3563 "0ilqr8jv41zxcj5qyicg29m8s30b9v70x6f9h2h2rw5ap8bxldl8"))))
3564 (build-system haskell-build-system)
3565 (inputs
3566 `(("ghc-unix-compat" ,ghc-unix-compat)))
3567 (home-page "https://github.com/bos/filemanip")
3568 (synopsis "File and directory manipulation for Haskell")
3569 (description
3570 "This package provides a Haskell library for working with files and
3571directories. It includes code for pattern matching, finding files, modifying
3572file contents, and more.")
3573 (license license:bsd-3)))
3574
3575(define-public ghc-findbin
3576 (package
3577 (name "ghc-findbin")
3578 (version "0.0.5")
3579 (source
3580 (origin
3581 (method url-fetch)
3582 (uri (string-append
3583 "https://hackage.haskell.org/package/FindBin/FindBin-"
3584 version ".tar.gz"))
3585 (sha256
3586 (base32
3587 "197xvn05yysmibm1p5wzxfa256lvpbknr5d1l2ws6g40w1kpk717"))))
3588 (build-system haskell-build-system)
3589 (home-page "https://github.com/audreyt/findbin")
3590 (synopsis "Get the absolute path of the running program")
3591 (description
3592 "This module locates the full directory of the running program, to allow
3593the use of paths relative to it. FindBin supports invocation of Haskell
3594programs via \"ghci\", via \"runhaskell/runghc\", as well as compiled as
3595an executable.")
3596 (license license:bsd-3)))
3597
3598(define-public ghc-fingertree
3599 (package
3600 (name "ghc-fingertree")
aac14fdc 3601 (version "0.1.4.2")
dddbc90c
RV
3602 (source
3603 (origin
3604 (method url-fetch)
3605 (uri (string-append
3606 "https://hackage.haskell.org/package/fingertree/fingertree-"
3607 version ".tar.gz"))
3608 (sha256
3609 (base32
aac14fdc 3610 "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm"))))
dddbc90c
RV
3611 (build-system haskell-build-system)
3612 (native-inputs
3613 `(("ghc-hunit" ,ghc-hunit)
3614 ("ghc-quickcheck" ,ghc-quickcheck)
3615 ("ghc-test-framework" ,ghc-test-framework)
3616 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3617 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3618 (home-page "https://hackage.haskell.org/package/fingertree")
3619 (synopsis "Generic finger-tree structure")
3620 (description "This library provides finger trees, a general sequence
3621representation with arbitrary annotations, for use as a base for
3622implementations of various collection types. It includes examples, as
3623described in section 4 of Ralf Hinze and Ross Paterson, \"Finger trees: a
3624simple general-purpose data structure\".")
3625 (license license:bsd-3)))
3626
3627(define-public ghc-fixed
3628 (package
3629 (name "ghc-fixed")
099dda5b 3630 (version "0.3")
dddbc90c
RV
3631 (source
3632 (origin
3633 (method url-fetch)
3634 (uri (string-append "https://hackage.haskell.org/package/fixed/fixed-"
3635 version ".tar.gz"))
3636 (sha256
3637 (base32
099dda5b 3638 "10l2sh179xarb774q92cff2gkb20rsrlilfwp1fk61rzmz9yn64j"))))
dddbc90c
RV
3639 (build-system haskell-build-system)
3640 (home-page "https://github.com/ekmett/fixed")
3641 (synopsis "Signed 15.16 precision fixed point arithmetic")
3642 (description
3643 "This package provides functions for signed 15.16 precision fixed point
3644arithmetic.")
3645 (license license:bsd-3)))
3646
f169f713
JS
3647(define-public ghc-fmlist
3648 (package
3649 (name "ghc-fmlist")
fe9b83a6 3650 (version "0.9.3")
f169f713
JS
3651 (source
3652 (origin
3653 (method url-fetch)
3654 (uri
3655 (string-append
3656 "https://hackage.haskell.org/package/fmlist/fmlist-"
3657 version ".tar.gz"))
3658 (sha256
3659 (base32
fe9b83a6 3660 "1w9nhm2zybdx4c1lalkajwqr8wcs731lfjld2r8gknd7y96x8pwf"))))
f169f713
JS
3661 (build-system haskell-build-system)
3662 (home-page "https://github.com/sjoerdvisscher/fmlist")
3663 (synopsis "FoldMap lists")
3664 (description "FoldMap lists are lists represented by their
3665@code{foldMap} function. FoldMap lists have @math{O(1)} cons, snoc and
3666append, just like DLists, but other operations might have favorable
3667performance characteristics as well. These wild claims are still
3668completely unverified though.")
3669 (license license:bsd-3)))
3670
dddbc90c
RV
3671(define-public ghc-foldl
3672 (package
3673 (name "ghc-foldl")
3674 (version "1.4.3")
3675 (source
3676 (origin
3677 (method url-fetch)
3678 (uri (string-append "https://hackage.haskell.org/package/"
3679 "foldl-" version "/"
3680 "foldl-" version ".tar.gz"))
3681 (sha256
3682 (base32
3683 "13n0ca3hw5jzqf6rxsdbhbwkn61a9zlm13f0f205s60j3sc72jzk"))))
3684 (build-system haskell-build-system)
3685 (inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
3686 ("ghc-primitive" ,ghc-primitive)
3687 ("ghc-vector" ,ghc-vector)
3688 ("ghc-unordered-containers" ,ghc-unordered-containers)
3689 ("ghc-hashable" ,ghc-hashable)
3690 ("ghc-contravariant" ,ghc-contravariant)
3691 ("ghc-semigroups" ,ghc-semigroups)
3692 ("ghc-profunctors" ,ghc-profunctors)
3693 ("ghc-semigroupoids" ,ghc-semigroupoids)
3694 ("ghc-comonad" ,ghc-comonad)
3695 ("ghc-vector-builder" ,ghc-vector-builder)))
3696 (home-page "https://github.com/Gabriel439/Haskell-Foldl-Library")
3697 (synopsis "Composable, streaming, and efficient left folds for Haskell")
3698 (description "This Haskell library provides strict left folds that stream
3699in constant memory, and you can combine folds using @code{Applicative} style
3700to derive new folds. Derived folds still traverse the container just once
3701and are often as efficient as hand-written folds.")
3702 (license license:bsd-3)))
3703
3704(define-public ghc-foundation
3705 (package
3706 (name "ghc-foundation")
0a702df9 3707 (version "0.0.25")
dddbc90c
RV
3708 (source
3709 (origin
3710 (method url-fetch)
3711 (uri (string-append "https://hackage.haskell.org/package/"
3712 "foundation/foundation-" version ".tar.gz"))
3713 (sha256
3714 (base32
0a702df9 3715 "0q6kx57ygmznlpf8n499hid4x6mj3180paijx0a8dgi9hh7man61"))))
dddbc90c
RV
3716 (build-system haskell-build-system)
3717 (inputs `(("ghc-basement" ,ghc-basement)))
3718 (home-page "https://github.com/haskell-foundation/foundation")
3719 (synopsis "Alternative prelude with batteries and no dependencies")
3720 (description
3721 "This package provides a custom prelude with no dependencies apart from
3722the base package.
3723
3724Foundation has the following goals:
3725
3726@enumerate
3727@item provide a base like sets of modules that provide a consistent set of
3728 features and bugfixes across multiple versions of GHC (unlike base).
3729@item provide a better and more efficient prelude than base's prelude.
3730@item be self-sufficient: no external dependencies apart from base;
3731@item provide better data-types: packed unicode string by default, arrays;
3732@item Numerical classes that better represent mathematical things (no more
3733 all-in-one @code{Num});
3734@item I/O system with less lazy IO.
3735@end enumerate\n")
3736 (license license:bsd-3)))
3737
3738(define-public ghc-free
3739 (package
3740 (name "ghc-free")
4081565d 3741 (version "5.1.2")
dddbc90c
RV
3742 (source
3743 (origin
3744 (method url-fetch)
3745 (uri (string-append
3746 "https://hackage.haskell.org/package/free/free-"
3747 version
3748 ".tar.gz"))
3749 (sha256
3750 (base32
4081565d 3751 "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb"))))
dddbc90c
RV
3752 (build-system haskell-build-system)
3753 (inputs
3754 `(("ghc-prelude-extras" ,ghc-prelude-extras)
3755 ("ghc-profunctors" ,ghc-profunctors)
3756 ("ghc-exceptions" ,ghc-exceptions)
3757 ("ghc-bifunctors" ,ghc-bifunctors)
3758 ("ghc-comonad" ,ghc-comonad)
3759 ("ghc-distributive" ,ghc-distributive)
3760 ("ghc-semigroupoids" ,ghc-semigroupoids)
3761 ("ghc-semigroups" ,ghc-semigroups)
3762 ("ghc-transformers-base" ,ghc-transformers-base)
3763 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3764 (home-page "https://github.com/ekmett/free/")
3765 (synopsis "Unrestricted monads for Haskell")
3766 (description "This library provides free monads, which are useful for many
3767tree-like structures and domain specific languages. If @code{f} is a
3768@code{Functor} then the free @code{Monad} on @code{f} is the type of trees
3769whose nodes are labeled with the constructors of @code{f}. The word \"free\"
3770is used in the sense of \"unrestricted\" rather than \"zero-cost\": @code{Free
3771f} makes no constraining assumptions beyond those given by @code{f} and the
3772definition of @code{Monad}.")
3773 (license license:bsd-3)))
3774
3775(define-public ghc-fsnotify
3776 (package
3777 (name "ghc-fsnotify")
3778 (version "0.3.0.1")
3779 (source (origin
3780 (method url-fetch)
3781 (uri (string-append
3782 "https://hackage.haskell.org/package/fsnotify/"
3783 "fsnotify-" version ".tar.gz"))
3784 (sha256
3785 (base32
3786 "19bdbz9wb9jvln6yg6qm0hz0w84bypvkxf0wjhgrgd52f9gidlny"))))
3787 (build-system haskell-build-system)
3788 (inputs
3789 `(("ghc-async" ,ghc-async)
3790 ("ghc-unix-compat" ,ghc-unix-compat)
3791 ("ghc-hinotify" ,ghc-hinotify)
3792 ("ghc-tasty" ,ghc-tasty)
3793 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
3794 ("ghc-random" ,ghc-random)
3795 ("ghc-shelly" ,ghc-shelly)
3796 ("ghc-temporary" ,ghc-temporary)))
3797 (home-page "https://github.com/haskell-fswatch/hfsnotify")
3798 (synopsis "Cross platform library for file change notification.")
3799 (description "Cross platform library for file creation, modification, and
3800deletion notification. This library builds upon existing libraries for platform
3801specific Windows, Mac, and Linux file system event notification.")
3802 (license license:bsd-3)))
3803
3804(define-public ghc-generic-deriving
3805 (package
3806 (name "ghc-generic-deriving")
55c1e6be 3807 (version "1.12.4")
dddbc90c
RV
3808 (source
3809 (origin
3810 (method url-fetch)
3811 (uri (string-append
3812 "https://hackage.haskell.org/package/generic-deriving/generic-deriving-"
3813 version
3814 ".tar.gz"))
3815 (sha256
3816 (base32
55c1e6be 3817 "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4"))))
dddbc90c
RV
3818 (build-system haskell-build-system)
3819 (inputs
3820 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
3821 (native-inputs
3822 `(("ghc-hspec" ,ghc-hspec)
3823 ("hspec-discover" ,hspec-discover)))
3824 (home-page "https://hackage.haskell.org/package/generic-deriving")
3825 (synopsis "Generalise the deriving mechanism to arbitrary classes")
3826 (description "This package provides functionality for generalising the
3827deriving mechanism in Haskell to arbitrary classes.")
3828 (license license:bsd-3)))
3829
3830(define-public ghc-generics-sop
3831 (package
3832 (name "ghc-generics-sop")
3ed40e10 3833 (version "0.4.0.1")
dddbc90c
RV
3834 (source
3835 (origin
3836 (method url-fetch)
3837 (uri (string-append "https://hackage.haskell.org/package/"
3838 "generics-sop-" version "/"
3839 "generics-sop-" version ".tar.gz"))
3840 (sha256
3841 (base32
3ed40e10 3842 "160knr2phnzh2gldfv954lz029jzc7y8kz5xpmbf4z3vb5ngm6fw"))))
dddbc90c 3843 (build-system haskell-build-system)
3ed40e10
TS
3844 (inputs
3845 `(("ghc-sop-core" ,ghc-sop-core)
3846 ("ghc-transformers-compat" ,ghc-transformers-compat)))
dddbc90c
RV
3847 (home-page "https://github.com/well-typed/generics-sop")
3848 (synopsis "Generic Programming using True Sums of Products for Haskell")
3849 (description "This Haskell package supports the definition of generic
3850functions. Datatypes are viewed in a uniform, structured way: the choice
3851between constructors is represented using an n-ary sum, and the arguments of
3852each constructor are represented using an n-ary product.")
3853 (license license:bsd-3)))
3854
3855(define-public ghc-geniplate-mirror
3856 (package
3857 (name "ghc-geniplate-mirror")
3858 (version "0.7.6")
3859 (source
3860 (origin
3861 (method url-fetch)
3862 (uri (string-append "https://hackage.haskell.org/package"
3863 "/geniplate-mirror"
3864 "/geniplate-mirror-" version ".tar.gz"))
3865 (sha256
3866 (base32 "1y0m0bw5zpm1y1y6d9qmxj3swl8j8hlw1shxbr5awycf6k884ssb"))))
3867 (build-system haskell-build-system)
3868 (home-page "https://github.com/danr/geniplate")
3869 (synopsis "Use Template Haskell to generate Uniplate-like functions")
3870 (description
3871 "Use Template Haskell to generate Uniplate-like functions. This is a
3872maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
3873geniplate} package, written by Lennart Augustsson.")
3874 (license license:bsd-3)))
3875
3876(define-public ghc-genvalidity
3877 (package
3878 (name "ghc-genvalidity")
920f44a1 3879 (version "0.8.0.0")
dddbc90c
RV
3880 (source
3881 (origin
3882 (method url-fetch)
3883 (uri (string-append
3884 "https://hackage.haskell.org/package/genvalidity/genvalidity-"
3885 version
3886 ".tar.gz"))
3887 (sha256
3888 (base32
920f44a1 3889 "0w38aq9hfyymidncgkrs6yvja7j573d9sap5qfg5rz910fhsij9a"))))
dddbc90c
RV
3890 (build-system haskell-build-system)
3891 (inputs
3892 `(("ghc-quickcheck" ,ghc-quickcheck)
3893 ("ghc-validity" ,ghc-validity)))
3894 (native-inputs
3895 `(("ghc-hspec" ,ghc-hspec)
3896 ("hspec-discover" ,hspec-discover)
3897 ("ghc-hspec-core" ,ghc-hspec-core)))
3898 (home-page
3899 "https://github.com/NorfairKing/validity")
3900 (synopsis
3901 "Testing utilities for the @code{validity} library")
3902 (description
3903 "This package provides testing utilities that are useful in conjunction
3904with the @code{Validity} typeclass.")
3905 (license license:expat)))
3906
3907(define-public ghc-genvalidity-property
3908 (package
3909 (name "ghc-genvalidity-property")
e4ede35b 3910 (version "0.4.0.0")
dddbc90c
RV
3911 (source
3912 (origin
3913 (method url-fetch)
3914 (uri (string-append
3915 "https://hackage.haskell.org/package/"
3916 "genvalidity-property/genvalidity-property-"
3917 version
3918 ".tar.gz"))
3919 (sha256
3920 (base32
e4ede35b 3921 "0zayycx62226w54rvkxwhvqhznsr33dk3ds55yyqrfqbnhvph1s9"))))
dddbc90c
RV
3922 (build-system haskell-build-system)
3923 (inputs
3924 `(("ghc-quickcheck" ,ghc-quickcheck)
3925 ("ghc-genvalidity" ,ghc-genvalidity)
3926 ("ghc-hspec" ,ghc-hspec)
3927 ("hspec-discover" ,hspec-discover)
3928 ("ghc-validity" ,ghc-validity)))
3929 (native-inputs `(("ghc-doctest" ,ghc-doctest)))
3930 (home-page
3931 "https://github.com/NorfairKing/validity")
3932 (synopsis
3933 "Standard properties for functions on @code{Validity} types")
3934 (description
3935 "This package supplements the @code{Validity} typeclass with standard
3936properties for functions operating on them.")
3937 (license license:expat)))
3938
3939(define-public ghc-gitrev
3940 (package
3941 (name "ghc-gitrev")
3942 (version "1.3.1")
3943 (source
3944 (origin
3945 (method url-fetch)
3946 (uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
3947 version ".tar.gz"))
3948 (sha256
3949 (base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
3950 (build-system haskell-build-system)
3951 (inputs `(("ghc-base-compat" ,ghc-base-compat)))
3952 (home-page "https://github.com/acfoltzer/gitrev")
3953 (synopsis "Compile git revision info into Haskell projects")
3954 (description
3955 "This package provides some handy Template Haskell splices for including
3956the current git hash and branch in the code of your project. This is useful
3957for including in panic messages, @command{--version} output, or diagnostic
3958info for more informative bug reports.")
3959 (license license:bsd-3)))
3960
3961(define-public ghc-glob
3962 (package
3963 (name "ghc-glob")
b900f486 3964 (version "0.10.0")
dddbc90c
RV
3965 (source
3966 (origin
3967 (method url-fetch)
3968 (uri (string-append "https://hackage.haskell.org/package/"
3969 "Glob-" version "/"
3970 "Glob-" version ".tar.gz"))
3971 (sha256
3972 (base32
b900f486 3973 "0953f91f62ncna402vsrfzdcyxhdpjna3bgdw017kad0dfymacs7"))))
dddbc90c
RV
3974 (build-system haskell-build-system)
3975 (inputs
3976 `(("ghc-dlist" ,ghc-dlist)
3977 ("ghc-semigroups" ,ghc-semigroups)
3978 ("ghc-transformers-compat" ,ghc-transformers-compat)))
3979 (native-inputs
3980 `(("ghc-hunit" ,ghc-hunit)
3981 ("ghc-quickcheck" ,ghc-quickcheck)
3982 ("ghc-test-framework" ,ghc-test-framework)
3983 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
3984 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
3985 (home-page "http://iki.fi/matti.niemenmaa/glob/")
3986 (synopsis "Haskell library matching glob patterns against file paths")
3987 (description "This package provides a Haskell library for @dfn{globbing}:
3988matching patterns against file paths.")
3989 (license license:bsd-3)))
3990
3991(define-public ghc-gluraw
3992 (package
3993 (name "ghc-gluraw")
3994 (version "2.0.0.4")
3995 (source
3996 (origin
3997 (method url-fetch)
3998 (uri (string-append
3999 "https://hackage.haskell.org/package/GLURaw/GLURaw-"
4000 version
4001 ".tar.gz"))
4002 (sha256
4003 (base32
4004 "1i2xi35n5z0d372px9mh6cyhgg1m0cfaiy3fnspkf6kbn9fgsqxq"))))
4005 (build-system haskell-build-system)
4006 (inputs
4007 `(("ghc-openglraw" ,ghc-openglraw)))
4008 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4009 (synopsis "Raw Haskell bindings GLU")
4010 (description "GLURaw is a raw Haskell binding for the GLU 1.3 OpenGL
4011utility library. It is basically a 1:1 mapping of GLU's C API, intended as a
4012basis for a nicer interface.")
4013 (license license:bsd-3)))
4014
4015(define-public ghc-glut
4016 (package
4017 (name "ghc-glut")
8284bd09 4018 (version "2.7.0.15")
dddbc90c
RV
4019 (source
4020 (origin
4021 (method url-fetch)
4022 (uri (string-append
4023 "https://hackage.haskell.org/package/GLUT/GLUT-"
4024 version
4025 ".tar.gz"))
4026 (sha256
4027 (base32
8284bd09 4028 "0271vnf6wllhxjwy0m348x90kv27aybxcbqkkglmd5w4cpwjg5g9"))))
dddbc90c
RV
4029 (build-system haskell-build-system)
4030 (inputs
4031 `(("ghc-statevar" ,ghc-statevar)
4032 ("ghc-opengl" ,ghc-opengl)
4033 ("ghc-openglraw" ,ghc-openglraw)
4034 ("freeglut" ,freeglut)))
4035 (home-page "https://www.haskell.org/haskellwiki/Opengl")
4036 (synopsis "Haskell bindings for the OpenGL Utility Toolkit")
4037 (description "This library provides Haskell bindings for the OpenGL
4038Utility Toolkit, a window system-independent toolkit for writing OpenGL
4039programs.")
4040 (license license:bsd-3)))
4041
4042(define-public ghc-gnuplot
4043 (package
4044 (name "ghc-gnuplot")
d34860c7 4045 (version "0.5.6")
dddbc90c
RV
4046 (source
4047 (origin
4048 (method url-fetch)
4049 (uri (string-append
4050 "mirror://hackage/package/gnuplot/gnuplot-"
4051 version ".tar.gz"))
4052 (sha256
d34860c7 4053 (base32 "1g6xgnlkh17avivn1rlq7l2nvs26dvrbx4rkfld0bf6kyqaqwrgp"))))
dddbc90c
RV
4054 (build-system haskell-build-system)
4055 (inputs
4056 `(("ghc-temporary" ,ghc-temporary)
4057 ("ghc-utility-ht" ,ghc-utility-ht)
4058 ("ghc-data-accessor-transformers" ,ghc-data-accessor-transformers)
4059 ("ghc-data-accessor" ,ghc-data-accessor)
4060 ("ghc-semigroups" ,ghc-semigroups)
4061 ("gnuplot" ,gnuplot)))
4062 (arguments
4063 `(#:phases
4064 (modify-phases %standard-phases
4065 (add-before 'configure 'fix-path-to-gnuplot
4066 (lambda* (#:key inputs #:allow-other-keys)
4067 (let ((gnuplot (assoc-ref inputs "gnuplot")))
4068 (substitute* "os/generic/Graphics/Gnuplot/Private/OS.hs"
4069 (("(gnuplotName = ).*$" all cmd)
4070 (string-append cmd "\"" gnuplot "/bin/gnuplot\"")))))))))
4071 (home-page "https://www.haskell.org/haskellwiki/Gnuplot")
4072 (synopsis "2D and 3D plots using gnuplot")
4073 (description "This package provides a Haskell module for creating 2D and
40743D plots using gnuplot.")
4075 (license license:bsd-3)))
4076
4077(define-public ghc-graphviz
4078 (package
4079 (name "ghc-graphviz")
c264bd42 4080 (version "2999.20.0.3")
dddbc90c
RV
4081 (source (origin
4082 (method url-fetch)
4083 (uri (string-append "https://hackage.haskell.org/package/"
4084 "graphviz/graphviz-" version ".tar.gz"))
4085 (sha256
4086 (base32
c264bd42 4087 "04k26zw61nfv1pkd00iaq89pgsaiym0sf4cbzkmm2k2fj5xa587g"))))
dddbc90c 4088 (build-system haskell-build-system)
c264bd42
TS
4089 (arguments
4090 `(#:phases
4091 (modify-phases %standard-phases
4092 (add-before 'configure 'update-constraints
4093 (lambda _
4094 (substitute* "graphviz.cabal"
4095 (("QuickCheck >= 2\\.3 && < 2\\.13")
4096 "QuickCheck >= 2.3 && < 2.14")
4097 (("hspec >= 2\\.1 && < 2\\.7")
4098 "hspec >= 2.1 && < 2.8")))))))
dddbc90c
RV
4099 (inputs
4100 `(("ghc-quickcheck" ,ghc-quickcheck)
4101 ("ghc-colour" ,ghc-colour)
4102 ("ghc-dlist" ,ghc-dlist)
4103 ("ghc-fgl" ,ghc-fgl)
4104 ("ghc-fgl-arbitrary" ,ghc-fgl-arbitrary)
4105 ("ghc-polyparse" ,ghc-polyparse)
4106 ("ghc-temporary" ,ghc-temporary)
4107 ("ghc-wl-pprint-text" ,ghc-wl-pprint-text)))
4108 (native-inputs
4109 `(("ghc-hspec" ,ghc-hspec)
4110 ("graphviz" ,graphviz)
4111 ("hspec-discover" ,hspec-discover)))
4112 (home-page "https://hackage.haskell.org/package/graphviz")
4113 (synopsis "Bindings to Graphviz for graph visualisation")
4114 (description
4115 "This library provides bindings for the Dot language used by
4116the @uref{https://graphviz.org/, Graphviz} suite of programs for
4117visualising graphs, as well as functions to call those programs.
4118Main features of the graphviz library include:
4119
4120@enumerate
4121@item Almost complete coverage of all Graphviz attributes and syntax
4122@item Support for specifying clusters
4123@item The ability to use a custom node type
4124@item Functions for running a Graphviz layout tool with all specified output types
4125@item Generate and parse Dot code with two options: strict and liberal
4126@item Functions to convert FGL graphs and other graph-like data structures
4127@item Round-trip support for passing an FGL graph through Graphviz to augment node
4128and edge labels with positional information, etc.
4129@end enumerate\n")
4130 (license license:bsd-3)))
4131
4132(define-public ghc-gtk2hs-buildtools
4133 (package
4134 (name "ghc-gtk2hs-buildtools")
4135 (version "0.13.4.0")
4136 (source
4137 (origin
4138 (method url-fetch)
4139 (uri (string-append "https://hackage.haskell.org/package/"
4140 "gtk2hs-buildtools/gtk2hs-buildtools-"
4141 version ".tar.gz"))
4142 (sha256
4143 (base32
4144 "0yg6xmylgpylmnh5g33qwwn5x9bqckdvvv4czqzd9vrr12lnnghg"))))
4145 (build-system haskell-build-system)
4146 (inputs
4147 `(("ghc-random" ,ghc-random)
4148 ("ghc-hashtables" ,ghc-hashtables)))
4149 (native-inputs
4150 `(("ghc-alex" ,ghc-alex)
4151 ("ghc-happy" ,ghc-happy)))
4152 (home-page "http://projects.haskell.org/gtk2hs/")
4153 (synopsis "Tools to build the Gtk2Hs suite of user interface libraries")
4154 (description
4155 "This package provides a set of helper programs necessary to build the
4156Gtk2Hs suite of libraries. These tools include a modified c2hs binding tool
4157that is used to generate FFI declarations, a tool to build a type hierarchy
4158that mirrors the C type hierarchy of GObjects found in glib, and a generator
4159for signal declarations that are used to call back from C to Haskell. These
4160tools are not needed to actually run Gtk2Hs programs.")
4161 (license license:gpl2)))
4162
4163(define-public ghc-hackage-security
4164 (package
4165 (name "ghc-hackage-security")
4166 (version "0.5.3.0")
4167 (source
4168 (origin
4169 (method url-fetch)
4170 (uri (string-append "https://hackage.haskell.org/package/"
4171 "hackage-security/hackage-security-"
4172 version ".tar.gz"))
4173 (sha256
4174 (base32
4175 "08bwawc7ramgdh54vcly2m9pvfchp0ahhs8117jajni6x4bnx66v"))))
4176 (build-system haskell-build-system)
4177 (arguments
4178 `(#:tests? #f)) ; Tests fail because of framework updates.
4179 (inputs
4180 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
4181 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
4182 ("ghc-cryptohash-sha256" ,ghc-cryptohash-sha256)
4183 ("ghc-ed25519" ,ghc-ed25519)
4184 ("ghc-network" ,ghc-network)
4185 ("ghc-network-uri" ,ghc-network-uri)
4186 ("ghc-tar" ,ghc-tar)
4187 ("ghc-zlib" ,ghc-zlib)))
4188 (native-inputs
4189 `(("ghc-network-uri" ,ghc-network-uri)
4190 ("ghc-quickcheck" ,ghc-quickcheck)
4191 ("ghc-tar" ,ghc-tar)
4192 ("ghc-tasty" ,ghc-tasty)
4193 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
4194 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4195 ("ghc-temporary" ,ghc-temporary)
4196 ("ghc-zlib" ,ghc-zlib)))
4197 (home-page "https://github.com/haskell/hackage-security")
4198 (synopsis "Hackage security library")
4199 (description "This Hackage security library provides both server and
4200client utilities for securing @uref{http://hackage.haskell.org/, the
4201Hackage package server}. It is based on
4202@uref{http://theupdateframework.com/, The Update Framework}, a set of
4203recommendations developed by security researchers at various universities
4204in the US as well as developers on the @uref{https://www.torproject.org/,
4205Tor project}.")
4206 (license license:bsd-3)))
4207
4208(define-public ghc-haddock
4209 (package
4210 (name "ghc-haddock")
4211 (version "2.19.0.1")
4212 (source
4213 (origin
4214 (method url-fetch)
4215 (uri (string-append
4216 "https://hackage.haskell.org/package/haddock/haddock-"
4217 version
4218 ".tar.gz"))
4219 (sha256
4220 (base32
4221 "1g1j9j0hf2yhyyh0gwz6bzbvfvliqz9x8a8hnkmwghm7w3xa6sb7"))))
4222 (build-system haskell-build-system)
4223 (arguments
4224 `(#:phases
4225 (modify-phases %standard-phases
4226 ;; There are four test suites that require the ghc-haddock-test
4227 ;; package, which no longer builds with GHC 8.4.3. This phase
4228 ;; removes these four test suites from the Cabal file, so that we
4229 ;; do not need ghc-haddock-test as an input.
4230 (add-before 'configure 'remove-haddock-test-test-suites
4231 (lambda _
4232 (use-modules (ice-9 rdelim))
4233 (with-atomic-file-replacement "haddock.cabal"
4234 (lambda (in out)
4235 (let loop ((line (read-line in 'concat)) (deleting? #f))
4236 (cond
4237 ((eof-object? line) #t)
4238 ((string-every char-set:whitespace line)
4239 (unless deleting? (display line out))
4240 (loop (read-line in 'concat) #f))
4241 ((member line '("test-suite html-test\n"
4242 "test-suite hypsrc-test\n"
4243 "test-suite latex-test\n"
4244 "test-suite hoogle-test\n"))
4245 (loop (read-line in 'concat) #t))
4246 (else
4247 (unless deleting? (display line out))
4248 (loop (read-line in 'concat) deleting?)))))))))))
4249 (inputs `(("ghc-haddock-api" ,ghc-haddock-api)))
4250 (native-inputs
4251 `(("ghc-hspec" ,ghc-hspec)))
4252 (home-page "https://www.haskell.org/haddock/")
4253 (synopsis
4254 "Documentation-generation tool for Haskell libraries")
4255 (description
4256 "Haddock is a documentation-generation tool for Haskell libraries.")
4257 (license license:bsd-3)))
4258
4259(define-public ghc-haddock-api
4260 (package
4261 (name "ghc-haddock-api")
4262 (version "2.19.0.1")
4263 (source
4264 (origin
4265 (method url-fetch)
4266 (uri (string-append
4267 "https://hackage.haskell.org/package/haddock-api/haddock-api-"
4268 version
4269 ".tar.gz"))
4270 (sha256
4271 (base32
4272 "0c6i7sljp7myz25d90gyw68a90i5jcrkajkxcciikp2hjirfaas3"))))
4273 (build-system haskell-build-system)
4274 (arguments
4275 `(#:phases
4276 (modify-phases %standard-phases
4277 (add-before 'configure 'update-constraints
4278 (lambda _
4279 (substitute* "haddock-api.cabal"
4280 (("Cabal \\^>= 2\\.0\\.0")
4281 "Cabal ^>= 2.2.0")
4282 (("hspec \\^>= 2\\.4\\.4")
4283 "hspec >= 2.4.4 && < 2.6")))))))
4284 (inputs
4285 `(("ghc-paths" ,ghc-paths)
4286 ("ghc-haddock-library" ,ghc-haddock-library)))
4287 (native-inputs
4288 `(("ghc-quickcheck" ,ghc-quickcheck)
4289 ("ghc-hspec" ,ghc-hspec)
4290 ("hspec-discover" ,hspec-discover)))
4291 (home-page "https://www.haskell.org/haddock/")
4292 (synopsis "API for documentation-generation tool Haddock")
4293 (description "This package provides an API to Haddock, the
4294documentation-generation tool for Haskell libraries.")
4295 (license license:bsd-3)))
4296
4297(define-public ghc-haddock-library
4298 (package
4299 (name "ghc-haddock-library")
4300 (version "1.5.0.1")
4301 (source
4302 (origin
4303 (method url-fetch)
4304 (uri (string-append
4305 "https://hackage.haskell.org/package/haddock-library/haddock-library-"
4306 version
4307 ".tar.gz"))
4308 (sha256
4309 (base32
4310 "1cmbg8l5xrwpliclwy3l057raypjqy0hsg1h1743ahaj8gq10b7z"))
4311 (patches (search-patches
4312 "ghc-haddock-library-unbundle.patch"))
4313 (modules '((guix build utils)))
4314 (snippet '(begin
4315 (delete-file-recursively "vendor")
4316 #t))))
4317 (build-system haskell-build-system)
4318 (arguments
4319 `(#:phases
4320 (modify-phases %standard-phases
4321 (add-before 'configure 'relax-test-suite-dependencies
4322 (lambda _
4323 (substitute* "haddock-library.cabal"
4324 (("base-compat\\s*\\^>= 0\\.9\\.3") "base-compat")
4325 (("hspec\\s*\\^>= 2\\.4\\.4") "hspec"))))
4326 ;; The release tarball does not contain the "fixtures/examples"
4327 ;; directory, which is required for testing. In the upstream
4328 ;; repository, the directory exists and is populated. Here, we
4329 ;; create an empty directory to placate the tests.
4330 (add-before 'check 'add-examples-directory
4331 (lambda _
4332 (mkdir "fixtures/examples")
4333 #t)))))
4334 (native-inputs
4335 `(("ghc-base-compat" ,ghc-base-compat)
4336 ("ghc-hspec" ,ghc-hspec)
4337 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
4338 ("ghc-quickcheck" ,ghc-quickcheck)
4339 ("ghc-tree-diff" ,ghc-tree-diff)
4340 ("hspec-discover" ,hspec-discover)))
4341 (home-page "https://www.haskell.org/haddock/")
4342 (synopsis "Library exposing some functionality of Haddock")
4343 (description
4344 "Haddock is a documentation-generation tool for Haskell libraries. These
4345modules expose some functionality of it without pulling in the GHC dependency.
4346Please note that the API is likely to change so specify upper bounds in your
4347project if you can't release often. For interacting with Haddock itself, see
4348the ‘haddock’ package.")
4349 (license license:bsd-3)))
4350
4351(define-public ghc-half
4352 (package
4353 (name "ghc-half")
4354 (version "0.3")
4355 (source
4356 (origin
4357 (method url-fetch)
4358 (uri (string-append
4359 "https://hackage.haskell.org/package/half/half-"
4360 version ".tar.gz"))
4361 (sha256
4362 (base32
4363 "14r0nx8hm5fic9gz0ybjjw4kyc758zfgvhhwvzsshpx5caq6zch6"))))
4364 (build-system haskell-build-system)
4365 (native-inputs
4366 `(("ghc-hspec" ,ghc-hspec)
4367 ("ghc-quickcheck" ,ghc-quickcheck)))
4368 (home-page "https://github.com/ekmett/half")
4369 (synopsis "Half-precision floating-point computations")
4370 (description "This library provides a half-precision floating-point
4371computation library for Haskell.")
4372 (license license:bsd-3)))
4373
4374(define-public ghc-happy
4375 (package
4376 (name "ghc-happy")
90e7b0e4 4377 (version "1.19.12")
dddbc90c
RV
4378 (source
4379 (origin
4380 (method url-fetch)
4381 (uri (string-append
4382 "https://hackage.haskell.org/package/happy/happy-"
4383 version
4384 ".tar.gz"))
4385 (sha256
4386 (base32
90e7b0e4 4387 "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv"))))
dddbc90c
RV
4388 (build-system haskell-build-system)
4389 (arguments
4390 `(#:phases
4391 (modify-phases %standard-phases
4392 (add-after 'unpack 'skip-test-issue93
4393 (lambda _
4394 ;; Tests run out of memory on a system with 2GB of available RAM,
4395 ;; in 'issue93.a.hs' and 'issue93.n.hs'.
4396 (substitute* "tests/Makefile"
4397 ((" issue93.y ") " "))
4398 #t)))))
4399 (home-page "https://hackage.haskell.org/package/happy")
4400 (synopsis "Parser generator for Haskell")
4401 (description "Happy is a parser generator for Haskell. Given a grammar
4402specification in BNF, Happy generates Haskell code to parse the grammar.
4403Happy works in a similar way to the yacc tool for C.")
4404 (license license:bsd-3)))
4405
4406(define-public ghc-hashable
4407 (package
4408 (name "ghc-hashable")
4409 (version "1.2.7.0")
4410 (outputs '("out" "doc"))
4411 (source
4412 (origin
4413 (method url-fetch)
4414 (uri (string-append
4415 "https://hackage.haskell.org/package/hashable/hashable-"
4416 version
4417 ".tar.gz"))
4418 (sha256
4419 (base32
4420 "1gra8gq3kb7b2sd845h55yxlrfqx3ii004c6vjhga8v0b30fzdgc"))))
4421 (build-system haskell-build-system)
65a16a45
TS
4422 (arguments
4423 `(#:cabal-revision
4424 ("1" "197063dpl0wn67dp7a06yc2hxp81n24ykk7klbjx0fndm5n87dh3")))
dddbc90c
RV
4425 (inputs
4426 `(("ghc-random" ,ghc-random)))
4427 (native-inputs
4428 `(("ghc-test-framework" ,ghc-test-framework)
4429 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
4430 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
4431 ("ghc-hunit" ,ghc-hunit)
4432 ("ghc-quickcheck" ,ghc-quickcheck)))
4433 (home-page "https://github.com/tibbe/hashable")
4434 (synopsis "Class for types that can be converted to a hash value")
4435 (description
4436 "This package defines a class, @code{Hashable}, for types that can be
4437converted to a hash value. This class exists for the benefit of hashing-based
4438data structures. The package provides instances for basic types and a way to
4439combine hash values.")
4440 (license license:bsd-3)))
4441
4442(define-public ghc-hashable-bootstrap
4443 (package
4444 (inherit ghc-hashable)
4445 (name "ghc-hashable-bootstrap")
65a16a45
TS
4446 (arguments
4447 `(#:tests? #f
4448 ,@(package-arguments ghc-hashable)))
dddbc90c
RV
4449 (native-inputs '())
4450 (properties '((hidden? #t)))))
4451
4452(define-public ghc-hashable-time
4453 (package
4454 (name "ghc-hashable-time")
f5051e31 4455 (version "0.2.0.2")
dddbc90c
RV
4456 (source
4457 (origin
4458 (method url-fetch)
4459 (uri (string-append
4460 "https://hackage.haskell.org/package/hashable-time/hashable-time-"
4461 version
4462 ".tar.gz"))
4463 (sha256
4464 (base32
f5051e31 4465 "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs"))))
dddbc90c
RV
4466 (build-system haskell-build-system)
4467 (arguments
4468 `(#:cabal-revision
f5051e31 4469 ("2" "006phc5y9rrvsshdcmjmhxzxh8dpgs685mpqbkjm9c40xb1ydjbz")))
dddbc90c
RV
4470 (inputs `(("ghc-hashable" ,ghc-hashable)))
4471 (home-page "http://hackage.haskell.org/package/hashable-time")
4472 (synopsis "Hashable instances for Data.Time")
4473 (description
4474 "This package provides @code{Hashable} instances for types in
4475@code{Data.Time}.")
4476 (license license:bsd-3)))
4477
4478(define-public ghc-hashtables
4479 (package
4480 (name "ghc-hashtables")
19edf0d0 4481 (version "1.2.3.4")
dddbc90c
RV
4482 (source
4483 (origin
4484 (method url-fetch)
4485 (uri (string-append
4486 "https://hackage.haskell.org/package/hashtables/hashtables-"
4487 version ".tar.gz"))
4488 (sha256
19edf0d0 4489 (base32 "1rjmxnr30g4hygiywkpz5p9sanh0abs7ap4zc1kgd8zv04kycp0j"))))
dddbc90c
RV
4490 (build-system haskell-build-system)
4491 (inputs
4492 `(("ghc-hashable" ,ghc-hashable)
4493 ("ghc-primitive" ,ghc-primitive)
4494 ("ghc-vector" ,ghc-vector)))
4495 (home-page "https://github.com/gregorycollins/hashtables")
4496 (synopsis "Haskell Mutable hash tables in the ST monad")
4497 (description "This package provides a Haskell library including a
4498couple of different implementations of mutable hash tables in the ST
4499monad, as well as a typeclass abstracting their common operations, and
4500a set of wrappers to use the hash tables in the IO monad.")
4501 (license license:bsd-3)))
4502
4503(define-public ghc-haskell-lexer
4504 (package
4505 (name "ghc-haskell-lexer")
4506 (version "1.0.2")
4507 (source
4508 (origin
4509 (method url-fetch)
4510 (uri (string-append
4511 "https://hackage.haskell.org/package/haskell-lexer/haskell-lexer-"
4512 version ".tar.gz"))
4513 (sha256
4514 (base32 "1wyxd8x33x4v5vxyzkhm610pl86gbkc8y439092fr1735q9g7kfq"))))
4515 (build-system haskell-build-system)
4516 (home-page "http://hackage.haskell.org/package/haskell-lexer")
4517 (synopsis "Fully compliant Haskell 98 lexer")
4518 (description
4519 "This package provides a fully compliant Haskell 98 lexer.")
4520 (license license:bsd-3)))
4521
4522(define-public ghc-haskell-src
4523 (package
4524 (name "ghc-haskell-src")
4525 (version "1.0.3.0")
4526 (source
4527 (origin
4528 (method url-fetch)
4529 (uri (string-append
4530 "https://hackage.haskell.org/package/haskell-src/haskell-src-"
4531 version
4532 ".tar.gz"))
4533 (sha256
4534 (base32
4535 "1g4dj1f0j68bhn4ixfac63wjzy6gsp6kwgxryb1k5nl3i0g99d5l"))))
4536 (build-system haskell-build-system)
4537 (inputs
4538 `(("ghc-happy" ,ghc-happy)
4539 ("ghc-syb" ,ghc-syb)))
4540 (home-page
4541 "https://hackage.haskell.org/package/haskell-src")
4542 (synopsis
4543 "Support for manipulating Haskell source code")
4544 (description
4545 "The @code{haskell-src} package provides support for manipulating Haskell
4546source code. The package provides a lexer, parser and pretty-printer, and a
4547definition of a Haskell abstract syntax tree (AST). Common uses of this
4548package are to parse or generate Haskell 98 code.")
4549 (license license:bsd-3)))
4550
4551(define-public ghc-haskell-src-exts
4552 (package
4553 (name "ghc-haskell-src-exts")
37a05591 4554 (version "1.21.1")
dddbc90c
RV
4555 (source
4556 (origin
4557 (method url-fetch)
4558 (uri (string-append
4559 "https://hackage.haskell.org/package/haskell-src-exts/haskell-src-exts-"
4560 version
4561 ".tar.gz"))
4562 (sha256
4563 (base32
37a05591 4564 "0q1y8n3d82gid9bcx8wxsqqmj9mq11fg3gp5yzpfbw958dhi3j9f"))))
dddbc90c
RV
4565 (build-system haskell-build-system)
4566 (inputs
4567 `(("cpphs" ,cpphs)
4568 ("ghc-happy" ,ghc-happy)
4569 ("ghc-pretty-show" ,ghc-pretty-show)))
4570 (native-inputs
4571 `(("ghc-smallcheck" ,ghc-smallcheck)
4572 ("ghc-tasty" ,ghc-tasty)
4573 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
4574 ("ghc-tasty-golden" ,ghc-tasty-golden)))
4575 (home-page "https://github.com/haskell-suite/haskell-src-exts")
4576 (synopsis "Library for manipulating Haskell source")
4577 (description "Haskell-Source with Extensions (HSE, haskell-src-exts) is an
4578extension of the standard @code{haskell-src} package, and handles most
4579registered syntactic extensions to Haskell. All extensions implemented in GHC
4580are supported. Apart from these standard extensions, it also handles regular
4581patterns as per the HaRP extension as well as HSX-style embedded XML syntax.")
4582 (license license:bsd-3)))
4583
4584(define-public ghc-haskell-src-exts-util
4585 (package
4586 (name "ghc-haskell-src-exts-util")
77355bdf 4587 (version "0.2.5")
dddbc90c
RV
4588 (source
4589 (origin
4590 (method url-fetch)
4591 (uri (string-append "https://hackage.haskell.org/package/"
4592 "haskell-src-exts-util/haskell-src-exts-util-"
4593 version ".tar.gz"))
4594 (sha256
4595 (base32
77355bdf 4596 "0fvqi72m74p7q5sbpy8m2chm8a1lgy10mfrcxcz8wrh59vngj0n8"))))
dddbc90c
RV
4597 (build-system haskell-build-system)
4598 (inputs
4599 `(("ghc-data-default" ,ghc-data-default)
4600 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4601 ("ghc-semigroups" ,ghc-semigroups)
4602 ("ghc-uniplate" ,ghc-uniplate)))
4603 (home-page "https://github.com/pepeiborra/haskell-src-exts-util")
4604 (synopsis "Helper functions for working with haskell-src-exts trees")
4605 (description
4606 "This package provides helper functions for working with
4607@code{haskell-src-exts} trees.")
4608 (license license:bsd-3)))
4609
4610(define-public ghc-haskell-src-meta
4611 (package
4612 (name "ghc-haskell-src-meta")
e94b3c72 4613 (version "0.8.3")
dddbc90c
RV
4614 (source (origin
4615 (method url-fetch)
4616 (uri (string-append "https://hackage.haskell.org/package/"
4617 "haskell-src-meta/haskell-src-meta-"
4618 version ".tar.gz"))
4619 (sha256
4620 (base32
e94b3c72 4621 "17znnaqj2hnnfyc9p9xjzbs97h2jh1h4f4qbw648y3xa14wx5ra9"))))
dddbc90c
RV
4622 (build-system haskell-build-system)
4623 (inputs
4624 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4625 ("ghc-syb" ,ghc-syb)
4626 ("ghc-th-orphans" ,ghc-th-orphans)))
4627 (native-inputs
4628 `(("ghc-hunit" ,ghc-hunit)
e94b3c72
TS
4629 ("ghc-tasty" ,ghc-tasty)
4630 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
4631 (home-page "https://hackage.haskell.org/package/haskell-src-meta")
4632 (synopsis "Parse source to template-haskell abstract syntax")
4633 (description
4634 "This package provides tools to parse Haskell sources to the
4635template-haskell abstract syntax.")
4636 (license license:bsd-3)))
4637
4638(define-public ghc-hasktags
4639 (package
4640 (name "ghc-hasktags")
4641 (version "0.71.2")
4642 (source
4643 (origin
4644 (method url-fetch)
4645 (uri (string-append
4646 "https://hackage.haskell.org/package/hasktags/hasktags-"
4647 version
4648 ".tar.gz"))
4649 (sha256
4650 (base32
4651 "1s2k9qrgy1jily96img2pmn7g35mwnnfiw6si3aw32jfhg5zsh1c"))))
4652 (build-system haskell-build-system)
4653 (inputs
4654 `(("ghc-system-filepath" ,ghc-system-filepath)
4655 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4656 (native-inputs
4657 `(("ghc-json" ,ghc-json)
4658 ("ghc-utf8-string" ,ghc-utf8-string)
4659 ("ghc-microlens-platform" ,ghc-microlens-platform)
4660 ("ghc-hunit" ,ghc-hunit)))
4661 (home-page "http://github.com/MarcWeber/hasktags")
4662 (synopsis "Make @code{Ctags} and @code{Etags} files for Haskell programs")
4663 (description
4664 "This package provides a means of generating tag files for Emacs and
4665Vim.")
4666 (license license:bsd-3)))
4667
4668(define-public ghc-hex
4669 (package
4670 (name "ghc-hex")
4671 (version "0.1.2")
4672 (source
4673 (origin
4674 (method url-fetch)
4675 (uri (string-append "https://hackage.haskell.org/package/"
4676 "hex-" version "/"
4677 "hex-" version ".tar.gz"))
4678 (sha256
4679 (base32
4680 "1v31xiaivrrn0q2jz8919wvkjplv1kxna5ajhsj701fqxm1i5vhj"))))
4681 (build-system haskell-build-system)
4682 (home-page "https://hackage.haskell.org/package/hex")
4683 (synopsis "Convert strings into hexadecimal and back")
4684 (description "This package provides conversion functions between
4685bytestrings and their hexademical representation.")
4686 (license license:bsd-3)))
4687
4688(define-public ghc-highlighting-kate
4689 (package
4690 (name "ghc-highlighting-kate")
4691 (version "0.6.4")
4692 (source (origin
4693 (method url-fetch)
4694 (uri (string-append "https://hackage.haskell.org/package/"
4695 "highlighting-kate/highlighting-kate-"
4696 version ".tar.gz"))
4697 (sha256
4698 (base32
4699 "1bqv00gfmrsf0jjr4qf3lhshvfkyzmhbi3pjb6mafbnsyn2k7f6q"))))
4700 (build-system haskell-build-system)
4701 (inputs
4702 `(("ghc-diff" ,ghc-diff)
4703 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)))
4704 (native-inputs
4705 `(("ghc-blaze-html" ,ghc-blaze-html)
4706 ("ghc-utf8-string" ,ghc-utf8-string)))
4707 (home-page "https://github.com/jgm/highlighting-kate")
4708 (synopsis "Syntax highlighting library")
4709 (description
4710 "Highlighting-kate is a syntax highlighting library with support for
4711nearly one hundred languages. The syntax parsers are automatically generated
4712from @uref{https://kate-editor.org/, Kate syntax descriptions}, so any syntax
4713supported by Kate can be added. An (optional) command-line program is
4714provided, along with a utility for generating new parsers from Kate XML syntax
4715descriptions.")
4716 (license license:gpl2+)))
4717
4718(define-public ghc-hindent
4719 (package
4720 (name "ghc-hindent")
4721 (version "5.3.0")
4722 (source
4723 (origin
4724 (method url-fetch)
4725 (uri (string-append
4726 "https://hackage.haskell.org/package/hindent/hindent-"
4727 version
4728 ".tar.gz"))
4729 (sha256
4730 (base32
4731 "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg"))))
4732 (build-system haskell-build-system)
4733 (arguments
4734 `(#:modules ((guix build haskell-build-system)
4735 (guix build utils)
4736 (guix build emacs-utils))
4737 #:imported-modules (,@%haskell-build-system-modules
4738 (guix build emacs-utils))
4739 #:phases
4740 (modify-phases %standard-phases
4741 (add-after 'install 'emacs-install
4742 (lambda* (#:key inputs outputs #:allow-other-keys)
4743 (let* ((out (assoc-ref outputs "out"))
4744 (elisp-file "elisp/hindent.el")
4745 (dest (string-append out "/share/emacs/site-lisp"
4746 "/guix.d/hindent-" ,version))
4747 (emacs (string-append (assoc-ref inputs "emacs")
4748 "/bin/emacs")))
4749 (make-file-writable elisp-file)
4750 (emacs-substitute-variables elisp-file
4751 ("hindent-process-path"
4752 (string-append out "/bin/hindent")))
4753 (install-file elisp-file dest)
4754 (emacs-generate-autoloads "hindent" dest)))))))
4755 (inputs
4756 `(("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
4757 ("ghc-monad-loops" ,ghc-monad-loops)
4758 ("ghc-utf8-string" ,ghc-utf8-string)
4759 ("ghc-exceptions" ,ghc-exceptions)
4760 ("ghc-yaml" ,ghc-yaml)
4761 ("ghc-unix-compat" ,ghc-unix-compat)
4762 ("ghc-path" ,ghc-path)
4763 ("ghc-path-io" ,ghc-path-io)
4764 ("ghc-optparse-applicative" ,ghc-optparse-applicative)))
4765 (native-inputs
4766 `(("ghc-hspec" ,ghc-hspec)
4767 ("ghc-diff" ,ghc-diff)
4768 ("emacs" ,emacs-minimal)))
4769 (home-page
4770 "https://github.com/commercialhaskell/hindent")
4771 (synopsis "Extensible Haskell pretty printer")
4772 (description
4773 "This package provides automatic formatting for Haskell files. Both a
4774library and an executable.")
4775 (license license:bsd-3)))
4776
4777(define-public ghc-hinotify
4778 (package
4779 (name "ghc-hinotify")
c2342abb 4780 (version "0.4")
dddbc90c
RV
4781 (source (origin
4782 (method url-fetch)
4783 (uri (string-append
4784 "https://hackage.haskell.org/package/hinotify/"
4785 "hinotify-" version ".tar.gz"))
4786 (sha256
4787 (base32
c2342abb 4788 "1x1lm685ws2q0z0ibwq6x3l72xh67mj06s36xiga3al48d92q63x"))))
dddbc90c
RV
4789 (build-system haskell-build-system)
4790 (inputs
4791 `(("ghc-async" ,ghc-async)))
4792 (home-page "https://github.com/kolmodin/hinotify.git")
4793 (synopsis "Haskell binding to inotify")
4794 (description "This library provides a wrapper to the Linux kernel's inotify
4795feature, allowing applications to subscribe to notifications when a file is
4796accessed or modified.")
4797 (license license:bsd-3)))
4798
4799(define-public ghc-hmatrix
4800 (package
4801 (name "ghc-hmatrix")
65e29ed1 4802 (version "0.20.0.0")
dddbc90c
RV
4803 (source
4804 (origin
4805 (method url-fetch)
4806 (uri (string-append
4807 "https://hackage.haskell.org/package/hmatrix/hmatrix-"
4808 version ".tar.gz"))
4809 (sha256
65e29ed1 4810 (base32 "1sqy1aci5zfagkb34mz3xdil7cl96z4b4cx28cha54vc5sx1lhpg"))))
dddbc90c
RV
4811 (build-system haskell-build-system)
4812 (inputs
4813 `(("ghc-random" ,ghc-random)
4814 ("ghc-split" ,ghc-split)
4815 ("ghc-storable-complex" ,ghc-storable-complex)
4816 ("ghc-semigroups" ,ghc-semigroups)
4817 ("ghc-vector" ,ghc-vector)
4818 ;;("openblas" ,openblas)
4819 ("lapack" ,lapack)))
4820 ;; Guix's OpenBLAS is built with the flag "NO_LAPACK=1" which
4821 ;; disables inclusion of the LAPACK functions.
4822 ;; (arguments `(#:configure-flags '("--flags=openblas")))
4823 (home-page "https://github.com/albertoruiz/hmatrix")
4824 (synopsis "Haskell numeric linear algebra library")
4825 (description "The HMatrix package provices a Haskell library for
4826dealing with linear systems, matrix decompositions, and other
4827numerical computations based on BLAS and LAPACK.")
4828 (license license:bsd-3)))
4829
4830(define-public ghc-hmatrix-gsl
4831 (package
4832 (name "ghc-hmatrix-gsl")
4833 (version "0.19.0.1")
4834 (source
4835 (origin
4836 (method url-fetch)
4837 (uri (string-append
4838 "https://hackage.haskell.org/package/hmatrix-gsl/hmatrix-gsl-"
4839 version ".tar.gz"))
4840 (sha256
4841 (base32 "0v6dla426x4ywaq59jm89ql1i42n39iw6z0j378xwb676v9kfxhm"))))
4842 (build-system haskell-build-system)
4843 (inputs
4844 `(("ghc-hmatrix" ,ghc-hmatrix)
4845 ("ghc-vector" ,ghc-vector)
4846 ("ghc-random" ,ghc-random)
4847 ("gsl" ,gsl)))
4848 (native-inputs `(("pkg-config" ,pkg-config)))
4849 (home-page "https://github.com/albertoruiz/hmatrix")
4850 (synopsis "Haskell GSL binding")
4851 (description "This Haskell library provides a purely functional
4852interface to selected numerical computations, internally implemented
4853using GSL.")
4854 (license license:gpl3+)))
4855
4856(define-public ghc-hmatrix-gsl-stats
4857 (package
4858 (name "ghc-hmatrix-gsl-stats")
e9b359f5 4859 (version "0.4.1.8")
dddbc90c
RV
4860 (source
4861 (origin
4862 (method url-fetch)
4863 (uri
4864 (string-append
4865 "https://hackage.haskell.org/package/hmatrix-gsl-stats/hmatrix-gsl-stats-"
4866 version ".tar.gz"))
4867 (sha256
e9b359f5 4868 (base32 "1cq049sj3q5r06x7i35hqrkf2jc4p4kfi9zv0jmi2vp7w4644i5q"))))
dddbc90c
RV
4869 (build-system haskell-build-system)
4870 (inputs
4871 `(("ghc-vector" ,ghc-vector)
4872 ("ghc-storable-complex" ,ghc-storable-complex)
4873 ("ghc-hmatrix" ,ghc-hmatrix)
4874 ("gsl" ,gsl)))
4875 (native-inputs `(("pkg-config" ,pkg-config)))
4876 (home-page "http://code.haskell.org/hmatrix-gsl-stats")
4877 (synopsis "GSL Statistics interface for Haskell")
4878 (description "This Haskell library provides a purely functional
4879interface for statistics based on hmatrix and GSL.")
4880 (license license:bsd-3)))
4881
4882(define-public ghc-hmatrix-special
4883 (package
4884 (name "ghc-hmatrix-special")
4885 (version "0.19.0.0")
4886 (source
4887 (origin
4888 (method url-fetch)
4889 (uri
4890 (string-append
4891 "https://hackage.haskell.org/package/hmatrix-special/hmatrix-special-"
4892 version ".tar.gz"))
4893 (sha256
4894 (base32 "1mywr61kr852sbff26n9x95kswx9l4ycbv6s68qsbkh02xzqq7qz"))))
4895 (build-system haskell-build-system)
4896 (inputs
4897 `(("ghc-hmatrix" ,ghc-hmatrix)
4898 ("ghc-hmatrix-gsl" ,ghc-hmatrix-gsl)))
4899 (home-page "https://github.com/albertoruiz/hmatrix")
4900 (synopsis "Haskell interface to GSL special functions")
4901 (description "This library provides an interface to GSL special
4902functions for Haskell.")
4903 (license license:gpl3+)))
4904
4905(define-public ghc-hostname
4906 (package
4907 (name "ghc-hostname")
4908 (version "1.0")
4909 (source
4910 (origin
4911 (method url-fetch)
4912 (uri (string-append "https://hackage.haskell.org/package/hostname/"
4913 "hostname-" version ".tar.gz"))
4914 (sha256
4915 (base32
4916 "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv"))))
4917 (build-system haskell-build-system)
4918 (home-page "https://hackage.haskell.org/package/hostname")
4919 (synopsis "Hostname in Haskell")
4920 (description "Network.HostName is a simple package providing a means to
4921determine the hostname.")
4922 (license license:bsd-3)))
4923
4924(define-public ghc-hourglass
4925 (package
4926 (name "ghc-hourglass")
4927 (version "0.2.12")
4928 (source (origin
4929 (method url-fetch)
4930 (uri (string-append "https://hackage.haskell.org/package/"
4931 "hourglass/hourglass-" version ".tar.gz"))
4932 (sha256
4933 (base32
4934 "0jnay5j13vpz6i1rkaj3j0d9v8jfpri499xn3l7wd01f81f5ncs4"))))
4935 (build-system haskell-build-system)
4936 (inputs
4937 `(("ghc-old-locale" ,ghc-old-locale)))
4938 (native-inputs
4939 `(("ghc-tasty" ,ghc-tasty)
4940 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
4941 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
4942 (home-page "https://github.com/vincenthz/hs-hourglass")
4943 (synopsis "Simple time-related library for Haskell")
4944 (description
4945 "This is a simple time library providing a simple but powerful and
4946performant API. The backbone of the library are the @code{Timeable} and
4947@code{Time} type classes. Each @code{Timeable} instances can be converted to
4948a type that has a @code{Time} instances, and thus are different
4949representations of current time.")
4950 (license license:bsd-3)))
4951
4952(define-public ghc-hpack
4953 (package
4954 (name "ghc-hpack")
4955 (version "0.28.2")
4956 (source
4957 (origin
4958 (method url-fetch)
4959 (uri (string-append "https://hackage.haskell.org/package/hpack/"
4960 "hpack-" version ".tar.gz"))
4961 (sha256
4962 (base32
4963 "18w0h76jdp3mk9vin8da9iz3cwhcxmw787xy8wlh8bxcpcr16q5r"))))
4964 (build-system haskell-build-system)
4965 (inputs
4966 `(("ghc-aeson" ,ghc-aeson)
4967 ("ghc-bifunctors" ,ghc-bifunctors)
4968 ("ghc-cryptonite" ,ghc-cryptonite)
4969 ("ghc-glob" ,ghc-glob)
4970 ("ghc-http-client" ,ghc-http-client)
4971 ("ghc-http-client-tls" ,ghc-http-client-tls)
4972 ("ghc-http-types" ,ghc-http-types)
4973 ("ghc-scientific" ,ghc-scientific)
4974 ("ghc-unordered-containers" ,ghc-unordered-containers)
4975 ("ghc-vector" ,ghc-vector)
4976 ("ghc-yaml" ,ghc-yaml)))
4977 (native-inputs
4978 `(("ghc-hspec" ,ghc-hspec)
4979 ("ghc-hunit" ,ghc-hunit)
4980 ("ghc-interpolate" ,ghc-interpolate)
4981 ("ghc-mockery" ,ghc-mockery)
4982 ("ghc-quickcheck" ,ghc-quickcheck)
4983 ("ghc-temporary" ,ghc-temporary)
4984 ("hspec-discover" ,hspec-discover)))
4985 (home-page "https://github.com/sol/hpack")
4986 (synopsis "Tools for an alternative Haskell package format")
4987 (description
4988 "Hpack is a format for Haskell packages. It is an alternative to the
4989Cabal package format and follows different design principles. Hpack packages
4990are described in a file named @code{package.yaml}. Both @code{cabal2nix} and
4991@code{stack} support @code{package.yaml} natively. For other build tools the
4992@code{hpack} executable can be used to generate a @code{.cabal} file from
4993@code{package.yaml}.")
4994 (license license:expat)))
4995
4996(define-public ghc-hs-bibutils
4997 (package
4998 (name "ghc-hs-bibutils")
ebcb4f23 4999 (version "6.7.0.0")
dddbc90c
RV
5000 (source
5001 (origin
5002 (method url-fetch)
5003 (uri (string-append
5004 "https://hackage.haskell.org/package/hs-bibutils/hs-bibutils-"
5005 version ".tar.gz"))
5006 (sha256
5007 (base32
ebcb4f23 5008 "1qfyssl76lm4g09yxr3y10kmf8cnzls46g5h0ijk0wpk9wlhbln5"))))
dddbc90c
RV
5009 (build-system haskell-build-system)
5010 (inputs `(("ghc-syb" ,ghc-syb)))
5011 (home-page "https://hackage.haskell.org/package/hs-bibutils")
5012 (synopsis "Haskell bindings to bibutils")
5013 (description
5014 "This package provides Haskell bindings to @code{bibutils}, a library
5015that interconverts between various bibliography formats using a common
5016MODS-format XML intermediate.")
5017 (license license:gpl2+)))
5018
5019(define-public ghc-hslogger
5020 (package
5021 (name "ghc-hslogger")
e5ccc5f7 5022 (version "1.2.12")
dddbc90c
RV
5023 (source
5024 (origin
5025 (method url-fetch)
5026 (uri (string-append "https://hackage.haskell.org/package/"
5027 "hslogger-" version "/" "hslogger-"
5028 version ".tar.gz"))
5029 (sha256 (base32
e5ccc5f7 5030 "0ykcsk7wqygvrg60r5kpl6xfinr706al8pfyk5wj67wjs24lqypr"))))
dddbc90c
RV
5031 (build-system haskell-build-system)
5032 (inputs
5033 `(("ghc-network" ,ghc-network)
5034 ("ghc-old-locale" ,ghc-old-locale)))
5035 (native-inputs
5036 `(("ghc-hunit" ,ghc-hunit)))
5037 (home-page "https://software.complete.org/hslogger")
5038 (synopsis "Logging framework for Haskell, similar to Python's logging module")
5039 (description "Hslogger lets each log message have a priority and source be
5040associated with it. The programmer can then define global handlers that route
5041or filter messages based on the priority and source. It also has a syslog
5042handler built in.")
5043 (license license:bsd-3)))
5044
5045(define-public ghc-hslua
5046 (package
5047 (name "ghc-hslua")
cc784d7b 5048 (version "1.0.3.2")
dddbc90c
RV
5049 (source (origin
5050 (method url-fetch)
5051 (uri (string-append "https://hackage.haskell.org/package/"
5052 "hslua/hslua-" version ".tar.gz"))
5053 (sha256
5054 (base32
cc784d7b 5055 "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j"))))
dddbc90c
RV
5056 (build-system haskell-build-system)
5057 (arguments
5058 `(#:configure-flags '("-fsystem-lua")))
5059 (inputs
5060 `(("lua" ,lua)
5061 ("ghc-exceptions" ,ghc-exceptions)
5062 ("ghc-fail" ,ghc-fail)))
5063 (native-inputs
5064 `(("ghc-tasty" ,ghc-tasty)
5065 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5066 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5067 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5068 ("ghc-quickcheck" ,ghc-quickcheck)
5069 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
5070 (home-page "https://hackage.haskell.org/package/hslua")
5071 (synopsis "Lua language interpreter embedding in Haskell")
5072 (description
5073 "The Scripting.Lua module is a wrapper of the Lua language interpreter as
5074described in @url{https://www.lua.org/}.")
5075 (license license:expat)))
5076
5077(define-public ghc-hslua-module-text
5078 (package
5079 (name "ghc-hslua-module-text")
ecaf0b0c 5080 (version "0.2.1")
dddbc90c
RV
5081 (source
5082 (origin
5083 (method url-fetch)
5084 (uri (string-append "https://hackage.haskell.org/package/"
5085 "hslua-module-text/hslua-module-text-"
5086 version ".tar.gz"))
5087 (sha256
5088 (base32
ecaf0b0c 5089 "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk"))))
dddbc90c 5090 (build-system haskell-build-system)
dddbc90c
RV
5091 (inputs
5092 `(("ghc-hslua" ,ghc-hslua)))
5093 (native-inputs
5094 `(("ghc-tasty" ,ghc-tasty)
5095 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5096 (home-page "https://github.com/hslua/hslua-module-text")
5097 (synopsis "Lua module for text")
5098 (description
5099 "This package provides a UTF-8 aware subset of Lua's @code{string} module
5100for Haskell. The functions provided by this module are @code{upper},
5101@code{lower}, @code{len}, @code{reverse}, and @code{sub}.")
5102 (license license:expat)))
5103
5104(define-public ghc-http-api-data
5105 (package
5106 (name "ghc-http-api-data")
a57236eb 5107 (version "0.4.1")
dddbc90c
RV
5108 (source
5109 (origin
5110 (method url-fetch)
5111 (uri (string-append "https://hackage.haskell.org/package/"
5112 "http-api-data-" version "/"
5113 "http-api-data-" version ".tar.gz"))
5114 (sha256
5115 (base32
a57236eb 5116 "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv"))))
dddbc90c 5117 (build-system haskell-build-system)
dddbc90c
RV
5118 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
5119 ("ghc-attoparsec-iso8601" ,ghc-attoparsec-iso8601)
a57236eb 5120 ("ghc-cookie" ,ghc-cookie)
dddbc90c
RV
5121 ("ghc-hashable" ,ghc-hashable)
5122 ("ghc-http-types" ,ghc-http-types)
a57236eb 5123 ("ghc-time-compat" ,ghc-time-compat)
dddbc90c 5124 ("ghc-unordered-containers" ,ghc-unordered-containers)
dddbc90c 5125 ("ghc-uuid-types" ,ghc-uuid-types)))
a57236eb
TS
5126 (native-inputs
5127 `(("cabal-doctest" ,cabal-doctest)
5128 ("ghc-nats" ,ghc-nats)
5129 ("ghc-hunit" ,ghc-hunit)
5130 ("ghc-hspec" ,ghc-hspec)
5131 ("ghc-quickcheck" ,ghc-quickcheck)
5132 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5133 ("ghc-doctest" ,ghc-doctest)
5134 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
5135 (home-page "https://github.com/fizruk/http-api-data")
5136 (synopsis "Convert to/from HTTP API data like URL pieces, headers and
5137query parameters")
5138 (description "This Haskell package defines typeclasses used for converting
5139Haskell data types to and from HTTP API data.")
5140 (license license:bsd-3)))
5141
5142(define-public ghc-ieee754
5143 (package
5144 (name "ghc-ieee754")
5145 (version "0.8.0")
5146 (source (origin
5147 (method url-fetch)
5148 (uri (string-append
5149 "https://hackage.haskell.org/package/ieee754/"
5150 "ieee754-" version ".tar.gz"))
5151 (sha256
5152 (base32
5153 "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f"))))
5154 (build-system haskell-build-system)
5155 (home-page "https://github.com/patperry/hs-ieee754")
5156 (synopsis "Utilities for dealing with IEEE floating point numbers")
5157 (description "Utilities for dealing with IEEE floating point numbers,
5158ported from the Tango math library; approximate and exact equality comparisons
5159for general types.")
5160 (license license:bsd-3)))
5161
5162(define-public ghc-ifelse
5163 (package
5164 (name "ghc-ifelse")
5165 (version "0.85")
5166 (source
5167 (origin
5168 (method url-fetch)
5169 (uri (string-append "https://hackage.haskell.org/package/"
5170 "IfElse/IfElse-" version ".tar.gz"))
5171 (sha256
5172 (base32
5173 "1kfx1bwfjczj93a8yqz1n8snqiq5655qgzwv1lrycry8wb1vzlwa"))))
5174 (build-system haskell-build-system)
5175 (home-page "http://hackage.haskell.org/package/IfElse")
5176 (synopsis "Monadic control flow with anaphoric variants")
5177 (description "This library provides functions for control flow inside of
5178monads with anaphoric variants on @code{if} and @code{when} and a C-like
5179@code{switch} function.")
5180 (license license:bsd-3)))
5181
5182(define-public ghc-indents
5183 (package
5184 (name "ghc-indents")
d66473fb 5185 (version "0.5.0.1")
dddbc90c
RV
5186 (source (origin
5187 (method url-fetch)
5188 (uri (string-append
5189 "https://hackage.haskell.org/package/indents/indents-"
5190 version ".tar.gz"))
5191 (sha256
5192 (base32
d66473fb 5193 "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51"))))
dddbc90c
RV
5194 (build-system haskell-build-system)
5195 ;; This package needs an older version of tasty.
5196 (arguments '(#:tests? #f))
5197 (inputs
5198 `(("ghc-concatenative" ,ghc-concatenative)))
5199 (native-inputs
5200 `(("ghc-tasty" ,ghc-tasty)
5201 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
5202 (home-page "http://patch-tag.com/r/salazar/indents")
5203 (synopsis "Indentation sensitive parser-combinators for parsec")
5204 (description
5205 "This library provides functions for use in parsing indentation sensitive
5206contexts. It parses blocks of lines all indented to the same level as well as
5207lines continued at an indented level below.")
5208 (license license:bsd-3)))
5209
5210(define-public ghc-inline-c
5211 (package
5212 (name "ghc-inline-c")
55ec98f2 5213 (version "0.7.0.1")
dddbc90c
RV
5214 (source
5215 (origin
5216 (method url-fetch)
5217 (uri (string-append "https://hackage.haskell.org/package/inline-c/"
5218 "inline-c-" version ".tar.gz"))
5219 (sha256
5220 (base32
55ec98f2 5221 "19scbviwiv1fbsdcjji3dscjg7w0xa8r97xwkqqrwm7zhvrg5wns"))))
dddbc90c
RV
5222 (build-system haskell-build-system)
5223 (inputs
5224 `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
5225 ("ghc-cryptohash" ,ghc-cryptohash)
5226 ("ghc-hashable" ,ghc-hashable)
5227 ("ghc-parsers" ,ghc-parsers)
5228 ("ghc-unordered-containers" ,ghc-unordered-containers)
5229 ("ghc-vector" ,ghc-vector)))
5230 (native-inputs
5231 `(("ghc-quickcheck" ,ghc-quickcheck)
5232 ("ghc-hspec" ,ghc-hspec)
5233 ("ghc-raw-strings-qq" ,ghc-raw-strings-qq)
5234 ("ghc-regex-posix" ,ghc-regex-posix)))
5235 (home-page "http://hackage.haskell.org/package/inline-c")
5236 (synopsis "Write Haskell source files including C code inline")
5237 (description
5238 "inline-c lets you seamlessly call C libraries and embed high-performance
5239inline C code in Haskell modules. Haskell and C can be freely intermixed in
5240the same source file, and data passed to and from code in either language with
5241minimal overhead. No FFI required.")
5242 (license license:expat)))
5243
5244(define-public ghc-inline-c-cpp
5245 (package
5246 (name "ghc-inline-c-cpp")
cae58e56 5247 (version "0.3.0.3")
dddbc90c
RV
5248 (source
5249 (origin
5250 (method url-fetch)
5251 (uri (string-append "https://hackage.haskell.org/package/inline-c-cpp/"
5252 "inline-c-cpp-" version ".tar.gz"))
5253 (sha256
5254 (base32
cae58e56 5255 "1sxwx9dh60qfpa72dymj015zwd6prhb70x5mkabqzi7nhg3aakln"))))
dddbc90c
RV
5256 (build-system haskell-build-system)
5257 (inputs
5258 `(("ghc-inline-c" ,ghc-inline-c)
5259 ("ghc-safe-exceptions" ,ghc-safe-exceptions)))
5260 (native-inputs
5261 `(("ghc-hspec" ,ghc-hspec)))
5262 (home-page "https://hackage.haskell.org/package/inline-c-cpp")
5263 (synopsis "Lets you embed C++ code into Haskell")
5264 (description
5265 "This package provides utilities to inline C++ code into Haskell using
5266@code{inline-c}.")
5267 (license license:expat)))
5268
5269(define-public ghc-integer-logarithms
5270 (package
5271 (name "ghc-integer-logarithms")
86a704db 5272 (version "1.0.3")
dddbc90c
RV
5273 (source
5274 (origin
5275 (method url-fetch)
5276 (uri (string-append "https://hackage.haskell.org/package/"
5277 "integer-logarithms/integer-logarithms-"
5278 version ".tar.gz"))
5279 (sha256
5280 (base32
86a704db 5281 "05pc5hws66csvcvfswlwcr2fplwn1lbssvwifjxkbbwqhq0n5qjs"))))
dddbc90c
RV
5282 (build-system haskell-build-system)
5283 (arguments
5284 `(#:phases
5285 (modify-phases %standard-phases
5286 (add-before 'configure 'update-constraints
5287 (lambda _
5288 (substitute* "integer-logarithms.cabal"
5289 (("tasty >= 0\\.10 && < 1\\.1")
5290 "tasty >= 0.10 && < 1.2")))))))
5291 (native-inputs
5292 `(("ghc-quickcheck" ,ghc-quickcheck)
5293 ("ghc-smallcheck" ,ghc-smallcheck)
5294 ("ghc-tasty" ,ghc-tasty)
5295 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5296 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
5297 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)))
5298 (home-page "https://github.com/Bodigrim/integer-logarithms")
5299 (synopsis "Integer logarithms")
5300 (description
5301 "This package provides the following modules:
5302@code{Math.NumberTheory.Logarithms} and
5303@code{Math.NumberTheory.Powers.Integer} from the @code{arithmoi} package,
5304@code{GHC.Integer.Logarithms.Compat} and
5305@code{Math.NumberTheory.Power.Natural}, as well as some additional functions
5306in migrated modules.")
5307 (license license:expat)))
5308
5309(define-public ghc-integer-logarithms-bootstrap
5310 (package
5311 (inherit ghc-integer-logarithms)
5312 (name "ghc-integer-logarithms-bootstrap")
5313 (arguments `(#:tests? #f))
5314 (native-inputs '())
799d8d3c 5315 (properties '((hidden? #t)))))
dddbc90c
RV
5316
5317(define-public ghc-interpolate
5318 (package
5319 (name "ghc-interpolate")
5320 (version "0.2.0")
5321 (source
5322 (origin
5323 (method url-fetch)
5324 (uri (string-append "https://hackage.haskell.org/package/interpolate/"
5325 "interpolate-" version ".tar.gz"))
5326 (sha256
5327 (base32
5328 "1gkaj98yz363v38fv78sqby236mp8yqwqcilx7kr2b9z0w3204bf"))))
5329 (build-system haskell-build-system)
5330 (inputs
5331 `(("ghc-haskell-src-meta" ,ghc-haskell-src-meta)))
5332 (native-inputs
5333 `(("ghc-base-compat" ,ghc-base-compat)
5334 ("ghc-hspec" ,ghc-hspec)
5335 ("ghc-quickcheck" ,ghc-quickcheck)
5336 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
5337 ("hspec-discover" ,hspec-discover)))
5338 (home-page "https://github.com/sol/interpolate")
5339 (synopsis "String interpolation library")
5340 (description "This package provides a string interpolation library for
5341Haskell.")
5342 (license license:expat)))
5343
5344(define-public ghc-intervalmap
5345 (package
5346 (name "ghc-intervalmap")
e4946e32 5347 (version "0.6.1.1")
dddbc90c
RV
5348 (source
5349 (origin
5350 (method url-fetch)
5351 (uri (string-append "https://hackage.haskell.org/package/IntervalMap/"
5352 "IntervalMap-" version ".tar.gz"))
5353 (sha256
5354 (base32
e4946e32 5355 "0vdlvxvhf7vjyv0mfn6jaj2i2gclqv8419ck32s2jxfcmki5m5g8"))))
dddbc90c
RV
5356 (build-system haskell-build-system)
5357 (native-inputs
5358 `(("ghc-quickcheck" ,ghc-quickcheck)))
5359 (home-page "http://www.chr-breitkopf.de/comp/IntervalMap")
5360 (synopsis "Containers for intervals, with efficient search")
5361 (description
5362 "This package provides ordered containers of intervals, with efficient
5363search for all keys containing a point or overlapping an interval. See the
5364example code on the home page for a quick introduction.")
5365 (license license:bsd-3)))
5366
5367(define-public ghc-invariant
5368 (package
5369 (name "ghc-invariant")
d3a0e0b4 5370 (version "0.5.3")
dddbc90c
RV
5371 (source
5372 (origin
5373 (method url-fetch)
5374 (uri (string-append
5375 "https://hackage.haskell.org/package/invariant/invariant-"
5376 version ".tar.gz"))
5377 (sha256
5378 (base32
d3a0e0b4 5379 "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp"))))
dddbc90c
RV
5380 (build-system haskell-build-system)
5381 (inputs
5382 `(("ghc-bifunctors" ,ghc-bifunctors)
5383 ("ghc-comonad" ,ghc-comonad)
5384 ("ghc-contravariant" ,ghc-contravariant)
5385 ("ghc-profunctors" ,ghc-profunctors)
5386 ("ghc-semigroups" ,ghc-semigroups)
5387 ("ghc-statevar" ,ghc-statevar)
5388 ("ghc-tagged" ,ghc-tagged)
5389 ("ghc-th-abstraction" ,ghc-th-abstraction)
5390 ("ghc-transformers-compat" ,ghc-transformers-compat)
5391 ("ghc-unordered-containers" ,ghc-unordered-containers)))
5392 (native-inputs
5393 `(("ghc-hspec" ,ghc-hspec)
5394 ("ghc-quickcheck" ,ghc-quickcheck)
5395 ("hspec-discover" ,hspec-discover)))
5396 (home-page "https://github.com/nfrisby/invariant-functors")
5397 (synopsis "Haskell98 invariant functors")
5398 (description "Haskell98 invariant functors (also known as exponential
5399functors). For more information, see Edward Kmett's article
5400@uref{http://comonad.com/reader/2008/rotten-bananas/, Rotten Bananas}.")
5401 (license license:bsd-2)))
5402
5403(define-public ghc-io-streams
5404 (package
5405 (name "ghc-io-streams")
59e98d75 5406 (version "1.5.1.0")
dddbc90c
RV
5407 (source
5408 (origin
5409 (method url-fetch)
5410 (uri (string-append "https://hackage.haskell.org/package/"
5411 "io-streams/io-streams-" version ".tar.gz"))
5412 (sha256
5413 (base32
59e98d75 5414 "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la"))))
dddbc90c
RV
5415 (build-system haskell-build-system)
5416 (inputs
5417 `(("ghc-attoparsec" ,ghc-attoparsec)
5418 ("ghc-bytestring-builder" ,ghc-bytestring-builder)
5419 ("ghc-network" ,ghc-network)
5420 ("ghc-primitive" ,ghc-primitive)
5421 ("ghc-vector" ,ghc-vector)
5422 ("ghc-zlib-bindings" ,ghc-zlib-bindings)))
5423 (native-inputs
5424 `(("ghc-hunit" ,ghc-hunit)
5425 ("ghc-quickcheck" ,ghc-quickcheck)
5426 ("ghc-test-framework" ,ghc-test-framework)
5427 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5428 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5429 ("ghc-zlib" ,ghc-zlib)))
dddbc90c
RV
5430 (home-page "http://hackage.haskell.org/package/io-streams")
5431 (synopsis "Simple and composable stream I/O")
5432 (description "This library contains simple and easy-to-use
5433primitives for I/O using streams.")
5434 (license license:bsd-3)))
5435
5436(define-public ghc-io-streams-haproxy
5437 (package
5438 (name "ghc-io-streams-haproxy")
1a4fbc36 5439 (version "1.0.1.0")
dddbc90c
RV
5440 (source
5441 (origin
5442 (method url-fetch)
5443 (uri (string-append "https://hackage.haskell.org/package/"
5444 "io-streams-haproxy/io-streams-haproxy-"
5445 version ".tar.gz"))
5446 (sha256
5447 (base32
1a4fbc36 5448 "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp"))))
dddbc90c
RV
5449 (build-system haskell-build-system)
5450 (inputs
5451 `(("ghc-attoparsec" ,ghc-attoparsec)
5452 ("ghc-io-streams" ,ghc-io-streams)
5453 ("ghc-network" ,ghc-network)))
5454 (native-inputs
5455 `(("ghc-hunit" ,ghc-hunit)
5456 ("ghc-test-framework" ,ghc-test-framework)
5457 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
dddbc90c
RV
5458 (home-page "http://snapframework.com/")
5459 (synopsis "HAProxy protocol 1.5 support for io-streams")
5460 (description "HAProxy protocol version 1.5 support
5461(see @uref{http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt})
5462for applications using io-streams. The proxy protocol allows information
5463about a networked peer (like remote address and port) to be propagated
5464through a forwarding proxy that is configured to speak this protocol.")
5465 (license license:bsd-3)))
5466
5467(define-public ghc-iproute
5468 (package
5469 (name "ghc-iproute")
ec25d536 5470 (version "1.7.7")
dddbc90c
RV
5471 (source
5472 (origin
5473 (method url-fetch)
5474 (uri (string-append
5475 "https://hackage.haskell.org/package/iproute/iproute-"
5476 version
5477 ".tar.gz"))
5478 (sha256
5479 (base32
ec25d536 5480 "0gab5930nvzrpvisx3x43ydnp2rd4fbmy9cq1zpgqy1adx5gx8z6"))))
dddbc90c
RV
5481 (build-system haskell-build-system)
5482 (arguments `(#:tests? #f)) ; FIXME: Tests cannot find System.ByteOrder,
5483 ; exported by ghc-byteorder. Doctest issue.
5484 (inputs
5485 `(("ghc-appar" ,ghc-appar)
5486 ("ghc-byteorder" ,ghc-byteorder)
5487 ("ghc-network" ,ghc-network)
5488 ("ghc-safe" ,ghc-safe)))
5489 (home-page "https://www.mew.org/~kazu/proj/iproute/")
5490 (synopsis "IP routing table")
5491 (description "IP Routing Table is a tree of IP ranges to search one of
5492them on the longest match base. It is a kind of TRIE with one way branching
5493removed. Both IPv4 and IPv6 are supported.")
5494 (license license:bsd-3)))
5495
5496(define-public ghc-iwlib
5497 (package
5498 (name "ghc-iwlib")
5499 (version "0.1.0")
5500 (source
5501 (origin
5502 (method url-fetch)
5503 (uri (string-append "https://hackage.haskell.org/package/iwlib/iwlib-"
5504 version ".tar.gz"))
5505 (sha256
5506 (base32 "0khmfwql4vwj55idsxmhjhrbqzfir3g9wm5lmpvnf77mm95cfpdz"))))
5507 (build-system haskell-build-system)
5508 (inputs
5509 `(("wireless-tools" ,wireless-tools)))
5510 (home-page "https://github.com/jaor/iwlib")
5511 (synopsis "Haskell binding to the iw wireless networking library")
5512 (description
5513 "IWlib is a thin Haskell binding to the iw C library. It provides
5514information about the current wireless network connections, and adapters on
5515supported systems.")
5516 (license license:bsd-3)))
5517
5518(define-public ghc-json
5519 (package
5520 (name "ghc-json")
0ad3d574 5521 (version "0.9.3")
dddbc90c
RV
5522 (source
5523 (origin
5524 (method url-fetch)
5525 (uri (string-append "https://hackage.haskell.org/package/json/"
5526 "json-" version ".tar.gz"))
5527 (sha256
5528 (base32
0ad3d574 5529 "1z8s3mfg76p2flqqd2wqsi96l5bg8k8w8m58zlv81pw3k7h1vbwb"))))
dddbc90c
RV
5530 (build-system haskell-build-system)
5531 (inputs
5532 `(("ghc-syb" ,ghc-syb)))
5533 (home-page "https://hackage.haskell.org/package/json")
5534 (synopsis "Serializes Haskell data to and from JSON")
5535 (description "This package provides a parser and pretty printer for
5536converting between Haskell values and JSON.
5537JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
5538 (license license:bsd-3)))
5539
5540(define-public ghc-juicypixels
5541 (package
5542 (name "ghc-juicypixels")
b50b6004 5543 (version "3.3.4")
dddbc90c
RV
5544 (source (origin
5545 (method url-fetch)
5546 (uri (string-append "https://hackage.haskell.org/package/"
5547 "JuicyPixels/JuicyPixels-"
5548 version ".tar.gz"))
5549 (sha256
5550 (base32
b50b6004 5551 "0qacrnz2qcykj3f6c4k2p8qd31pa2slpv3ykfblgizrfh3401q6x"))))
dddbc90c
RV
5552 (build-system haskell-build-system)
5553 (inputs
5554 `(("ghc-zlib" ,ghc-zlib)
5555 ("ghc-vector" ,ghc-vector)
5556 ("ghc-primitive" ,ghc-primitive)
5557 ("ghc-mmap" ,ghc-mmap)))
5558 (home-page "https://github.com/Twinside/Juicy.Pixels")
5559 (synopsis "Picture loading and serialization library")
5560 (description
5561 "This library can load and store images in PNG, Bitmap, JPEG, Radiance,
5562TIFF and GIF formats.")
5563 (license license:bsd-3)))
5564
5565(define-public ghc-kan-extensions
5566 (package
5567 (name "ghc-kan-extensions")
5568 (version "5.2")
5569 (source
5570 (origin
5571 (method url-fetch)
5572 (uri (string-append
5573 "https://hackage.haskell.org/package/kan-extensions/kan-extensions-"
5574 version
5575 ".tar.gz"))
5576 (sha256
5577 (base32
5578 "1lyvyiwwh962j2nnnsqzlvp5zq6z8p3spvhmji99cjvldxc7wwkb"))))
5579 (build-system haskell-build-system)
5580 (inputs
5581 `(("ghc-adjunctions" ,ghc-adjunctions)
5582 ("ghc-comonad" ,ghc-comonad)
5583 ("ghc-contravariant" ,ghc-contravariant)
5584 ("ghc-distributive" ,ghc-distributive)
5585 ("ghc-free" ,ghc-free)
5586 ("ghc-invariant" ,ghc-invariant)
5587 ("ghc-semigroupoids" ,ghc-semigroupoids)
5588 ("ghc-tagged" ,ghc-tagged)
5589 ("ghc-transformers-compat" ,ghc-transformers-compat)))
5590 (home-page "https://github.com/ekmett/kan-extensions/")
5591 (synopsis "Kan extensions library")
5592 (description "This library provides Kan extensions, Kan lifts, various
5593forms of the Yoneda lemma, and (co)density (co)monads for Haskell.")
5594 (license license:bsd-3)))
5595
5596(define-public ghc-language-c
5597 (package
5598 (name "ghc-language-c")
4e1cf651 5599 (version "0.8.3")
dddbc90c
RV
5600 (source
5601 (origin
5602 (method url-fetch)
5603 (uri (string-append "https://hackage.haskell.org/package/"
5604 "language-c/language-c-" version ".tar.gz"))
5605 (sha256
5606 (base32
4e1cf651 5607 "0bi02jdirkys8v7flf39vrpla2a74z1z0sdhy9lb9v7cmcc6rmpk"))))
dddbc90c
RV
5608 (build-system haskell-build-system)
5609 (inputs `(("ghc-syb" ,ghc-syb)))
5610 (native-inputs
5611 `(("ghc-happy" ,ghc-happy)
5612 ("ghc-alex" ,ghc-alex)))
5613 (home-page "https://visq.github.io/language-c/")
5614 (synopsis "Analysis and generation of C code")
5615 (description
5616 "Language C is a Haskell library for the analysis and generation of C code.
5617It features a complete, well-tested parser and pretty printer for all of C99
5618and a large set of GNU extensions.")
5619 (license license:bsd-3)))
5620
5621(define-public ghc-language-glsl
5622 (package
5623 (name "ghc-language-glsl")
5624 (version "0.3.0")
5625 (source
5626 (origin
5627 (method url-fetch)
5628 (uri (string-append "https://hackage.haskell.org/package/"
5629 "language-glsl/language-glsl-" version ".tar.gz"))
5630 (sha256
5631 (base32
5632 "0hdg67ainlqpjjghg3qin6fg4p783m0zmjqh4rd5gyizwiplxkp1"))))
5633 (build-system haskell-build-system)
5634 (inputs `(("ghc-prettyclass" ,ghc-prettyclass)))
5635 (arguments
5636 `(#:tests? #f
5637 #:cabal-revision
5638 ("1" "10ac9pk4jy75k03j1ns4b5136l4kw8krr2d2nw2fdmpm5jzyghc5")))
5639 (home-page "http://hackage.haskell.org/package/language-glsl")
5640 (synopsis "GLSL abstract syntax tree, parser, and pretty-printer")
5641 (description "This package is a Haskell library for the
5642representation, parsing, and pretty-printing of GLSL 1.50 code.")
5643 (license license:bsd-3)))
5644
5645(define-public ghc-language-haskell-extract
5646 (package
5647 (name "ghc-language-haskell-extract")
5648 (version "0.2.4")
5649 (source
5650 (origin
5651 (method url-fetch)
5652 (uri (string-append "https://hackage.haskell.org/package/"
5653 "language-haskell-extract-" version "/"
5654 "language-haskell-extract-" version ".tar.gz"))
5655 (sha256
5656 (base32
5657 "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl"))))
5658 (build-system haskell-build-system)
5659 (inputs
5660 `(("ghc-regex-posix" ,ghc-regex-posix)))
5661 (home-page "https://github.com/finnsson/template-helper")
5662 (synopsis "Haskell module to automatically extract functions from
5663the local code")
5664 (description "This package contains helper functions on top of
5665Template Haskell.
5666
5667For example, @code{functionExtractor} extracts all functions after a
5668regexp-pattern, which can be useful if you wish to extract all functions
5669beginning with @code{test} (for a test framework) or all functions beginning
5670with @code{wc} (for a web service).")
5671 (license license:bsd-3)))
5672
5673(define-public ghc-lens
5674 (package
5675 (name "ghc-lens")
5676 (version "4.16.1")
5677 (source
5678 (origin
5679 (method url-fetch)
5680 (uri (string-append "https://hackage.haskell.org/package/lens/lens-"
5681 version ".tar.gz"))
5682 (sha256
5683 (base32
5684 "1im4drhbydbawd6i0jsrzpqihnmx4ywpkg7yg94ddwsw3mxwkgpm"))))
5685 (build-system haskell-build-system)
5686 (arguments
5687 `(#:cabal-revision
5688 ("2" "11h83lj5mba4grhz1qx3irz10ysm9c3k7k6i6xv2cr60q8xin3ri")))
5689 (inputs
5690 `(("ghc-base-orphans" ,ghc-base-orphans)
5691 ("ghc-bifunctors" ,ghc-bifunctors)
5692 ("ghc-distributive" ,ghc-distributive)
5693 ("ghc-exceptions" ,ghc-exceptions)
5694 ("ghc-free" ,ghc-free)
5695 ("ghc-kan-extensions" ,ghc-kan-extensions)
5696 ("ghc-parallel" ,ghc-parallel)
5697 ("ghc-reflection" ,ghc-reflection)
5698 ("ghc-semigroupoids" ,ghc-semigroupoids)
5699 ("ghc-vector" ,ghc-vector)
5700 ("ghc-call-stack" ,ghc-call-stack)
5701 ("ghc-comonad" ,ghc-comonad)
5702 ("ghc-contravariant" ,ghc-contravariant)
5703 ("ghc-hashable" ,ghc-hashable)
5704 ("ghc-profunctors" ,ghc-profunctors)
5705 ("ghc-semigroups" ,ghc-semigroups)
5706 ("ghc-tagged" ,ghc-tagged)
5707 ("ghc-transformers-compat" ,ghc-transformers-compat)
5708 ("ghc-unordered-containers" ,ghc-unordered-containers)
5709 ("ghc-void" ,ghc-void)
5710 ("ghc-generic-deriving" ,ghc-generic-deriving)
5711 ("ghc-nats" ,ghc-nats)
5712 ("ghc-simple-reflect" ,ghc-simple-reflect)
5713 ("hlint" ,hlint)))
5714 (native-inputs
5715 `(("cabal-doctest" ,cabal-doctest)
5716 ("ghc-doctest" ,ghc-doctest)
5717 ("ghc-hunit" ,ghc-hunit)
5718 ("ghc-test-framework" ,ghc-test-framework)
5719 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5720 ("ghc-test-framework-th" ,ghc-test-framework-th)
5721 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
5722 ("ghc-quickcheck" ,ghc-quickcheck)))
5723 (home-page "https://github.com/ekmett/lens/")
5724 (synopsis "Lenses, Folds and Traversals")
5725 (description "This library provides @code{Control.Lens}. The combinators
5726in @code{Control.Lens} provide a highly generic toolbox for composing families
5727of getters, folds, isomorphisms, traversals, setters and lenses and their
5728indexed variants.")
5729 (license license:bsd-3)))
5730
5731(define-public ghc-libffi
5732 (package
5733 (name "ghc-libffi")
5734 (version "0.1")
5735 (source
5736 (origin
5737 (method url-fetch)
5738 (uri (string-append "https://hackage.haskell.org/package/"
5739 "libffi/libffi-" version ".tar.gz"))
5740 (sha256
5741 (base32
5742 "0g7jnhng3j7z5517aaqga0144aamibsbpgm3yynwyfzkq1kp0f28"))))
5743 (build-system haskell-build-system)
5744 (native-inputs `(("pkg-config" ,pkg-config)))
5745 (inputs `(("libffi" ,libffi)))
5746 (home-page "http://hackage.haskell.org/package/libffi")
5747 (synopsis "Haskell binding to libffi")
5748 (description
5749 "A binding to libffi, allowing C functions of types only known at runtime
5750to be called from Haskell.")
5751 (license license:bsd-3)))
5752
5753(define-public ghc-libmpd
5754 (package
5755 (name "ghc-libmpd")
bbf9845f 5756 (version "0.9.0.10")
dddbc90c
RV
5757 (source
5758 (origin
5759 (method url-fetch)
5760 (uri (string-append
5761 "mirror://hackage/package/libmpd/libmpd-"
5762 version
5763 ".tar.gz"))
5764 (sha256
5765 (base32
bbf9845f 5766 "0vy287mn1vk8kvij5i3hc0p02l886cpsq5dds7kl6g520si3abkb"))))
dddbc90c
RV
5767 (build-system haskell-build-system)
5768 ;; Tests fail on i686.
5769 ;; See https://github.com/vimus/libmpd-haskell/issues/112
5770 (arguments `(#:tests? #f))
5771 (inputs
5772 `(("ghc-attoparsec" ,ghc-attoparsec)
5773 ("ghc-old-locale" ,ghc-old-locale)
5774 ("ghc-data-default-class" ,ghc-data-default-class)
5775 ("ghc-network" ,ghc-network)
bbf9845f 5776 ("ghc-safe-exceptions" ,ghc-safe-exceptions)
dddbc90c
RV
5777 ("ghc-utf8-string" ,ghc-utf8-string)))
5778 (native-inputs
5779 `(("ghc-quickcheck" ,ghc-quickcheck)
5780 ("ghc-hspec" ,ghc-hspec)
5781 ("hspec-discover" ,hspec-discover)))
5782 (home-page "https://github.com/vimus/libmpd-haskell")
5783 (synopsis "Haskell client library for the Music Player Daemon")
5784 (description "This package provides a pure Haskell client library for the
5785Music Player Daemon.")
5786 (license license:expat)))
5787
5788(define-public ghc-libxml
5789 (package
5790 (name "ghc-libxml")
5791 (version "0.1.1")
5792 (source
5793 (origin
5794 (method url-fetch)
5795 (uri (string-append "https://hackage.haskell.org/package/libxml/"
5796 "libxml-" version ".tar.gz"))
5797 (sha256
5798 (base32
5799 "01zvk86kg726lf2vnlr7dxiz7g3xwi5a4ak9gcfbwyhynkzjmsfi"))))
5800 (build-system haskell-build-system)
5801 (inputs
5802 `(("libxml2" ,libxml2)))
5803 (arguments
5804 `(#:configure-flags
5805 `(,(string-append "--extra-include-dirs="
5806 (assoc-ref %build-inputs "libxml2")
5807 "/include/libxml2"))))
5808 (home-page "https://hackage.haskell.org/package/libxml")
5809 (synopsis "Haskell bindings to libxml2")
5810 (description
5811 "This library provides minimal Haskell binding to libxml2.")
5812 (license license:bsd-3)))
5813
5814(define-public ghc-lifted-async
5815 (package
5816 (name "ghc-lifted-async")
b5b6d7ea 5817 (version "0.10.0.4")
dddbc90c
RV
5818 (source
5819 (origin
5820 (method url-fetch)
5821 (uri (string-append
5822 "https://hackage.haskell.org/package/lifted-async/lifted-async-"
5823 version ".tar.gz"))
5824 (sha256
5825 (base32
b5b6d7ea 5826 "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9"))))
dddbc90c
RV
5827 (build-system haskell-build-system)
5828 (inputs
5829 `(("ghc-async" ,ghc-async)
5830 ("ghc-lifted-base" ,ghc-lifted-base)
5831 ("ghc-transformers-base" ,ghc-transformers-base)
5832 ("ghc-monad-control" ,ghc-monad-control)
5833 ("ghc-constraints" ,ghc-constraints)
5834 ("ghc-hunit" ,ghc-hunit)
5835 ("ghc-tasty" ,ghc-tasty)
5836 ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)
5837 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
5838 ("ghc-tasty-th" ,ghc-tasty-th)))
5839 (home-page "https://github.com/maoe/lifted-async")
5840 (synopsis "Run lifted IO operations asynchronously and wait for their results")
5841 (description
5842 "This package provides IO operations from @code{async} package lifted to any
5843instance of @code{MonadBase} or @code{MonadBaseControl}.")
5844 (license license:bsd-3)))
5845
5846(define-public ghc-lifted-base
5847 (package
5848 (name "ghc-lifted-base")
5849 (version "0.2.3.12")
5850 (source
5851 (origin
5852 (method url-fetch)
5853 (uri (string-append
5854 "https://hackage.haskell.org/package/lifted-base/lifted-base-"
5855 version
5856 ".tar.gz"))
5857 (sha256
5858 (base32
5859 "1i8p8d3rkdh21bhgjjh32vd7qqjr7jq7p59qds0aw2kmargsjd61"))))
5860 (build-system haskell-build-system)
5861 (arguments `(#:tests? #f)) ; FIXME: Missing testing libraries.
5862 (inputs
5863 `(("ghc-transformers-base" ,ghc-transformers-base)
5864 ("ghc-monad-control" ,ghc-monad-control)
5865 ("ghc-transformers-compat" ,ghc-transformers-compat)
5866 ("ghc-hunit" ,ghc-hunit)))
5867 (home-page "https://github.com/basvandijk/lifted-base")
5868 (synopsis "Lifted IO operations from the base library")
5869 (description "Lifted-base exports IO operations from the @code{base}
5870library lifted to any instance of @code{MonadBase} or @code{MonadBaseControl}.
5871Note that not all modules from @code{base} are converted yet. The package
5872includes a copy of the @code{monad-peel} test suite written by Anders
5873Kaseorg.")
5874 (license license:bsd-3)))
5875
5876(define-public ghc-linear
5877 (package
5878 (name "ghc-linear")
5879 (version "1.20.8")
5880 (source
5881 (origin
5882 (method url-fetch)
5883 (uri (string-append "https://hackage.haskell.org/package/linear/"
5884 "linear-" version ".tar.gz"))
5885 (sha256
5886 (base32
5887 "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay"))))
5888 (build-system haskell-build-system)
5889 (inputs
5890 `(("ghc-adjunctions" ,ghc-adjunctions)
5891 ("ghc-base-orphans" ,ghc-base-orphans)
5892 ("ghc-bytes" ,ghc-bytes)
5893 ("ghc-cereal" ,ghc-cereal)
5894 ("ghc-distributive" ,ghc-distributive)
5895 ("ghc-hashable" ,ghc-hashable)
5896 ("ghc-lens" ,ghc-lens)
5897 ("ghc-reflection" ,ghc-reflection)
5898 ("ghc-semigroups" ,ghc-semigroups)
5899 ("ghc-semigroupoids" ,ghc-semigroupoids)
5900 ("ghc-tagged" ,ghc-tagged)
5901 ("ghc-transformers-compat" ,ghc-transformers-compat)
5902 ("ghc-unordered-containers" ,ghc-unordered-containers)
5903 ("ghc-vector" ,ghc-vector)
5904 ("ghc-void" ,ghc-void)))
5905 (native-inputs
5906 `(("cabal-doctest" ,cabal-doctest)
5907 ("ghc-doctest" ,ghc-doctest)
5908 ("ghc-simple-reflect" ,ghc-simple-reflect)
5909 ("ghc-test-framework" ,ghc-test-framework)
5910 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
5911 ("ghc-hunit" ,ghc-hunit)))
5912 (home-page "http://github.com/ekmett/linear/")
5913 (synopsis "Linear algebra library for Haskell")
5914 (description
5915 "This package provides types and combinators for linear algebra on free
5916vector spaces.")
5917 (license license:bsd-3)))
1307e4c7
JS
5918
5919(define-public ghc-listlike
5920 (package
5921 (name "ghc-listlike")
5922 (version "4.6.2")
5923 (source
5924 (origin
5925 (method url-fetch)
5926 (uri
5927 (string-append
5928 "https://hackage.haskell.org/package/ListLike/ListLike-"
5929 version ".tar.gz"))
5930 (sha256
5931 (base32
5932 "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh"))))
5933 (build-system haskell-build-system)
5934 (inputs
5935 `(("ghc-vector" ,ghc-vector)
5936 ("ghc-dlist" ,ghc-dlist)
5937 ("ghc-fmlist" ,ghc-fmlist)
5938 ("ghc-hunit" ,ghc-hunit)
5939 ("ghc-quickcheck" ,ghc-quickcheck)
5940 ("ghc-random" ,ghc-random)
5941 ("ghc-utf8-string" ,ghc-utf8-string)))
5942 (home-page "https://github.com/JohnLato/listlike")
5943 (synopsis "Generic support for list-like structures")
5944 (description "The ListLike module provides a common interface to the
5945various Haskell types that are list-like. Predefined interfaces include
5946standard Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.
5947Custom types can easily be made ListLike instances as well.
5948
5949ListLike also provides for String-like types, such as String and
5950ByteString, for types that support input and output, and for types that
5951can handle infinite lists.")
5952 (license license:bsd-3)))
dddbc90c
RV
5953
5954(define-public ghc-logging-facade
5955 (package
5956 (name "ghc-logging-facade")
5957 (version "0.3.0")
5958 (source (origin
5959 (method url-fetch)
5960 (uri (string-append "https://hackage.haskell.org/package/"
5961 "logging-facade/logging-facade-"
5962 version ".tar.gz"))
5963 (sha256
5964 (base32
5965 "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf"))))
5966 (build-system haskell-build-system)
5967 (native-inputs
5968 `(("ghc-hspec" ,ghc-hspec)
5969 ("hspec-discover" ,hspec-discover)))
5970 (home-page "https://hackage.haskell.org/package/logging-facade")
5971 (synopsis "Simple logging abstraction that allows multiple back-ends")
5972 (description
5973 "This package provides a simple logging abstraction that allows multiple
5974back-ends.")
5975 (license license:expat)))
5976
5977(define-public ghc-logict
5978 (package
5979 (name "ghc-logict")
79d9326f 5980 (version "0.7.0.2")
dddbc90c
RV
5981 (source
5982 (origin
5983 (method url-fetch)
5984 (uri (string-append
5985 "https://hackage.haskell.org/package/logict/logict-"
5986 version
5987 ".tar.gz"))
5988 (sha256
5989 (base32
79d9326f 5990 "1xfgdsxg0lp8m0a2cb83rcxrnnc37asfikay2kydi933anh9ihfc"))))
dddbc90c 5991 (build-system haskell-build-system)
79d9326f
TS
5992 (native-inputs
5993 `(("ghc-tasty" ,ghc-tasty)
5994 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
dddbc90c
RV
5995 (home-page "http://code.haskell.org/~dolio/")
5996 (synopsis "Backtracking logic-programming monad")
5997 (description "This library provides a continuation-based, backtracking,
5998logic programming monad. An adaptation of the two-continuation implementation
5999found in the paper \"Backtracking, Interleaving, and Terminating Monad
6000Transformers\" available @uref{http://okmij.org/ftp/papers/LogicT.pdf,
6001online}.")
6002 (license license:bsd-3)))
6003
6004(define-public ghc-lzma
6005 (package
6006 (name "ghc-lzma")
6007 (version "0.0.0.3")
6008 (source
6009 (origin
6010 (method url-fetch)
6011 (uri (string-append "https://hackage.haskell.org/package/lzma/"
6012 "lzma-" version ".tar.gz"))
6013 (sha256
6014 (base32
6015 "0i416gqi8j55nd1pqbkxvf3f6hn6fjys6gq98lkkxphva71j30xg"))))
6016 (build-system haskell-build-system)
6017 (arguments
6018 '(#:tests? #f ; requires older versions of QuickCheck and tasty.
6019 #:cabal-revision
6020 ("3" "1sify6gnsalyp6dakfzi0mdy5jcz2kcp9jsdsgkmxd40nfzgd44m")))
6021 (native-inputs
6022 `(("ghc-hunit" ,ghc-hunit)
6023 ("ghc-quickcheck" ,ghc-quickcheck)
6024 ("ghc-tasty" ,ghc-tasty)
6025 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
6026 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
6027 (home-page "https://github.com/hvr/lzma")
6028 (synopsis "LZMA/XZ compression and decompression")
6029 (description
6030 "This package provides a pure interface for compressing and
6031decompressing LZMA streams of data represented as lazy @code{ByteString}s. A
6032monadic incremental interface is provided as well.")
6033 (license license:bsd-3)))
6034
6035(define-public ghc-lzma-conduit
6036 (package
6037 (name "ghc-lzma-conduit")
6038 (version "1.2.1")
6039 (source
6040 (origin
6041 (method url-fetch)
6042 (uri (string-append "https://hackage.haskell.org/package/lzma-conduit/"
6043 "lzma-conduit-" version ".tar.gz"))
6044 (sha256
6045 (base32
6046 "0hm72da7xk9l3zxjh274yg444vf405djxqbkf3q3p2qhicmxlmg9"))))
6047 (build-system haskell-build-system)
6048 (inputs
6049 `(("ghc-conduit" ,ghc-conduit)
6050 ("ghc-lzma" ,ghc-lzma)
6051 ("ghc-resourcet" ,ghc-resourcet)))
6052 (native-inputs
6053 `(("ghc-base-compat" ,ghc-base-compat)
6054 ("ghc-test-framework" ,ghc-test-framework)
6055 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6056 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
6057 ("ghc-hunit" ,ghc-hunit)
6058 ("ghc-quickcheck" ,ghc-quickcheck)))
6059 (home-page "https://github.com/alphaHeavy/lzma-conduit")
6060 (synopsis "Conduit interface for lzma/xz compression")
6061 (description
6062 "This package provides a @code{Conduit} interface for the LZMA
6063compression algorithm used in the @code{.xz} file format.")
6064 (license license:bsd-3)))
6065
e405912c
KM
6066(define-public ghc-magic
6067 (package
6068 (name "ghc-magic")
6069 (version "1.1")
6070 (source
6071 (origin
6072 (method url-fetch)
6073 (uri (string-append
6074 "https://hackage.haskell.org/package/magic/magic-"
6075 version ".tar.gz"))
6076 (sha256
6077 (base32
6078 "10p0gjjjwr1dda7hahwrwn5njbfhl67arq3v3nf1jr3vymlkn75j"))))
6079 (build-system haskell-build-system)
6080 (home-page "http://hackage.haskell.org/package/magic")
6081 (synopsis "Interface to C file/magic library")
6082 (description
6083 "This package provides a full-featured binding to the C libmagic library.
6084With it, you can determine the type of a file by examining its contents rather
6085than its name.")
6086 (license license:bsd-3)))
6087
dddbc90c
RV
6088(define-public ghc-markdown-unlit
6089 (package
6090 (name "ghc-markdown-unlit")
6091 (version "0.5.0")
6092 (source (origin
6093 (method url-fetch)
6094 (uri (string-append
6095 "mirror://hackage/package/markdown-unlit/"
6096 "markdown-unlit-" version ".tar.gz"))
6097 (sha256
6098 (base32
6099 "1gy79vr85vcp13rdjh0hz7zv6daqqffww4j0cqn2lpjjh9xhsbg7"))))
6100 (build-system haskell-build-system)
6101 (inputs
6102 `(("ghc-base-compat" ,ghc-base-compat)
6103 ("ghc-hspec" ,ghc-hspec)
6104 ("ghc-quickcheck" ,ghc-quickcheck)
6105 ("ghc-silently" ,ghc-silently)
6106 ("ghc-stringbuilder" ,ghc-stringbuilder)
6107 ("ghc-temporary" ,ghc-temporary)
6108 ("hspec-discover" ,hspec-discover)))
6109 (home-page "https://github.com/sol/markdown-unlit#readme")
6110 (synopsis "Literate Haskell support for Markdown")
6111 (description "This package allows you to have a README.md that at the
6112same time is a literate Haskell program.")
6113 (license license:expat)))
6114
6115(define-public ghc-math-functions
6116 (package
6117 (name "ghc-math-functions")
b45de2bf 6118 (version "0.3.3.0")
dddbc90c
RV
6119 (source
6120 (origin
6121 (method url-fetch)
6122 (uri (string-append "https://hackage.haskell.org/package/"
6123 "math-functions-" version "/"
6124 "math-functions-" version ".tar.gz"))
6125 (sha256
6126 (base32
b45de2bf 6127 "1s5nbs40sc3r4z08n0j8bw40cy0zkp03fjjn3p27zkd4fvm9kib3"))))
dddbc90c
RV
6128 (build-system haskell-build-system)
6129 (arguments `(#:tests? #f)) ; FIXME: 1 test fails.
6130 (inputs
b45de2bf
TS
6131 `(("ghc-data-default-class" ,ghc-data-default-class)
6132 ("ghc-vector" ,ghc-vector)
dddbc90c
RV
6133 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)))
6134 (native-inputs
6135 `(("ghc-hunit" ,ghc-hunit)
6136 ("ghc-quickcheck" ,ghc-quickcheck)
6137 ("ghc-erf" ,ghc-erf)
6138 ("ghc-test-framework" ,ghc-test-framework)
6139 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6140 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6141 (home-page "https://github.com/bos/math-functions")
6142 (synopsis "Special functions and Chebyshev polynomials for Haskell")
6143 (description "This Haskell library provides implementations of
6144special mathematical functions and Chebyshev polynomials. These
6145functions are often useful in statistical and numerical computing.")
6146 (license license:bsd-3)))
6147
6148(define-public ghc-megaparsec
6149 (package
6150 (name "ghc-megaparsec")
03b0c92e 6151 (version "7.0.5")
dddbc90c
RV
6152 (source
6153 (origin
6154 (method url-fetch)
6155 (uri (string-append "https://hackage.haskell.org/package/"
6156 "megaparsec/megaparsec-"
6157 version ".tar.gz"))
6158 (sha256
6159 (base32
03b0c92e 6160 "0bqx1icbmk8s7wmbcdzsgnlh607c7kzg8l80cp02dxr5valjxp7j"))))
dddbc90c 6161 (build-system haskell-build-system)
dddbc90c
RV
6162 (inputs
6163 `(("ghc-case-insensitive" ,ghc-case-insensitive)
6164 ("ghc-parser-combinators" ,ghc-parser-combinators)
6165 ("ghc-scientific" ,ghc-scientific)))
6166 (native-inputs
6167 `(("ghc-quickcheck" ,ghc-quickcheck)
6168 ("ghc-hspec" ,ghc-hspec)
6169 ("ghc-hspec-expectations" ,ghc-hspec-expectations)
6170 ("hspec-discover" ,hspec-discover)))
6171 (home-page "https://github.com/mrkkrp/megaparsec")
6172 (synopsis "Monadic parser combinators")
6173 (description
6174 "This is an industrial-strength monadic parser combinator library.
6175Megaparsec is a feature-rich package that strikes a nice balance between
6176speed, flexibility, and quality of parse errors.")
6177 (license license:bsd-2)))
6178
6179(define-public ghc-memory
6180 (package
6181 (name "ghc-memory")
d2c7d336 6182 (version "0.14.18")
dddbc90c
RV
6183 (source (origin
6184 (method url-fetch)
6185 (uri (string-append "https://hackage.haskell.org/package/"
6186 "memory/memory-" version ".tar.gz"))
6187 (sha256
6188 (base32
d2c7d336 6189 "01rmq3vagxzjmm96qnfxk4f0516cn12bp5m8inn8h5r918bqsigm"))))
dddbc90c
RV
6190 (build-system haskell-build-system)
6191 (inputs
6192 `(("ghc-basement" ,ghc-basement)
6193 ("ghc-foundation" ,ghc-foundation)))
6194 (native-inputs
6195 `(("ghc-tasty" ,ghc-tasty)
6196 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
6197 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6198 (home-page "https://github.com/vincenthz/hs-memory")
6199 (synopsis "Memory abstractions for Haskell")
6200 (description
6201 "This package provides memory abstractions, such as chunk of memory,
6202polymorphic byte array management and manipulation functions. It contains a
6203polymorphic byte array abstraction and functions similar to strict ByteString,
6204different type of byte array abstraction, raw memory IO operations (memory
6205set, memory copy, ..) and more")
6206 (license license:bsd-3)))
6207
6208(define-public ghc-memotrie
6209 (package
6210 (name "ghc-memotrie")
6211 (version "0.6.9")
6212 (source
6213 (origin
6214 (method url-fetch)
6215 (uri (string-append
6216 "https://hackage.haskell.org/package/MemoTrie/MemoTrie-"
6217 version
6218 ".tar.gz"))
6219 (sha256
6220 (base32
6221 "157p0pi6rrq74a35mq6zkkycv4ah7xhkbrcmnkb9xf7pznw4aq0x"))))
6222 (build-system haskell-build-system)
6223 (inputs
6224 `(("ghc-newtype-generics" ,ghc-newtype-generics)))
6225 (home-page "https://github.com/conal/MemoTrie")
6226 (synopsis "Trie-based memo functions")
6227 (description "This package provides a functional library for creating
6228efficient memo functions using tries.")
6229 (license license:bsd-3)))
6230
6231(define-public ghc-microlens
6232 (package
6233 (name "ghc-microlens")
82478c58 6234 (version "0.4.10")
dddbc90c
RV
6235 (source
6236 (origin
6237 (method url-fetch)
6238 (uri (string-append "https://hackage.haskell.org/package/"
6239 "microlens-" version "/"
6240 "microlens-" version ".tar.gz"))
6241 (sha256
6242 (base32
82478c58 6243 "1v277yyy4p9q57xr2lfp6qs24agglfczmcabrapxrzci3jfshmcw"))))
dddbc90c
RV
6244 (build-system haskell-build-system)
6245 (home-page
6246 "https://github.com/aelve/microlens")
6247 (synopsis "Provides a tiny lens Haskell library with no dependencies")
6248 (description "This Haskell package provides a lens library, just like
6249@code{ghc-lens}, but smaller. It provides essential lenses and
6250traversals (like @code{_1} and @code{_Just}), as well as ones which are simply
6251nice to have (like @code{each}, @code{at}, and @code{ix}), and some
6252combinators (like @code{failing} and @code{singular}), but everything else is
6253stripped. As the result, this package has no dependencies.")
6254 (license license:bsd-3)))
6255
6256(define-public ghc-microlens-ghc
6257 (package
6258 (name "ghc-microlens-ghc")
027beb55 6259 (version "0.4.10")
dddbc90c
RV
6260 (source
6261 (origin
6262 (method url-fetch)
6263 (uri (string-append
6264 "https://hackage.haskell.org/package/microlens-ghc/microlens-ghc-"
6265 version
6266 ".tar.gz"))
6267 (sha256
6268 (base32
027beb55 6269 "102dbrdsdadxbbhvx8avv1wbk84767a7lkb8ckp3zxk9g7qlly33"))))
dddbc90c
RV
6270 (build-system haskell-build-system)
6271 (inputs `(("ghc-microlens" ,ghc-microlens)))
6272 (home-page "https://github.com/monadfix/microlens")
6273 (synopsis "Use @code{microlens} with GHC libraries like @code{array}")
6274 (description "This library provides everything that @code{microlens}
6275provides plus instances to make @code{each}, @code{at}, and @code{ix}
6276usable with arrays, @code{ByteString}, and containers. This package is
6277a part of the @uref{http://hackage.haskell.org/package/microlens,
6278microlens} family; see the readme
6279@uref{https://github.com/aelve/microlens#readme, on Github}.")
6280 (license license:bsd-3)))
6281
6282(define-public ghc-microlens-mtl
6283 (package
6284 (name "ghc-microlens-mtl")
6285 (version "0.1.11.1")
6286 (source
6287 (origin
6288 (method url-fetch)
6289 (uri (string-append
6290 "https://hackage.haskell.org/package/microlens-mtl/microlens-mtl-"
6291 version
6292 ".tar.gz"))
6293 (sha256
6294 (base32
6295 "0l6z1gkzwcpv89bxf5vgfrjb6gq2pj7sjjc53nvi5b9alx34zryk"))))
6296 (build-system haskell-build-system)
6297 (inputs
6298 `(("ghc-microlens" ,ghc-microlens)
6299 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6300 (home-page "https://github.com/monadfix/microlens")
6301 (synopsis
6302 "@code{microlens} support for Reader/Writer/State from mtl")
6303 (description
6304 "This package contains functions (like @code{view} or @code{+=}) which
6305work on @code{MonadReader}, @code{MonadWriter}, and @code{MonadState} from the
6306mtl package. This package is a part of the
6307@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6308readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6309 (license license:bsd-3)))
6310
6311(define-public ghc-microlens-platform
6312 (package
6313 (name "ghc-microlens-platform")
85decc1f 6314 (version "0.3.11")
dddbc90c
RV
6315 (source
6316 (origin
6317 (method url-fetch)
6318 (uri (string-append
6319 "https://hackage.haskell.org/package/"
6320 "microlens-platform/microlens-platform-" version ".tar.gz"))
6321 (sha256
6322 (base32
85decc1f 6323 "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb"))))
dddbc90c
RV
6324 (build-system haskell-build-system)
6325 (inputs
6326 `(("ghc-hashable" ,ghc-hashable)
6327 ("ghc-microlens" ,ghc-microlens)
6328 ("ghc-microlens-ghc" ,ghc-microlens-ghc)
6329 ("ghc-microlens-mtl" ,ghc-microlens-mtl)
6330 ("ghc-microlens-th" ,ghc-microlens-th)
6331 ("ghc-unordered-containers" ,ghc-unordered-containers)
6332 ("ghc-vector" ,ghc-vector)))
6333 (home-page "https://github.com/monadfix/microlens")
6334 (synopsis "Feature-complete microlens")
6335 (description
6336 "This package exports a module which is the recommended starting point
6337for using @uref{http://hackage.haskell.org/package/microlens, microlens} if
6338you aren't trying to keep your dependencies minimal. By importing
6339@code{Lens.Micro.Platform} you get all functions and instances from
6340@uref{http://hackage.haskell.org/package/microlens, microlens},
6341@uref{http://hackage.haskell.org/package/microlens-th, microlens-th},
6342@uref{http://hackage.haskell.org/package/microlens-mtl, microlens-mtl},
6343@uref{http://hackage.haskell.org/package/microlens-ghc, microlens-ghc}, as
6344well as instances for @code{Vector}, @code{Text}, and @code{HashMap}. The
6345minor and major versions of @code{microlens-platform} are incremented whenever
6346the minor and major versions of any other @code{microlens} package are
6347incremented, so you can depend on the exact version of
6348@code{microlens-platform} without specifying the version of @code{microlens}
6349you need. This package is a part of the
6350@uref{http://hackage.haskell.org/package/microlens, microlens} family; see the
6351readme @uref{https://github.com/aelve/microlens#readme, on Github}.")
6352 (license license:bsd-3)))
6353
6354(define-public ghc-microlens-th
6355 (package
6356 (name "ghc-microlens-th")
7ae52867 6357 (version "0.4.2.3")
dddbc90c
RV
6358 (source
6359 (origin
6360 (method url-fetch)
6361 (uri (string-append "https://hackage.haskell.org/package/"
6362 "microlens-th-" version "/"
6363 "microlens-th-" version ".tar.gz"))
6364 (sha256
6365 (base32
7ae52867 6366 "13qw0pwcgd6f6i39rwgqwcwk1d4da5x7wv3gna7gdlxaq331h41j"))))
dddbc90c 6367 (build-system haskell-build-system)
7ae52867
TS
6368 (arguments
6369 `(#:cabal-revision
6370 ("1" "167in7b1qhgrspx81bdm2jyg9qji66sk7id282c0s99kmp0d01n6")))
dddbc90c
RV
6371 (inputs `(("ghc-microlens" ,ghc-microlens)
6372 ("ghc-th-abstraction" ,ghc-th-abstraction)))
6373 (home-page
6374 "https://github.com/aelve/microlens")
6375 (synopsis "Automatic generation of record lenses for
6376@code{ghc-microlens}")
6377 (description "This Haskell package lets you automatically generate lenses
6378for data types; code was extracted from the lens package, and therefore
6379generated lenses are fully compatible with ones generated by lens (and can be
6380used both from lens and microlens).")
6381 (license license:bsd-3)))
6382
6383(define-public ghc-missingh
6384 (package
6385 (name "ghc-missingh")
641207cb 6386 (version "1.4.1.0")
dddbc90c
RV
6387 (source
6388 (origin
6389 (method url-fetch)
6390 (uri (string-append "https://hackage.haskell.org/package/MissingH/"
6391 "MissingH-" version ".tar.gz"))
6392 (sha256
6393 (base32
641207cb 6394 "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29"))))
dddbc90c
RV
6395 (build-system haskell-build-system)
6396 ;; Tests require the unmaintained testpack package, which depends on the
6397 ;; outdated QuickCheck version 2.7, which can no longer be built with
6398 ;; recent versions of GHC and Haskell libraries.
6399 (arguments '(#:tests? #f))
6400 (inputs
6401 `(("ghc-network" ,ghc-network)
6402 ("ghc-hunit" ,ghc-hunit)
6403 ("ghc-regex-compat" ,ghc-regex-compat)
6404 ("ghc-hslogger" ,ghc-hslogger)
6405 ("ghc-random" ,ghc-random)
6406 ("ghc-old-time" ,ghc-old-time)
6407 ("ghc-old-locale" ,ghc-old-locale)))
6408 (native-inputs
6409 `(("ghc-errorcall-eq-instance" ,ghc-errorcall-eq-instance)
6410 ("ghc-quickcheck" ,ghc-quickcheck)
6411 ("ghc-hunit" ,ghc-hunit)))
6412 (home-page "http://software.complete.org/missingh")
6413 (synopsis "Large utility library")
6414 (description
6415 "MissingH is a library of all sorts of utility functions for Haskell
6416programmers. It is written in pure Haskell and thus should be extremely
6417portable and easy to use.")
6418 (license license:bsd-3)))
6419
6420(define-public ghc-mmap
6421 (package
6422 (name "ghc-mmap")
6423 (version "0.5.9")
6424 (source (origin
6425 (method url-fetch)
6426 (uri (string-append "https://hackage.haskell.org/package/"
6427 "mmap/mmap-" version ".tar.gz"))
6428 (sha256
6429 (base32
6430 "1y5mk3yf4b8r6rzmlx1xqn4skaigrqnv08sqq0v7r3nbw42bpz2q"))))
6431 (build-system haskell-build-system)
6432 (home-page "https://hackage.haskell.org/package/mmap")
6433 (synopsis "Memory mapped files for Haskell")
6434 (description
6435 "This library provides a wrapper to @code{mmap}, allowing files or
6436devices to be lazily loaded into memory as strict or lazy @code{ByteStrings},
6437@code{ForeignPtrs} or plain @code{Ptrs}, using the virtual memory subsystem to
6438do on-demand loading.")
6439 (license license:bsd-3)))
6440
6441(define-public ghc-mmorph
6442 (package
6443 (name "ghc-mmorph")
e0389704 6444 (version "1.1.3")
dddbc90c
RV
6445 (source
6446 (origin
6447 (method url-fetch)
6448 (uri (string-append
6449 "https://hackage.haskell.org/package/mmorph/mmorph-"
6450 version
6451 ".tar.gz"))
6452 (sha256
6453 (base32
e0389704 6454 "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr"))))
dddbc90c
RV
6455 (build-system haskell-build-system)
6456 (inputs
6457 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
6458 (home-page "https://hackage.haskell.org/package/mmorph")
6459 (synopsis "Monad morphisms")
6460 (description
6461 "This library provides monad morphism utilities, most commonly used for
6462manipulating monad transformer stacks.")
6463 (license license:bsd-3)))
6464
6465(define-public ghc-mockery
6466 (package
6467 (name "ghc-mockery")
6468 (version "0.3.5")
6469 (source (origin
6470 (method url-fetch)
6471 (uri (string-append "https://hackage.haskell.org/package/"
6472 "mockery/mockery-" version ".tar.gz"))
6473 (sha256
6474 (base32
6475 "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp"))))
6476 (build-system haskell-build-system)
6477 (inputs
6478 `(("ghc-temporary" ,ghc-temporary)
6479 ("ghc-logging-facade" ,ghc-logging-facade)
6480 ("ghc-base-compat" ,ghc-base-compat)))
6481 (native-inputs
6482 `(("ghc-hspec" ,ghc-hspec)
6483 ("hspec-discover" ,hspec-discover)))
6484 (home-page "https://hackage.haskell.org/package/mockery")
6485 (synopsis "Support functions for automated testing")
6486 (description
6487 "The mockery package provides support functions for automated testing.")
6488 (license license:expat)))
6489
6490(define-public ghc-monad-control
6491 (package
6492 (name "ghc-monad-control")
6493 (version "1.0.2.3")
6494 (source
6495 (origin
6496 (method url-fetch)
6497 (uri (string-append
6498 "https://hackage.haskell.org/package/monad-control"
6499 "/monad-control-" version ".tar.gz"))
6500 (sha256
6501 (base32
6502 "1c92833gr6cadidjdp8mlznkpp8lyxl0w3y7d19y8yi3klc3843c"))))
6503 (build-system haskell-build-system)
6504 (inputs
6505 `(("ghc-transformers-base" ,ghc-transformers-base)
6506 ("ghc-transformers-compat" ,ghc-transformers-compat)))
6507 (home-page "https://github.com/basvandijk/monad-control")
6508 (synopsis "Monad transformers to lift control operations like exception
6509catching")
6510 (description "This package defines the type class @code{MonadBaseControl},
6511a subset of @code{MonadBase} into which generic control operations such as
6512@code{catch} can be lifted from @code{IO} or any other base monad.")
6513 (license license:bsd-3)))
6514
6515(define-public ghc-monad-logger
6516 (package
6517 (name "ghc-monad-logger")
6518 (version "0.3.29")
6519 (source
6520 (origin
6521 (method url-fetch)
6522 (uri (string-append "https://hackage.haskell.org/package/"
6523 "monad-logger-" version "/"
6524 "monad-logger-" version ".tar.gz"))
6525 (sha256
6526 (base32
6527 "1z516s4pa9n94zf0l45mylssg07xr1d1m6zrz900p0iv3vfd07mv"))))
6528 (build-system haskell-build-system)
6529 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6530 ("ghc-stm-chans" ,ghc-stm-chans)
6531 ("ghc-lifted-base" ,ghc-lifted-base)
6532 ("ghc-resourcet" ,ghc-resourcet)
6533 ("ghc-conduit" ,ghc-conduit)
6534 ("ghc-conduit-extra" ,ghc-conduit-extra)
6535 ("ghc-fast-logger" ,ghc-fast-logger)
6536 ("ghc-transformers-base" ,ghc-transformers-base)
6537 ("ghc-monad-control" ,ghc-monad-control)
6538 ("ghc-monad-loops" ,ghc-monad-loops)
6539 ("ghc-blaze-builder" ,ghc-blaze-builder)
6540 ("ghc-exceptions" ,ghc-exceptions)))
6541 (home-page "https://github.com/kazu-yamamoto/logger")
6542 (synopsis "Provides a class of monads which can log messages for Haskell")
6543 (description "This Haskell package uses a monad transformer approach
6544for logging.
6545
6546This package provides Template Haskell functions for determining source
6547code locations of messages.")
6548 (license license:expat)))
6549
6550(define-public ghc-monad-loops
6551 (package
6552 (name "ghc-monad-loops")
6553 (version "0.4.3")
6554 (source
6555 (origin
6556 (method url-fetch)
6557 (uri (string-append "https://hackage.haskell.org/package/"
6558 "monad-loops-" version "/"
6559 "monad-loops-" version ".tar.gz"))
6560 (sha256
6561 (base32
6562 "062c2sn3hc8h50p1mhqkpyv6x8dydz2zh3ridvlfjq9nqimszaky"))))
6563 (build-system haskell-build-system)
6564 (native-inputs `(("ghc-tasty" ,ghc-tasty)
6565 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
6566 (home-page "https://github.com/mokus0/monad-loops")
6567 (synopsis "Monadic loops for Haskell")
6568 (description "This Haskell package provides some useful control
6569operators for looping.")
6570 (license license:public-domain)))
6571
6572(define-public ghc-monad-par
6573 (package
6574 (name "ghc-monad-par")
6575 (version "0.3.4.8")
6576 (source
6577 (origin
6578 (method url-fetch)
6579 (uri (string-append "https://hackage.haskell.org/package/"
6580 "monad-par-" version "/"
6581 "monad-par-" version ".tar.gz"))
faac56f3 6582 (patches (search-patches "ghc-monad-par-fix-tests.patch"))
dddbc90c
RV
6583 (sha256
6584 (base32
6585 "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q"))))
6586 (build-system haskell-build-system)
6587 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6588 ("ghc-abstract-deque" ,ghc-abstract-deque)
6589 ("ghc-monad-par-extras" ,ghc-monad-par-extras)
6590 ("ghc-mwc-random" ,ghc-mwc-random)
6591 ("ghc-parallel" ,ghc-parallel)))
6592 (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)
6593 ("ghc-hunit" ,ghc-hunit)
6594 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6595 ("ghc-test-framework-quickcheck2"
6596 ,ghc-test-framework-quickcheck2)
6597 ("ghc-test-framework" ,ghc-test-framework)
6598 ("ghc-test-framework-th" ,ghc-test-framework-th)))
6599 (home-page "https://github.com/simonmar/monad-par")
6600 (synopsis "Haskell library for parallel programming based on a monad")
6601 (description "The @code{Par} monad offers an API for parallel
6602programming. The library works for parallelising both pure and @code{IO}
6603computations, although only the pure version is deterministic. The default
6604implementation provides a work-stealing scheduler and supports forking tasks
6605that are much lighter weight than IO-threads.")
6606 (license license:bsd-3)))
6607
6608(define-public ghc-monad-par-extras
6609 (package
6610 (name "ghc-monad-par-extras")
6611 (version "0.3.3")
6612 (source
6613 (origin
6614 (method url-fetch)
6615 (uri (string-append "https://hackage.haskell.org/package/"
6616 "monad-par-extras-" version "/"
6617 "monad-par-extras-" version ".tar.gz"))
6618 (sha256
6619 (base32
6620 "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2"))))
6621 (build-system haskell-build-system)
6622 (inputs `(("ghc-abstract-par" ,ghc-abstract-par)
6623 ("ghc-cereal" ,ghc-cereal)
6624 ("ghc-random" ,ghc-random)))
6625 (home-page "https://github.com/simonmar/monad-par")
6626 (synopsis "Combinators and extra features for Par monads for Haskell")
6627 (description "This Haskell package provides additional data structures,
6628and other added capabilities layered on top of the @code{Par} monad.")
6629 (license license:bsd-3)))
6630
6631(define-public ghc-monadplus
6632 (package
6633 (name "ghc-monadplus")
6634 (version "1.4.2")
6635 (source
6636 (origin
6637 (method url-fetch)
6638 (uri (string-append "https://hackage.haskell.org/package/monadplus"
6639 "/monadplus-" version ".tar.gz"))
6640 (sha256
6641 (base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
6642 (build-system haskell-build-system)
6643 (home-page "https://hackage.haskell.org/package/monadplus")
6644 (synopsis "Filtering and folding over arbitrary MonadPlus instances")
6645 (description
6646 "This package generalizes many common stream operations such as
6647@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
6648arbitrary @code{MonadPlus} instances.")
6649 (license license:bsd-3)))
6650
6651(define-public ghc-monadrandom
6652 (package
6653 (name "ghc-monadrandom")
6654 (version "0.5.1.1")
6655 (source
6656 (origin
6657 (method url-fetch)
6658 (uri (string-append "https://hackage.haskell.org/package/"
6659 "MonadRandom-" version "/"
6660 "MonadRandom-" version ".tar.gz"))
6661 (sha256
6662 (base32
6663 "0w44jl1n3kqvqaflh82l1wj3xxbhzfs3kf4m8rk7w6fgg8llmnmb"))))
6664 (build-system haskell-build-system)
6665 (inputs `(("ghc-transformers-compat" ,ghc-transformers-compat)
6666 ("ghc-primitive" ,ghc-primitive)
6667 ("ghc-fail" ,ghc-fail)
6668 ("ghc-random" ,ghc-random)))
6669 (home-page "https://github.com/byorgey/MonadRandom")
6670 (synopsis "Random-number generation monad for Haskell")
6671 (description "This Haskell package provides support for computations
6672which consume random values.")
6673 (license license:bsd-3)))
6674
6675(define-public ghc-monads-tf
6676 (package
6677 (name "ghc-monads-tf")
6678 (version "0.1.0.3")
6679 (source
6680 (origin
6681 (method url-fetch)
6682 (uri (string-append
6683 "https://hackage.haskell.org/package/monads-tf/monads-tf-"
6684 version ".tar.gz"))
6685 (sha256
6686 (base32
6687 "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794"))))
6688 (build-system haskell-build-system)
6689 (home-page "https://hackage.haskell.org/package/monads-tf")
6690 (synopsis "Monad classes, using type families")
6691 (description
6692 "Monad classes using type families, with instances for various monad transformers,
6693inspired by the paper 'Functional Programming with Overloading and Higher-Order
6694Polymorphism', by Mark P Jones. This package is almost a compatible replacement for
6695the @code{mtl-tf} package.")
6696 (license license:bsd-3)))
6697
6698(define-public ghc-mono-traversable
6699 (package
6700 (name "ghc-mono-traversable")
6701 (version "1.0.9.0")
6702 (source
6703 (origin
6704 (method url-fetch)
6705 (uri (string-append "https://hackage.haskell.org/package/"
6706 "mono-traversable-" version "/"
6707 "mono-traversable-" version ".tar.gz"))
6708 (sha256
6709 (base32
6710 "0180ks0dyvpk1r20w5jw2w2n79mjnk69n9vhspaxzlyxqgim5psa"))))
6711 (build-system haskell-build-system)
6712 (inputs `(("ghc-unordered-containers" ,ghc-unordered-containers)
6713 ("ghc-hashable" ,ghc-hashable)
6714 ("ghc-vector" ,ghc-vector)
6715 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
6716 ("ghc-split" ,ghc-split)))
6717 (native-inputs `(("ghc-hspec" ,ghc-hspec)
6718 ("ghc-hunit" ,ghc-hunit)
6719 ("ghc-quickcheck" ,ghc-quickcheck)
6720 ("ghc-semigroups" ,ghc-semigroups)
6721 ("ghc-foldl" ,ghc-foldl)))
6722 (home-page "https://github.com/snoyberg/mono-traversable")
6723 (synopsis "Haskell classes for mapping, folding, and traversing monomorphic
6724containers")
6725 (description "This Haskell package provides Monomorphic variants of the
6726Functor, Foldable, and Traversable typeclasses. If you understand Haskell's
6727basic typeclasses, you understand mono-traversable. In addition to what
6728you are used to, it adds on an IsSequence typeclass and has code for marking
6729data structures as non-empty.")
6730 (license license:expat)))
6731
6732(define-public ghc-murmur-hash
6733 (package
6734 (name "ghc-murmur-hash")
6735 (version "0.1.0.9")
6736 (source
6737 (origin
6738 (method url-fetch)
6739 (uri (string-append "https://hackage.haskell.org/package/murmur-hash"
6740 "/murmur-hash-" version ".tar.gz"))
6741 (sha256
6742 (base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
6743 (build-system haskell-build-system)
6744 (home-page "https://github.com/nominolo/murmur-hash")
6745 (synopsis "MurmurHash2 implementation for Haskell")
6746 (description
6747 "This package provides an implementation of MurmurHash2, a good, fast,
6748general-purpose, non-cryptographic hashing function. See
6749@url{https://sites.google.com/site/murmurhash/} for details. This
6750implementation is pure Haskell, so it might be a bit slower than a C FFI
6751binding.")
6752 (license license:bsd-3)))
6753
6754(define-public ghc-mwc-random
6755 (package
6756 (name "ghc-mwc-random")
33268e2c 6757 (version "0.14.0.0")
dddbc90c
RV
6758 (source
6759 (origin
6760 (method url-fetch)
6761 (uri (string-append "https://hackage.haskell.org/package/"
6762 "mwc-random-" version "/"
6763 "mwc-random-" version ".tar.gz"))
6764 (sha256
6765 (base32
33268e2c 6766 "18pg24sw3b79b32cwx8q01q4k0lm34mwr3l6cdkchl8alvd0wdq0"))))
dddbc90c
RV
6767 (build-system haskell-build-system)
6768 (inputs
6769 `(("ghc-primitive" ,ghc-primitive)
6770 ("ghc-vector" ,ghc-vector)
6771 ("ghc-math-functions" ,ghc-math-functions)))
6772 (arguments
6773 `(#:tests? #f)) ; FIXME: Test-Suite `spec` fails.
6774 (native-inputs
6775 `(("ghc-hunit" ,ghc-hunit)
6776 ("ghc-quickcheck" ,ghc-quickcheck)
6777 ("ghc-test-framework" ,ghc-test-framework)
6778 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
6779 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
6780 (home-page "https://github.com/bos/mwc-random")
6781 (synopsis "Random number generation library for Haskell")
6782 (description "This Haskell package contains code for generating
6783high quality random numbers that follow either a uniform or normal
6784distribution. The generated numbers are suitable for use in
6785statistical applications.
6786
6787The uniform PRNG uses Marsaglia's MWC256 (also known as MWC8222)
6788multiply-with-carry generator, which has a period of 2^{8222} and
6789fares well in tests of randomness. It is also extremely fast,
6790between 2 and 3 times faster than the Mersenne Twister.")
6791 (license license:bsd-3)))
6792
6793(define-public ghc-nats
6794 (package
6795 (name "ghc-nats")
6796 (version "1.1.2")
6797 (source
6798 (origin
6799 (method url-fetch)
6800 (uri (string-append
6801 "https://hackage.haskell.org/package/nats/nats-"
6802 version
6803 ".tar.gz"))
6804 (sha256
6805 (base32
6806 "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr"))))
6807 (build-system haskell-build-system)
6808 (arguments `(#:haddock? #f))
6809 (inputs
6810 `(("ghc-hashable" ,ghc-hashable)))
6811 (home-page "https://hackage.haskell.org/package/nats")
6812 (synopsis "Natural numbers")
6813 (description "This library provides the natural numbers for Haskell.")
6814 (license license:bsd-3)))
6815
6816(define-public ghc-nats-bootstrap
6817 (package
6818 (inherit ghc-nats)
6819 (name "ghc-nats-bootstrap")
6820 (inputs
6821 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
6822 (properties '((hidden? #t)))))
6823
52915062
EF
6824(define-public ghc-ncurses
6825 (package
6826 (name "ghc-ncurses")
6827 (version "0.2.16")
6828 (source
6829 (origin
6830 (method url-fetch)
6831 (uri (string-append
6832 "https://hackage.haskell.org/package/ncurses/ncurses-"
6833 version ".tar.gz"))
6834 (sha256
6835 (base32
6836 "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5"))))
6837 (build-system haskell-build-system)
6838 (arguments
6839 '(#:phases
6840 (modify-phases %standard-phases
6841 (add-before 'build 'fix-includes
6842 (lambda _
6843 (substitute* '("cbits/hsncurses-shim.h"
6844 "lib/UI/NCurses.chs"
6845 "lib/UI/NCurses/Enums.chs"
6846 "lib/UI/NCurses/Panel.chs")
6847 (("<ncursesw/") "<"))
6848 #t)))
6849 #:cabal-revision
6850 ("1"
6851 "1wfdy716s5p1sqp2gsg43x8wch2dxg0vmbbndlb2h3d8c9jzxnca")))
6852 (inputs `(("ncurses" ,ncurses)))
6853 (native-inputs `(("ghc-c2hs" ,ghc-c2hs)))
6854 (home-page "https://john-millikin.com/software/haskell-ncurses/")
6855 (synopsis "Modernised bindings to GNU ncurses")
6856 (description "GNU ncurses is a library for creating command-line application
6857with pseudo-graphical interfaces. This package is a nice, modern binding to GNU
6858ncurses.")
6859 (license license:gpl3)))
6860
dddbc90c
RV
6861(define-public ghc-network
6862 (package
6863 (name "ghc-network")
d4473202 6864 (version "2.8.0.1")
dddbc90c
RV
6865 (outputs '("out" "doc"))
6866 (source
6867 (origin
6868 (method url-fetch)
6869 (uri (string-append
6870 "https://hackage.haskell.org/package/network/network-"
6871 version
6872 ".tar.gz"))
6873 (sha256
6874 (base32
d4473202 6875 "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1"))))
dddbc90c
RV
6876 (build-system haskell-build-system)
6877 ;; The regression tests depend on an unpublished module.
6878 (arguments `(#:tests? #f))
6879 (native-inputs
6880 `(("ghc-hunit" ,ghc-hunit)
6881 ("ghc-doctest" ,ghc-doctest)
6882 ("ghc-test-framework" ,ghc-test-framework)
6883 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
6884 (home-page "https://github.com/haskell/network")
6885 (synopsis "Low-level networking interface")
6886 (description
6887 "This package provides a low-level networking interface.")
6888 (license license:bsd-3)))
4780db2c 6889
30eebbe6
TS
6890(define-public ghc-network-bsd
6891 (package
6892 (name "ghc-network-bsd")
6893 (version "2.8.0.0")
6894 (source
6895 (origin
6896 (method url-fetch)
6897 (uri (string-append "https://hackage.haskell.org/package/"
6898 "network-bsd/network-bsd-" version ".tar.gz"))
6899 (sha256
6900 (base32
6901 "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5"))))
6902 (build-system haskell-build-system)
6903 (inputs
6904 `(("ghc-network" ,ghc-network)))
6905 (home-page "https://github.com/haskell/network-bsd")
6906 (synopsis "POSIX network database (<netdb.h>) API")
6907 (description "This package provides Haskell bindings to the the POSIX
6908network database (<netdb.h>) API.")
6909 (license license:bsd-3)))
6910
096781a1
TS
6911(define-public ghc-network-byte-order
6912 (package
6913 (name "ghc-network-byte-order")
6914 (version "0.1.1.1")
6915 (source
6916 (origin
6917 (method url-fetch)
6918 (uri (string-append "https://hackage.haskell.org/package/"
6919 "network-byte-order/network-byte-order-"
6920 version ".tar.gz"))
6921 (sha256
6922 (base32
6923 "19cs6157amcc925vwr92q1azwwzkbam5g0k70i6qi80fhpikh37c"))))
6924 (build-system haskell-build-system)
6925 (native-inputs
6926 `(("ghc-doctest" ,ghc-doctest)))
6927 (home-page "http://hackage.haskell.org/package/network-byte-order")
6928 (synopsis "Network byte order utilities")
6929 (description "This library provides peek and poke functions for network
6930byte order.")
6931 (license license:bsd-3)))
6932
dddbc90c
RV
6933(define-public ghc-network-info
6934 (package
6935 (name "ghc-network-info")
6936 (version "0.2.0.10")
6937 (source
6938 (origin
6939 (method url-fetch)
6940 (uri (string-append "https://hackage.haskell.org/package/"
6941 "network-info-" version "/"
6942 "network-info-" version ".tar.gz"))
6943 (sha256
6944 (base32
6945 "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n"))))
6946 (build-system haskell-build-system)
6947 (home-page "https://github.com/jystic/network-info")
6948 (synopsis "Access the local computer's basic network configuration")
6949 (description "This Haskell library provides simple read-only access to the
6950local computer's networking configuration. It is currently capable of
6951getting a list of all the network interfaces and their respective
6952IPv4, IPv6 and MAC addresses.")
6953 (license license:bsd-3)))
6954
6955(define-public ghc-network-uri
6956 (package
6957 (name "ghc-network-uri")
6958 (version "2.6.1.0")
6959 (outputs '("out" "doc"))
6960 (source
6961 (origin
6962 (method url-fetch)
6963 (uri (string-append
6964 "https://hackage.haskell.org/package/network-uri/network-uri-"
6965 version
6966 ".tar.gz"))
6967 (sha256
6968 (base32
6969 "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2"))))
6970 (build-system haskell-build-system)
6971 (arguments
6972 `(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
6973 (inputs
6974 `(("ghc-network" ,ghc-network)))
6975 (native-inputs
6976 `(("ghc-hunit" ,ghc-hunit)))
6977 (home-page
6978 "https://github.com/haskell/network-uri")
6979 (synopsis "Library for URI manipulation")
6980 (description "This package provides an URI manipulation interface. In
6981@code{network-2.6} the @code{Network.URI} module was split off from the
6982@code{network} package into this package.")
6983 (license license:bsd-3)))
6984
6985(define-public ghc-newtype-generics
6986 (package
6987 (name "ghc-newtype-generics")
c07e16dd 6988 (version "0.5.4")
dddbc90c
RV
6989 (source
6990 (origin
6991 (method url-fetch)
6992 (uri (string-append "https://hackage.haskell.org/package/"
6993 "newtype-generics/newtype-generics-"
6994 version ".tar.gz"))
6995 (sha256
6996 (base32
c07e16dd 6997 "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0"))))
dddbc90c
RV
6998 (build-system haskell-build-system)
6999 (native-inputs
7000 `(("ghc-hspec" ,ghc-hspec)
7001 ("hspec-discover" ,hspec-discover)))
7002 (home-page "http://github.com/sjakobi/newtype-generics")
7003 (synopsis "Typeclass and set of functions for working with newtypes")
7004 (description "The @code{Newtype} typeclass represents the packing and
7005unpacking of a newtype, and allows you to operate under that newtype with
7006functions such as @code{ala}. Generics support was added in version 0.4,
7007making this package a full replacement for the original newtype package,
7008and an alternative to newtype-th.")
7009 (license license:bsd-3)))
7010
6b652f5a
JS
7011(define-public ghc-non-negative
7012 (package
7013 (name "ghc-non-negative")
7014 (version "0.1.2")
7015 (source
7016 (origin
7017 (method url-fetch)
7018 (uri
7019 (string-append
7020 "https://hackage.haskell.org/package/non-negative/non-negative-"
7021 version ".tar.gz"))
7022 (sha256
7023 (base32
7024 "0f01q916dzkl1i0v15qrw9cviycki5g3fgi6x8gs45iwbzssq52n"))))
7025 (build-system haskell-build-system)
7026 (inputs
7027 `(("ghc-semigroups" ,ghc-semigroups)
7028 ("ghc-utility-ht" ,ghc-utility-ht)
7029 ("ghc-quickcheck" ,ghc-quickcheck)))
7030 (home-page "https://hackage.haskell.org/package/non-negative")
7031 (synopsis "Non-negative numbers class")
7032 (description "This library provides a class for non-negative numbers,
7033a wrapper which can turn any ordered numeric type into a member of that
7034class, and a lazy number type for non-negative numbers (a generalization
7035of Peano numbers).")
7036 (license license:gpl3+)))
7037
dddbc90c
RV
7038(define-public ghc-objectname
7039 (package
7040 (name "ghc-objectname")
7041 (version "1.1.0.1")
7042 (source
7043 (origin
7044 (method url-fetch)
7045 (uri (string-append
7046 "https://hackage.haskell.org/package/ObjectName/ObjectName-"
7047 version
7048 ".tar.gz"))
7049 (sha256
7050 (base32
7051 "046jm94rmm46cicd31pl54vdvfjvhd9ffbfycy2lxzc0fliyznvj"))))
7052 (build-system haskell-build-system)
7053 (home-page "https://hackage.haskell.org/package/ObjectName")
7054 (synopsis "Helper library for Haskell OpenGL")
7055 (description "This tiny package contains the class ObjectName, which
7056corresponds to the general notion of explicitly handled identifiers for API
7057objects, e.g. a texture object name in OpenGL or a buffer object name in
7058OpenAL.")
7059 (license license:bsd-3)))
7060
7061(define-public ghc-old-locale
7062 (package
7063 (name "ghc-old-locale")
7064 (version "1.0.0.7")
7065 (source
7066 (origin
7067 (method url-fetch)
7068 (uri (string-append
7069 "https://hackage.haskell.org/package/old-locale/old-locale-"
7070 version
7071 ".tar.gz"))
7072 (sha256
7073 (base32 "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv"))))
7074 (build-system haskell-build-system)
7075 (arguments
7076 `(#:cabal-revision
7077 ("2" "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs")))
7078 (home-page "https://hackage.haskell.org/package/old-locale")
7079 (synopsis "Adapt to locale conventions")
7080 (description
7081 "This package provides the ability to adapt to locale conventions such as
7082date and time formats.")
7083 (license license:bsd-3)))
7084
7085(define-public ghc-old-time
7086 (package
7087 (name "ghc-old-time")
7088 (version "1.1.0.3")
7089 (source
7090 (origin
7091 (method url-fetch)
7092 (uri (string-append
7093 "https://hackage.haskell.org/package/old-time/old-time-"
7094 version
7095 ".tar.gz"))
7096 (sha256
7097 (base32
7098 "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw"))))
7099 (build-system haskell-build-system)
7100 (arguments
7101 `(#:cabal-revision
7102 ("2" "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9")))
7103 (inputs
7104 `(("ghc-old-locale" ,ghc-old-locale)))
7105 (home-page "https://hackage.haskell.org/package/old-time")
7106 (synopsis "Time compatibility library for Haskell")
7107 (description "Old-time is a package for backwards compatibility with the
7108old @code{time} library. For new projects, the newer
7109@uref{https://hackage.haskell.org/package/time, time library} is recommended.")
7110 (license license:bsd-3)))
7111
7112(define-public ghc-opengl
7113 (package
7114 (name "ghc-opengl")
79a06910 7115 (version "3.0.3.0")
dddbc90c
RV
7116 (source
7117 (origin
7118 (method url-fetch)
7119 (uri (string-append
7120 "https://hackage.haskell.org/package/OpenGL/OpenGL-"
7121 version
7122 ".tar.gz"))
7123 (sha256
7124 (base32
79a06910 7125 "069fg8jcxqq2z9iikynd8vi3jxm2b5y3qywdh4bdviyzab3zy1as"))))
dddbc90c 7126 (build-system haskell-build-system)
79a06910
TS
7127 (arguments
7128 `(#:cabal-revision
7129 ("1" "1748mrb6r9mpf5jbrx436lwbg8w6dadyy8dhxw2dwnrj5z7zf741")))
dddbc90c
RV
7130 (inputs
7131 `(("ghc-objectname" ,ghc-objectname)
7132 ("ghc-gluraw" ,ghc-gluraw)
7133 ("ghc-statevar" ,ghc-statevar)
7134 ("ghc-openglraw" ,ghc-openglraw)))
7135 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7136 (synopsis "Haskell bindings for the OpenGL graphics system")
7137 (description "This package provides Haskell bindings for the OpenGL
7138graphics system (GL, version 4.5) and its accompanying utility library (GLU,
7139version 1.3).")
7140 (license license:bsd-3)))
7141
7142(define-public ghc-openglraw
7143 (package
7144 (name "ghc-openglraw")
15ebc815 7145 (version "3.3.3.0")
dddbc90c
RV
7146 (source
7147 (origin
7148 (method url-fetch)
7149 (uri (string-append
7150 "https://hackage.haskell.org/package/OpenGLRaw/OpenGLRaw-"
7151 version
7152 ".tar.gz"))
7153 (sha256
7154 (base32
15ebc815 7155 "0zgllb4bcash2i2cispa3j565aw3dpxs41ghmhpvyvi4a6xmyldx"))))
dddbc90c
RV
7156 (build-system haskell-build-system)
7157 (inputs
7158 `(("ghc-half" ,ghc-half)
7159 ("ghc-fixed" ,ghc-fixed)
7160 ("glu" ,glu)))
7161 (home-page "https://www.haskell.org/haskellwiki/Opengl")
7162 (synopsis "Raw Haskell bindings for the OpenGL graphics system")
7163 (description "OpenGLRaw is a raw Haskell binding for the OpenGL 4.5
7164graphics system and lots of OpenGL extensions. It is basically a 1:1 mapping
7165of OpenGL's C API, intended as a basis for a nicer interface. OpenGLRaw
7166offers access to all necessary functions, tokens and types plus a general
7167facility for loading extension entries. The module hierarchy closely mirrors
7168the naming structure of the OpenGL extensions, making it easy to find the
7169right module to import. All API entries are loaded dynamically, so no special
7170C header files are needed for building this package. If an API entry is not
7171found at runtime, a userError is thrown.")
7172 (license license:bsd-3)))
7173
7174(define-public ghc-operational
7175 (package
7176 (name "ghc-operational")
7177 (version "0.2.3.5")
7178 (source
7179 (origin
7180 (method url-fetch)
7181 (uri (string-append "https://hackage.haskell.org/package/operational/"
7182 "operational-" version ".tar.gz"))
7183 (sha256
7184 (base32
7185 "1x2abg2q9d26h1vzj40r6k7k3gqgappbs4g9d853vvg77837km4i"))))
7186 (build-system haskell-build-system)
7187 (inputs
7188 `(("ghc-random" ,ghc-random)))
7189 (home-page "http://wiki.haskell.org/Operational")
7190 (synopsis "Implementation of difficult monads made easy with operational semantics")
7191 (description
7192 "This library makes it easy to implement monads with tricky control
7193flow. This is useful for: writing web applications in a sequential style,
7194programming games with a uniform interface for human and AI players and easy
7195replay capababilities, implementing fast parser monads, designing monadic
7196DSLs, etc.")
7197 (license license:bsd-3)))
7198
7199(define-public ghc-options
7200 (package
7201 (name "ghc-options")
7202 (version "1.2.1.1")
7203 (source
7204 (origin
7205 (method url-fetch)
7206 (uri (string-append
7207 "https://hackage.haskell.org/package/options/options-"
7208 version ".tar.gz"))
7209 (sha256
7210 (base32
7211 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7212 (build-system haskell-build-system)
7213 (inputs
7214 `(("ghc-monads-tf" ,ghc-monads-tf)
7215 ("ghc-chell" ,ghc-chell)
7216 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)))
7217 (home-page "https://john-millikin.com/software/haskell-options/")
7218 (synopsis "Powerful and easy-to-use command-line option parser")
7219 (description
7220 "The @code{options} package lets library and application developers
7221easily work with command-line options.")
7222 (license license:expat)))
7223
7224;; See ghc-system-filepath-bootstrap, chell and chell-quickcheck are required for tests.
7225(define ghc-options-bootstrap
7226 (package
7227 (name "ghc-options-bootstrap")
7228 (version "1.2.1.1")
7229 (source
7230 (origin
7231 (method url-fetch)
7232 (uri (string-append
7233 "https://hackage.haskell.org/package/options/options-"
7234 version ".tar.gz"))
7235 (sha256
7236 (base32
7237 "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8"))))
7238 (build-system haskell-build-system)
7239 (arguments
7240 `(#:tests? #f))
7241 (inputs
7242 `(("ghc-monads-tf" ,ghc-monads-tf)))
7243 (home-page "https://john-millikin.com/software/haskell-options/")
7244 (synopsis "Powerful and easy-to-use command-line option parser")
7245 (description
7246 "The @code{options} package lets library and application developers
7247easily work with command-line options.")
7248 (license license:expat)))
7249
7250
7251(define-public ghc-optparse-applicative
7252 (package
7253 (name "ghc-optparse-applicative")
74bf6965 7254 (version "0.14.3.0")
dddbc90c
RV
7255 (source
7256 (origin
7257 (method url-fetch)
7258 (uri (string-append
7259 "https://hackage.haskell.org/package/optparse-applicative"
7260 "/optparse-applicative-" version ".tar.gz"))
7261 (sha256
7262 (base32
74bf6965 7263 "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj"))))
dddbc90c 7264 (build-system haskell-build-system)
74bf6965
TS
7265 (arguments
7266 `(#:cabal-revision
7267 ("2" "1a08dqjly1xy730f6jf45frr8g8gap0n1vg9b0mpzpydv0kgzmrp")))
dddbc90c
RV
7268 (inputs
7269 `(("ghc-transformers-compat" ,ghc-transformers-compat)
7270 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)))
7271 (native-inputs
7272 `(("ghc-quickcheck" ,ghc-quickcheck)))
7273 (home-page "https://github.com/pcapriotti/optparse-applicative")
7274 (synopsis "Utilities and combinators for parsing command line options")
7275 (description "This package provides utilities and combinators for parsing
7276command line options in Haskell.")
7277 (license license:bsd-3)))
7278
7279(define-public ghc-pandoc
7280 (package
7281 (name "ghc-pandoc")
7282 (version "2.2.1")
7283 (source
7284 (origin
7285 (method url-fetch)
7286 (uri (string-append "https://hackage.haskell.org/package/pandoc/pandoc-"
7287 version ".tar.gz"))
7288 (sha256
7289 (base32
7290 "1dqin92w513l7whg5wdgrngnxsj5mb8gppfvn7kjgyv2pdgpy0zy"))))
7291 (build-system haskell-build-system)
7292 (arguments
7293 `(#:phases
7294 (modify-phases %standard-phases
7295 (add-before 'configure 'update-constraints
7296 (lambda _
7297 (substitute* "pandoc.cabal"
7298 (("tasty >= 0\\.11 && < 1\\.1")
7299 "tasty >= 0.11 && < 1.1.1"))))
7300 (add-before 'configure 'patch-tests
7301 (lambda _
7302 ;; These tests fail benignly and have been adjusted upstream:
7303 ;; <https://github.com/commercialhaskell/stackage/issues/3719>.
7304 (substitute* "test/Tests/Old.hs"
7305 (("lhsWriterTests \"html\"") "[]")))))))
7306 (inputs
7307 `(("ghc-aeson" ,ghc-aeson)
7308 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7309 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7310 ("ghc-blaze-html" ,ghc-blaze-html)
7311 ("ghc-blaze-markup" ,ghc-blaze-markup)
7312 ("ghc-cmark-gfm" ,ghc-cmark-gfm)
7313 ("ghc-data-default" ,ghc-data-default)
7314 ("ghc-deepseq-generics" ,ghc-deepseq-generics)
7315 ("ghc-diff" ,ghc-diff)
7316 ("ghc-doctemplates" ,ghc-doctemplates)
7317 ("ghc-executable-path" ,ghc-executable-path)
7318 ("ghc-glob" ,ghc-glob)
7319 ("ghc-haddock-library" ,ghc-haddock-library)
7320 ("ghc-hslua" ,ghc-hslua)
7321 ("ghc-hslua-module-text" ,ghc-hslua-module-text)
7322 ("ghc-http" ,ghc-http)
7323 ("ghc-http-client" ,ghc-http-client)
7324 ("ghc-http-client-tls" ,ghc-http-client-tls)
7325 ("ghc-http-types" ,ghc-http-types)
7326 ("ghc-juicypixels" ,ghc-juicypixels)
7327 ("ghc-network" ,ghc-network)
7328 ("ghc-network-uri" ,ghc-network-uri)
7329 ("ghc-old-locale" ,ghc-old-locale)
7330 ("ghc-pandoc-types" ,ghc-pandoc-types)
7331 ("ghc-random" ,ghc-random)
7332 ("ghc-scientific" ,ghc-scientific)
7333 ("ghc-sha" ,ghc-sha)
7334 ("ghc-skylighting" ,ghc-skylighting)
7335 ("ghc-split" ,ghc-split)
7336 ("ghc-syb" ,ghc-syb)
7337 ("ghc-tagsoup" ,ghc-tagsoup)
7338 ("ghc-temporary" ,ghc-temporary)
7339 ("ghc-texmath" ,ghc-texmath)
7340 ("ghc-unordered-containers" ,ghc-unordered-containers)
7341 ("ghc-vector" ,ghc-vector)
7342 ("ghc-xml" ,ghc-xml)
7343 ("ghc-yaml" ,ghc-yaml)
7344 ("ghc-zip-archive" ,ghc-zip-archive)
7345 ("ghc-zlib" ,ghc-zlib)))
7346 (native-inputs
7347 `(("ghc-tasty" ,ghc-tasty)
7348 ("ghc-tasty-golden" ,ghc-tasty-golden)
7349 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
7350 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
7351 ("ghc-quickcheck" ,ghc-quickcheck)
7352 ("ghc-hunit" ,ghc-hunit)))
7353 (home-page "https://pandoc.org")
7354 (synopsis "Conversion between markup formats")
7355 (description
7356 "Pandoc is a Haskell library for converting from one markup format to
7357another, and a command-line tool that uses this library. It can read and
7358write Markdown and (subsets of) other formats, such as HTML, reStructuredText,
7359LaTeX, DocBook, and many more.
7360
7361Pandoc extends standard Markdown syntax with footnotes, embedded LaTeX,
7362definition lists, tables, and other features. A compatibility mode is
7363provided for those who need a drop-in replacement for Markdown.pl.")
7364 (license license:gpl2+)))
7365
7366(define-public ghc-pandoc-citeproc
7367 (package
7368 (name "ghc-pandoc-citeproc")
7369 (version "0.14.3.1")
7370 (source
7371 (origin
7372 (method url-fetch)
7373 (uri (string-append "https://hackage.haskell.org/package/"
7374 "pandoc-citeproc/pandoc-citeproc-"
7375 version ".tar.gz"))
7376 (sha256
7377 (base32
7378 "0yj6rckwsc9vig40cm15ry0j3d01xpk04qma9n4byhal6v4b5h22"))))
7379 (build-system haskell-build-system)
7380 (arguments
7381 `(#:phases
7382 (modify-phases %standard-phases
7383 ;; Many YAML tests (44) are failing do to changes in ghc-yaml:
7384 ;; <https://github.com/jgm/pandoc-citeproc/issues/342>.
7385 (add-before 'configure 'patch-tests
7386 (lambda _
7387 (substitute* "tests/test-pandoc-citeproc.hs"
7388 (("let allTests = citeprocTests \\+\\+ biblio2yamlTests")
7389 "let allTests = citeprocTests"))))
7390 ;; Tests need to be run after installation.
7391 (delete 'check)
7392 (add-after 'install 'post-install-check
7393 (assoc-ref %standard-phases 'check)))))
7394 (inputs
7395 `(("ghc-pandoc-types" ,ghc-pandoc-types)
7396 ("ghc-pandoc" ,ghc-pandoc)
7397 ("ghc-tagsoup" ,ghc-tagsoup)
7398 ("ghc-aeson" ,ghc-aeson)
7399 ("ghc-vector" ,ghc-vector)
7400 ("ghc-xml-conduit" ,ghc-xml-conduit)
7401 ("ghc-unordered-containers" ,ghc-unordered-containers)
7402 ("ghc-data-default" ,ghc-data-default)
7403 ("ghc-setenv" ,ghc-setenv)
7404 ("ghc-split" ,ghc-split)
7405 ("ghc-yaml" ,ghc-yaml)
7406 ("ghc-hs-bibutils" ,ghc-hs-bibutils)
7407 ("ghc-rfc5051" ,ghc-rfc5051)
7408 ("ghc-syb" ,ghc-syb)
7409 ("ghc-old-locale" ,ghc-old-locale)
7410 ("ghc-aeson-pretty" ,ghc-aeson-pretty)
7411 ("ghc-attoparsec" ,ghc-attoparsec)
7412 ("ghc-temporary" ,ghc-temporary)))
7413 (home-page "https://github.com/jgm/pandoc-citeproc")
7414 (synopsis "Library for using pandoc with citeproc")
7415 (description
7416 "The @code{pandoc-citeproc} library exports functions for using the
7417citeproc system with pandoc. It relies on @code{citeproc-hs}, a library for
7418rendering bibliographic reference citations into a variety of styles using a
7419macro language called @dfn{Citation Style Language} (CSL). This package also
7420contains an executable @code{pandoc-citeproc}, which works as a pandoc filter,
7421and also has a mode for converting bibliographic databases a YAML format
7422suitable for inclusion in pandoc YAML metadata.")
7423 (license license:bsd-3)))
7424
7425(define-public ghc-pandoc-types
7426 (package
7427 (name "ghc-pandoc-types")
0eaa88c8 7428 (version "1.17.6.1")
dddbc90c
RV
7429 (source (origin
7430 (method url-fetch)
7431 (uri (string-append "https://hackage.haskell.org/package/"
7432 "pandoc-types/pandoc-types-"
7433 version ".tar.gz"))
7434 (sha256
7435 (base32
0eaa88c8 7436 "1d6ygq991ddria71l7hg9yd7lq94sjy4m71rdws1v8hq943c4d0q"))))
dddbc90c
RV
7437 (build-system haskell-build-system)
7438 (inputs
7439 `(("ghc-syb" ,ghc-syb)
7440 ("ghc-aeson" ,ghc-aeson)
7441 ("ghc-string-qq" ,ghc-string-qq)))
7442 (native-inputs
7443 `(("ghc-quickcheck" ,ghc-quickcheck)
7444 ("ghc-test-framework" ,ghc-test-framework)
7445 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
7446 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
7447 ("ghc-hunit" ,ghc-hunit)))
7448 (home-page "http://johnmacfarlane.net/pandoc")
7449 (synopsis "Types for representing a structured document")
7450 (description
7451 "This module defines the @code{Pandoc} data structure, which is used by
7452pandoc to represent structured documents. It also provides functions for
7453building up, manipulating and serialising @code{Pandoc} structures.")
7454 (license license:bsd-3)))
7455
7456(define-public ghc-parallel
7457 (package
7458 (name "ghc-parallel")
7459 (version "3.2.2.0")
7460 (outputs '("out" "doc"))
7461 (source
7462 (origin
7463 (method url-fetch)
7464 (uri (string-append
7465 "https://hackage.haskell.org/package/parallel/parallel-"
7466 version
7467 ".tar.gz"))
7468 (sha256
7469 (base32
7470 "1xkfi96w6yfpppd0nw1rnszdxmvifwzm699ilv6332ra3akm610p"))))
7471 (build-system haskell-build-system)
7472 (home-page "https://hackage.haskell.org/package/parallel")
7473 (synopsis "Parallel programming library")
7474 (description
7475 "This package provides a library for parallel programming.")
7476 (license license:bsd-3)))
7477
7478(define-public ghc-parsec-numbers
7479 (package
7480 (name "ghc-parsec-numbers")
7481 (version "0.1.0")
7482 (source
7483 (origin
7484 (method url-fetch)
7485 (uri (string-append "https://hackage.haskell.org/package/"
7486 "parsec-numbers/parsec-numbers-" version ".tar.gz"))
7487 (sha256
7488 (base32 "1gzy4v3r02kvdxvgg1nj83mmb6aph2v4ilf9c7y6nbvi2x49l0bp"))))
7489 (build-system haskell-build-system)
7490 (home-page "https://hackage.haskell.org/package/parsec-numbers")
7491 (synopsis "Utilities for parsing numbers from strings")
7492 (description
7493 "This package provides the number parsers without the need to use a large
7494(and unportable) token parser.")
7495 (license license:bsd-3)))
7496
7497(define-public ghc-parser-combinators
7498 (package
7499 (name "ghc-parser-combinators")
2f173160 7500 (version "1.1.0")
dddbc90c
RV
7501 (source
7502 (origin
7503 (method url-fetch)
7504 (uri (string-append "https://hackage.haskell.org/package/"
7505 "parser-combinators/parser-combinators-"
7506 version ".tar.gz"))
7507 (sha256
7508 (base32
2f173160 7509 "149yhbnrrl108h1jinrsxni3rwrldhphpk9bbmbpr90q5fbl4xmc"))))
dddbc90c
RV
7510 (build-system haskell-build-system)
7511 (home-page "https://github.com/mrkkrp/parser-combinators")
7512 (synopsis "Commonly useful parser combinators")
7513 (description
7514 "This is a lightweight package providing commonly useful parser
7515combinators.")
7516 (license license:bsd-3)))
7517
7518(define-public ghc-parsers
7519 (package
7520 (name "ghc-parsers")
6818f970 7521 (version "0.12.10")
dddbc90c
RV
7522 (source
7523 (origin
7524 (method url-fetch)
7525 (uri (string-append
7526 "https://hackage.haskell.org/package/parsers/parsers-"
7527 version
7528 ".tar.gz"))
7529 (sha256
7530 (base32
6818f970 7531 "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p"))))
dddbc90c
RV
7532 (build-system haskell-build-system)
7533 (arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
7534 ; -package attoparsec-0.13.0.1"
7535 (inputs
7536 `(("ghc-base-orphans" ,ghc-base-orphans)
7537 ("ghc-attoparsec" ,ghc-attoparsec)
7538 ("ghc-scientific" ,ghc-scientific)
7539 ("ghc-charset" ,ghc-charset)
7540 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7541 (home-page "https://github.com/ekmett/parsers/")
7542 (synopsis "Parsing combinators")
7543 (description "This library provides convenient combinators for working
7544with and building parsing combinator libraries. Given a few simple instances,
7545you get access to a large number of canned definitions. Instances exist for
7546the parsers provided by @code{parsec}, @code{attoparsec} and @code{base}'s
7547@code{Text.Read}.")
7548 (license license:bsd-3)))
7549
7550(define-public ghc-path
7551 (package
7552 (name "ghc-path")
7553 (version "0.6.1")
7554 (source
7555 (origin
7556 (method url-fetch)
7557 (uri (string-append
7558 "https://hackage.haskell.org/package/path/path-"
7559 version
7560 ".tar.gz"))
7561 (sha256
7562 (base32
7563 "0nayla4k1gb821k8y5b9miflv1bi8f0czf9rqr044nrr2dddi2sb"))))
7564 (build-system haskell-build-system)
7565 (arguments
7566 ;; TODO: There are some Windows-related tests and modules that need to be
7567 ;; danced around.
7568 `(#:tests? #f
7569 #:cabal-revision
7570 ("1" "05b1zwx2a893h4h5wvgpc5g5pyx71hfmx409rqisd8s1bq1hn463")))
7571 (inputs
7572 `(("ghc-aeson" ,ghc-aeson)
7573 ("ghc-exceptions" ,ghc-exceptions)
7574 ("ghc-hashable" ,ghc-hashable)))
7575 (native-inputs
7576 `(("ghc-hspec" ,ghc-hspec)
7577 ("ghc-quickcheck" ,ghc-quickcheck)
7578 ("ghc-genvalidity" ,ghc-genvalidity)
7579 ("ghc-genvalidity-property" ,ghc-genvalidity-property)
7580 ("ghc-hspec" ,ghc-hspec)
7581 ("ghc-validity" ,ghc-validity)))
7582 (home-page
7583 "http://hackage.haskell.org/package/path")
7584 (synopsis "Support for well-typed paths")
7585 (description "This package introduces a type for paths upholding useful
7586invariants.")
7587 (license license:bsd-3)))
7588
7589(define-public ghc-path-io
7590 (package
7591 (name "ghc-path-io")
a06613ea 7592 (version "1.4.2")
dddbc90c
RV
7593 (source
7594 (origin
7595 (method url-fetch)
7596 (uri (string-append
7597 "https://hackage.haskell.org/package/path-io/path-io-"
7598 version
7599 ".tar.gz"))
7600 (sha256
7601 (base32
a06613ea 7602 "0jqx3mi4an4kb3kg78n1p3xrz832yrfrnvj795b0xhkv6h1z5ir3"))))
dddbc90c
RV
7603 (build-system haskell-build-system)
7604 (inputs
7605 `(("ghc-dlist" ,ghc-dlist)
7606 ("ghc-exceptions" ,ghc-exceptions)
7607 ("ghc-path" ,ghc-path)
7608 ("ghc-transformers-base" ,ghc-transformers-base)
7609 ("ghc-unix-compat" ,ghc-unix-compat)
7610 ("ghc-temporary" ,ghc-temporary)))
7611 (native-inputs
7612 `(("ghc-hspec" ,ghc-hspec)))
dddbc90c
RV
7613 (home-page
7614 "https://github.com/mrkkrp/path-io")
7615 (synopsis "Functions for manipulating well-typed paths")
7616 (description "This package provides an interface to the @code{directory}
7617package for users of @code{path}. It also implements some missing stuff like
7618recursive scanning and copying of directories, working with temporary
7619files/directories, and more.")
7620 (license license:bsd-3)))
7621
7622(define-public ghc-paths
7623 (package
7624 (name "ghc-paths")
9a8adeb1 7625 (version "0.1.0.12")
dddbc90c
RV
7626 (outputs '("out" "doc"))
7627 (source
7628 (origin
7629 (method url-fetch)
7630 (uri (string-append
7631 "https://hackage.haskell.org/package/ghc-paths/ghc-paths-"
7632 version
7633 ".tar.gz"))
7634 (sha256
7635 (base32
9a8adeb1 7636 "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf"))))
dddbc90c
RV
7637 (build-system haskell-build-system)
7638 (home-page "https://github.com/simonmar/ghc-paths")
7639 (synopsis
7640 "Knowledge of GHC's installation directories")
7641 (description
7642 "Knowledge of GHC's installation directories.")
7643 (license license:bsd-3)))
7644
7645(define-public ghc-patience
7646 (package
7647 (name "ghc-patience")
484476f3 7648 (version "0.3")
dddbc90c
RV
7649 (source
7650 (origin
7651 (method url-fetch)
7652 (uri (string-append
7653 "https://hackage.haskell.org/package/patience/patience-"
7654 version ".tar.gz"))
7655 (sha256
7656 (base32
484476f3 7657 "1i1b37lgi31c17yrjyf8pdm4nf5lq8vw90z3rri78hf0k66d0p3i"))))
dddbc90c
RV
7658 (build-system haskell-build-system)
7659 (home-page "https://hackage.haskell.org/package/patience")
7660 (synopsis "Patience diff and longest increasing subsequence")
7661 (description
7662 "This library implements the 'patience diff' algorithm, as well as the
7663patience algorithm for the longest increasing subsequence problem.
7664Patience diff computes the difference between two lists, for example the lines
7665of two versions of a source file. It provides a good balance between
7666performance, nice output for humans, and simplicity of implementation.")
7667 (license license:bsd-3)))
7668
7669(define-public ghc-pcre-light
7670 (package
7671 (name "ghc-pcre-light")
7672 (version "0.4.0.4")
7673 (source
7674 (origin
7675 (method url-fetch)
7676 (uri (string-append
7677 "https://hackage.haskell.org/package/pcre-light/pcre-light-"
7678 version
7679 ".tar.gz"))
7680 (sha256
7681 (base32
7682 "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82"))))
7683 (build-system haskell-build-system)
7684 (inputs
7685 `(("pcre" ,pcre)))
7686 (native-inputs
7687 `(("pkg-config" ,pkg-config)))
7688 (home-page "https://github.com/Daniel-Diaz/pcre-light")
7689 (synopsis "Haskell library for Perl 5 compatible regular expressions")
7690 (description "This package provides a small, efficient, and portable regex
7691library for Perl 5 compatible regular expressions. The PCRE library is a set
7692of functions that implement regular expression pattern matching using the same
7693syntax and semantics as Perl 5.")
7694 (license license:bsd-3)))
7695
7696(define-public ghc-persistent
7697 (package
7698 (name "ghc-persistent")
7699 (version "2.8.2")
7700 (source
7701 (origin
7702 (method url-fetch)
7703 (uri (string-append "https://hackage.haskell.org/package/"
7704 "persistent-" version "/"
7705 "persistent-" version ".tar.gz"))
7706 (sha256
7707 (base32
7708 "1h0yijbf1yiwl50klyafy4ln99j8bib4kgbzviw7fc4y4mwv4sv9"))))
7709 (build-system haskell-build-system)
7710 (inputs `(("ghc-old-locale" ,ghc-old-locale)
7711 ("ghc-conduit" ,ghc-conduit)
7712 ("ghc-resourcet" ,ghc-resourcet)
7713 ("ghc-exceptions" ,ghc-exceptions)
7714 ("ghc-monad-control" ,ghc-monad-control)
7715 ("ghc-lifted-base" ,ghc-lifted-base)
7716 ("ghc-resource-pool" ,ghc-resource-pool)
7717 ("ghc-path-pieces" ,ghc-path-pieces)
7718 ("ghc-http-api-data" ,ghc-http-api-data)
7719 ("ghc-aeson" ,ghc-aeson)
7720 ("ghc-monad-logger" ,ghc-monad-logger)
7721 ("ghc-transformers-base" ,ghc-transformers-base)
7722 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
7723 ("ghc-unordered-containers" ,ghc-unordered-containers)
7724 ("ghc-vector" ,ghc-vector)
7725 ("ghc-attoparsec" ,ghc-attoparsec)
7726 ("ghc-haskell-src-meta" ,ghc-haskell-src-meta)
7727 ("ghc-blaze-html" ,ghc-blaze-html)
7728 ("ghc-blaze-markup" ,ghc-blaze-markup)
7729 ("ghc-silently" ,ghc-silently)
7730 ("ghc-fast-logger" ,ghc-fast-logger)
7731 ("ghc-scientific" ,ghc-scientific)
7732 ("ghc-tagged" ,ghc-tagged)
7733 ("ghc-void" ,ghc-void)))
7734 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
7735 (home-page "https://www.yesodweb.com/book/persistent")
7736 (synopsis "Type-safe, multi-backend data serialization for Haskell")
7737 (description "This Haskell package allows Haskell programs to access data
7738storage systems like PostgreSQL, SQLite, MySQL and MongoDB in a type-safe
7739way.")
7740 (license license:expat)))
7741
7742(define-public ghc-persistent-sqlite
7743 (package
7744 (name "ghc-persistent-sqlite")
7745 (version "2.8.2")
7746 (source
7747 (origin
7748 (method url-fetch)
7749 (uri (string-append "https://hackage.haskell.org/package/"
7750 "persistent-sqlite-" version "/"
7751 "persistent-sqlite-" version ".tar.gz"))
7752 (sha256
7753 (base32
7754 "1chbmvjz46smhgnzhha3bbkhys3fys6dip1jr4v7xp1jf78zbyp6"))))
7755 (build-system haskell-build-system)
7756 (inputs `(("ghc-persistent" ,ghc-persistent)
7757 ("ghc-unliftio-core" ,ghc-unliftio-core)
7758 ("ghc-aeson" ,ghc-aeson)
7759 ("ghc-conduit" ,ghc-conduit)
7760 ("ghc-monad-logger" ,ghc-monad-logger)
7761 ("ghc-microlens-th" ,ghc-microlens-th)
7762 ("ghc-resourcet" ,ghc-resourcet)
7763 ("ghc-old-locale" ,ghc-old-locale)
7764 ("ghc-resource-pool" ,ghc-resource-pool)
7765 ("ghc-unordered-containers" ,ghc-unordered-containers)))
7766 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7767 ("ghc-persistent-template" ,ghc-persistent-template)
7768 ("ghc-temporary" ,ghc-temporary)))
7769 (home-page
7770 "https://www.yesodweb.com/book/persistent")
7771 (synopsis "Backend for the persistent library using sqlite3")
7772 (description "This Haskell package includes a thin sqlite3 wrapper based
7773on the direct-sqlite package, as well as the entire C library, so there are no
7774system dependencies.")
7775 (license license:expat)))
7776
7777(define-public ghc-persistent-template
7778 (package
7779 (name "ghc-persistent-template")
7780 (version "2.5.4")
7781 (source
7782 (origin
7783 (method url-fetch)
7784 (uri (string-append "https://hackage.haskell.org/package/"
7785 "persistent-template-" version "/"
7786 "persistent-template-" version ".tar.gz"))
7787 (sha256
7788 (base32
7789 "008afcy7zbw7bzp9jww8gdldb51kfm0fg4p0x4xcp61gx4679bjc"))))
7790 (build-system haskell-build-system)
7791 (arguments
7792 `(#:cabal-revision
7793 ("2" "03qgwk32krldph3blw5agiqcpccr3649hajyn8wm9k71zz82dpn6")))
7794 (inputs `(("ghc-persistent" ,ghc-persistent)
7795 ("ghc-monad-control" ,ghc-monad-control)
7796 ("ghc-aeson" ,ghc-aeson)
7797 ("ghc-aeson-compat" ,ghc-aeson-compat)
7798 ("ghc-monad-logger" ,ghc-monad-logger)
7799 ("ghc-unordered-containers" ,ghc-unordered-containers)
7800 ("ghc-tagged" ,ghc-tagged)
7801 ("ghc-path-pieces" ,ghc-path-pieces)
7802 ("ghc-http-api-data" ,ghc-http-api-data)))
7803 (native-inputs `(("ghc-hspec" ,ghc-hspec)
7804 ("ghc-quickcheck" ,ghc-quickcheck)))
7805 (home-page "https://www.yesodweb.com/book/persistent")
7806 (synopsis "Type-safe, non-relational, multi-backend persistence")
7807 (description "This Haskell package provides interfaces and helper
7808functions for the ghc-persistent package.")
7809 (license license:expat)))
7810
7811(define-public ghc-polyparse
7812 (package
7813 (name "ghc-polyparse")
9822b9ca 7814 (version "1.12.1")
dddbc90c
RV
7815 (source
7816 (origin
7817 (method url-fetch)
7818 (uri (string-append
7819 "https://hackage.haskell.org/package/polyparse/polyparse-"
7820 version
7821 ".tar.gz"))
7822 (sha256
7823 (base32
9822b9ca 7824 "19fs18g7fvfdkm9zy28cgighjcxfa6mcpqgyp6whmsjkb3h393fx"))))
dddbc90c
RV
7825 (build-system haskell-build-system)
7826 (home-page
7827 "http://code.haskell.org/~malcolm/polyparse/")
7828 (synopsis
7829 "Alternative parser combinator libraries")
7830 (description
7831 "This package provides a variety of alternative parser combinator
7832libraries, including the original HuttonMeijer set. The Poly sets have
7833features like good error reporting, arbitrary token type, running state, lazy
7834parsing, and so on. Finally, Text.Parse is a proposed replacement for the
7835standard Read class, for better deserialisation of Haskell values from
7836Strings.")
7837 (license license:lgpl2.1)))
7838
7839(define-public ghc-pqueue
7840 (package
7841 (name "ghc-pqueue")
142415b0 7842 (version "1.4.1.2")
dddbc90c
RV
7843 (source
7844 (origin
7845 (method url-fetch)
7846 (uri (string-append "https://hackage.haskell.org/package/"
7847 "pqueue/pqueue-" version ".tar.gz"))
7848 (sha256
7849 (base32
142415b0 7850 "1v4zhv2sc1zsw91hvnarkjhayx2dnf7ccxz6rrhsqpcs0szaranj"))))
dddbc90c
RV
7851 (build-system haskell-build-system)
7852 (native-inputs
7853 `(("ghc-quickcheck" ,ghc-quickcheck)))
7854 (home-page "https://hackage.haskell.org/package/pqueue")
7855 (synopsis "Reliable, persistent, fast priority queues")
7856 (description
7857 "This package provides a fast, reliable priority queue implementation
7858based on a binomial heap.")
7859 (license license:bsd-3)))
7860
7861(define-public ghc-prelude-extras
7862 (package
7863 (name "ghc-prelude-extras")
7864 (version "0.4.0.3")
7865 (source
7866 (origin
7867 (method url-fetch)
7868 (uri (string-append
7869 "https://hackage.haskell.org/package/prelude-extras/prelude-extras-"
7870 version
7871 ".tar.gz"))
7872 (sha256
7873 (base32
7874 "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9"))))
7875 (build-system haskell-build-system)
7876 (home-page "https://github.com/ekmett/prelude-extras")
7877 (synopsis "Higher order versions of Prelude classes")
7878 (description "This library provides higher order versions of
7879@code{Prelude} classes to ease programming with polymorphic recursion and
7880reduce @code{UndecidableInstances}.")
7881 (license license:bsd-3)))
7882
7883(define-public ghc-prettyclass
7884 (package
7885 (name "ghc-prettyclass")
7886 (version "1.0.0.0")
7887 (source
7888 (origin
7889 (method url-fetch)
7890 (uri (string-append "https://hackage.haskell.org/package/"
7891 "prettyclass/prettyclass-" version ".tar.gz"))
7892 (sha256
7893 (base32
7894 "11l9ajci7nh1r547hx8hgxrhq8mh5gdq30pdf845wvilg9p48dz5"))))
7895 (build-system haskell-build-system)
7896 (home-page "http://hackage.haskell.org/package/prettyclass")
7897 (synopsis "Pretty printing class similar to Show")
7898 (description "This package provides a pretty printing class similar
7899to @code{Show}, based on the HughesPJ pretty printing library. It
7900provides the pretty printing class and instances for the Prelude
7901types.")
7902 (license license:bsd-3)))
7903
7904(define-public ghc-pretty-hex
7905 (package
7906 (name "ghc-pretty-hex")
7907 (version "1.0")
7908 (source
7909 (origin
7910 (method url-fetch)
7911 (uri (string-append "https://hackage.haskell.org/package/"
7912 "pretty-hex-" version "/"
7913 "pretty-hex-" version ".tar.gz"))
7914 (sha256
7915 (base32
7916 "0ylwkvvjvmpprha9nx83xb8gkhyanhk5fffc0r7lb96n4ch5z6pz"))))
7917 (build-system haskell-build-system)
7918 (home-page "https://github.com/GaloisInc/hexdump")
7919 (synopsis "Haskell library for hex dumps of ByteStrings")
7920 (description "This Haskell library generates pretty hex dumps of
7921ByteStrings in the style of other common *nix hex dump tools.")
7922 (license license:bsd-3)))
7923
7924(define-public ghc-pretty-show
7925 (package
7926 (name "ghc-pretty-show")
7683a084 7927 (version "1.9.5")
dddbc90c
RV
7928 (source
7929 (origin
7930 (method url-fetch)
7931 (uri (string-append "https://hackage.haskell.org/package/pretty-show/"
7932 "pretty-show-" version ".tar.gz"))
7933 (sha256
7934 (base32
7683a084 7935 "0gs2pabi4qa4b0r5vffpf9b1cf5n9y2939a3lljjw7cmg6xvx5dh"))))
dddbc90c
RV
7936 (build-system haskell-build-system)
7937 (inputs
7938 `(("ghc-haskell-lexer" ,ghc-haskell-lexer)
7939 ("ghc-happy" ,ghc-happy)))
7940 (home-page "http://wiki.github.com/yav/pretty-show")
7941 (synopsis "Tools for working with derived `Show` instances")
7942 (description
7943 "This package provides a library and an executable for working with
7944derived @code{Show} instances. By using the library, derived @code{Show}
7945instances can be parsed into a generic data structure. The @code{ppsh} tool
7946uses the library to produce human-readable versions of @code{Show} instances,
7947which can be quite handy for debugging Haskell programs. We can also render
7948complex generic values into an interactive Html page, for easier
7949examination.")
7950 (license license:expat)))
7951
7952(define-public ghc-primitive
7953 (package
7954 (name "ghc-primitive")
7955 (version "0.6.4.0")
7956 (outputs '("out" "doc"))
7957 (source
7958 (origin
7959 (method url-fetch)
7960 (uri (string-append
7961 "https://hackage.haskell.org/package/primitive/primitive-"
7962 version
7963 ".tar.gz"))
7964 (sha256
7965 (base32
7966 "0r0cda7acvplgwaxy69kviv4jp7kkfi038by68gj4yfx4iwszgjc"))))
7967 (build-system haskell-build-system)
6cf0daa4
TS
7968 (arguments
7969 `(#:cabal-revision
7970 ("1" "18a14k1yiam1m4l29rin9a0y53yp3nxvkz358nysld8aqwy2qsjv")))
dddbc90c
RV
7971 (home-page
7972 "https://github.com/haskell/primitive")
7973 (synopsis "Primitive memory-related operations")
7974 (description
7975 "This package provides various primitive memory-related operations.")
7976 (license license:bsd-3)))
7977
21f5b9a9
JS
7978(define-public ghc-process-extras
7979 (package
7980 (name "ghc-process-extras")
7981 (version "0.7.4")
7982 (source
7983 (origin
7984 (method url-fetch)
7985 (uri
7986 (string-append
7987 "https://hackage.haskell.org/package/process-extras/"
7988 "process-extras-" version ".tar.gz"))
7989 (sha256
7990 (base32
7991 "0klqgr37f1z2z6i0a9b0giapmq0p35l5k9kz1p7f0k1597w7agi9"))))
7992 (build-system haskell-build-system)
7993 (inputs
7994 `(("ghc-data-default" ,ghc-data-default)
7995 ("ghc-generic-deriving" ,ghc-generic-deriving)
7996 ("ghc-hunit" ,ghc-hunit)
7997 ("ghc-listlike" ,ghc-listlike)))
7998 (home-page "https://github.com/seereason/process-extras")
7999 (synopsis "Extra tools for managing processes")
f74b6983 8000 (description "This package extends
21f5b9a9
JS
8001@url{http://hackage.haskell.org/package/process}. It allows you to read
8002process input and output as ByteStrings or Text, or write your own
8003ProcessOutput instance. It also provides lazy process input and output,
8004and a ProcessMaker class for more flexibility in the process creation
8005API.")
8006 (license license:expat)))
8007
dddbc90c
RV
8008(define-public ghc-profunctors
8009 (package
8010 (name "ghc-profunctors")
899b5297 8011 (version "5.3")
dddbc90c
RV
8012 (source
8013 (origin
8014 (method url-fetch)
8015 (uri (string-append
8016 "https://hackage.haskell.org/package/profunctors/profunctors-"
8017 version
8018 ".tar.gz"))
8019 (sha256
8020 (base32
899b5297 8021 "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl"))))
dddbc90c 8022 (build-system haskell-build-system)
dddbc90c
RV
8023 (inputs
8024 `(("ghc-base-orphans" ,ghc-base-orphans)
8025 ("ghc-bifunctors" ,ghc-bifunctors)
8026 ("ghc-comonad" ,ghc-comonad)
8027 ("ghc-contravariant" ,ghc-contravariant)
8028 ("ghc-distributive" ,ghc-distributive)
8029 ("ghc-semigroups" ,ghc-semigroups)
8030 ("ghc-tagged" ,ghc-tagged)))
8031 (home-page "https://github.com/ekmett/profunctors/")
8032 (synopsis "Profunctors for Haskell")
8033 (description "This library provides profunctors for Haskell.")
8034 (license license:bsd-3)))
8035
8036(define-public ghc-psqueues
8037 (package
8038 (name "ghc-psqueues")
5d133942 8039 (version "0.2.7.2")
dddbc90c
RV
8040 (source
8041 (origin
8042 (method url-fetch)
8043 (uri (string-append "https://hackage.haskell.org/package/"
8044 "psqueues-" version "/"
8045 "psqueues-" version ".tar.gz"))
8046 (sha256
8047 (base32
5d133942 8048 "1yckx2csqswghiy9nfj03cybmza8104nmnpbpcc9ngwlbmakn9i6"))))
dddbc90c
RV
8049 (build-system haskell-build-system)
8050 (inputs
8051 `(("ghc-hashable" ,ghc-hashable)))
8052 (native-inputs
8053 `(("ghc-hunit" ,ghc-hunit)
8054 ("ghc-quickcheck" ,ghc-quickcheck)
8055 ("ghc-tagged" ,ghc-tagged)
5d133942
TS
8056 ("ghc-tasty" ,ghc-tasty)
8057 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8058 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
dddbc90c
RV
8059 (home-page "https://github.com/jaspervdj/psqueues")
8060 (synopsis "Pure priority search queues")
8061 (description "The psqueues package provides
8062@uref{https://en.wikipedia.org/wiki/Priority_queue, Priority Search Queues} in
8063three different flavors:
8064
8065@itemize
8066@item @code{OrdPSQ k p v}, which uses the @code{Ord k} instance to provide
8067fast insertion, deletion and lookup. This implementation is based on Ralf
8068Hinze's @uref{http://citeseer.ist.psu.edu/hinze01simple.html, A Simple
8069Implementation Technique for Priority Search Queues}.
8070
8071Hence, it is similar to the @uref{https://hackage.haskell.org/package/PSQueue,
8072PSQueue} library, although it is considerably faster and provides a slightly
8073different API.
8074
8075@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
8076key type to @code{Int} and uses a
8077@code{https://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
8078with an additional min-heap property.
8079
8080@item @code{HashPSQ k p v} is a fairly straightforward extension
8081of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
8082@code{IntPSQ}. If there are any hash collisions, it uses an
8083@code{OrdPSQ} to resolve those. The performance of this implementation
8084is comparable to that of @code{IntPSQ}, but it is more widely
8085applicable since the keys are not restricted to @code{Int},
8086but rather to any @code{Hashable} datatype.
8087@end itemize
8088
8089Each of the three implementations provides the same API, so they can
8090be used interchangeably.
8091
8092Typical applications of Priority Search Queues include:
8093
8094@itemize
8095@item Caches, and more specifically LRU Caches;
8096@item Schedulers;
8097@item Pathfinding algorithms, such as Dijkstra's and A*.
8098@end itemize")
8099 (license license:bsd-3)))
8100
8101(define-public ghc-random
8102 (package
8103 (name "ghc-random")
8104 (version "1.1")
8105 (outputs '("out" "doc"))
8106 (source
8107 (origin
8108 (method url-fetch)
8109 (uri (string-append
8110 "https://hackage.haskell.org/package/random/random-"
8111 version
8112 ".tar.gz"))
8113 (sha256
8114 (base32 "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p"))))
8115 (build-system haskell-build-system)
8116 (home-page "https://hackage.haskell.org/package/random")
8117 (synopsis "Random number library")
8118 (description "This package provides a basic random number generation
8119library, including the ability to split random number generators.")
8120 (license license:bsd-3)))
8121
8122(define-public ghc-raw-strings-qq
8123 (package
8124 (name "ghc-raw-strings-qq")
8125 (version "1.1")
8126 (source
8127 (origin
8128 (method url-fetch)
8129 (uri (string-append "https://hackage.haskell.org/package/"
8130 "raw-strings-qq/raw-strings-qq-"
8131 version ".tar.gz"))
8132 (sha256
8133 (base32
8134 "1lxy1wy3awf52968iy5y9r5z4qgnn2sxkdrh7js3m9gadb11w09f"))))
8135 (build-system haskell-build-system)
8136 (native-inputs `(("ghc-hunit" ,ghc-hunit)))
8137 (home-page "https://github.com/23Skidoo/raw-strings-qq")
8138 (synopsis "Raw string literals for Haskell")
8139 (description
8140 "This package provides a quasiquoter for raw string literals, i.e. string
8141literals that don't recognise the standard escape sequences. Basically, they
8142make your code more readable by freeing you from the responsibility to escape
8143backslashes. They are useful when working with regular expressions,
8144DOS/Windows paths and markup languages (such as XML).")
8145 (license license:bsd-3)))
8146
8147(define-public ghc-readable
8148 (package
8149 (name "ghc-readable")
8150 (version "0.3.1")
8151 (source
8152 (origin
8153 (method url-fetch)
8154 (uri (string-append "https://hackage.haskell.org/package/"
8155 "readable/readable-" version ".tar.gz"))
8156 (sha256
8157 (base32
8158 "1ja39cg26wy2fs00gi12x7iq5k8i366pbqi3p916skfa5jnkfc3h"))))
8159 (build-system haskell-build-system)
8160 (home-page "https://github.com/mightybyte/readable")
8161 (synopsis "Type class for reading from Text and ByteString")
8162 (description "This package provides a @code{Readable} type class for
8163reading data types from @code{ByteString} and @code{Text}. It also
8164includes efficient implementations for common data types.")
8165 (license license:bsd-3)))
8166
8167(define-public ghc-rebase
8168 (package
8169 (name "ghc-rebase")
8d2ae3fe 8170 (version "1.3.1.1")
dddbc90c
RV
8171 (source
8172 (origin
8173 (method url-fetch)
8174 (uri (string-append "https://hackage.haskell.org/package/"
8175 "rebase-" version "/"
8176 "rebase-" version ".tar.gz"))
8177 (sha256
8178 (base32
8d2ae3fe 8179 "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a"))))
dddbc90c
RV
8180 (build-system haskell-build-system)
8181 (inputs `(("ghc-hashable" ,ghc-hashable)
8182 ("ghc-vector" ,ghc-vector)
8183 ("ghc-unordered-containers" ,ghc-unordered-containers)
8184 ("ghc-scientific" ,ghc-scientific)
8185 ("ghc-uuid" ,ghc-uuid)
8186 ("ghc-dlist" ,ghc-dlist)
8187 ("ghc-void" ,ghc-void)
8188 ("ghc-bifunctors" ,ghc-bifunctors)
8189 ("ghc-profunctors" ,ghc-profunctors)
8190 ("ghc-contravariant" ,ghc-contravariant)
8191 ("ghc-contravariant-extras" ,ghc-contravariant-extras)
8192 ("ghc-semigroups" ,ghc-semigroups)
8193 ("ghc-either" ,ghc-either)
8194 ("ghc-fail" ,ghc-fail)
8195 ("ghc-base-prelude" ,ghc-base-prelude)))
8196 (home-page "https://github.com/nikita-volkov/rebase")
8197 (synopsis "Progressive alternative to the base package
8198for Haskell")
8199 (description "This Haskell package is intended for those who are
8200tired of keeping long lists of dependencies to the same essential libraries
8201in each package as well as the endless imports of the same APIs all over again.
8202
8203It also supports the modern tendencies in the language.
8204
8205To solve those problems this package does the following:
8206
8207@itemize
8208@item Reexport the original APIs under the @code{Rebase} namespace.
8209
8210@item Export all the possible non-conflicting symbols from the
8211@code{Rebase.Prelude} module.
8212
8213@item Give priority to the modern practices in the conflicting cases.
8214@end itemize
8215
8216The policy behind the package is only to reexport the non-ambiguous and
8217non-controversial APIs, which the community has obviously settled on.
8218The package is intended to rapidly evolve with the contribution from
8219the community, with the missing features being added with pull-requests.")
8220 (license license:expat)))
8221
8222(define-public ghc-reducers
8223 (package
8224 (name "ghc-reducers")
8225 (version "3.12.3")
8226 (source
8227 (origin
8228 (method url-fetch)
8229 (uri (string-append
8230 "https://hackage.haskell.org/package/reducers/reducers-"
8231 version
8232 ".tar.gz"))
8233 (sha256
8234 (base32
8235 "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki"))))
8236 (build-system haskell-build-system)
8237 (inputs
8238 `(("ghc-fingertree" ,ghc-fingertree)
8239 ("ghc-hashable" ,ghc-hashable)
8240 ("ghc-unordered-containers" ,ghc-unordered-containers)
8241 ("ghc-semigroupoids" ,ghc-semigroupoids)
8242 ("ghc-semigroups" ,ghc-semigroups)))
8243 (home-page "https://github.com/ekmett/reducers/")
8244 (synopsis "Semigroups, specialized containers and a general map/reduce framework")
8245 (description "This library provides various semigroups, specialized
8246containers and a general map/reduce framework for Haskell.")
8247 (license license:bsd-3)))
8248
8249(define-public ghc-refact
8250 (package
8251 (name "ghc-refact")
8252 (version "0.3.0.2")
8253 (source
8254 (origin
8255 (method url-fetch)
8256 (uri (string-append "https://hackage.haskell.org/package/"
8257 "refact/refact-"
8258 version ".tar.gz"))
8259 (sha256
8260 (base32
8261 "0v0zxcx29b8jxs2kgy9csykqcp8kzhdvyylw2xfwmj4pfxr2kl0a"))))
8262 (build-system haskell-build-system)
8263 (home-page "http://hackage.haskell.org/package/refact")
8264 (synopsis "Specify refactorings to perform with apply-refact")
8265 (description
8266 "This library provides a datatype which can be interpreted by
8267@code{apply-refact}. It exists as a separate library so that applications can
8268specify refactorings without depending on GHC.")
8269 (license license:bsd-3)))
8270
8271(define-public ghc-reflection
8272 (package
8273 (name "ghc-reflection")
d215f1cc 8274 (version "2.1.5")
dddbc90c
RV
8275 (source
8276 (origin
8277 (method url-fetch)
8278 (uri (string-append
8279 "https://hackage.haskell.org/package/reflection/reflection-"
8280 version
8281 ".tar.gz"))
8282 (sha256
8283 (base32
d215f1cc 8284 "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7"))))
dddbc90c
RV
8285 (build-system haskell-build-system)
8286 (inputs `(("ghc-tagged" ,ghc-tagged)))
d215f1cc
TS
8287 (native-inputs
8288 `(("ghc-hspec" ,ghc-hspec)
8289 ("ghc-quickcheck" ,ghc-quickcheck)
8290 ("hspec-discover" ,hspec-discover)))
dddbc90c
RV
8291 (home-page "https://github.com/ekmett/reflection")
8292 (synopsis "Reify arbitrary terms into types that can be reflected back
8293into terms")
8294 (description "This package addresses the 'configuration problem' which is
8295propagating configurations that are available at run-time, allowing multiple
8296configurations to coexist without resorting to mutable global variables or
8297@code{System.IO.Unsafe.unsafePerformIO}.")
8298 (license license:bsd-3)))
8299
8300(define-public ghc-regex
8301 (package
8302 (name "ghc-regex")
b9a5e634 8303 (version "1.0.2.0")
dddbc90c
RV
8304 (source
8305 (origin
8306 (method url-fetch)
8307 (uri (string-append "https://hackage.haskell.org/package/regex/"
8308 "regex-" version ".tar.gz"))
8309 (sha256
8310 (base32
b9a5e634 8311 "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda"))))
dddbc90c
RV
8312 (build-system haskell-build-system)
8313 (arguments
8314 `(#:phases
8315 (modify-phases %standard-phases
8316 (add-after 'unpack 'relax-dependencies
8317 (lambda _
8318 (substitute* "regex.cabal"
8319 (("base-compat.*>=.*0.6.*")
8320 "base-compat >= 0.6\n")
8321 (("template-haskell.*>=.*2.7.*")
8322 "template-haskell >= 2.7\n"))
8323 #t)))))
8324 (inputs
8325 `(("ghc-base-compat" ,ghc-base-compat)
8326 ("ghc-hashable" ,ghc-hashable)
8327 ("ghc-regex-base" ,ghc-regex-base)
8328 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
8329 ("ghc-regex-tdfa" ,ghc-regex-tdfa)
8330 ("ghc-regex-tdfa-text" ,ghc-regex-tdfa-text)
8331 ("ghc-time-locale-compat" ,ghc-time-locale-compat)
8332 ("ghc-unordered-containers" ,ghc-unordered-containers)
8333 ("ghc-utf8-string" ,ghc-utf8-string)))
8334 (home-page "http://regex.uk")
8335 (synopsis "Toolkit for regex-base")
8336 (description
8337 "This package provides a regular expression toolkit for @code{regex-base}
8338with compile-time checking of regular expression syntax, data types for
8339matches and captures, a text replacement toolkit, portable options, high-level
8340AWK-like tools for building text processing apps, regular expression macros
8341with parsers and test bench, comprehensive documentation, tutorials and
8342copious examples.")
8343 (license license:bsd-3)))
8344
8345(define-public ghc-regex-applicative
8346 (package
8347 (name "ghc-regex-applicative")
30f60e42 8348 (version "0.3.3.1")
dddbc90c
RV
8349 (source
8350 (origin
8351 (method url-fetch)
8352 (uri (string-append
8353 "https://hackage.haskell.org/package/regex-applicative/"
8354 "regex-applicative-" version ".tar.gz"))
8355 (sha256
8356 (base32
30f60e42 8357 "0p0anx5vamrhrdvviwkh2zn6pa3pv2bjb7nfyc7dvz2q7g14y1lg"))))
dddbc90c
RV
8358 (build-system haskell-build-system)
8359 (inputs
8360 `(("ghc-smallcheck" ,ghc-smallcheck)
8361 ("ghc-tasty" ,ghc-tasty)
8362 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8363 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
8364 (home-page "https://github.com/feuerbach/regex-applicative")
8365 (synopsis "Regex-based parsing with applicative interface")
8366 (description
8367 "@code{regex-applicative} is a Haskell library for parsing using
8368regular expressions. Parsers can be built using Applicative interface.")
8369 (license license:expat)))
8370
8371(define-public ghc-regex-base
8372 (package
8373 (name "ghc-regex-base")
8374 (version "0.93.2")
8375 (source
8376 (origin
8377 (method url-fetch)
8378 (uri (string-append
8379 "https://hackage.haskell.org/package/regex-base/regex-base-"
8380 version
8381 ".tar.gz"))
8382 (sha256
8383 (base32
8384 "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10"))))
8385 (build-system haskell-build-system)
8386 (home-page
8387 "https://sourceforge.net/projects/lazy-regex")
8388 (synopsis "Replaces/Enhances Text.Regex")
8389 (description "@code{Text.Regex.Base} provides the interface API for
8390regex-posix, regex-pcre, regex-parsec, regex-tdfa, regex-dfa.")
8391 (license license:bsd-3)))
8392
8393(define-public ghc-regex-compat
8394 (package
8395 (name "ghc-regex-compat")
8396 (version "0.95.1")
8397 (source
8398 (origin
8399 (method url-fetch)
8400 (uri (string-append
8401 "https://hackage.haskell.org/package/regex-compat/regex-compat-"
8402 version
8403 ".tar.gz"))
8404 (sha256
8405 (base32
8406 "0fwmima3f04p9y4h3c23493n1xj629ia2dxaisqm6rynljjv2z6m"))))
8407 (build-system haskell-build-system)
8408 (inputs
8409 `(("ghc-regex-base" ,ghc-regex-base)
8410 ("ghc-regex-posix" ,ghc-regex-posix)))
8411 (home-page "https://sourceforge.net/projects/lazy-regex")
8412 (synopsis "Replaces/Enhances Text.Regex")
8413 (description "This library provides one module layer over
8414@code{regex-posix} to replace @code{Text.Regex}.")
8415 (license license:bsd-3)))
8416
8417(define-public ghc-regex-compat-tdfa
8418 (package
8419 (name "ghc-regex-compat-tdfa")
8420 (version "0.95.1.4")
8421 (source
8422 (origin
8423 (method url-fetch)
8424 (uri (string-append
8425 "https://hackage.haskell.org/package/regex-compat-tdfa/regex-compat-tdfa-"
8426 version ".tar.gz"))
8427 (sha256
8428 (base32
8429 "1p90fn90yhp7fvljjdqjp41cszidcfz4pw7fwvzyx4739b98x8sg"))))
8430 (build-system haskell-build-system)
8431 (inputs
8432 `(("ghc-regex-base" ,ghc-regex-base)
8433 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8434 (home-page "https://hub.darcs.net/shelarcy/regex-compat-tdfa")
8435 (synopsis "Unicode Support version of Text.Regex, using regex-tdfa")
8436 (description
8437 "One module layer over @code{regex-tdfa} to replace @code{Text.Regex}.
8438@code{regex-compat} can't use Unicode characters correctly because of using regex-posix.
8439This is not good for Unicode users. This modified regex-compat uses regex-tdfa to solve
8440this problem.")
8441 (license license:bsd-3)))
8442
8443(define-public ghc-regex-pcre-builtin
8444 (package
8445 (name "ghc-regex-pcre-builtin")
ee946143 8446 (version "0.94.5.8.8.35")
dddbc90c
RV
8447 (source (origin
8448 (method url-fetch)
8449 (uri (string-append "https://hackage.haskell.org/package/"
8450 "regex-pcre-builtin/regex-pcre-builtin-"
8451 version ".tar.gz"))
8452 (sha256
8453 (base32
ee946143 8454 "1s755qdg1mxrf125sh83bsc5kjkrj8fkq8wf6dg1jan86c7p7gl4"))))
dddbc90c
RV
8455 (build-system haskell-build-system)
8456 (inputs
8457 `(("ghc-regex-base" ,ghc-regex-base)))
8458 (home-page "https://hackage.haskell.org/package/regex-pcre")
8459 (synopsis "Enhancement of the builtin Text.Regex library")
8460 (description
8461 "This package is an enhancement of the @code{Text.Regex} library,
8462providing the PCRE backend to accompany regex-base, with bundled code from
8463@url{https://www.pcre.org}.")
8464 (license license:bsd-3)))
8465
8466(define-public ghc-regex-posix
8467 (package
8468 (name "ghc-regex-posix")
8469 (version "0.95.2")
8470 (source
8471 (origin
8472 (method url-fetch)
8473 (uri (string-append
8474 "https://hackage.haskell.org/package/regex-posix/regex-posix-"
8475 version
8476 ".tar.gz"))
8477 (sha256
8478 (base32
8479 "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an"))))
8480 (build-system haskell-build-system)
8481 (inputs
8482 `(("ghc-regex-base" ,ghc-regex-base)))
8483 (home-page "https://sourceforge.net/projects/lazy-regex")
8484 (synopsis "POSIX regular expressions for Haskell")
8485 (description "This library provides the POSIX regex backend used by the
8486Haskell library @code{regex-base}.")
8487 (license license:bsd-3)))
8488
8489(define-public ghc-regex-tdfa
8490 (package
8491 (name "ghc-regex-tdfa")
ce684db0 8492 (version "1.2.3.2")
dddbc90c
RV
8493 (source
8494 (origin
8495 (method url-fetch)
8496 (uri (string-append
8497 "https://hackage.haskell.org/package/regex-tdfa/regex-tdfa-"
8498 version ".tar.gz"))
8499 (sha256
8500 (base32
ce684db0 8501 "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf"))))
dddbc90c
RV
8502 (build-system haskell-build-system)
8503 (inputs
8504 `(("ghc-regex-base" ,ghc-regex-base)))
8505 (home-page "https://github.com/ChrisKuklewicz/regex-tdfa")
8506 (synopsis "POSIX extended regular expressions in Haskell.")
8507 (description
8508 "Regex-tdfa is a pure Haskell regular expression library implementing POSIX
8509extended regular expressions. It is a \"tagged\" DFA regex engine. It is
8510inspired by libtre.")
8511 (license license:bsd-3)))
8512
8513(define-public ghc-regex-tdfa-text
8514 (package
8515 (name "ghc-regex-tdfa-text")
8516 (version "1.0.0.3")
8517 (source
8518 (origin
8519 (method url-fetch)
8520 (uri (string-append
8521 "https://hackage.haskell.org/package/regex-tdfa-text/"
8522 "regex-tdfa-text-" version ".tar.gz"))
8523 (sha256
8524 (base32
8525 "0090g6lgbdm9lywpqm2d3724nnnh24nx3vnlqr96qc2w486pmmrq"))))
8526 (build-system haskell-build-system)
8527 (inputs
8528 `(("ghc-regex-base" ,ghc-regex-base)
8529 ("ghc-regex-tdfa" ,ghc-regex-tdfa)))
8530 (home-page
8531 "http://hackage.haskell.org/package/regex-tdfa-text")
8532 (synopsis "Text interface for regex-tdfa")
8533 (description
8534 "This provides an extra text interface for regex-tdfa.")
8535 (license license:bsd-3)))
8536
8537(define-public ghc-rerebase
8538 (package
8539 (name "ghc-rerebase")
cdec7b8c 8540 (version "1.3.1.1")
dddbc90c
RV
8541 (source
8542 (origin
8543 (method url-fetch)
8544 (uri (string-append
8545 "https://hackage.haskell.org/package/rerebase/rerebase-"
8546 version ".tar.gz"))
8547 (sha256
8548 (base32
cdec7b8c 8549 "1jbqif6k249rkknm2zwk8v8jil3kgi9ar53358v8l4ffx346rm82"))))
dddbc90c
RV
8550 (build-system haskell-build-system)
8551 (inputs
8552 `(("ghc-rebase" ,ghc-rebase)))
8553 (home-page "https://github.com/nikita-volkov/rerebase")
8554 (synopsis "Reexports from ``base'' with many other standard libraries")
8555 (description "A rich drop-in replacement for @code{base}. For details and
8556documentation please visit @uref{https://github.com/nikita-volkov/rerebase,
8557the project's home page}.")
8558 (license license:expat)))
8559
8560(define-public ghc-resolv
8561 (package
8562 (name "ghc-resolv")
8563 (version "0.1.1.1")
8564 (source
8565 (origin
8566 (method url-fetch)
8567 (uri (string-append
8568 "https://hackage.haskell.org/package/resolv/resolv-"
8569 version ".tar.gz"))
8570 (sha256
8571 (base32
8572 "0wh7wj56l3f2bylz563g5g04a4nydj8acv60hpwa7k3mn792xca9"))))
8573 (build-system haskell-build-system)
8574 (arguments
8575 `(#:cabal-revision
8576 ("1" "15ay4n3x8c09cb3h4z1nan84yd3n9zpgvi6h114hk98bq10k8mma")
8577 #:tests? #f)) ; The required test frameworks are too old.
8578 (inputs
8579 `(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
8580 (home-page "https://github.com/haskell/hackage-security")
8581 (synopsis "Domain Name Service (DNS) lookup via @code{libresolv}")
8582 (description "This package implements an API for accessing the
8583@uref{https://tools.ietf.org/html/rfc1035, Domain Name Service (DNS)}
8584resolver service via the standard @code{libresolv} system library (whose
8585API is often available directly via the standard @code{libc} C library) on
8586Unix systems.")
8587 (license license:gpl3)))
8588
8589(define-public ghc-resource-pool
8590 (package
8591 (name "ghc-resource-pool")
8592 (version "0.2.3.2")
8593 (source
8594 (origin
8595 (method url-fetch)
8596 (uri (string-append "https://hackage.haskell.org/package/"
8597 "resource-pool-" version "/"
8598 "resource-pool-" version ".tar.gz"))
8599 (sha256
8600 (base32
8601 "04mw8b9djb14zp4rdi6h7mc3zizh597ffiinfbr4m0m8psifw9w6"))))
8602 (build-system haskell-build-system)
8603 (inputs `(("ghc-hashable" ,ghc-hashable)
8604 ("ghc-monad-control" ,ghc-monad-control)
8605 ("ghc-transformers-base" ,ghc-transformers-base)
8606 ("ghc-vector" ,ghc-vector)))
8607 (home-page "https://github.com/bos/pool")
8608 (synopsis "Striped resource pooling implementation in Haskell")
8609 (description "This Haskell package provides striped pooling abstraction
8610for managing flexibly-sized collections of resources such as database
8611connections.")
8612 (license license:bsd-3)))
8613
8614(define-public ghc-resourcet
8615 (package
8616 (name "ghc-resourcet")
9ac341ac 8617 (version "1.2.2")
dddbc90c
RV
8618 (source
8619 (origin
8620 (method url-fetch)
8621 (uri (string-append "https://hackage.haskell.org/package/resourcet/"
8622 "resourcet-" version ".tar.gz"))
8623 (sha256
8624 (base32
9ac341ac 8625 "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk"))))
dddbc90c
RV
8626 (build-system haskell-build-system)
8627 (inputs
8628 `(("ghc-transformers-base" ,ghc-transformers-base)
8629 ("ghc-monad-control" ,ghc-monad-control)
8630 ("ghc-transformers-compat" ,ghc-transformers-compat)
8631 ("ghc-mmorph" ,ghc-mmorph)
8632 ("ghc-exceptions" ,ghc-exceptions)
8633 ("ghc-unliftio-core" ,ghc-unliftio-core)))
8634 (native-inputs
8635 `(("ghc-lifted-base" ,ghc-lifted-base)
8636 ("ghc-hspec" ,ghc-hspec)))
8637 (home-page "https://github.com/snoyberg/conduit")
8638 (synopsis "Deterministic allocation and freeing of scarce resources")
8639 (description "ResourceT is a monad transformer which creates a region of
8640code where you can safely allocate resources.")
8641 (license license:bsd-3)))
8642
b9debc37
TS
8643(define-public ghc-retry
8644 (package
8645 (name "ghc-retry")
8646 (version "0.8.1.0")
8647 (source
8648 (origin
8649 (method url-fetch)
8650 (uri (string-append "https://hackage.haskell.org/package/"
8651 "retry/retry-" version ".tar.gz"))
8652 (sha256
8653 (base32
8654 "02k03r86amg1vbrsvb644342ym13d9jwkzki9sk93pdg5l8j35dj"))))
8655 (build-system haskell-build-system)
8656 (inputs
8657 `(("ghc-exceptions" ,ghc-exceptions)
8658 ("ghc-random" ,ghc-random)))
8659 (native-inputs
8660 `(("ghc-hunit" ,ghc-hunit)
8661 ("ghc-tasty" ,ghc-tasty)
8662 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8663 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
8664 ("ghc-hedgehog" ,ghc-hedgehog)))
8665 (home-page "http://github.com/Soostone/retry")
8666 (synopsis "Retry combinators for monadic actions that may fail")
8667 (description "This package exposes combinators that can wrap
8668arbitrary monadic actions. They run the action and potentially retry
8669running it with some configurable delay for a configurable number of
8670times. The purpose is to make it easier to work with IO and especially
8671network IO actions that often experience temporary failure and warrant
8672retrying of the original action. For example, a database query may time
8673out for a while, in which case we should hang back for a bit and retry
8674the query instead of simply raising an exception.")
8675 (license license:bsd-3)))
8676
dddbc90c
RV
8677(define-public ghc-rfc5051
8678 (package
8679 (name "ghc-rfc5051")
ec42ab7c 8680 (version "0.1.0.4")
dddbc90c
RV
8681 (source
8682 (origin
8683 (method url-fetch)
8684 (uri (string-append "https://hackage.haskell.org/package/rfc5051/"
8685 "rfc5051-" version ".tar.gz"))
8686 (sha256
8687 (base32
ec42ab7c 8688 "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1"))))
dddbc90c
RV
8689 (build-system haskell-build-system)
8690 (home-page "https://hackage.haskell.org/package/rfc5051")
8691 (synopsis "Simple unicode collation as per RFC5051")
8692 (description
8693 "This library implements @code{unicode-casemap}, the simple, non
8694locale-sensitive unicode collation algorithm described in RFC 5051. Proper
8695unicode collation can be done using @code{text-icu}, but that is a big
8696dependency that depends on a large C library, and @code{rfc5051} might be
8697better for some purposes.")
8698 (license license:bsd-3)))
8699
8700(define-public ghc-rio
8701 (package
8702 (name "ghc-rio")
8bda2fa7 8703 (version "0.1.12.0")
dddbc90c
RV
8704 (source
8705 (origin
8706 (method url-fetch)
8707 (uri (string-append
8708 "https://hackage.haskell.org/package/rio/rio-"
8709 version ".tar.gz"))
8710 (sha256
8711 (base32
8bda2fa7 8712 "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif"))))
dddbc90c
RV
8713 (build-system haskell-build-system)
8714 (inputs
8715 `(("ghc-exceptions" ,ghc-exceptions)
8716 ("ghc-hashable" ,ghc-hashable)
8717 ("ghc-microlens" ,ghc-microlens)
8718 ("ghc-primitive" ,ghc-primitive)
8719 ("ghc-typed-process" ,ghc-typed-process)
8720 ("ghc-unliftio" ,ghc-unliftio)
8721 ("ghc-unordered-containers" ,ghc-unordered-containers)
8722 ("ghc-vector" ,ghc-vector)))
8723 (native-inputs
8724 `(("ghc-hspec" ,ghc-hspec)
8725 ("hspec-discover" ,hspec-discover)))
8726 (home-page "https://github.com/commercialhaskell/rio#readme")
8727 (synopsis "A standard library for Haskell")
8728 (description "This package works as a prelude replacement for Haskell,
8729providing more functionality and types out of the box than the standard
8730prelude (such as common data types like @code{ByteString} and
8731@code{Text}), as well as removing common ``gotchas'', like partial
8732functions and lazy I/O. The guiding principle here is:
8733@itemize
8734@item If something is safe to use in general and has no expected naming
8735conflicts, expose it.
8736@item If something should not always be used, or has naming conflicts,
8737expose it from another module in the hierarchy.
8738@end itemize")
8739 (license license:expat)))
8740
8741(define-public ghc-safe
8742 (package
8743 (name "ghc-safe")
8744 (version "0.3.17")
8745 (source
8746 (origin
8747 (method url-fetch)
8748 (uri (string-append
8749 "https://hackage.haskell.org/package/safe/safe-"
8750 version
8751 ".tar.gz"))
8752 (sha256
8753 (base32
8754 "0p3yaf5slvyz1cyy51jq64c5rlp8yzwim8iy2dlnk42if4gc9ibr"))))
8755 (build-system haskell-build-system)
8756 (native-inputs
8757 `(("ghc-quickcheck" ,ghc-quickcheck)))
8758 (home-page "https://github.com/ndmitchell/safe#readme")
8759 (synopsis "Library of safe (exception free) functions")
8760 (description "This library provides wrappers around @code{Prelude} and
8761@code{Data.List} functions, such as @code{head} and @code{!!}, that can throw
8762exceptions.")
8763 (license license:bsd-3)))
8764
8765(define-public ghc-safe-exceptions
8766 (package
8767 (name "ghc-safe-exceptions")
8768 (version "0.1.7.0")
8769 (source
8770 (origin
8771 (method url-fetch)
8772 (uri (string-append "https://hackage.haskell.org/package/"
8773 "safe-exceptions/safe-exceptions-"
8774 version ".tar.gz"))
8775 (sha256
8776 (base32
8777 "0sd0zfsm9pcll5bzzj523rbn45adjrnavdkz52hgmdjjgdcdrk8q"))))
8778 (build-system haskell-build-system)
8779 (arguments
8780 '(#:cabal-revision
8781 ("4" "0fid41gishzsyb47wzxhd5falandfirqcp760hcja81qjpfmqd32")))
8782 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
8783 (native-inputs
8784 `(("ghc-hspec" ,ghc-hspec)
8785 ("ghc-void" ,ghc-void)
8786 ("hspec-discover" ,hspec-discover)))
8787 (home-page "https://github.com/fpco/safe-exceptions")
8788 (synopsis "Safe, consistent, and easy exception handling")
8789 (description "Runtime exceptions - as exposed in @code{base} by the
8790@code{Control.Exception} module - have long been an intimidating part of the
8791Haskell ecosystem. This package is intended to overcome this. It provides a
8792safe and simple API on top of the existing exception handling machinery. The
8793API is equivalent to the underlying implementation in terms of power but
8794encourages best practices to minimize the chances of getting the exception
8795handling wrong.")
8796 (license license:expat)))
8797
8798(define-public ghc-safeio
8799 (package
8800 (name "ghc-safeio")
8801 (version "0.0.5.0")
8802 (source
8803 (origin
8804 (method url-fetch)
8805 (uri (string-append "https://hackage.haskell.org/package/safeio/"
8806 "safeio-" version ".tar.gz"))
8807 (sha256
8808 (base32
8809 "04g3070cbjdqj0h9l9ii6470xcbn40xfv4fr89a8yvnkdim9nyfm"))))
8810 (build-system haskell-build-system)
8811 (inputs
8812 `(("ghc-conduit" ,ghc-conduit)
8813 ("ghc-conduit-combinators" ,ghc-conduit-combinators)
8814 ("ghc-exceptions" ,ghc-exceptions)
8815 ("ghc-resourcet" ,ghc-resourcet)))
8816 (native-inputs
8817 `(("ghc-hunit" ,ghc-hunit)
8818 ("ghc-test-framework" ,ghc-test-framework)
8819 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
8820 ("ghc-test-framework-th" ,ghc-test-framework-th)))
8821 (home-page "https://github.com/luispedro/safeio")
8822 (synopsis "Write output to disk atomically")
8823 (description
8824 "This package implements utilities to perform atomic output so as to
8825avoid the problem of partial intermediate files.")
8826 (license license:expat)))
8827
8828(define-public ghc-safesemaphore
8829 (package
8830 (name "ghc-safesemaphore")
8831 (version "0.10.1")
8832 (source
8833 (origin
8834 (method url-fetch)
8835 (uri (string-append "https://hackage.haskell.org/package/"
8836 "SafeSemaphore/SafeSemaphore-" version ".tar.gz"))
8837 (sha256
8838 (base32
8839 "0rpg9j6fy70i0b9dkrip9d6wim0nac0snp7qzbhykjkqlcvvgr91"))))
8840 (build-system haskell-build-system)
8841 (native-inputs
8842 `(("ghc-hunit" ,ghc-hunit)))
8843 (home-page "https://github.com/ChrisKuklewicz/SafeSemaphore")
8844 (synopsis "Exception safe semaphores")
8845 (description "This library provides exception safe semaphores that can be
8846used in place of @code{QSem}, @code{QSemN}, and @code{SampleVar}, all of which
8847are not exception safe and can be broken by @code{killThread}.")
8848 (license license:bsd-3)))
8849
8850(define-public ghc-sandi
8851 (package
8852 (name "ghc-sandi")
8853 (version "0.4.2")
8854 (source
8855 (origin
8856 (method url-fetch)
8857 (uri (string-append
8858 "https://hackage.haskell.org/package/sandi/sandi-"
8859 version ".tar.gz"))
8860 (sha256
8861 (base32
8862 "0dvkpk91n9kz2ha04rvp231ra9sgd1ilyc1qkzf9l03iir7zrh9b"))))
8863 (build-system haskell-build-system)
8864 (inputs
8865 `(("ghc-stringsearch" ,ghc-stringsearch)
8866 ("ghc-conduit" ,ghc-conduit)
8867 ("ghc-exceptions" ,ghc-exceptions)
8868 ("ghc-hunit" ,ghc-hunit)
8869 ("ghc-tasty" ,ghc-tasty)
8870 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8871 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8872 ("ghc-tasty-th" ,ghc-tasty-th)))
8873 (home-page "https://hackage.haskell.org/package/sandi")
8874 (synopsis "Data encoding library")
8875 (description "Reasonably fast data encoding library.")
8876 (license license:bsd-3)))
8877
8878(define-public ghc-scientific
8879 (package
8880 (name "ghc-scientific")
8881 (version "0.3.6.2")
8882 (source
8883 (origin
8884 (method url-fetch)
8885 (uri (string-append
8886 "https://hackage.haskell.org/package/scientific/scientific-"
8887 version
8888 ".tar.gz"))
8889 (sha256
8890 (base32
8891 "03ql2f0ac8bsl524idy9xxa3kxisb2sj3avflzw580j5hzy0m397"))))
8892 (build-system haskell-build-system)
8893 (inputs
8894 `(("ghc-integer-logarithms" ,ghc-integer-logarithms)
8895 ("ghc-hashable" ,ghc-hashable)
8896 ("ghc-primitive" ,ghc-primitive)))
8897 (native-inputs
8898 `(("ghc-tasty" ,ghc-tasty)
8899 ("ghc-tasty-ant-xml" ,ghc-tasty-ant-xml)
8900 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
8901 ("ghc-tasty-smallcheck" ,ghc-tasty-smallcheck)
8902 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
8903 ("ghc-smallcheck" ,ghc-smallcheck)
8904 ("ghc-quickcheck" ,ghc-quickcheck)))
8905 (home-page "https://github.com/basvandijk/scientific")
8906 (synopsis "Numbers represented using scientific notation")
8907 (description "This package provides @code{Data.Scientific}, which provides
8908the number type @code{Scientific}. Scientific numbers are arbitrary precision
8909and space efficient. They are represented using
8910@uref{https://en.wikipedia.org/wiki/Scientific_notation, scientific
8911notation}.")
8912 (license license:bsd-3)))
8913
8914(define-public ghc-scientific-bootstrap
8915 (package
8916 (inherit ghc-scientific)
8917 (name "ghc-scientific-bootstrap")
8918 (arguments `(#:tests? #f))
8919 (inputs
8920 `(("ghc-integer-logarithms" ,ghc-integer-logarithms-bootstrap)
8921 ("ghc-hashable" ,ghc-hashable)
8922 ("ghc-primitive" ,ghc-primitive)))
8923 (native-inputs '())
799d8d3c 8924 (properties '((hidden? #t)))))
dddbc90c
RV
8925
8926(define-public ghc-sdl
8927 (package
8928 (name "ghc-sdl")
8929 (version "0.6.7.0")
8930 (source
8931 (origin
8932 (method url-fetch)
8933 (uri (string-append
8934 "https://hackage.haskell.org/package/SDL/SDL-"
8935 version
8936 ".tar.gz"))
8937 (sha256
8938 (base32
8939 "00y67v80a8l09i3k76z09lg25kw72ivl09nag8ckdlk4a0cfnzfq"))))
8940 (build-system haskell-build-system)
8941 (inputs
8942 `(("sdl" ,sdl)))
8943 (home-page "https://hackage.haskell.org/package/SDL")
8944 (synopsis "LibSDL for Haskell")
8945 (description "Simple DirectMedia Layer (libSDL) is a cross-platform
8946multimedia library designed to provide low level access to audio, keyboard,
8947mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used
8948by MPEG playback software, emulators, and many popular games, including the
8949award winning Linux port of \"Civilization: Call To Power.\"")
8950 (license license:bsd-3)))
8951
1874cdc1
RV
8952(define-public ghc-sdl2
8953 (package
8954 (name "ghc-sdl2")
8955 (version "2.4.1.0")
8956 (source
8957 (origin
8958 (method url-fetch)
8959 (uri (string-append "https://hackage.haskell.org/package/"
8960 "sdl2/sdl2-" version ".tar.gz"))
8961 (sha256
8962 (base32
8963 "0p4b12fmxps0sbnkqdfy0qw19s355yrkw7fgw6xz53wzq706k991"))))
8964 (build-system haskell-build-system)
8965 (arguments '(#:tests? #f)) ; tests require graphical environment
8966 (inputs
8967 `(("ghc-exceptions" ,ghc-exceptions)
8968 ("ghc-linear" ,ghc-linear)
8969 ("ghc-statevar" ,ghc-statevar)
8970 ("ghc-vector" ,ghc-vector)
8971 ("sdl2" ,sdl2)))
8972 (native-inputs
8973 `(("ghc-weigh" ,ghc-weigh)
8974 ("pkg-config" ,pkg-config)))
8975 (home-page "http://hackage.haskell.org/package/sdl2")
8976 (synopsis "High- and low-level bindings to the SDL library")
8977 (description
8978 "This package contains bindings to the SDL 2 library, in both high- and
8979low-level forms. The @code{SDL} namespace contains high-level bindings, where
8980enumerations are split into sum types, and we perform automatic
8981error-checking. The @code{SDL.Raw} namespace contains an almost 1-1
8982translation of the C API into Haskell FFI calls. As such, this does not
8983contain sum types nor error checking. Thus this namespace is suitable for
8984building your own abstraction over SDL, but is not recommended for day-to-day
8985programming.")
8986 (license license:bsd-3)))
8987
8988(define-public ghc-sdl2-image
8989 (package
8990 (name "ghc-sdl2-image")
8991 (version "2.0.0")
8992 (source
8993 (origin
8994 (method url-fetch)
8995 (uri (string-append "https://hackage.haskell.org/package/sdl2-image/"
8996 "sdl2-image-" version ".tar.gz"))
8997 (sha256
8998 (base32
8999 "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr"))))
9000 (build-system haskell-build-system)
9001 (inputs
9002 `(("ghc-sdl2" ,ghc-sdl2)
9003 ("sdl2-image" ,sdl2-image)))
9004 (native-inputs
9005 `(("pkg-config" ,pkg-config)))
9006 (home-page "http://hackage.haskell.org/package/sdl2-image")
9007 (synopsis "Bindings to SDL2_image")
9008 (description "This package provides Haskell bindings to
9009@code{SDL2_image}.")
9010 (license license:expat)))
9011
9012(define-public ghc-sdl2-mixer
9013 (package
9014 (name "ghc-sdl2-mixer")
9015 (version "1.1.0")
9016 (source
9017 (origin
9018 (method url-fetch)
9019 (uri (string-append "https://hackage.haskell.org/package/sdl2-mixer/"
9020 "sdl2-mixer-" version ".tar.gz"))
9021 (sha256
9022 (base32
9023 "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g"))))
9024 (build-system haskell-build-system)
9025 (inputs
9026 `(("ghc-data-default-class" ,ghc-data-default-class)
9027 ("ghc-lifted-base" ,ghc-lifted-base)
9028 ("ghc-monad-control" ,ghc-monad-control)
9029 ("ghc-sdl2" ,ghc-sdl2)
9030 ("ghc-vector" ,ghc-vector)
9031 ("sdl2-mixer" ,sdl2-mixer)))
9032 (native-inputs
9033 `(("pkg-config" ,pkg-config)))
9034 (home-page "http://hackage.haskell.org/package/sdl2-mixer")
9035 (synopsis "Bindings to SDL2 mixer")
9036 (description "This package provides Haskell bindings to
9037@code{SDL2_mixer}.")
9038 (license license:bsd-3)))
9039
dddbc90c
RV
9040(define-public ghc-sdl-image
9041 (package
9042 (name "ghc-sdl-image")
9043 (version "0.6.2.0")
9044 (source
9045 (origin
9046 (method url-fetch)
9047 (uri (string-append
9048 "https://hackage.haskell.org/package/SDL-image/SDL-image-"
9049 version
9050 ".tar.gz"))
9051 (sha256
9052 (base32
9053 "1gxwrvswgwjw6g7ym52gik22l9l3ljy592phv97jdmcf3gi6qcg1"))))
9054 (build-system haskell-build-system)
9055 (arguments
9056 `(#:configure-flags
9057 (let* ((sdl-image (assoc-ref %build-inputs "sdl-image"))
9058 (sdl-image-include (string-append sdl-image "/include/SDL")))
9059 (list (string-append "--extra-include-dirs=" sdl-image-include)))))
9060 (inputs
9061 `(("ghc-sdl" ,ghc-sdl)
9062 ("sdl-image" ,sdl-image)))
9063 (home-page "https://hackage.haskell.org/package/SDL-image")
9064 (synopsis "Haskell bindings to libSDL_image")
9065 (description "SDL_image is an image file loading library. It loads images
9066as SDL surfaces, and supports the following formats: BMP, GIF, JPEG, LBM, PCX,
9067PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
9068 (license license:bsd-3)))
9069
9070(define-public ghc-sdl-mixer
9071 (package
9072 (name "ghc-sdl-mixer")
9073 (version "0.6.3.0")
9074 (source
9075 (origin
9076 (method url-fetch)
9077 (uri (string-append
9078 "https://hackage.haskell.org/package/SDL-mixer/SDL-mixer-"
9079 version
9080 ".tar.gz"))
9081 (sha256
9082 (base32
9083 "0k26hqgdh789ka3mv4dsk6rin6x6vwcs6hjmnsqq7j3mnrh1342r"))))
9084 (build-system haskell-build-system)
9085 (arguments
9086 `(#:configure-flags
9087 (let* ((sdl-mixer (assoc-ref %build-inputs "sdl-mixer"))
9088 (sdl-mixer-include (string-append sdl-mixer "/include/SDL")))
9089 (list (string-append "--extra-include-dirs=" sdl-mixer-include)))))
9090 (inputs
9091 `(("ghc-sdl" ,ghc-sdl)
9092 ("sdl-mixer" ,sdl-mixer)))
9093 (home-page "https://hackage.haskell.org/package/SDL-mixer")
9094 (synopsis "Haskell bindings to libSDL_mixer")
9095 (description "SDL_mixer is a sample multi-channel audio mixer library. It
9096supports any number of simultaneously playing channels of 16 bit stereo audio,
9097plus a single channel of music, mixed by the popular MikMod MOD, Timidity
9098MIDI, Ogg Vorbis, and SMPEG MP3 libraries.")
9099 (license license:bsd-3)))
9100
9101(define-public ghc-securemem
9102 (package
9103 (name "ghc-securemem")
9104 (version "0.1.10")
9105 (source
9106 (origin
9107 (method url-fetch)
9108 (uri (string-append "https://hackage.haskell.org/package/"
9109 "securemem-" version "/"
9110 "securemem-" version ".tar.gz"))
9111 (sha256
9112 (base32
9113 "19hnw2cfbsfjynxq1bq9f6djbxhsc1k751ml0y1ab3ah913mm29j"))))
9114 (build-system haskell-build-system)
9115 (inputs `(("ghc-byteable" ,ghc-byteable)
9116 ("ghc-memory" ,ghc-memory)))
9117 (home-page "https://github.com/vincenthz/hs-securemem")
9118 (synopsis "Auto-scrubbing and const-time-eq memory chunk abstraction for
9119Haskell")
9120 (description "SecureMem is similar to ByteString, except that it provides
9121a memory chunk that will be auto-scrubbed after it run out of scope.")
9122 (license license:bsd-3)))
9123
9124(define-public ghc-semigroupoids
9125 (package
9126 (name "ghc-semigroupoids")
a8aaadf2 9127 (version "5.3.3")
dddbc90c
RV
9128 (source
9129 (origin
9130 (method url-fetch)
9131 (uri (string-append
9132 "https://hackage.haskell.org/package/semigroupoids/semigroupoids-"
9133 version
9134 ".tar.gz"))
9135 (sha256
9136 (base32
a8aaadf2 9137 "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61"))))
dddbc90c 9138 (build-system haskell-build-system)
dddbc90c
RV
9139 (inputs
9140 `(("ghc-base-orphans" ,ghc-base-orphans)
9141 ("ghc-transformers-compat" ,ghc-transformers-compat)
9142 ("ghc-bifunctors" ,ghc-bifunctors)
9143 ("ghc-comonad" ,ghc-comonad)
9144 ("ghc-contravariant" ,ghc-contravariant)
9145 ("ghc-distributive" ,ghc-distributive)
9146 ("ghc-hashable" ,ghc-hashable)
9147 ("ghc-semigroups" ,ghc-semigroups)
9148 ("ghc-tagged" ,ghc-tagged)
9149 ("ghc-unordered-containers" ,ghc-unordered-containers)))
9150 (native-inputs
9151 `(("cabal-doctest" ,cabal-doctest)
9152 ("ghc-doctest" ,ghc-doctest)))
9153 (home-page "https://github.com/ekmett/semigroupoids")
9154 (synopsis "Semigroupoids operations for Haskell")
9155 (description "This library provides a wide array of (semi)groupoids and
9156operations for working with them. A @code{Semigroupoid} is a @code{Category}
9157without the requirement of identity arrows for every object in the category.
9158A @code{Category} is any @code{Semigroupoid} for which the Yoneda lemma holds.
9159Finally, to work with these weaker structures it is beneficial to have
9160containers that can provide stronger guarantees about their contents, so
9161versions of @code{Traversable} and @code{Foldable} that can be folded with
9162just a @code{Semigroup} are added.")
9163 (license license:bsd-3)))
9164
9165(define-public ghc-semigroups
9166 (package
9167 (name "ghc-semigroups")
9168 (version "0.18.5")
9169 (source
9170 (origin
9171 (method url-fetch)
9172 (uri (string-append
9173 "https://hackage.haskell.org/package/semigroups/semigroups-"
9174 version
9175 ".tar.gz"))
9176 (sha256
9177 (base32
9178 "17g29h62g1k51ghhvzkw72zksjgi6vs6bfipkj81pqw1dsprcamb"))))
9179 (build-system haskell-build-system)
9180 (inputs
9181 `(("ghc-nats" ,ghc-nats)
9182 ("ghc-tagged" ,ghc-tagged)
9183 ("ghc-unordered-containers" ,ghc-unordered-containers)
9184 ("ghc-hashable" ,ghc-hashable)))
9185 (home-page "https://github.com/ekmett/semigroups/")
9186 (synopsis "Semigroup operations for Haskell")
9187 (description "This package provides semigroups for Haskell. In
9188mathematics, a semigroup is an algebraic structure consisting of a set
9189together with an associative binary operation. A semigroup generalizes a
9190monoid in that there might not exist an identity element. It
9191also (originally) generalized a group (a monoid with all inverses) to a type
9192where every element did not have to have an inverse, thus the name
9193semigroup.")
9194 (license license:bsd-3)))
9195
9196(define-public ghc-semigroups-bootstrap
9197 (package
9198 (inherit ghc-semigroups)
9199 (name "ghc-semigroups-bootstrap")
9200 (inputs
9201 `(("ghc-nats" ,ghc-nats-bootstrap)
9202 ("ghc-tagged" ,ghc-tagged)
9203 ("ghc-unordered-containers" ,ghc-unordered-containers-bootstrap)
9204 ("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 9205 (properties '((hidden? #t)))))
dddbc90c
RV
9206
9207(define-public ghc-setenv
9208 (package
9209 (name "ghc-setenv")
9210 (version "0.1.1.3")
9211 (source
9212 (origin
9213 (method url-fetch)
9214 (uri (string-append
9215 "https://hackage.haskell.org/package/setenv/setenv-"
9216 version
9217 ".tar.gz"))
9218 (sha256
9219 (base32
9220 "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73"))))
9221 (build-system haskell-build-system)
9222 (home-page "https://hackage.haskell.org/package/setenv")
9223 (synopsis "Library for setting environment variables")
9224 (description "This package provides a Haskell library for setting
9225environment variables.")
9226 (license license:expat)))
9227
9228(define-public ghc-setlocale
9229 (package
9230 (name "ghc-setlocale")
9d7cfc9b 9231 (version "1.0.0.9")
dddbc90c
RV
9232 (source (origin
9233 (method url-fetch)
9234 (uri (string-append
9235 "https://hackage.haskell.org/package/setlocale-"
9236 version "/setlocale-" version ".tar.gz"))
9237 (sha256
9238 (base32
9d7cfc9b 9239 "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv"))))
dddbc90c
RV
9240 (build-system haskell-build-system)
9241 (home-page "https://hackage.haskell.org/package/setlocale")
9242 (synopsis "Haskell bindings to setlocale")
9243 (description "This package provides Haskell bindings to the
9244@code{setlocale} C function.")
9245 (license license:bsd-3)))
9246
9247(define-public ghc-shakespeare
9248 (package
9249 (name "ghc-shakespeare")
f680955f 9250 (version "2.0.22")
dddbc90c
RV
9251 (source
9252 (origin
9253 (method url-fetch)
9254 (uri (string-append "https://hackage.haskell.org/package/"
9255 "shakespeare-" version "/"
9256 "shakespeare-" version ".tar.gz"))
9257 (sha256
9258 (base32
f680955f 9259 "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh"))))
dddbc90c
RV
9260 (build-system haskell-build-system)
9261 (inputs `(("ghc-aeson" ,ghc-aeson)
9262 ("ghc-blaze-markup" ,ghc-blaze-markup)
9263 ("ghc-blaze-html" ,ghc-blaze-html)
9264 ("ghc-exceptions" ,ghc-exceptions)
9265 ("ghc-vector" ,ghc-vector)
9266 ("ghc-unordered-containers" ,ghc-unordered-containers)
9267 ("ghc-scientific" ,ghc-scientific)))
9268 (native-inputs `(("ghc-hspec" ,ghc-hspec)
9269 ("ghc-hunit" ,ghc-hunit)
9270 ("hspec-discover" ,hspec-discover)))
9271 (home-page "https://www.yesodweb.com/book/shakespearean-templates")
9272 (synopsis "Family of type-safe template languages for Haskell")
9273 (description "This Haskell package provides a family of type-safe
9274templates with simple variable interpolation. Shakespeare templates can
9275be used inline with a quasi-quoter or in an external file and it
9276interpolates variables according to the type being inserted.")
9277 (license license:expat)))
9278
9279(define-public ghc-shelly
9280 (package
9281 (name "ghc-shelly")
9282 (version "1.8.1")
9283 (source
9284 (origin
9285 (method url-fetch)
9286 (uri (string-append
9287 "https://hackage.haskell.org/package/shelly/shelly-"
9288 version ".tar.gz"))
9289 (sha256
9290 (base32
9291 "023fbvbqs5gdwm30j5517gbdcc7fvz0md70dgwgpypkskj3i926y"))))
9292 (build-system haskell-build-system)
9293 (inputs
9294 `(("ghc-unix-compat" ,ghc-unix-compat)
9295 ("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
9296 ("ghc-system-fileio-bootstrap" ,ghc-system-fileio-bootstrap)
9297 ("ghc-monad-control" ,ghc-monad-control)
9298 ("ghc-lifted-base" ,ghc-lifted-base)
9299 ("ghc-lifted-async" ,ghc-lifted-async)
9300 ("ghc-exceptions" ,ghc-exceptions)
9301 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
9302 ("ghc-async" ,ghc-async)
9303 ("ghc-transformers-base" ,ghc-transformers-base)
9304 ("ghc-hunit" ,ghc-hunit)
9305 ("ghc-hspec" ,ghc-hspec)
9306 ("ghc-hspec-contrib" ,ghc-hspec-contrib)))
9307 (home-page "https://github.com/yesodweb/Shelly.hs")
9308 (synopsis "Shell-like (systems) programming in Haskell")
9309 (description
9310 "Shelly provides convenient systems programming in Haskell, similar in
9311spirit to POSIX shells. Shelly is originally forked from the Shellish package.")
9312 (license license:bsd-3)))
9313
9314(define-public ghc-silently
9315 (package
9316 (name "ghc-silently")
544bb369 9317 (version "1.2.5.1")
dddbc90c
RV
9318 (source
9319 (origin
9320 (method url-fetch)
9321 (uri (string-append
9322 "https://hackage.haskell.org/package/silently/silently-"
9323 version
9324 ".tar.gz"))
9325 (sha256
9326 (base32
544bb369 9327 "1lgs1gsr5dp0x21diqn4l03fxgai2kgdmj85gqp0iz3zykvbmjbz"))))
dddbc90c
RV
9328 (build-system haskell-build-system)
9329 (arguments `(#:tests? #f)) ;; circular dependency with nanospec
9330 ;; (inputs
9331 ;; `(("ghc-temporary" ,ghc-temporary)))
9332 (home-page "https://github.com/hspec/silently")
9333 (synopsis "Prevent writing to stdout")
9334 (description "This package provides functions to prevent or capture
9335writing to stdout and other handles.")
9336 (license license:bsd-3)))
9337
9338(define-public ghc-simple-reflect
9339 (package
9340 (name "ghc-simple-reflect")
9341 (version "0.3.3")
9342 (source
9343 (origin
9344 (method url-fetch)
9345 (uri (string-append
9346 "https://hackage.haskell.org/package/simple-reflect/simple-reflect-"
9347 version
9348 ".tar.gz"))
9349 (sha256
9350 (base32
9351 "0ayvrx5cm8n6db21jiyjmk5h93pw7cz1707hih09hlhk9jh5x0h7"))))
9352 (build-system haskell-build-system)
9353 (home-page
9354 "https://twanvl.nl/blog/haskell/simple-reflection-of-expressions")
9355 (synopsis
9356 "Simple reflection of expressions containing variables")
9357 (description
9358 "This package allows simple reflection of expressions containing
9359variables. Reflection here means that a Haskell expression is turned into a
9360string. The primary aim of this package is teaching and understanding; there
9361are no options for manipulating the reflected expressions beyond showing
9362them.")
9363 (license license:bsd-3)))
9364
9365(define-public ghc-simple-sendfile
9366 (package
9367 (name "ghc-simple-sendfile")
9368 (version "0.2.27")
9369 (source
9370 (origin
9371 (method url-fetch)
9372 (uri (string-append "https://hackage.haskell.org/package/"
9373 "simple-sendfile-" version "/"
9374 "simple-sendfile-" version ".tar.gz"))
9375 (sha256
9376 (base32
9377 "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn"))))
9378 (build-system haskell-build-system)
9379 (inputs
9380 `(("ghc-conduit" ,ghc-conduit)
9381 ("ghc-conduit-extra" ,ghc-conduit-extra)
9382 ("ghc-network" ,ghc-network)
9383 ("ghc-resourcet" ,ghc-resourcet)))
9384 (native-inputs
9385 `(("ghc-hspec" ,ghc-hspec)
9386 ("hspec-discover" ,hspec-discover)))
9387 (home-page "https://github.com/kazu-yamamoto/simple-sendfile")
9388 (synopsis "Cross platform library for the sendfile system call")
9389 (description "This library tries to call minimum system calls which
9390are the bottleneck of web servers.")
9391 (license license:bsd-3)))
9392
9393(define-public ghc-skylighting-core
9394 (package
9395 (name "ghc-skylighting-core")
1826c2a8 9396 (version "0.8.2.1")
dddbc90c
RV
9397 (source (origin
9398 (method url-fetch)
9399 (uri (string-append "https://hackage.haskell.org/package/"
9400 "skylighting-core/skylighting-core-"
9401 version ".tar.gz"))
9402 (sha256
9403 (base32
1826c2a8 9404 "0hdchivb4af9w7v5v7lrwfwawd3kcwmpzk69m1vkkm3pis8lcr1s"))))
dddbc90c
RV
9405 (build-system haskell-build-system)
9406 (inputs
9407 `(("ghc-aeson" ,ghc-aeson)
9408 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
9409 ("ghc-attoparsec" ,ghc-attoparsec)
9410 ("ghc-base64-bytestring" ,ghc-base64-bytestring)
9411 ("ghc-blaze-html" ,ghc-blaze-html)
9412 ("ghc-case-insensitive" ,ghc-case-insensitive)
9413 ("ghc-colour" ,ghc-colour)
9414 ("ghc-hxt" ,ghc-hxt)
9415 ("ghc-regex-pcre-builtin" ,ghc-regex-pcre-builtin)
9416 ("ghc-safe" ,ghc-safe)
9417 ("ghc-utf8-string" ,ghc-utf8-string)))
9418 (native-inputs
9419 `(("ghc-diff" ,ghc-diff)
9420 ("ghc-hunit" ,ghc-hunit)
9421 ("ghc-pretty-show" ,ghc-pretty-show)
9422 ("ghc-quickcheck" ,ghc-quickcheck)
9423 ("ghc-tasty" ,ghc-tasty)
9424 ("ghc-tasty-golden" ,ghc-tasty-golden)
9425 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
9426 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
9427 (home-page "https://github.com/jgm/skylighting")
9428 (synopsis "Syntax highlighting library")
9429 (description "Skylighting is a syntax highlighting library with support
9430for over one hundred languages. It derives its tokenizers from XML syntax
9431definitions used by KDE's @code{KSyntaxHighlighting} framework, so any syntax
9432supported by that framework can be added. An optional command-line program is
9433provided. Skylighting is intended to be the successor to highlighting-kate.")
9434 (license license:gpl2)))
9435
9436(define-public ghc-skylighting
9437 (package
9438 (inherit ghc-skylighting-core)
9439 (name "ghc-skylighting")
36c940cf 9440 (version "0.8.2.1")
dddbc90c
RV
9441 (source (origin
9442 (method url-fetch)
9443 (uri (string-append "https://hackage.haskell.org/package/skylighting-"
9444 version "/skylighting-" version ".tar.gz"))
9445 (sha256
9446 (base32
36c940cf 9447 "1xls8ycad77m55ax4hp55k60h3pi5sm3m32hycbc8baixbgfx5xz"))))
dddbc90c
RV
9448 (inputs
9449 `(("ghc-skylighting-core" ,ghc-skylighting-core)
9450 ,@(package-inputs ghc-skylighting-core)))))
9451
9452(define-public ghc-smallcheck
9453 (package
9454 (name "ghc-smallcheck")
9455 (version "1.1.5")
9456 (source
9457 (origin
9458 (method url-fetch)
9459 (uri (string-append
9460 "https://hackage.haskell.org/package/smallcheck/smallcheck-"
9461 version
9462 ".tar.gz"))
9463 (sha256
9464 (base32
9465 "195fj7w3v03d1y1nm2ylavzrwxjcdbq0lb6zsw1dwyx5jmwfc84h"))))
9466 (build-system haskell-build-system)
9467 (inputs
9468 `(("ghc-logict" ,ghc-logict)))
9469 (home-page
9470 "https://github.com/feuerbach/smallcheck")
9471 (synopsis "Property-based testing library")
9472 (description "SmallCheck is a testing library that allows to verify
9473properties for all test cases up to some depth. The test cases are generated
9474automatically by SmallCheck.")
9475 (license license:bsd-3)))
9476
9477(define-public ghc-socks
9478 (package
9479 (name "ghc-socks")
ab761e9d 9480 (version "0.6.1")
dddbc90c
RV
9481 (source (origin
9482 (method url-fetch)
9483 (uri (string-append "https://hackage.haskell.org/package/"
9484 "socks/socks-" version ".tar.gz"))
9485 (sha256
9486 (base32
ab761e9d 9487 "0wvaxy3dkv97wrncjv1rxrmjr4014hgxz82kixvcwqdhidalfi3k"))))
dddbc90c
RV
9488 (build-system haskell-build-system)
9489 (inputs
9490 `(("ghc-cereal" ,ghc-cereal)
ab761e9d 9491 ("ghc-basement" ,ghc-basement)
dddbc90c
RV
9492 ("ghc-network" ,ghc-network)))
9493 (home-page "https://github.com/vincenthz/hs-socks")
9494 (synopsis "SOCKS proxy (version 5) implementation")
9495 (description
9496 "This library provides a SOCKS proxy (version 5) implementation.")
9497 (license license:bsd-3)))
9498
081d85d6
TS
9499(define-public ghc-sop-core
9500 (package
9501 (name "ghc-sop-core")
9502 (version "0.4.0.0")
9503 (source
9504 (origin
9505 (method url-fetch)
9506 (uri (string-append "https://hackage.haskell.org/package/"
9507 "sop-core/sop-core-" version ".tar.gz"))
9508 (sha256
9509 (base32
9510 "07ci2mh8cbjvipb576rxsj3iyhkj5c5dnsns4xkdppp2p3pv10d3"))))
9511 (build-system haskell-build-system)
9512 (home-page "http://hackage.haskell.org/package/sop-core")
9513 (synopsis "True Sums of Products")
9514 (description "This package provides an implementation of
9515@math{n}-ary sums and @math{n}-ary products. The module @code{Data.SOP}
9516is the main module of this library and contains more detailed
9517documentation. The main use case of this package is to serve as the
9518core of @url{https://hackage.haskell.org/package/generics-sop,
9519generics-sop}.")
9520 (license license:bsd-3)))
9521
dddbc90c
RV
9522(define-public ghc-split
9523 (package
9524 (name "ghc-split")
9525 (version "0.2.3.3")
9526 (outputs '("out" "doc"))
9527 (source
9528 (origin
9529 (method url-fetch)
9530 (uri (string-append
9531 "https://hackage.haskell.org/package/split/split-"
9532 version
9533 ".tar.gz"))
9534 (sha256
9535 (base32
9536 "04qlmkcyklznl03gsjg95b4nzb6i96gdapqg60rny9szgi7ngk8x"))))
9537 (build-system haskell-build-system)
9bbc21a7
TS
9538 (arguments
9539 `(#:cabal-revision
9540 ("2" "1c8bcssxq5rkxkixgms6w6x6lzf4n7cxk6cx6av1dp3lixdy9j34")))
dddbc90c
RV
9541 (native-inputs
9542 `(("ghc-quickcheck" ,ghc-quickcheck)))
9543 (home-page "https://hackage.haskell.org/package/split")
9544 (synopsis "Combinator library for splitting lists")
9545 (description "This package provides a collection of Haskell functions for
9546splitting lists into parts, akin to the @code{split} function found in several
9547mainstream languages.")
9548 (license license:bsd-3)))
9549
7799d17f 9550(define-public ghc-splitmix
49367c92 9551 (package
7799d17f 9552 (name "ghc-splitmix")
49367c92
TS
9553 (version "0.0.3")
9554 (source
9555 (origin
9556 (method url-fetch)
9557 (uri (string-append "https://hackage.haskell.org/package/"
9558 "splitmix/splitmix-" version ".tar.gz"))
9559 (sha256
9560 (base32
9561 "1k0amgkz7rvyz3lnw7m786ilnr1cibwhx9sc4qynq329gxan5r7w"))))
49367c92 9562 (build-system haskell-build-system)
49367c92
TS
9563 (inputs
9564 `(("ghc-random" ,ghc-random)))
7799d17f
TS
9565 (native-inputs
9566 `(("ghc-hunit" ,ghc-hunit)
9567 ("ghc-async" ,ghc-async)
9568 ("ghc-base-compat-batteries" ,ghc-base-compat-batteries)
9569 ("ghc-tf-random" ,ghc-tf-random)
9570 ("ghc-vector" ,ghc-vector)))
49367c92
TS
9571 (home-page "http://hackage.haskell.org/package/splitmix")
9572 (synopsis "Fast and splittable pseudorandom number generator")
9573 (description "This package provides a Pure Haskell implementation of the
9574SplitMix pseudorandom number generator. SplitMix is a \"splittable\"
9575pseudorandom number generator that is quite fast: 9 64-bit
9576arithmetic/logical operations per 64 bits generated. SplitMix is tested
9577with two standard statistical test suites (DieHarder and TestU01, this
9578implementation only using the former) and it appears to be adequate for
9579\"everyday\" use, such as Monte Carlo algorithms and randomized data
9580structures where speed is important. In particular, it @strong{should not
9581be used for cryptographic or security applications}, because generated
9582sequences of pseudorandom values are too predictable (the mixing functions
9583are easily inverted, and two successive outputs suffice to reconstruct the
9584internal state).")
9585 (license license:bsd-3)))
9586
7799d17f
TS
9587(define-public ghc-splitmix-bootstrap
9588 (package
9589 (inherit ghc-splitmix)
9590 (name "ghc-splitmix-bootstrap")
9591 (arguments `(#:tests? #f))
9592 (native-inputs '())
9593 (properties '((hidden? #t)))))
9594
dddbc90c
RV
9595(define-public ghc-statevar
9596 (package
9597 (name "ghc-statevar")
19419709 9598 (version "1.2")
dddbc90c
RV
9599 (source
9600 (origin
9601 (method url-fetch)
9602 (uri (string-append
9603 "https://hackage.haskell.org/package/StateVar/StateVar-"
9604 version
9605 ".tar.gz"))
9606 (sha256
9607 (base32
19419709 9608 "12sz6zkc9j5z3lwrjvljrkfxa5vhwnir5wsarigz2f6d3w13dh5g"))))
dddbc90c
RV
9609 (build-system haskell-build-system)
9610 (home-page "https://hackage.haskell.org/package/StateVar")
9611 (synopsis "State variables for Haskell")
9612 (description "This package provides state variables, which are references
9613in the @code{IO} monad, like @code{IORef}s or parts of the OpenGL state.")
9614 (license license:bsd-3)))
9615
9616(define-public ghc-statistics
9617 (package
9618 (name "ghc-statistics")
60e78e68 9619 (version "0.15.1.1")
dddbc90c
RV
9620 (source
9621 (origin
9622 (method url-fetch)
9623 (uri (string-append "https://hackage.haskell.org/package/"
9624 "statistics-" version "/"
9625 "statistics-" version ".tar.gz"))
9626 (sha256
9627 (base32
60e78e68 9628 "015rn74f1glii26j4b2fh1fc63xvxzrh2xckiancz48kc8jdzabj"))))
dddbc90c
RV
9629 (build-system haskell-build-system)
9630 (arguments
60e78e68 9631 '(;; Two tests fail: "Discrete CDF is OK" and "Quantile is CDF inverse".
dddbc90c
RV
9632 #:tests? #f))
9633 (inputs
9634 `(("ghc-aeson" ,ghc-aeson)
60e78e68 9635 ("ghc-async" ,ghc-async)
dddbc90c 9636 ("ghc-base-orphans" ,ghc-base-orphans)
60e78e68 9637 ("ghc-dense-linear-algebra" ,ghc-dense-linear-algebra)
dddbc90c
RV
9638 ("ghc-math-functions" ,ghc-math-functions)
9639 ("ghc-monad-par" ,ghc-monad-par)
9640 ("ghc-mwc-random" ,ghc-mwc-random)
9641 ("ghc-primitive" ,ghc-primitive)
9642 ("ghc-vector" ,ghc-vector)
9643 ("ghc-vector-algorithms" ,ghc-vector-algorithms)
9644 ("ghc-vector-th-unbox" ,ghc-vector-th-unbox)
9645 ("ghc-vector-binary-instances" ,ghc-vector-binary-instances)))
9646 (native-inputs
9647 `(("ghc-hunit" ,ghc-hunit)
9648 ("ghc-quickcheck" ,ghc-quickcheck)
9649 ("ghc-ieee754" ,ghc-ieee754)
9650 ("ghc-test-framework" ,ghc-test-framework)
9651 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9652 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9653 (home-page "https://github.com/bos/mwc-random")
9654 (synopsis "Haskell library of statistical types, data, and functions")
9655 (description "This library provides a number of common functions
9656and types useful in statistics. We focus on high performance, numerical
9657robustness, and use of good algorithms. Where possible, we provide references
9658to the statistical literature.
9659
9660The library's facilities can be divided into four broad categories:
9661
9662@itemize
9663@item Working with widely used discrete and continuous probability
9664distributions. (There are dozens of exotic distributions in use; we focus
9665on the most common.)
9666
9667@item Computing with sample data: quantile estimation, kernel density
9668estimation, histograms, bootstrap methods, significance testing,
9669and regression and autocorrelation analysis.
9670
9671@item Random variate generation under several different distributions.
9672
9673@item Common statistical tests for significant differences between samples.
9674@end itemize")
9675 (license license:bsd-2)))
9676
9677(define-public ghc-stm-chans
9678 (package
9679 (name "ghc-stm-chans")
9680 (version "3.0.0.4")
9681 (source
9682 (origin
9683 (method url-fetch)
9684 (uri (string-append "https://hackage.haskell.org/package/"
9685 "stm-chans-" version "/"
9686 "stm-chans-" version ".tar.gz"))
9687 (sha256
9688 (base32
9689 "0f27sp09yha43xk9q55sc185jyjs5h7gq2dhsyx6bm9kz9dzqi13"))))
9690 (build-system haskell-build-system)
9691 (home-page "https://hackage.haskell.org/package/stm-chans")
9692 (synopsis "Additional types of channels for ghc-stm")
9693 (description "This Haskell package offers a collection of channel types,
9694similar to @code{Control.Concurrent.STM.@{TChan,TQueue@}} but with additional
9695features.")
9696 (license license:bsd-3)))
9697
9698(define-public ghc-stm-conduit
9699 (package
9700 (name "ghc-stm-conduit")
9701 (version "4.0.0")
9702 (source
9703 (origin
9704 (method url-fetch)
9705 (uri (string-append "https://hackage.haskell.org/package/stm-conduit/"
9706 "stm-conduit-" version ".tar.gz"))
9707 (sha256
9708 (base32
9709 "0paapljn7nqfzrx889y0n8sszci38mdiaxkgr0bb00ph9246rr7z"))))
9710 (build-system haskell-build-system)
9711 (inputs
9712 `(("ghc-stm-chans" ,ghc-stm-chans)
9713 ("ghc-cereal" ,ghc-cereal)
9714 ("ghc-cereal-conduit" ,ghc-cereal-conduit)
9715 ("ghc-conduit" ,ghc-conduit)
9716 ("ghc-conduit-extra" ,ghc-conduit-extra)
9717 ("ghc-exceptions" ,ghc-exceptions)
9718 ("ghc-resourcet" ,ghc-resourcet)
9719 ("ghc-async" ,ghc-async)
9720 ("ghc-monad-loops" ,ghc-monad-loops)
9721 ("ghc-unliftio" ,ghc-unliftio)))
9722 (native-inputs
9723 `(("ghc-doctest" ,ghc-doctest)
9724 ("ghc-quickcheck" ,ghc-quickcheck)
9725 ("ghc-hunit" ,ghc-hunit)
9726 ("ghc-test-framework" ,ghc-test-framework)
9727 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
9728 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
9729 (home-page "https://github.com/cgaebel/stm-conduit")
9730 (synopsis "Introduces conduits to channels and promotes using conduits concurrently")
9731 (description
9732 "This package provides two simple conduit wrappers around STM channels: a
9733source and a sink.")
9734 (license license:bsd-3)))
9735
9736(define-public ghc-stmonadtrans
9737 (package
9738 (name "ghc-stmonadtrans")
9739 (version "0.4.3")
9740 (source
9741 (origin
9742 (method url-fetch)
9743 (uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
9744 "/STMonadTrans-" version ".tar.gz"))
9745 (sha256
9746 (base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
9747 (build-system haskell-build-system)
9748 (home-page "https://hackage.haskell.org/package/STMonadTrans")
9749 (synopsis "Monad transformer version of the ST monad")
9750 (description
9751 "This package provides a monad transformer version of the @code{ST} monad
9752for strict state threads.")
9753 (license license:bsd-3)))
9754
9755(define-public ghc-storable-complex
9756 (package
9757 (name "ghc-storable-complex")
4a35e3c3 9758 (version "0.2.3.0")
dddbc90c
RV
9759 (source
9760 (origin
9761 (method url-fetch)
9762 (uri (string-append
9763 "https://hackage.haskell.org/package/storable-complex/storable-complex-"
9764 version ".tar.gz"))
9765 (sha256
4a35e3c3 9766 (base32 "0fnwbfmd5vsaaqvf9182qdcjrzcfjd1zhdyvjwzifbwvn6r9kx4s"))))
dddbc90c 9767 (build-system haskell-build-system)
4a35e3c3
TS
9768 (inputs
9769 `(("ghc-base-orphans" ,ghc-base-orphans)))
dddbc90c
RV
9770 (home-page "https://github.com/cartazio/storable-complex")
9771 (synopsis "Haskell Storable instance for Complex")
9772 (description "This package provides a Haskell library including a
9773Storable instance for Complex which is binary compatible with C99, C++
9774and Fortran complex data types.")
9775 (license license:bsd-3)))
9776
ad80074a
JS
9777(define-public ghc-storable-record
9778 (package
9779 (name "ghc-storable-record")
9780 (version "0.0.4")
9781 (source
9782 (origin
9783 (method url-fetch)
9784 (uri
9785 (string-append
9786 "https://hackage.haskell.org/package/storable-record/"
9787 "storable-record-" version ".tar.gz"))
9788 (sha256
9789 (base32
9790 "0hjs1km0fc9ch0i1rbycxia5w3939hk4p4md73ikgg4aipqb5zyf"))))
9791 (build-system haskell-build-system)
9792 (inputs
9793 `(("ghc-semigroups" ,ghc-semigroups)
9794 ("ghc-utility-ht" ,ghc-utility-ht)
9795 ("ghc-storablevector" ,ghc-storablevector)
9796 ("ghc-timeit" ,ghc-timeit)))
9797 (home-page "https://hackage.haskell.org/package/storable-record")
9798 (synopsis "Elegant definition of Storable instances for records")
9799 (description "With this package you can build a Storable instance of
9800a record type from Storable instances of its elements in an elegant way.
9801It does not do any magic, just a bit arithmetic to compute the right
9802offsets, that would be otherwise done manually or by a preprocessor like
9803C2HS. There is no guarantee that the generated memory layout is
9804compatible with that of a corresponding C struct. However, the module
9805generates the smallest layout that is possible with respect to the
9806alignment of the record elements.")
9807 (license license:bsd-3)))
9808
55f4c653
JS
9809(define-public ghc-storable-tuple
9810 (package
9811 (name "ghc-storable-tuple")
9812 (version "0.0.3.3")
9813 (source
9814 (origin
9815 (method url-fetch)
9816 (uri
9817 (string-append
9818 "https://hackage.haskell.org/package/storable-tuple/"
9819 "storable-tuple-" version ".tar.gz"))
9820 (sha256
9821 (base32
9822 "0dfzhxgkn1l6ls7zh6iifhyvhm8l47n40z0ar23c6ibsa94w1ynw"))))
9823 (build-system haskell-build-system)
9824 (inputs
9825 `(("ghc-storable-record" ,ghc-storable-record)
9826 ("ghc-utility-ht" ,ghc-utility-ht)
9827 ("ghc-base-orphans" ,ghc-base-orphans)))
9828 (home-page "https://hackage.haskell.org/package/storable-tuple")
9829 (synopsis "Storable instance for pairs and triples")
9830 (description "This package provides a Storable instance for pairs
9831and triples which should be binary compatible with C99 and C++. The
9832only purpose of this package is to provide a standard location for this
9833instance so that other packages needing this instance can play nicely
9834together.")
9835 (license license:bsd-3)))
9836
bc06ca45
JS
9837(define-public ghc-storablevector
9838 (package
9839 (name "ghc-storablevector")
9840 (version "0.2.13")
9841 (source
9842 (origin
9843 (method url-fetch)
9844 (uri
9845 (string-append
9846 "https://hackage.haskell.org/package/storablevector/storablevector-"
9847 version ".tar.gz"))
9848 (sha256
9849 (base32
9850 "1zmr738vwnhnyxbikayqnaz31ilv2qlmscp6iqgl7adcfbal4dzq"))))
9851 (build-system haskell-build-system)
9852 (inputs
9853 `(("ghc-non-negative" ,ghc-non-negative)
9854 ("ghc-utility-ht" ,ghc-utility-ht)
9855 ("ghc-semigroups" ,ghc-semigroups)
9856 ("ghc-unsafe" ,ghc-unsafe)
9857 ("ghc-quickcheck" ,ghc-quickcheck)
9858 ("ghc-syb" ,ghc-syb)))
9859 (home-page "https://www.haskell.org/haskellwiki/Storable_Vector")
9860 (synopsis "Fast, packed, strict storable arrays with a list interface")
9861 (description "This library provides fast, packed, strict storable
9862arrays with a list interface, a chunky lazy list interface with variable
9863chunk size and an interface for write access via the ST monad. This is
9864much like bytestring and binary but can be used for every
9865@code{Foreign.Storable.Storable} type. See also
9866@url{http://hackage.haskell.org/package/vector}, a library with a
9867similar intention.
9868
9869This library does not do advanced fusion optimization, since especially
9870for lazy vectors this would either be incorrect or not applicable. See
9871@url{http://hackage.haskell.org/package/storablevector-streamfusion} for
9872a library that provides fusion with lazy lists.")
9873 (license license:bsd-3)))
9874
dddbc90c
RV
9875(define-public ghc-streaming-commons
9876 (package
9877 (name "ghc-streaming-commons")
9878 (version "0.2.1.1")
9879 (source
9880 (origin
9881 (method url-fetch)
9882 (uri (string-append "https://hackage.haskell.org/package/"
9883 "streaming-commons/streaming-commons-"
9884 version ".tar.gz"))
9885 (sha256
9886 (base32
9887 "1lmyx3wkjsayhy5yilzvy0kf8qwmycwlk26r1d8f3cxbfhkr7s52"))))
9888 (build-system haskell-build-system)
9889 (inputs
9890 `(("ghc-async" ,ghc-async)
9891 ("ghc-blaze-builder" ,ghc-blaze-builder)
9892 ("ghc-network" ,ghc-network)
9893 ("ghc-random" ,ghc-random)
9894 ("ghc-zlib" ,ghc-zlib)))
9895 (native-inputs
9896 `(("ghc-quickcheck" ,ghc-quickcheck)
9897 ("ghc-hspec" ,ghc-hspec)
9898 ("hspec-discover" ,hspec-discover)))
9899 (home-page "https://hackage.haskell.org/package/streaming-commons")
9900 (synopsis "Conduit and pipes needed by some streaming data libraries")
9901 (description "This package provides low-dependency functionality commonly
9902needed by various Haskell streaming data libraries, such as @code{conduit} and
9903@code{pipe}s.")
9904 (license license:expat)))
9905
9906(define-public ghc-strict
9907 (package
9908 (name "ghc-strict")
9909 (version "0.3.2")
9910 (source
9911 (origin
9912 (method url-fetch)
9913 (uri (string-append "https://hackage.haskell.org/package/strict/strict-"
9914 version ".tar.gz"))
9915 (sha256
9916 (base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
9917 (build-system haskell-build-system)
9918 (home-page "https://hackage.haskell.org/package/strict")
9919 (synopsis "Strict data types and String IO")
9920 (description
9921 "This package provides strict versions of some standard Haskell data
9922types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
9923IO operations.")
9924 (license license:bsd-3)))
9925
9926(define-public ghc-stringbuilder
9927 (package
9928 (name "ghc-stringbuilder")
9929 (version "0.5.1")
9930 (source
9931 (origin
9932 (method url-fetch)
9933 (uri (string-append
9934 "https://hackage.haskell.org/package/stringbuilder/stringbuilder-"
9935 version
9936 ".tar.gz"))
9937 (sha256
9938 (base32
9939 "1fh3csx1wcssn8xyvl4ip4aprh9l4qyz2kk8mgjvqvc0vb2bsy6q"))))
9940 (build-system haskell-build-system)
9941 (arguments `(#:tests? #f)) ; FIXME: circular dependencies with tests
9942 ; enabled
9943 (home-page "https://hackage.haskell.org/package/stringbuilder")
9944 (synopsis "Writer monad for multi-line string literals")
9945 (description "This package provides a writer monad for multi-line string
9946literals.")
9947 (license license:expat)))
9948
9949(define-public ghc-string-qq
9950 (package
9951 (name "ghc-string-qq")
4d6fddc3 9952 (version "0.0.4")
dddbc90c
RV
9953 (source
9954 (origin
9955 (method url-fetch)
9956 (uri (string-append
9957 "https://hackage.haskell.org/package/string-qq/string-qq-"
9958 version
9959 ".tar.gz"))
9960 (sha256
9961 (base32
4d6fddc3 9962 "0wfxkw4x6j6jq9nd82k83g2k3hskpsvk1dp4cpkshvjr4wg9qny8"))))
dddbc90c 9963 (build-system haskell-build-system)
4d6fddc3
TS
9964 (native-inputs
9965 `(("ghc-hunit" ,ghc-hunit)))
dddbc90c
RV
9966 (home-page "http://hackage.haskell.org/package/string-qq")
9967 (synopsis
9968 "QuasiQuoter for non-interpolated strings, texts and bytestrings.")
9969 (description
9970 "This package provides a quasiquoter for non-interpolated strings, texts
9971and bytestrings.")
9972 (license license:public-domain)))
9973
9974(define-public ghc-stringsearch
9975 (package
9976 (name "ghc-stringsearch")
9977 (version "0.3.6.6")
9978 (source
9979 (origin
9980 (method url-fetch)
9981 (uri (string-append
9982 "https://hackage.haskell.org/package/stringsearch/stringsearch-"
9983 version
9984 ".tar.gz"))
9985 (sha256
9986 (base32
9987 "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9"))))
9988 (build-system haskell-build-system)
e2303abb
TS
9989 (arguments
9990 `(#:cabal-revision
9991 ("1" "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378")))
dddbc90c
RV
9992 (home-page "https://bitbucket.org/dafis/stringsearch")
9993 (synopsis "Fast searching, splitting and replacing of ByteStrings")
9994 (description "This package provides several functions to quickly search
9995for substrings in strict or lazy @code{ByteStrings}. It also provides
9996functions for breaking or splitting on substrings and replacing all
9997occurrences of a substring (the first in case of overlaps) with another.")
9998 (license license:bsd-3)))
9999
10000(define-public ghc-stylish-haskell
10001 (package
10002 (name "ghc-stylish-haskell")
10003 (version "0.9.2.1")
10004 (source
10005 (origin
10006 (method url-fetch)
10007 (uri (string-append
10008 "mirror://hackage/package/stylish-haskell/stylish-haskell-"
10009 version
10010 ".tar.gz"))
10011 (sha256
10012 (base32
10013 "1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
10014 (build-system haskell-build-system)
10015 (inputs
10016 `(("ghc-aeson" ,ghc-aeson)
10017 ("ghc-file-embed" ,ghc-file-embed)
10018 ("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
10019 ("ghc-semigroups" ,ghc-semigroups)
10020 ("ghc-syb" ,ghc-syb)
10021 ("ghc-yaml" ,ghc-yaml)
10022 ("ghc-strict" ,ghc-strict)
10023 ("ghc-optparse-applicative"
10024 ,ghc-optparse-applicative)))
10025 (native-inputs
10026 `(("ghc-hunit" ,ghc-hunit)
10027 ("ghc-test-framework" ,ghc-test-framework)
10028 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10029 (home-page "https://github.com/jaspervdj/stylish-haskell")
10030 (synopsis "Haskell code prettifier")
10031 (description "Stylish-haskell is a Haskell code prettifier. The goal is
10032not to format all of the code in a file, to avoid \"getting in the way\".
10033However, this tool can e.g. clean up import statements and help doing various
10034tasks that get tedious very quickly. It can
10035@itemize
10036@item
10037Align and sort @code{import} statements
10038@item
10039Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
10040pragmas
10041@item
10042Remove trailing whitespaces
10043@item
10044Align branches in @code{case} and fields in records
10045@item
10046Convert line endings (customisable)
10047@item
10048Replace tabs by four spaces (turned off by default)
10049@item
10050Replace some ASCII sequences by their Unicode equivalent (turned off by
10051default)
10052@end itemize")
10053 (license license:bsd-3)))
10054
10055(define-public ghc-syb
10056 (package
10057 (name "ghc-syb")
07d65eef 10058 (version "0.7.1")
dddbc90c
RV
10059 (outputs '("out" "doc"))
10060 (source
10061 (origin
10062 (method url-fetch)
10063 (uri (string-append
10064 "https://hackage.haskell.org/package/syb/syb-"
10065 version
10066 ".tar.gz"))
10067 (sha256
10068 (base32
07d65eef 10069 "0077vxzyi9ppbphi2ialac3p376k49qly1kskdgf57wdwix9qjp0"))))
dddbc90c
RV
10070 (build-system haskell-build-system)
10071 (inputs
10072 `(("ghc-hunit" ,ghc-hunit)))
10073 (home-page
10074 "http://www.cs.uu.nl/wiki/GenericProgramming/SYB")
10075 (synopsis "Scrap Your Boilerplate")
10076 (description "This package contains the generics system described in the
10077/Scrap Your Boilerplate/ papers (see
10078@uref{http://www.cs.uu.nl/wiki/GenericProgramming/SYB, the website}). It
10079defines the @code{Data} class of types permitting folding and unfolding of
10080constructor applications, instances of this class for primitive types, and a
10081variety of traversals.")
10082 (license license:bsd-3)))
10083
10084(define-public ghc-system-fileio
10085 (package
10086 (name "ghc-system-fileio")
dcfb99d4 10087 (version "0.3.16.4")
dddbc90c
RV
10088 (source
10089 (origin
10090 (method url-fetch)
10091 (uri (string-append
10092 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10093 version ".tar.gz"))
10094 (sha256
10095 (base32
dcfb99d4 10096 "1iy6g1f35gzyj12g9mdiw4zf75mmxpv1l8cyaldgyscsl648pr9l"))))
dddbc90c 10097 (build-system haskell-build-system)
dcfb99d4
TS
10098 (arguments
10099 `(#:phases
10100 (modify-phases %standard-phases
10101 (add-before 'configure 'update-constraints
10102 (lambda _
10103 (substitute* "system-fileio.cabal"
10104 (("chell >= 0\\.4 && < 0\\.5") "chell >= 0.4"))
10105 #t)))))
dddbc90c
RV
10106 (inputs
10107 `(("ghc-system-filepath" ,ghc-system-filepath)
10108 ("ghc-chell" ,ghc-chell)
10109 ("ghc-temporary" ,ghc-temporary)))
10110 (home-page "https://github.com/fpco/haskell-filesystem")
10111 (synopsis "Consistent file system interaction across GHC versions")
10112 (description
10113 "This is a small wrapper around the directory, unix, and Win32 packages,
10114for use with system-filepath. It provides a consistent API to the various
10115versions of these packages distributed with different versions of GHC.
10116In particular, this library supports working with POSIX files that have paths
10117which can't be decoded in the current locale encoding.")
10118 (license license:expat)))
10119
10120;; See ghc-system-filepath-bootstrap. In addition this package depends on
10121;; ghc-system-filepath.
10122(define ghc-system-fileio-bootstrap
10123 (package
10124 (name "ghc-system-fileio-bootstrap")
10125 (version "0.3.16.3")
10126 (source
10127 (origin
10128 (method url-fetch)
10129 (uri (string-append
10130 "https://hackage.haskell.org/package/system-fileio/system-fileio-"
10131 version ".tar.gz"))
10132 (sha256
10133 (base32
10134 "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i"))))
10135 (build-system haskell-build-system)
10136 (arguments
10137 `(#:tests? #f))
10138 (inputs
10139 `(("ghc-system-filepath-bootstrap" ,ghc-system-filepath-bootstrap)
10140 ("ghc-temporary" ,ghc-temporary)))
10141 (home-page "https://github.com/fpco/haskell-filesystem")
10142 (synopsis "Consistent file system interaction across GHC versions")
10143 (description
10144 "This is a small wrapper around the directory, unix, and Win32 packages,
10145for use with system-filepath. It provides a consistent API to the various
10146versions of these packages distributed with different versions of GHC.
10147In particular, this library supports working with POSIX files that have paths
10148which can't be decoded in the current locale encoding.")
10149 (license license:expat)))
10150
10151
10152(define-public ghc-system-filepath
10153 (package
10154 (name "ghc-system-filepath")
10155 (version "0.4.14")
10156 (source
10157 (origin
10158 (method url-fetch)
10159 (uri (string-append
10160 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10161 version ".tar.gz"))
10162 (sha256
10163 (base32
10164 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10165 (build-system haskell-build-system)
10166 ;; FIXME: One of the tests fails:
10167 ;; [ FAIL ] tests.validity.posix
10168 ;; note: seed=7310214548328823169
10169 ;; *** Failed! Falsifiable (after 24 tests):
10170 ;; 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"
10171 (arguments `(#:tests? #f))
10172 (inputs
10173 `(("ghc-chell" ,ghc-chell)
10174 ("ghc-chell-quickcheck" ,ghc-chell-quickcheck)
10175 ("ghc-quickcheck" ,ghc-quickcheck)))
10176 (home-page "https://github.com/fpco/haskell-filesystem")
10177 (synopsis "High-level, byte-based file and directory path manipulations")
10178 (description
10179 "Provides a FilePath datatype and utility functions for operating on it.
10180Unlike the filepath package, this package does not simply reuse String,
10181increasing type safety.")
10182 (license license:expat)))
10183
10184;; Ghc-shelly depends on ghc-system-filepath and ghc-system-fileio, who in turn depend on
10185;; ghc-chell and ghc-chell-quickcheck for the test phase. Ghc-chell depends on ghc-options
10186;; which depends on ghc-chell and ghc-chell-quickcheck.
10187;; Therefore we bootstrap it with tests disabled.
10188(define ghc-system-filepath-bootstrap
10189 (package
10190 (name "ghc-system-filepath-bootstrap")
10191 (version "0.4.14")
10192 (source
10193 (origin
10194 (method url-fetch)
10195 (uri (string-append
10196 "https://hackage.haskell.org/package/system-filepath/system-filepath-"
10197 version ".tar.gz"))
10198 (sha256
10199 (base32
10200 "14yras4pz2dh55xpwmazcgxijvi8913pjgzb9iw50mjq1lycwmhn"))))
10201 (build-system haskell-build-system)
10202 (arguments
10203 `(#:tests? #f))
10204 (inputs
10205 `(("ghc-quickcheck" ,ghc-quickcheck)))
10206 (home-page "https://github.com/fpco/haskell-filesystem")
10207 (synopsis "High-level, byte-based file and directory path manipulations")
10208 (description
10209 "Provides a FilePath datatype and utility functions for operating on it.
10210Unlike the filepath package, this package does not simply reuse String,
10211increasing type safety.")
10212 (license license:expat)))
10213
10214
10215(define-public ghc-tagged
10216 (package
10217 (name "ghc-tagged")
f0f3756a 10218 (version "0.8.6")
dddbc90c
RV
10219 (source
10220 (origin
10221 (method url-fetch)
10222 (uri (string-append
10223 "https://hackage.haskell.org/package/tagged/tagged-"
10224 version
10225 ".tar.gz"))
10226 (sha256
10227 (base32
f0f3756a 10228 "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md"))))
dddbc90c
RV
10229 (build-system haskell-build-system)
10230 (arguments
10231 `(#:cabal-revision
f0f3756a 10232 ("1" "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh")))
dddbc90c
RV
10233 (inputs
10234 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10235 (home-page "https://hackage.haskell.org/package/tagged")
10236 (synopsis "Haskell phantom types to avoid passing dummy arguments")
10237 (description "This library provides phantom types for Haskell 98, to avoid
10238having to unsafely pass dummy arguments.")
10239 (license license:bsd-3)))
10240
10241(define-public ghc-tar
10242 (package
10243 (name "ghc-tar")
ec83929f 10244 (version "0.5.1.1")
dddbc90c
RV
10245 (source
10246 (origin
10247 (method url-fetch)
10248 (uri (string-append
10249 "https://hackage.haskell.org/package/tar/tar-"
10250 version ".tar.gz"))
10251 (sha256
10252 (base32
ec83929f 10253 "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k"))))
dddbc90c
RV
10254 (build-system haskell-build-system)
10255 ;; FIXME: 2/24 tests fail.
10256 (arguments `(#:tests? #f))
10257 (inputs
10258 `(("ghc-bytestring-handle" ,ghc-bytestring-handle)
10259 ("ghc-quickcheck" ,ghc-quickcheck)
10260 ("ghc-tasty" ,ghc-tasty)
10261 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10262 (home-page "https://hackage.haskell.org/package/tar")
10263 (synopsis "Reading, writing and manipulating \".tar\" archive files")
10264 (description
10265 "This library is for working with \\\"@.tar@\\\" archive files.
10266It can read and write a range of common variations of the tar archive format
10267including V7, POSIX USTAR and GNU formats. It provides support for packing and
10268unpacking portable archives. This makes it suitable for distribution but not
10269backup because details like file ownership and exact permissions are not
10270preserved. It also provides features for random access to archive content using
10271an index.")
10272 (license license:bsd-3)))
10273
10274(define-public ghc-temporary
10275 (package
10276 (name "ghc-temporary")
10277 (version "1.3")
10278 (source
10279 (origin
10280 (method url-fetch)
10281 (uri (string-append
10282 "https://hackage.haskell.org/package/temporary/temporary-"
10283 version
10284 ".tar.gz"))
10285 (sha256
10286 (base32
10287 "144qhwfwg37l3k313raf4ssiz16jbgwlm1nf4flgqpsbd69jji4c"))))
10288 (build-system haskell-build-system)
10289 (inputs
10290 `(("ghc-exceptions" ,ghc-exceptions)
10291 ("ghc-random" ,ghc-random)))
10292 (native-inputs
10293 `(("ghc-base-compat" ,ghc-base-compat)
10294 ("ghc-tasty" ,ghc-tasty)
10295 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
10296 (home-page "https://www.github.com/batterseapower/temporary")
10297 (synopsis "Temporary file and directory support")
10298 (description "The functions for creating temporary files and directories
10299in the Haskelll base library are quite limited. This library just repackages
10300the Cabal implementations of its own temporary file and folder functions so
10301that you can use them without linking against Cabal or depending on it being
10302installed.")
10303 (license license:bsd-3)))
10304
10305(define-public ghc-temporary-rc
10306 (package
10307 (name "ghc-temporary-rc")
10308 (version "1.2.0.3")
10309 (source
10310 (origin
10311 (method url-fetch)
10312 (uri (string-append
10313 "https://hackage.haskell.org/package/temporary-rc/temporary-rc-"
10314 version
10315 ".tar.gz"))
10316 (sha256
10317 (base32
10318 "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs"))))
10319 (build-system haskell-build-system)
10320 (inputs `(("ghc-exceptions" ,ghc-exceptions)))
10321 (home-page
10322 "https://www.github.com/feuerbach/temporary")
10323 (synopsis
10324 "Portable temporary file and directory support")
10325 (description
10326 "The functions for creating temporary files and directories in the base
10327library are quite limited. The unixutils package contains some good ones, but
10328they aren't portable to Windows. This library just repackages the Cabal
10329implementations of its own temporary file and folder functions so that you can
10330use them without linking against Cabal or depending on it being installed.
10331This is a better maintained fork of the \"temporary\" package.")
10332 (license license:bsd-3)))
10333
10334(define-public ghc-terminal-size
10335 (package
10336 (name "ghc-terminal-size")
10337 (version "0.3.2.1")
10338 (source (origin
10339 (method url-fetch)
10340 (uri (string-append
10341 "https://hackage.haskell.org/package/terminal-size/"
10342 "terminal-size-" version ".tar.gz"))
10343 (sha256
10344 (base32
10345 "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm"))))
10346 (build-system haskell-build-system)
10347 (home-page "https://hackage.haskell.org/package/terminal-size")
10348 (synopsis "Get terminal window height and width")
10349 (description "Get terminal window height and width without ncurses
10350dependency.")
10351 (license license:bsd-3)))
10352
10353(define-public ghc-texmath
10354 (package
10355 (name "ghc-texmath")
7fec7e66 10356 (version "0.11.3")
dddbc90c
RV
10357 (source (origin
10358 (method url-fetch)
10359 (uri (string-append "https://hackage.haskell.org/package/"
10360 "texmath/texmath-" version ".tar.gz"))
10361 (sha256
10362 (base32
7fec7e66 10363 "03rpxbp43bjs62mmw4hv4785n6f6nbf8kj2y9mma5nzk6i2xs09f"))))
dddbc90c
RV
10364 (build-system haskell-build-system)
10365 (inputs
10366 `(("ghc-syb" ,ghc-syb)
10367 ("ghc-network-uri" ,ghc-network-uri)
10368 ("ghc-split" ,ghc-split)
10369 ("ghc-temporary" ,ghc-temporary)
10370 ("ghc-utf8-string" ,ghc-utf8-string)
10371 ("ghc-xml" ,ghc-xml)
10372 ("ghc-pandoc-types" ,ghc-pandoc-types)))
10373 (home-page "https://github.com/jgm/texmath")
10374 (synopsis "Conversion between formats used to represent mathematics")
10375 (description
10376 "The texmath library provides functions to read and write TeX math,
10377presentation MathML, and OMML (Office Math Markup Language, used in Microsoft
10378Office). Support is also included for converting math formats to pandoc's
10379native format (allowing conversion, via pandoc, to a variety of different
10380markup formats). The TeX reader supports basic LaTeX and AMS extensions, and
10381it can parse and apply LaTeX macros.")
10382 (license license:gpl2+)))
10383
10384(define-public ghc-text-binary
10385 (package
10386 (name "ghc-text-binary")
10387 (version "0.2.1.1")
10388 (source
10389 (origin
10390 (method url-fetch)
10391 (uri (string-append "https://hackage.haskell.org/package/"
10392 "text-binary/text-binary-"
10393 version ".tar.gz"))
10394 (sha256
10395 (base32
10396 "18gl10pwg3qwsk0za3c70j4n6a9129wwf1b7d3a461h816yv55xn"))))
10397 (build-system haskell-build-system)
10398 (home-page "https://github.com/kawu/text-binary")
10399 (synopsis "Binary instances for text types")
10400 (description
10401 "This package provides a compatibility layer providing @code{Binary}
10402instances for strict and lazy text types for versions older than 1.2.1 of the
10403text package.")
10404 (license license:bsd-2)))
10405
10406(define-public ghc-tf-random
10407 (package
10408 (name "ghc-tf-random")
10409 (version "0.5")
10410 (outputs '("out" "doc"))
10411 (source
10412 (origin
10413 (method url-fetch)
10414 (uri (string-append
10415 "https://hackage.haskell.org/package/tf-random/tf-random-"
10416 version
10417 ".tar.gz"))
10418 (sha256
10419 (base32 "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f"))))
10420 (build-system haskell-build-system)
10421 (inputs
10422 `(("ghc-primitive" ,ghc-primitive)
10423 ("ghc-random" ,ghc-random)))
10424 (home-page "https://hackage.haskell.org/package/tf-random")
10425 (synopsis "High-quality splittable pseudorandom number generator")
10426 (description "This package contains an implementation of a high-quality
10427splittable pseudorandom number generator. The generator is based on a
10428cryptographic hash function built on top of the ThreeFish block cipher. See
10429the paper \"Splittable Pseudorandom Number Generators Using Cryptographic
10430Hashing\" by Claessen, Pałka for details and the rationale of the design.")
10431 (license license:bsd-3)))
10432
10433(define-public ghc-th-abstraction
10434 (package
10435 (name "ghc-th-abstraction")
1188eabb 10436 (version "0.3.1.0")
dddbc90c
RV
10437 (source
10438 (origin
10439 (method url-fetch)
10440 (uri (string-append "https://hackage.haskell.org/package/"
10441 "th-abstraction/th-abstraction-"
10442 version ".tar.gz"))
10443 (sha256
10444 (base32
1188eabb 10445 "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb"))))
dddbc90c
RV
10446 (build-system haskell-build-system)
10447 (home-page "https://github.com/glguy/th-abstraction")
10448 (synopsis "Nicer interface for reified information about data types")
10449 (description
10450 "This package normalizes variations in the interface for inspecting
10451datatype information via Template Haskell so that packages and support a
10452single, easier to use informational datatype while supporting many versions of
10453Template Haskell.")
10454 (license license:isc)))
10455
10456(define-public ghc-th-expand-syns
10457 (package
10458 (name "ghc-th-expand-syns")
8c766600 10459 (version "0.4.5.0")
dddbc90c
RV
10460 (source (origin
10461 (method url-fetch)
10462 (uri (string-append "https://hackage.haskell.org/package/"
10463 "th-expand-syns/th-expand-syns-"
10464 version ".tar.gz"))
10465 (sha256
10466 (base32
8c766600 10467 "1p4wfyycan8zsp9wi7npx36qwbfsbcgdyxi3ii51scf69dkrx42y"))))
dddbc90c
RV
10468 (build-system haskell-build-system)
10469 (inputs
10470 `(("ghc-syb" ,ghc-syb)))
10471 (home-page "https://hackage.haskell.org/package/th-expand-syns")
10472 (synopsis "Expands type synonyms in Template Haskell ASTs")
10473 (description
10474 "This package enables users to expand type synonyms in Template Haskell
10475@dfn{abstract syntax trees} (ASTs).")
10476 (license license:bsd-3)))
10477
10478(define-public ghc-th-lift
10479 (package
10480 (name "ghc-th-lift")
bd76b20a 10481 (version "0.8.0.1")
dddbc90c
RV
10482 (source (origin
10483 (method url-fetch)
10484 (uri (string-append "https://hackage.haskell.org/package/"
10485 "th-lift/th-lift-" version ".tar.gz"))
10486 (sha256
10487 (base32
bd76b20a 10488 "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0"))))
dddbc90c
RV
10489 (build-system haskell-build-system)
10490 (inputs
10491 `(("ghc-th-abstraction" ,ghc-th-abstraction)))
10492 (home-page "https://github.com/mboes/th-lift")
10493 (synopsis "Derive Template Haskell's Lift class for datatypes")
10494 (description
10495 "This is a Haskell library to derive Template Haskell's Lift class for
10496datatypes.")
10497 (license license:bsd-3)))
10498
10499(define-public ghc-th-lift-instances
10500 (package
10501 (name "ghc-th-lift-instances")
d3db399e 10502 (version "0.1.14")
dddbc90c
RV
10503 (source
10504 (origin
10505 (method url-fetch)
10506 (uri (string-append "https://hackage.haskell.org/package/"
10507 "th-lift-instances/th-lift-instances-"
10508 version ".tar.gz"))
10509 (sha256
10510 (base32
d3db399e 10511 "0r1b4jnvcj64wp4hfccwkl4a70n1p1q7qzyx6ax7cmd8k961jz78"))))
dddbc90c
RV
10512 (build-system haskell-build-system)
10513 (inputs
10514 `(("ghc-th-lift" ,ghc-th-lift)
10515 ("ghc-vector" ,ghc-vector)
10516 ("ghc-quickcheck" ,ghc-quickcheck)))
10517 (home-page "https://github.com/bennofs/th-lift-instances/")
10518 (synopsis "Lift instances for template-haskell for common data types.")
10519 (description "Most data types in the Haskell platform do not have Lift
10520instances. This package provides orphan instances for @code{containers},
10521@code{text}, @code{bytestring} and @code{vector}.")
10522 (license license:bsd-3)))
10523
10524(define-public ghc-th-orphans
10525 (package
10526 (name "ghc-th-orphans")
882b23e2 10527 (version "0.13.9")
dddbc90c
RV
10528 (source (origin
10529 (method url-fetch)
10530 (uri (string-append "https://hackage.haskell.org/package/"
10531 "th-orphans/th-orphans-" version ".tar.gz"))
10532 (sha256
10533 (base32
882b23e2 10534 "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z"))))
dddbc90c
RV
10535 (build-system haskell-build-system)
10536 (inputs
10537 `(("ghc-th-lift" ,ghc-th-lift)
10538 ("ghc-th-lift-instances" ,ghc-th-lift-instances)
10539 ("ghc-th-reify-many" ,ghc-th-reify-many)
10540 ("ghc-generic-deriving" ,ghc-generic-deriving)))
10541 (native-inputs
10542 `(("ghc-hspec" ,ghc-hspec)))
10543 (home-page "https://hackage.haskell.org/package/th-orphans")
10544 (synopsis "Orphan instances for TH datatypes")
10545 (description
10546 "This package provides orphan instances for Template Haskell datatypes. In particular,
10547instances for @code{Ord} and @code{Lift}, as well as a few missing @code{Show}
10548and @code{Eq} instances. These instances used to live in the haskell-src-meta
10549package, and that's where the version number started.")
10550 (license license:bsd-3)))
10551
10552(define-public ghc-threads
10553 (package
10554 (name "ghc-threads")
10555 (version "0.5.1.6")
10556 (source
10557 (origin
10558 (method url-fetch)
10559 (uri (string-append "https://hackage.haskell.org/package/"
10560 "threads/threads-" version ".tar.gz"))
10561 (sha256
10562 (base32
10563 "0bjnjhnq3km6xqk0fn1fgyz5xdw4h6lylbwwbcmkkfzwcz0c76hk"))))
10564 (build-system haskell-build-system)
10565 (native-inputs
10566 `(("ghc-concurrent-extra" ,ghc-concurrent-extra)
10567 ("ghc-hunit" ,ghc-hunit)
10568 ("ghc-test-framework" ,ghc-test-framework)
10569 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
10570 (home-page "https://github.com/basvandijk/threads")
10571 (synopsis "Fork threads and wait for their result")
10572 (description "This package provides functions to fork threads and
10573wait for their result, whether it's an exception or a normal value.
10574Besides waiting for the termination of a single thread this package also
10575provides functions to wait for a group of threads to terminate. This
bbf8bf31
RV
10576package is similar to the @code{threadmanager}, @code{async} and
10577@code{spawn} packages. The advantages of this package are:
10578
dddbc90c
RV
10579@itemize
10580@item Simpler API.
10581@item More efficient in both space and time.
10582@item No space-leak when forking a large number of threads.
10583@item Correct handling of asynchronous exceptions.
10584@item GHC specific functionality like @code{forkOn} and
10585@code{forkIOWithUnmask}.
10586@end itemize")
10587 (license license:bsd-3)))
10588
10589(define-public ghc-th-reify-many
10590 (package
10591 (name "ghc-th-reify-many")
32d4a6ae 10592 (version "0.1.9")
dddbc90c
RV
10593 (source (origin
10594 (method url-fetch)
10595 (uri (string-append "https://hackage.haskell.org/package/"
10596 "th-reify-many/th-reify-many-"
10597 version ".tar.gz"))
10598 (sha256
10599 (base32
32d4a6ae 10600 "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq"))))
dddbc90c
RV
10601 (build-system haskell-build-system)
10602 (inputs
10603 `(("ghc-safe" ,ghc-safe)
10604 ("ghc-th-expand-syns" ,ghc-th-expand-syns)))
10605 (home-page "https://github.com/mgsloan/th-reify-many")
10606 (synopsis "Recurseively reify template haskell datatype info")
10607 (description
10608 "th-reify-many provides functions for recursively reifying top level
10609declarations. The main intended use case is for enumerating the names of
10610datatypes reachable from an initial datatype, and passing these names to some
10611function which generates instances.")
10612 (license license:bsd-3)))
10613
75cfc9a2
TS
10614(define-public ghc-time-compat
10615 (package
10616 (name "ghc-time-compat")
10617 (version "1.9.2.2")
10618 (source
10619 (origin
10620 (method url-fetch)
10621 (uri (string-append "https://hackage.haskell.org/package/"
10622 "time-compat/time-compat-" version ".tar.gz"))
10623 (sha256
10624 (base32
10625 "05va0rqs759vbridbcl6hksp967j9anjvys8vx72fnfkhlrn2s52"))))
10626 (build-system haskell-build-system)
10627 (inputs
10628 `(("ghc-base-orphans" ,ghc-base-orphans)))
10629 (native-inputs
10630 `(("ghc-hunit" ,ghc-hunit)
10631 ("ghc-base-compat" ,ghc-base-compat)
10632 ("ghc-quickcheck" ,ghc-quickcheck)
10633 ("ghc-tagged" ,ghc-tagged)
10634 ("ghc-tasty" ,ghc-tasty)
10635 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
10636 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10637 (arguments
10638 `(#:cabal-revision
10639 ("1" "0k8ph4sydaiqp8dav4if6hpiaq8h1xsr93khmdr7a1mmfwdxr64r")))
10640 (home-page "https://github.com/phadej/time-compat")
10641 (synopsis "Compatibility package for time")
10642 (description "This packages tries to compat as many @code{time}
10643features as possible.")
10644 (license license:bsd-3)))
10645
dddbc90c
RV
10646(define-public ghc-time-locale-compat
10647 (package
10648 (name "ghc-time-locale-compat")
10649 (version "0.1.1.5")
10650 (source
10651 (origin
10652 (method url-fetch)
10653 (uri (string-append "https://hackage.haskell.org/package/"
10654 "time-locale-compat/time-locale-compat-"
10655 version ".tar.gz"))
10656 (sha256
10657 (base32
10658 "0b2hmj8wwrfkndwzgm11qr496ca2ahwdxcj3m0ii91bxvrk1bzq7"))))
10659 (build-system haskell-build-system)
10660 (inputs `(("ghc-old-locale" ,ghc-old-locale)))
10661 (home-page "https://github.com/khibino/haskell-time-locale-compat")
10662 (synopsis "Compatibility of TimeLocale between old-locale and time-1.5")
10663 (description "This package contains a wrapped name module for
10664@code{TimeLocale}.")
10665 (license license:bsd-3)))
10666
7bbfa392
JS
10667(define-public ghc-timeit
10668 (package
10669 (name "ghc-timeit")
10670 (version "2.0")
10671 (source
10672 (origin
10673 (method url-fetch)
10674 (uri
10675 (string-append
10676 "https://hackage.haskell.org/package/timeit/timeit-"
10677 version ".tar.gz"))
10678 (sha256
10679 (base32
10680 "1sliqpvl501rlcj6s0lhmsf5ym24j4h881wzc1f1wdyvg3jz8kd1"))))
10681 (build-system haskell-build-system)
10682 (home-page "https://github.com/merijn/timeit")
10683 (synopsis "Time monadic computations with an IO base")
10684 (description "This package provides a simple wrapper to show the
10685used CPU time of monadic computation with an IO base.")
10686 (license license:bsd-3)))
10687
dddbc90c
RV
10688(define-public ghc-tldr
10689 (package
10690 (name "ghc-tldr")
871ceb31 10691 (version "0.4.0.2")
dddbc90c
RV
10692 (source
10693 (origin
10694 (method url-fetch)
10695 (uri (string-append
10696 "https://hackage.haskell.org/package/tldr/tldr-"
10697 version
10698 ".tar.gz"))
10699 (sha256
10700 (base32
871ceb31 10701 "1zy9yyg7bxiyz1prkvrscggsb9p0f8y0nqxxxzlgzvnh2nmqf8f2"))))
dddbc90c
RV
10702 (build-system haskell-build-system)
10703 (inputs
10704 `(("ghc-cmark" ,ghc-cmark)
10705 ("ghc-optparse-applicative" ,ghc-optparse-applicative)
10706 ("ghc-typed-process" ,ghc-typed-process)
10707 ("ghc-semigroups" ,ghc-semigroups)))
10708 (native-inputs
10709 `(("ghc-tasty" ,ghc-tasty)
10710 ("ghc-tasty-golden" ,ghc-tasty-golden)))
10711 (home-page "https://github.com/psibi/tldr-hs#readme")
10712 (synopsis "Haskell tldr client")
10713 (description "This package provides the @command{tldr} command and a
10714Haskell client library allowing users to update and view @code{tldr} pages
10715from a shell. The @code{tldr} pages are a community effort to simplify the
10716man pages with practical examples.")
10717 (license license:bsd-3)))
10718
10719(define-public ghc-transformers-base
10720 (package
10721 (name "ghc-transformers-base")
10722 (version "0.4.5.2")
10723 (source
10724 (origin
10725 (method url-fetch)
10726 (uri (string-append
10727 "https://hackage.haskell.org/package/transformers-base/transformers-base-"
10728 version
10729 ".tar.gz"))
10730 (sha256
10731 (base32
10732 "1s256bi0yh0x2hp2gwd30f3mg1cv53zz397dv1yhfsnfzmihrj6h"))))
10733 (build-system haskell-build-system)
10734 (inputs
10735 `(("ghc-transformers-compat" ,ghc-transformers-compat)))
10736 (home-page
10737 "https://hackage.haskell.org/package/transformers-compat")
10738 (synopsis
10739 "Backported transformer library")
10740 (description
10741 "Backported versions of types that were added to transformers in
10742transformers 0.3 and 0.4 for users who need strict transformers 0.2 or 0.3
10743compatibility to run on old versions of the platform.")
10744 (license license:bsd-3)))
10745
10746(define-public ghc-transformers-compat
10747 (package
10748 (name "ghc-transformers-compat")
1c9c4d58 10749 (version "0.6.5")
dddbc90c
RV
10750 (source
10751 (origin
10752 (method url-fetch)
10753 (uri (string-append
10754 "https://hackage.haskell.org/package/transformers-compat"
10755 "/transformers-compat-" version ".tar.gz"))
10756 (sha256
10757 (base32
1c9c4d58 10758 "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys"))))
dddbc90c
RV
10759 (build-system haskell-build-system)
10760 (home-page "https://github.com/ekmett/transformers-compat/")
10761 (synopsis "Small compatibility shim between transformers 0.3 and 0.4")
10762 (description "This package includes backported versions of types that were
10763added to transformers in transformers 0.3 and 0.4 for users who need strict
10764transformers 0.2 or 0.3 compatibility to run on old versions of the platform,
10765but also need those types.")
10766 (license license:bsd-3)))
10767
10768(define-public ghc-tree-diff
10769 (package
10770 (name "ghc-tree-diff")
10771 (version "0.0.1")
10772 (source
10773 (origin
10774 (method url-fetch)
10775 (uri (string-append
10776 "https://hackage.haskell.org/package/tree-diff/tree-diff-"
10777 version
10778 ".tar.gz"))
10779 (sha256
10780 (base32
10781 "049v44c520jy3icxlnrvbdblh3mjmvd7m6qmkzxbzkf02x63xqmz"))))
10782 (build-system haskell-build-system)
10783 (arguments
10784 `(#:cabal-revision
10785 ("4" "1rqxxyj6hqllahs11693g855cxz8mgnb490s7j1ksd300i5xgjsp")
10786 #:phases
10787 (modify-phases %standard-phases
10788 (add-before 'configure 'update-constraints
10789 (lambda _
10790 (substitute* "tree-diff.cabal"
10791 (("trifecta >=1\\.7\\.1\\.1 && <1\\.8")
10792 "trifecta >=1.7.1.1 && <=2")))))))
10793 (inputs
10794 `(("ghc-aeson" ,ghc-aeson)
10795 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10796 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10797 ("ghc-base-compat" ,ghc-base-compat)
10798 ("ghc-generics-sop" ,ghc-generics-sop)
10799 ("ghc-hashable" ,ghc-hashable)
10800 ("ghc-memotrie" ,ghc-memotrie)
10801 ("ghc-parsers" ,ghc-parsers)
10802 ("ghc-quickcheck" ,ghc-quickcheck)
10803 ("ghc-scientific" ,ghc-scientific)
10804 ("ghc-tagged" ,ghc-tagged)
10805 ("ghc-unordered-containers" ,ghc-unordered-containers)
10806 ("ghc-uuid-types" ,ghc-uuid-types)
10807 ("ghc-vector" ,ghc-vector)))
10808 (native-inputs
10809 `(("ghc-base-compat" ,ghc-base-compat)
10810 ("ghc-quickcheck" ,ghc-quickcheck)
10811 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10812 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10813 ("ghc-trifecta" ,ghc-trifecta)
10814 ("ghc-tasty" ,ghc-tasty)
10815 ("ghc-tasty-golden" ,ghc-tasty-golden)
10816 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
10817 (home-page "https://github.com/phadej/tree-diff")
10818 (synopsis "Compute difference between (expression) trees")
10819 (description "This Haskell library provides a function for computing
10820the difference between (expression) trees. It also provides a way to
10821compute the difference between arbitrary abstract datatypes (ADTs) using
10822@code{Generics}-derivable helpers.")
10823 (license license:bsd-3)))
10824
10825(define-public ghc-trifecta
10826 (package
10827 (name "ghc-trifecta")
10828 (version "2")
10829 (source (origin
10830 (method url-fetch)
10831 (uri (string-append
10832 "https://hackage.haskell.org/package/trifecta/"
10833 "trifecta-" version ".tar.gz"))
10834 (sha256
10835 (base32
10836 "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk"))))
10837 (build-system haskell-build-system)
10838 (arguments `(#:tests? #f)) ; doctest suite fails to build on i686
10839 (inputs
10840 `(("ghc-reducers" ,ghc-reducers)
10841 ("ghc-semigroups" ,ghc-semigroups)
10842 ("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
10843 ("ghc-ansi-terminal" ,ghc-ansi-terminal)
10844 ("ghc-blaze-builder" ,ghc-blaze-builder)
10845 ("ghc-blaze-html" ,ghc-blaze-html)
10846 ("ghc-blaze-markup" ,ghc-blaze-markup)
10847 ("ghc-charset" ,ghc-charset)
10848 ("ghc-comonad" ,ghc-comonad)
10849 ("ghc-fingertree" ,ghc-fingertree)
10850 ("ghc-hashable" ,ghc-hashable)
10851 ("ghc-lens" ,ghc-lens)
10852 ("ghc-parsers" ,ghc-parsers)
10853 ("ghc-profunctors" ,ghc-profunctors)
10854 ("ghc-unordered-containers" ,ghc-unordered-containers)
10855 ("ghc-utf8-string" ,ghc-utf8-string)))
10856 (native-inputs
10857 `(("cabal-doctest" ,cabal-doctest)
10858 ("ghc-doctest" ,ghc-doctest)
10859 ("ghc-quickcheck" ,ghc-quickcheck)))
10860 (home-page "https://github.com/ekmett/trifecta/")
10861 (synopsis "Parser combinator library with convenient diagnostics")
10862 (description "Trifecta is a modern parser combinator library for Haskell,
10863with slicing and Clang-style colored diagnostics.")
10864 (license license:bsd-3)))
10865
10866(define-public ghc-tuple-th
10867 (package
10868 (name "ghc-tuple-th")
10869 (version "0.2.5")
10870 (source
10871 (origin
10872 (method url-fetch)
10873 (uri (string-append "https://hackage.haskell.org/package/"
10874 "tuple-th-" version "/"
10875 "tuple-th-" version ".tar.gz"))
10876 (sha256
10877 (base32
10878 "1mrl4vvxmby7sf1paf7hklzidnr6wq55822i73smqyz0xpf3gsjn"))))
10879 (build-system haskell-build-system)
10880 (home-page "https://github.com/DanielSchuessler/tuple-th")
10881 (synopsis "Generate utility functions for tuples of statically known size
10882for Haskell")
10883 (description "This Haskell package contains Template Haskell functions for
10884generating functions similar to those in @code{Data.List} for tuples of
10885statically known size.")
10886 (license license:bsd-3)))
10887
10888(define-public ghc-typed-process
10889 (package
10890 (name "ghc-typed-process")
72fb84a5 10891 (version "0.2.6.0")
dddbc90c
RV
10892 (source
10893 (origin
10894 (method url-fetch)
10895 (uri (string-append "https://hackage.haskell.org/package/"
10896 "typed-process/typed-process-"
10897 version ".tar.gz"))
10898 (sha256
10899 (base32
72fb84a5 10900 "1cf2pfym8zdxvvy7xv72ixj7wy3rjrdss6f57k1ysgs66cgsi8ii"))))
dddbc90c
RV
10901 (build-system haskell-build-system)
10902 (inputs
72fb84a5
TS
10903 `(("ghc-async" ,ghc-async)
10904 ("ghc-unliftio-core" ,ghc-unliftio-core)))
dddbc90c
RV
10905 (native-inputs
10906 `(("ghc-base64-bytestring" ,ghc-base64-bytestring)
10907 ("ghc-hspec" ,ghc-hspec)
10908 ("hspec-discover" ,hspec-discover)
10909 ("ghc-temporary" ,ghc-temporary)))
10910 (home-page "https://haskell-lang.org/library/typed-process")
10911 (synopsis "Run external processes with strong typing of streams")
10912 (description
10913 "This library provides the ability to launch and interact with external
10914processes. It wraps around the @code{process} library, and intends to improve
10915upon it.")
10916 (license license:expat)))
10917
d392f803
AG
10918(define-public ghc-unagi-chan
10919 (package
10920 (name "ghc-unagi-chan")
10921 (version "0.4.1.2")
10922 (source
10923 (origin
10924 (method url-fetch)
10925 (uri (string-append "https://hackage.haskell.org/package/unagi-chan"
10926 "/unagi-chan-" version ".tar.gz"))
10927 (sha256
10928 (base32
10929 "1lnl5n4jnjmm4chp461glcwkrrw63rjz3fvprwxcy3lkpbkrqvgn"))))
10930 (build-system haskell-build-system)
10931 (inputs
10932 `(("ghc-atomic-primops" ,ghc-atomic-primops)
10933 ("ghc-primitive" ,ghc-primitive)))
10934 (arguments
10935 `(#:tests? #f ; FIXME: Tests expect primitive 0.7
10936 #:cabal-revision
10937 ("1"
10938 "09pqi867wskwgc5lpn197f895mbn1174ydgllvcppcsmrz2b6yr6")))
10939 (home-page "http://hackage.haskell.org/package/unagi-chan")
10940 (synopsis "Fast concurrent queues with a Chan-like API, and more")
10941 (description
10942 "This library provides implementations of concurrent FIFO queues (for
10943both general boxed and primitive unboxed values) that are fast, perform well
10944under contention, and offer a Chan-like interface. The library may be of
10945limited usefulness outside of x86 architectures where the fetch-and-add
10946instruction is not available.")
10947 (license license:bsd-3)))
10948
dddbc90c
RV
10949(define-public ghc-unbounded-delays
10950 (package
10951 (name "ghc-unbounded-delays")
10952 (version "0.1.1.0")
10953 (source
10954 (origin
10955 (method url-fetch)
10956 (uri (string-append
10957 "https://hackage.haskell.org/package/unbounded-delays/unbounded-delays-"
10958 version
10959 ".tar.gz"))
10960 (sha256
10961 (base32
10962 "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa"))))
10963 (build-system haskell-build-system)
10964 (home-page "https://github.com/basvandijk/unbounded-delays")
10965 (synopsis "Unbounded thread delays and timeouts")
10966 (description "The @code{threadDelay} and @code{timeout} functions from the
10967Haskell base library use the bounded @code{Int} type for specifying the delay
10968or timeout period. This package provides alternative functions which use the
10969unbounded @code{Integer} type.")
10970 (license license:bsd-3)))
10971
10972(define-public ghc-unexceptionalio
10973 (package
10974 (name "ghc-unexceptionalio")
10975 (version "0.4.0")
10976 (source
10977 (origin
10978 (method url-fetch)
10979 (uri (string-append "https://hackage.haskell.org/package/"
10980 "unexceptionalio-" version "/" "unexceptionalio-"
10981 version ".tar.gz"))
10982 (sha256 (base32 "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p"))))
10983 (build-system haskell-build-system)
10984 (home-page "https://github.com/singpolyma/unexceptionalio")
10985 (synopsis "IO without any non-error, synchronous exceptions")
10986 (description "When you've caught all the exceptions that can be
10987handled safely, this is what you're left with.")
10988 (license license:isc)))
10989
10990(define-public ghc-union-find
10991 (package
10992 (name "ghc-union-find")
10993 (version "0.2")
10994 (source (origin
10995 (method url-fetch)
10996 (uri (string-append
10997 "https://hackage.haskell.org/package/union-find/union-find-"
10998 version ".tar.gz"))
10999 (sha256
11000 (base32
11001 "1v7hj42j9w6jlzi56jg8rh4p58gfs1c5dx30wd1qqvn0p0mnihp6"))))
11002 (build-system haskell-build-system)
11003 (home-page "https://github.com/nominolo/union-find")
11004 (synopsis "Efficient union and equivalence testing of sets")
11005 (description
11006 "The Union/Find algorithm implements these operations in (effectively)
11007constant-time:
11008@enumerate
11009@item Check whether two elements are in the same equivalence class.
11010@item Create a union of two equivalence classes.
11011@item Look up the descriptor of the equivalence class.
11012@end enumerate\n")
11013 (license license:bsd-3)))
11014
11015(define-public ghc-uniplate
11016 (package
11017 (name "ghc-uniplate")
11018 (version "1.6.12")
11019 (source
11020 (origin
11021 (method url-fetch)
11022 (uri (string-append
11023 "https://hackage.haskell.org/package/uniplate/uniplate-"
11024 version
11025 ".tar.gz"))
11026 (sha256
11027 (base32
11028 "1dx8f9aw27fz8kw0ad1nm6355w5rdl7bjvb427v2bsgnng30pipw"))))
11029 (build-system haskell-build-system)
11030 (inputs
11031 `(("ghc-syb" ,ghc-syb)
11032 ("ghc-hashable" ,ghc-hashable)
11033 ("ghc-unordered-containers" ,ghc-unordered-containers)))
11034 (home-page "http://community.haskell.org/~ndm/uniplate/")
11035 (synopsis "Simple, concise and fast generic operations")
11036 (description "Uniplate is a library for writing simple and concise generic
11037operations. Uniplate has similar goals to the original Scrap Your Boilerplate
11038work, but is substantially simpler and faster.")
11039 (license license:bsd-3)))
11040
11041(define-public ghc-unix-compat
11042 (package
11043 (name "ghc-unix-compat")
bc82e9f5 11044 (version "0.5.2")
dddbc90c
RV
11045 (source
11046 (origin
11047 (method url-fetch)
11048 (uri (string-append
11049 "https://hackage.haskell.org/package/unix-compat/unix-compat-"
11050 version
11051 ".tar.gz"))
11052 (sha256
11053 (base32
bc82e9f5 11054 "1a8brv9fax76b1fymslzyghwa6ma8yijiyyhn12msl3i5x24x6k5"))))
dddbc90c
RV
11055 (build-system haskell-build-system)
11056 (home-page
11057 "https://github.com/jystic/unix-compat")
11058 (synopsis "Portable POSIX-compatibility layer")
11059 (description
11060 "This package provides portable implementations of parts of the unix
11061package. This package re-exports the unix package when available. When it
11062isn't available, portable implementations are used.")
11063 (license license:bsd-3)))
11064
11065(define-public ghc-unix-time
11066 (package
11067 (name "ghc-unix-time")
fad9cff2 11068 (version "0.4.7")
dddbc90c
RV
11069 (source
11070 (origin
11071 (method url-fetch)
11072 (uri (string-append
11073 "https://hackage.haskell.org/package/unix-time/unix-time-"
11074 version
11075 ".tar.gz"))
11076 (sha256
11077 (base32
fad9cff2 11078 "02fyh298lm8jsg52i3z0ikazwz477ljqjmhnqr2d88grmn5ky8qr"))))
dddbc90c
RV
11079 (build-system haskell-build-system)
11080 (arguments
11081 `(#:tests? #f)) ; FIXME: Test fails with "System.Time not found". This
11082 ; is weird, that should be provided by GHC 7.10.2.
11083 (inputs
11084 `(("ghc-old-time" ,ghc-old-time)
11085 ("ghc-old-locale" ,ghc-old-locale)))
11086 (home-page "https://hackage.haskell.org/package/unix-time")
11087 (synopsis "Unix time parser/formatter and utilities")
11088 (description "This library provides fast parsing and formatting utilities
11089for Unix time in Haskell.")
11090 (license license:bsd-3)))
11091
11092(define-public ghc-unliftio
11093 (package
11094 (name "ghc-unliftio")
a4084db1 11095 (version "0.2.12")
dddbc90c
RV
11096 (source
11097 (origin
11098 (method url-fetch)
11099 (uri (string-append
11100 "https://hackage.haskell.org/package/unliftio/unliftio-"
11101 version
11102 ".tar.gz"))
11103 (sha256
11104 (base32
a4084db1 11105 "02gy1zrxgzg4xmzm8lafsf1nyr3as1q20r8ld73xg3q7rkag9acg"))))
dddbc90c
RV
11106 (build-system haskell-build-system)
11107 (arguments `(#:tests? #f)) ; FIXME: hspec-discover not in PATH
11108 (inputs
11109 `(("ghc-async" ,ghc-async)
11110 ("ghc-unliftio-core" ,ghc-unliftio-core)))
11111 (native-inputs `(("ghc-hspec" ,ghc-hspec)))
11112 (home-page "https://github.com/fpco/unliftio")
11113 (synopsis "Provides MonadUnliftIO typecplass for unlifting monads to
11114IO (batteries included)")
11115 (description "This Haskell package provides the core @code{MonadUnliftIO}
11116typeclass, a number of common instances, and a collection of common functions
11117working with it.")
11118 (license license:expat)))
11119
11120(define-public ghc-unliftio-core
11121 (package
11122 (name "ghc-unliftio-core")
2ae42618 11123 (version "0.1.2.0")
dddbc90c
RV
11124 (source
11125 (origin
11126 (method url-fetch)
11127 (uri (string-append "https://hackage.haskell.org/package/"
11128 "unliftio-core-" version "/"
11129 "unliftio-core-" version ".tar.gz"))
11130 (sha256
11131 (base32
2ae42618 11132 "0y3siyx3drkw7igs380a87h8qfbbgcyxxlcnshp698hcc4yqphr4"))))
dddbc90c
RV
11133 (build-system haskell-build-system)
11134 (arguments
11135 `(#:cabal-revision
2ae42618 11136 ("2" "0jqrjjbgicx48wzcjxs1xmih48ay79rhmrz6081dldlfxynli6vz")))
dddbc90c
RV
11137 (home-page
11138 "https://github.com/fpco/unliftio/tree/master/unliftio-core#readme")
11139 (synopsis "The MonadUnliftIO typeclass for unlifting monads to IO")
11140 (description "This Haskell package provides the core @code{MonadUnliftIO}
11141typeclass, instances for base and transformers, and basic utility
11142functions.")
11143 (license license:expat)))
11144
11145(define-public ghc-unordered-containers
11146 (package
11147 (name "ghc-unordered-containers")
ca01f8d3 11148 (version "0.2.10.0")
dddbc90c
RV
11149 (outputs '("out" "doc"))
11150 (source
11151 (origin
11152 (method url-fetch)
11153 (uri (string-append
11154 "https://hackage.haskell.org/package/unordered-containers"
11155 "/unordered-containers-" version ".tar.gz"))
11156 (sha256
11157 (base32
ca01f8d3 11158 "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5"))))
dddbc90c
RV
11159 (build-system haskell-build-system)
11160 (inputs
11161 `(("ghc-chasingbottoms" ,ghc-chasingbottoms)
11162 ("ghc-hunit" ,ghc-hunit)
11163 ("ghc-quickcheck" ,ghc-quickcheck)
11164 ("ghc-test-framework" ,ghc-test-framework)
11165 ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11166 ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11167 ("ghc-hashable" ,ghc-hashable)))
11168 (home-page
11169 "https://github.com/tibbe/unordered-containers")
11170 (synopsis
11171 "Efficient hashing-based container types")
11172 (description
11173 "Efficient hashing-based container types. The containers have been
11174optimized for performance critical use, both in terms of large data quantities
11175and high speed.")
11176 (license license:bsd-3)))
11177
11178(define-public ghc-unordered-containers-bootstrap
11179 (package
11180 (inherit ghc-unordered-containers)
11181 (name "ghc-unordered-containers-bootstrap")
11182 (arguments `(#:tests? #f))
11183 (inputs
11184 `(("ghc-hashable" ,ghc-hashable-bootstrap)))
799d8d3c 11185 (properties '((hidden? #t)))))
dddbc90c 11186
a52f4c57
JS
11187(define-public ghc-unsafe
11188 (package
11189 (name "ghc-unsafe")
11190 (version "0.0")
11191 (source
11192 (origin
11193 (method url-fetch)
11194 (uri
11195 (string-append
11196 "https://hackage.haskell.org/package/unsafe/unsafe-"
11197 version ".tar.gz"))
11198 (sha256
11199 (base32
11200 "0hc6xr1i3hkz25gdgfx1jqgpsc9mwa05bkfynp0mcfdlyz6782nz"))))
11201 (build-system haskell-build-system)
11202 (home-page "https://hackage.haskell.org/package/unsafe")
11203 (synopsis "Unified interface to unsafe functions")
11204 (description "Safe Haskell introduced the notion of safe and unsafe
11205modules. In order to make as many as possible modules ``safe'', the
11206well-known unsafe functions were moved to distinguished modules. This
11207makes it hard to write packages that work with both old and new versions
11208of GHC. This package provides a single module System.Unsafe that
11209exports the unsafe functions from the base package. It provides them in
11210a style ready for qualification, that is, you should import them by
11211@code{import qualified System.Unsafe as Unsafe}.")
11212 (license license:bsd-3)))
11213
dddbc90c
RV
11214(define-public ghc-uri-bytestring
11215 (package
11216 (name "ghc-uri-bytestring")
d35ffd39 11217 (version "0.3.2.2")
dddbc90c
RV
11218 (source
11219 (origin
11220 (method url-fetch)
11221 (uri (string-append "https://hackage.haskell.org/package/"
11222 "uri-bytestring-" version "/"
11223 "uri-bytestring-" version ".tar.gz"))
11224 (sha256
11225 (base32
d35ffd39 11226 "0spzv3mwlpxiamd7347sxwcy2xri16ak1y7p1v4fisnvq4jprm67"))))
dddbc90c
RV
11227 (build-system haskell-build-system)
11228 (inputs `(("ghc-attoparsec" ,ghc-attoparsec)
dddbc90c
RV
11229 ("ghc-blaze-builder" ,ghc-blaze-builder)
11230 ("ghc-th-lift-instances" ,ghc-th-lift-instances)))
d35ffd39 11231 (native-inputs `(("ghc-hunit" ,ghc-hunit)
dddbc90c
RV
11232 ("ghc-tasty" ,ghc-tasty)
11233 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
d35ffd39
TS
11234 ("ghc-hedgehog" ,ghc-hedgehog)
11235 ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
dddbc90c 11236 ("ghc-base-compat" ,ghc-base-compat)
dddbc90c 11237 ("ghc-semigroups" ,ghc-semigroups)
d35ffd39 11238 ("ghc-safe" ,ghc-safe)))
dddbc90c
RV
11239 (home-page "https://github.com/Soostone/uri-bytestring")
11240 (synopsis "Haskell URI parsing as ByteStrings")
11241 (description "This Haskell package aims to be an RFC3986 compliant URI
11242parser that uses ByteStrings for parsing and representing the URI data.")
11243 (license license:bsd-3)))
11244
11245(define-public ghc-utf8-string
11246 (package
11247 (name "ghc-utf8-string")
11248 (version "1.0.1.1")
11249 (source
11250 (origin
11251 (method url-fetch)
11252 (uri (string-append
11253 "https://hackage.haskell.org/package/utf8-string/utf8-string-"
11254 version
11255 ".tar.gz"))
11256 (sha256
11257 (base32 "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv"))))
11258 (build-system haskell-build-system)
11259 (arguments
11260 `(#:cabal-revision
11261 ("3" "02vhj5gykkqa2dyn7s6gn8is1b5fdn9xcqqvlls268g7cpv6rk38")))
11262 (home-page "https://github.com/glguy/utf8-string/")
11263 (synopsis "Support for reading and writing UTF8 Strings")
11264 (description
11265 "A UTF8 layer for Strings. The utf8-string package provides operations
11266for encoding UTF8 strings to Word8 lists and back, and for reading and writing
11267UTF8 without truncation.")
11268 (license license:bsd-3)))
11269
11270(define-public ghc-utility-ht
11271 (package
11272 (name "ghc-utility-ht")
11273 (version "0.0.14")
11274 (home-page "https://hackage.haskell.org/package/utility-ht")
11275 (source
11276 (origin
11277 (method url-fetch)
11278 (uri (string-append home-page "/utility-ht-" version ".tar.gz"))
11279 (sha256
11280 (base32 "1a7bgk7wv7sqbxbiv7kankiimr3wij7zdm7s83zwsf886ghyxhk9"))))
11281 (build-system haskell-build-system)
11282 (inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
11283 (synopsis "Haskell helper functions for Lists, Maybes, Tuples, Functions")
11284 (description "This package includes Hakell modules providing various
11285helper functions for Lists, Maybes, Tuples, Functions.")
11286 (license license:bsd-3)))
11287
11288(define-public ghc-uuid
11289 (package
11290 (name "ghc-uuid")
11291 (version "1.3.13")
11292 (source
11293 (origin
11294 (method url-fetch)
11295 (uri (string-append "https://hackage.haskell.org/package/"
11296 "uuid-" version "/"
11297 "uuid-" version ".tar.gz"))
11298 (sha256
11299 (base32
11300 "09xhk42yhxvqmka0iqrv3338asncz8cap3j0ic0ps896f2581b6z"))))
11301 (build-system haskell-build-system)
11302 (arguments
11303 `(#:cabal-revision
11304 ("2" "0m185q62jkfb5jsv358nxbnrkv8y8hd0qqvgvh22wvc5g9ipz0r9")
11305 #:phases
11306 (modify-phases %standard-phases
11307 (add-before 'configure 'strip-test-framework-constraints
11308 (lambda _
11309 (substitute* "uuid.cabal"
11310 (("HUnit >= 1\\.2 && < 1\\.4") "HUnit")
11311 (("QuickCheck >= 2\\.4 && < 2\\.10") "QuickCheck")
11312 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11313 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11314 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11315 (inputs `(("ghc-cryptohash-sha1" ,ghc-cryptohash-sha1)
11316 ("ghc-cryptohash-md5" ,ghc-cryptohash-md5)
11317 ("ghc-entropy" ,ghc-entropy)
11318 ("ghc-network-info" ,ghc-network-info)
11319 ("ghc-random" ,ghc-random)
11320 ("ghc-uuid-types" ,ghc-uuid-types)))
11321 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11322 ("ghc-quickcheck" ,ghc-quickcheck)
11323 ("ghc-tasty" ,ghc-tasty)
11324 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11325 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11326 (home-page "https://github.com/hvr/uuid")
11327 (synopsis "Haskell library to create, compare, parse, and print UUIDs")
11328 (description "This Haskell library provides utilities creating, comparing,
11329parsing and printing @dfn{Universally Unique Identifiers} or UUIDs.")
11330 (license license:bsd-3)))
11331
11332(define-public ghc-uuid-types
11333 (package
11334 (name "ghc-uuid-types")
11335 (version "1.0.3")
11336 (source
11337 (origin
11338 (method url-fetch)
11339 (uri (string-append "https://hackage.haskell.org/package/"
11340 "uuid-types-" version "/"
11341 "uuid-types-" version ".tar.gz"))
11342 (sha256
11343 (base32
11344 "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj"))))
11345 (build-system haskell-build-system)
11346 (arguments
11347 `(#:phases
11348 (modify-phases %standard-phases
11349 (add-before 'configure 'strip-test-framework-constraints
11350 (lambda _
11351 (substitute* "uuid-types.cabal"
11352 (("HUnit >=1\\.2 && < 1\\.4") "HUnit")
11353 (("QuickCheck >=2\\.4 && < 2\\.9") "QuickCheck")
11354 (("tasty >= 0\\.10 && < 0\\.12") "tasty")
11355 (("tasty-hunit == 0\\.9\\.\\*") "tasty-hunit")
11356 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
11357 (inputs `(("ghc-hashable" ,ghc-hashable)
11358 ("ghc-random" ,ghc-random)))
11359 (native-inputs `(("ghc-hunit" ,ghc-hunit)
11360 ("ghc-quickcheck" ,ghc-quickcheck)
11361 ("ghc-tasty" ,ghc-tasty)
11362 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11363 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11364 (home-page "https://github.com/hvr/uuid")
11365 (synopsis "Haskell type definitions for UUIDs")
11366 (description "This Haskell library contains type definitions for
11367@dfn{Universally Unique Identifiers} or
11368@uref{https://en.wikipedia.org/wiki/UUID, UUIDs}, and basic conversion
11369functions.")
11370 (license license:bsd-3)))
11371
11372(define-public ghc-validation
11373 (package
11374 (name "ghc-validation")
11375 (version "1")
11376 (source
11377 (origin
11378 (method url-fetch)
11379 (uri (string-append
11380 "mirror://hackage/package/validation/validation-"
11381 version
11382 ".tar.gz"))
11383 (sha256
11384 (base32
11385 "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh"))))
11386 (build-system haskell-build-system)
11387 (arguments
11388 `(#:cabal-revision
11389 ("1" "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3")))
11390 (inputs
11391 `(("ghc-semigroups" ,ghc-semigroups)
11392 ("ghc-semigroupoids" ,ghc-semigroupoids)
11393 ("ghc-bifunctors" ,ghc-bifunctors)
11394 ("ghc-lens" ,ghc-lens)))
11395 (native-inputs
11396 `(("ghc-hedgehog" ,ghc-hedgehog)
11397 ("ghc-hunit" ,ghc-hunit)))
11398 (home-page "https://github.com/qfpl/validation")
11399 (synopsis
11400 "Data-type like Either but with an accumulating Applicative")
11401 (description
11402 "A data-type like Either but with differing properties and type-class
11403instances.
11404
11405Library support is provided for this different representation, including
11406@code{lens}-related functions for converting between each and abstracting over
11407their similarities.
11408
11409The @code{Validation} data type is isomorphic to @code{Either}, but has an
11410instance of @code{Applicative} that accumulates on the error side. That is to
11411say, if two (or more) errors are encountered, they are appended using a
11412@{Semigroup} operation.
11413
11414As a consequence of this @code{Applicative} instance, there is no
11415corresponding @code{Bind} or @code{Monad} instance. @code{Validation} is an
11416example of, \"An applicative functor that is not a monad.\"")
11417 (license license:bsd-3)))
11418
11419(define-public ghc-validity
11420 (package
11421 (name "ghc-validity")
3f1ba75d 11422 (version "0.9.0.2")
dddbc90c
RV
11423 (source
11424 (origin
11425 (method url-fetch)
11426 (uri (string-append
11427 "https://hackage.haskell.org/package/validity/validity-"
11428 version
11429 ".tar.gz"))
11430 (sha256
11431 (base32
3f1ba75d 11432 "1aa93lp1pqwv7vhx19nazlig8qhbp3psblbz360s5lii3s5rli2v"))))
dddbc90c
RV
11433 (build-system haskell-build-system)
11434 (native-inputs `(("ghc-hspec" ,ghc-hspec)
11435 ("hspec-discover" ,hspec-discover)))
11436 (home-page
11437 "https://github.com/NorfairKing/validity")
11438 (synopsis "Validity typeclass")
11439 (description
11440 "Values of custom types usually have invariants imposed upon them. This
11441package provides the @code{Validity} type class, which makes these invariants
11442explicit by providing a function to check whether the invariants hold.")
11443 (license license:expat)))
11444
11445(define-public ghc-vault
11446 (package
11447 (name "ghc-vault")
b40a436e 11448 (version "0.3.1.3")
dddbc90c
RV
11449 (source
11450 (origin
11451 (method url-fetch)
11452 (uri (string-append
11453 "https://hackage.haskell.org/package/vault/vault-"
11454 version
11455 ".tar.gz"))
11456 (sha256
11457 (base32
b40a436e 11458 "0vdm472vn734xa27jjm2mjacl37mxiqaaahvm4hzqjgyh4cqq377"))))
dddbc90c
RV
11459 (build-system haskell-build-system)
11460 (inputs
11461 `(("ghc-unordered-containers" ,ghc-unordered-containers)
11462 ("ghc-hashable" ,ghc-hashable)
b40a436e 11463 ("ghc-semigroups" ,ghc-semigroups)))
dddbc90c
RV
11464 (home-page
11465 "https://github.com/HeinrichApfelmus/vault")
11466 (synopsis "Persistent store for arbitrary values")
11467 (description "This package provides vaults for Haskell. A vault is a
11468persistent store for values of arbitrary types. It's like having first-class
11469access to the storage space behind @code{IORefs}. The data structure is
11470analogous to a bank vault, where you can access different bank boxes with
11471different keys; hence the name. Also provided is a @code{locker} type,
11472representing a store for a single element.")
11473 (license license:bsd-3)))
11474
11475(define-public ghc-vector
11476 (package
11477 (name "ghc-vector")
3ad67f6b 11478 (version "0.12.0.3")
dddbc90c
RV
11479 (outputs '("out" "doc"))
11480 (source
11481 (origin
11482 (method url-fetch)
11483 (uri (string-append
11484 "https://hackage.haskell.org/package/vector/vector-"
11485 version
11486 ".tar.gz"))
11487 (sha256
11488 (base32
3ad67f6b 11489 "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq"))))
dddbc90c
RV
11490 (build-system haskell-build-system)
11491 ;; FIXME: To simplify upgrading all Haskell packages, we leave the tests
11492 ;; disabled for now.
11493 (arguments
3ad67f6b 11494 `(#:tests? #f))
dddbc90c
RV
11495 (inputs
11496 `(("ghc-primitive" ,ghc-primitive)
11497 ("ghc-random" ,ghc-random)
11498 ("ghc-quickcheck" ,ghc-quickcheck)
11499 ;; ("ghc-hunit" ,ghc-hunit)
11500 ;; ("ghc-test-framework" ,ghc-test-framework)
11501 ;; ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
11502 ;; ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
11503 ))
11504 (home-page "https://github.com/haskell/vector")
11505 (synopsis "Efficient Arrays")
11506 (description "This library provides an efficient implementation of
11507Int-indexed arrays (both mutable and immutable), with a powerful loop
11508optimisation framework.")
11509 (license license:bsd-3)))
11510
11511(define-public ghc-vector-algorithms
11512 (package
11513 (name "ghc-vector-algorithms")
e71f316f 11514 (version "0.8.0.1")
dddbc90c
RV
11515 (source
11516 (origin
11517 (method url-fetch)
11518 (uri (string-append "https://hackage.haskell.org/package/"
11519 "vector-algorithms-" version "/"
11520 "vector-algorithms-" version ".tar.gz"))
11521 (sha256
11522 (base32
e71f316f 11523 "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m"))))
dddbc90c
RV
11524 (build-system haskell-build-system)
11525 (inputs
11526 `(("ghc-vector" ,ghc-vector)))
11527 (native-inputs
11528 `(("ghc-quickcheck" ,ghc-quickcheck)))
11529 (home-page "https://github.com/bos/math-functions")
11530 (synopsis "Algorithms for vector arrays in Haskell")
11531 (description "This Haskell library algorithms for vector arrays.")
11532 (license license:bsd-3)))
11533
11534(define-public ghc-vector-binary-instances
11535 (package
11536 (name "ghc-vector-binary-instances")
ca0701ef 11537 (version "0.2.5.1")
dddbc90c
RV
11538 (source
11539 (origin
11540 (method url-fetch)
11541 (uri (string-append
11542 "https://hackage.haskell.org/package/"
11543 "vector-binary-instances/vector-binary-instances-"
11544 version ".tar.gz"))
11545 (sha256
11546 (base32
ca0701ef 11547 "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r"))))
dddbc90c 11548 (build-system haskell-build-system)
dddbc90c
RV
11549 (inputs
11550 `(("ghc-vector" ,ghc-vector)))
11551 (native-inputs
11552 `(("ghc-tasty" ,ghc-tasty)
11553 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
11554 (home-page "https://github.com/bos/vector-binary-instances")
11555 (synopsis "Instances of Data.Binary and Data.Serialize for vector")
11556 (description "This library provides instances of @code{Binary} for the
11557types defined in the @code{vector} package, making it easy to serialize
11558vectors to and from disk. We use the generic interface to vectors, so all
11559vector types are supported. Specific instances are provided for unboxed,
11560boxed and storable vectors.")
11561 (license license:bsd-3)))
11562
11563(define-public ghc-vector-builder
11564 (package
11565 (name "ghc-vector-builder")
1fc05441 11566 (version "0.3.8")
dddbc90c
RV
11567 (source
11568 (origin
11569 (method url-fetch)
11570 (uri (string-append "https://hackage.haskell.org/package/"
11571 "vector-builder-" version "/"
11572 "vector-builder-" version ".tar.gz"))
11573 (sha256
11574 (base32
1fc05441 11575 "0ww0l52p8s6gmh985adnjbvm1vrqpqbm08qdcrvxwhhcqmxgv6m3"))))
dddbc90c
RV
11576 (build-system haskell-build-system)
11577 (inputs `(("ghc-vector" ,ghc-vector)
11578 ("ghc-semigroups" ,ghc-semigroups)
11579 ("ghc-base-prelude" ,ghc-base-prelude)))
11580 (native-inputs `(("ghc-attoparsec" ,ghc-attoparsec)
11581 ("ghc-tasty" ,ghc-tasty)
11582 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
11583 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
11584 ("ghc-hunit" ,ghc-hunit)
11585 ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)
11586 ("ghc-rerebase" ,ghc-rerebase)))
11587 (home-page "https://github.com/nikita-volkov/vector-builder")
11588 (synopsis "Vector builder for Haskell")
11589 (description "This Haskell package provides an API for constructing vectors.
11590It provides the composable @code{Builder} abstraction, which has instances of the
11591@code{Monoid} and @code{Semigroup} classes.
11592
11593You would first use the @code{Builder} abstraction to specify the structure of
11594the vector; then you can execute the builder to actually produce the
11595vector. ")
11596 (license license:expat)))
11597
11598(define-public ghc-vector-th-unbox
11599 (package
11600 (name "ghc-vector-th-unbox")
63056e61 11601 (version "0.2.1.7")
dddbc90c
RV
11602 (source
11603 (origin
11604 (method url-fetch)
11605 (uri (string-append "https://hackage.haskell.org/package/"
11606 "vector-th-unbox-" version "/"
11607 "vector-th-unbox-" version ".tar.gz"))
11608 (sha256
11609 (base32
63056e61 11610 "0q8dqnbv1c2gi7jjdhqj14abj1vik23ki6lq4iz2sz18yc7q69fi"))))
dddbc90c
RV
11611 (build-system haskell-build-system)
11612 (inputs
11613 `(("ghc-vector" ,ghc-vector)
11614 ("ghc-data-default" ,ghc-data-default)))
11615 (home-page "https://github.com/liyang/vector-th-unbox")
11616 (synopsis "Deriver for Data.Vector.Unboxed using Template Haskell")
11617 (description "This Haskell library provides a Template Haskell
11618deriver for unboxed vectors, given a pair of coercion functions to
11619and from some existing type with an Unbox instance.")
11620 (license license:bsd-3)))
11621
11622(define-public ghc-void
11623 (package
11624 (name "ghc-void")
51889121 11625 (version "0.7.3")
dddbc90c
RV
11626 (source
11627 (origin
11628 (method url-fetch)
11629 (uri (string-append
11630 "https://hackage.haskell.org/package/void/void-"
11631 version
11632 ".tar.gz"))
11633 (sha256
11634 (base32
51889121 11635 "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk"))))
dddbc90c
RV
11636 (build-system haskell-build-system)
11637 (inputs
11638 `(("ghc-semigroups" ,ghc-semigroups)
11639 ("ghc-hashable" ,ghc-hashable)))
11640 (home-page "https://github.com/ekmett/void")
11641 (synopsis
11642 "Logically uninhabited data type")
11643 (description
11644 "A Haskell 98 logically uninhabited data type, used to indicate that a
11645given term should not exist.")
11646 (license license:bsd-3)))
11647
11648(define-public ghc-wave
11649 (package
11650 (name "ghc-wave")
1631a0f7 11651 (version "0.2.0")
dddbc90c
RV
11652 (source (origin
11653 (method url-fetch)
11654 (uri (string-append
11655 "https://hackage.haskell.org/package/wave/wave-"
11656 version
11657 ".tar.gz"))
11658 (sha256
11659 (base32
1631a0f7 11660 "149kgwngq3qxc7gxpkqb16j669j0wpv2f3gnvfwp58yg6m4259ki"))))
dddbc90c
RV
11661 (build-system haskell-build-system)
11662 (arguments
11663 '(#:phases
11664 (modify-phases %standard-phases
11665 (add-before 'configure 'update-constraints
11666 (lambda _
11667 (substitute* "wave.cabal"
11668 (("temporary.* < 1\\.3")
11669 "temporary >= 1.1 && < 1.4")))))))
11670 (inputs
11671 `(("ghc-cereal" ,ghc-cereal)
11672 ("ghc-data-default-class"
11673 ,ghc-data-default-class)
11674 ("ghc-quickcheck" ,ghc-quickcheck)
11675 ("ghc-temporary" ,ghc-temporary)))
11676 (native-inputs
11677 `(("hspec-discover" ,hspec-discover)
11678 ("ghc-hspec" ,ghc-hspec)))
11679 (home-page "https://github.com/mrkkrp/wave")
11680 (synopsis "Work with WAVE and RF64 files in Haskell")
11681 (description "This package allows you to work with WAVE and RF64
11682files in Haskell.")
11683 (license license:bsd-3)))
11684
11685(define-public ghc-wcwidth
11686 (package
11687 (name "ghc-wcwidth")
11688 (version "0.0.2")
11689 (source
11690 (origin
11691 (method url-fetch)
11692 (uri (string-append "https://hackage.haskell.org/package/wcwidth/wcwidth-"
11693 version ".tar.gz"))
11694 (sha256
11695 (base32
11696 "1n1fq7v64b59ajf5g50iqj9sa34wm7s2j3viay0kxpmvlcv8gipz"))))
11697 (build-system haskell-build-system)
11698 (inputs
11699 `(("ghc-setlocale" ,ghc-setlocale)
11700 ("ghc-utf8-string" ,ghc-utf8-string)
11701 ("ghc-attoparsec" ,ghc-attoparsec)))
11702 (home-page "https://github.com/solidsnack/wcwidth/")
11703 (synopsis "Haskell bindings to wcwidth")
11704 (description "This package provides Haskell bindings to your system's
11705native wcwidth and a command line tool to examine the widths assigned by it.
11706The command line tool can compile a width table to Haskell code that assigns
11707widths to the Char type.")
11708 (license license:bsd-3)))
11709
11710(define-public ghc-wcwidth-bootstrap
11711 (package
11712 (inherit ghc-wcwidth)
11713 (name "ghc-wcwidth-bootstrap")
11714 (inputs
11715 `(("ghc-setlocale" ,ghc-setlocale)
11716 ("ghc-utf8-string" ,ghc-utf8-string)
11717 ("ghc-attoparsec" ,ghc-attoparsec-bootstrap)))
799d8d3c 11718 (properties '((hidden? #t)))))
dddbc90c
RV
11719
11720(define-public ghc-weigh
11721 (package
11722 (name "ghc-weigh")
b6d9777f 11723 (version "0.0.14")
dddbc90c
RV
11724 (source
11725 (origin
11726 (method url-fetch)
11727 (uri (string-append "https://hackage.haskell.org/package/weigh/"
11728 "weigh-" version ".tar.gz"))
11729 (sha256
11730 (base32
b6d9777f 11731 "0l85marb5rl9nr1c0id42dnr5i9fk1jciy5h6lywhb34w3hbj61g"))))
dddbc90c
RV
11732 (build-system haskell-build-system)
11733 (inputs
11734 `(("ghc-split" ,ghc-split)
11735 ("ghc-temporary" ,ghc-temporary)))
11736 (home-page "https://github.com/fpco/weigh#readme")
11737 (synopsis "Measure allocations of a Haskell functions/values")
11738 (description "This package provides tools to measure the memory usage of a
11739Haskell value or function.")
11740 (license license:bsd-3)))
11741
11742(define-public ghc-wl-pprint
11743 (package
11744 (name "ghc-wl-pprint")
11745 (version "1.2.1")
11746 (source (origin
11747 (method url-fetch)
11748 (uri (string-append
11749 "https://hackage.haskell.org/package/wl-pprint/wl-pprint-"
11750 version ".tar.gz"))
11751 (sha256
11752 (base32
11753 "0kn7y8pdrv8f87zhd5mifcl8fy3b2zvnzmzwhdqhxxlyzwiq6z0c"))))
11754 (build-system haskell-build-system)
11755 (home-page "https://hackage.haskell.org/package/wl-pprint")
11756 (synopsis "Wadler/Leijen pretty printer")
11757 (description
11758 "This is a pretty printing library based on Wadler's paper @i{A Prettier
11759Printer}. This version allows the library user to declare overlapping
11760instances of the @code{Pretty} class.")
11761 (license license:bsd-3)))
11762
11763(define-public ghc-wl-pprint-annotated
11764 (package
11765 (name "ghc-wl-pprint-annotated")
11766 (version "0.1.0.1")
11767 (source
11768 (origin
11769 (method url-fetch)
11770 (uri (string-append
11771 "mirror://hackage/package/wl-pprint-annotated/wl-pprint-annotated-"
11772 version
11773 ".tar.gz"))
11774 (sha256
11775 (base32
11776 "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb"))))
11777 (build-system haskell-build-system)
11778 (native-inputs
11779 `(("ghc-tasty" ,ghc-tasty)
11780 ("ghc-tasty-hunit" ,ghc-tasty-hunit)))
11781 (home-page
11782 "https://github.com/minad/wl-pprint-annotated#readme")
11783 (synopsis
11784 "Wadler/Leijen pretty printer with annotation support")
11785 (description
11786 "Annotations are useful for coloring. This is a limited version of
11787@code{wl-pprint-extras} without support for point effects and without the free
11788monad. Like in @code{annotated-wl-pprint}, only annotations are supported.
11789Compared to @code{annotated-wl-pprint} this library provides a slightly
11790modernized interface.")
11791 (license license:bsd-3)))
11792
11793(define-public ghc-wl-pprint-text
11794 (package
11795 (name "ghc-wl-pprint-text")
11796 (version "1.2.0.0")
11797 (source
11798 (origin
11799 (method url-fetch)
11800 (uri (string-append
11801 "https://hackage.haskell.org/package/wl-pprint-text/wl-pprint-text-"
11802 version ".tar.gz"))
11803 (sha256
11804 (base32
11805 "0g3w92rad6x5appfb22rbzcas2ix2h0hy91sdxhq8a4a5cnlrpa0"))))
11806 (build-system haskell-build-system)
11807 (inputs
11808 `(("ghc-base-compat" ,ghc-base-compat)))
11809 (home-page "https://hackage.haskell.org/package/wl-pprint-text")
11810 (synopsis "Wadler/Leijen Pretty Printer for Text values")
11811 (description
11812 "A clone of wl-pprint for use with the text library.")
11813 (license license:bsd-3)))
11814
11815(define-public ghc-word8
11816 (package
11817 (name "ghc-word8")
11818 (version "0.1.3")
11819 (source
11820 (origin
11821 (method url-fetch)
11822 (uri (string-append
11823 "https://hackage.haskell.org/package/word8/word8-"
11824 version
11825 ".tar.gz"))
11826 (sha256
11827 (base32
11828 "12jx7f13d2h1djq4fh4dyrab61sm49mj1w61j3rzp2vjfm696c16"))))
11829 (build-system haskell-build-system)
11830 (native-inputs
11831 `(("ghc-hspec" ,ghc-hspec)
11832 ("hspec-discover" ,hspec-discover)))
11833 (home-page "https://hackage.haskell.org/package/word8")
11834 (synopsis "Word8 library for Haskell")
11835 (description "Word8 library to be used with @code{Data.ByteString}.")
11836 (license license:bsd-3)))
11837
11838(define-public ghc-x11
11839 (package
11840 (name "ghc-x11")
6c4581a3 11841 (version "1.9.1")
dddbc90c
RV
11842 (source
11843 (origin
11844 (method url-fetch)
11845 (uri (string-append "https://hackage.haskell.org/package/X11/"
11846 "X11-" version ".tar.gz"))
11847 (sha256
6c4581a3 11848 (base32 "0gg6852mrlgl8zng1j84fismz7k81jr5fk92glgkscf8q6ryg0bm"))))
dddbc90c
RV
11849 (build-system haskell-build-system)
11850 (inputs
11851 `(("libx11" ,libx11)
11852 ("libxrandr" ,libxrandr)
11853 ("libxinerama" ,libxinerama)
11854 ("libxscrnsaver" ,libxscrnsaver)
11855 ("ghc-data-default" ,ghc-data-default)))
11856 (home-page "https://github.com/haskell-pkg-janitors/X11")
11857 (synopsis "Bindings to the X11 graphics library")
11858 (description
11859 "This package provides Haskell bindings to the X11 graphics library. The
11860bindings are a direct translation of the C bindings.")
11861 (license license:bsd-3)))
11862
11863(define-public ghc-x11-xft
11864 (package
11865 (name "ghc-x11-xft")
11866 (version "0.3.1")
11867 (source
11868 (origin
11869 (method url-fetch)
11870 (uri (string-append "https://hackage.haskell.org/package/X11-xft/"
11871 "X11-xft-" version ".tar.gz"))
11872 (sha256
11873 (base32 "1lgqb0s2qfwwgbvwxhjbi23rbwamzdi0l0slfr20c3jpcbp3zfjf"))))
11874 (inputs
11875 `(("ghc-x11" ,ghc-x11)
11876 ("ghc-utf8-string" ,ghc-utf8-string)
11877 ("libx11" ,libx11)
11878 ("libxft" ,libxft)
11879 ("xorgproto" ,xorgproto)))
11880 (native-inputs
11881 `(("pkg-config" ,pkg-config)))
11882 (build-system haskell-build-system)
11883 (home-page "https://hackage.haskell.org/package/X11-xft")
11884 (synopsis "Bindings to Xft")
11885 (description
11886 "Bindings to the Xft, X Free Type interface library, and some Xrender
11887parts.")
11888 (license license:lgpl2.1)))
11889
11890(define-public ghc-xdg-basedir
11891 (package
11892 (name "ghc-xdg-basedir")
11893 (version "0.2.2")
11894 (source
11895 (origin
11896 (method url-fetch)
11897 (uri (string-append
11898 "https://hackage.haskell.org/package/xdg-basedir/"
11899 "xdg-basedir-" version ".tar.gz"))
11900 (sha256
11901 (base32
11902 "0azlzaxp2dn4l1nr7shsxah2magk1szf6fx0mv75az00qsjw6qg4"))))
11903 (build-system haskell-build-system)
11904 (home-page "http://github.com/willdonnelly/xdg-basedir")
11905 (synopsis "XDG Base Directory library for Haskell")
11906 (description "This package provides a library implementing the XDG Base Directory spec.")
11907 (license license:bsd-3)))
11908
11909(define-public ghc-xml
11910 (package
11911 (name "ghc-xml")
11912 (version "1.3.14")
11913 (source
11914 (origin
11915 (method url-fetch)
11916 (uri (string-append
11917 "https://hackage.haskell.org/package/xml/xml-"
11918 version
11919 ".tar.gz"))
11920 (sha256
11921 (base32
11922 "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j"))))
11923 (build-system haskell-build-system)
11924 (home-page "http://code.galois.com")
11925 (synopsis "Simple XML library for Haskell")
11926 (description "This package provides a simple XML library for Haskell.")
11927 (license license:bsd-3)))
11928
11929(define-public ghc-xml-conduit
11930 (package
11931 (name "ghc-xml-conduit")
11932 (version "1.8.0.1")
11933 (source
11934 (origin
11935 (method url-fetch)
11936 (uri (string-append "https://hackage.haskell.org/package/xml-conduit/"
11937 "xml-conduit-" version ".tar.gz"))
11938 (sha256
11939 (base32
11940 "177gmyigxql1pn3ncz0r8annwv5cbxnihbgrrg1dhm4gmc9jy2wq"))))
11941 (build-system haskell-build-system)
11942 (inputs
11943 `(("ghc-conduit" ,ghc-conduit)
11944 ("ghc-conduit-extra" ,ghc-conduit-extra)
11945 ("ghc-doctest" ,ghc-doctest)
11946 ("ghc-resourcet" ,ghc-resourcet)
11947 ("ghc-xml-types" ,ghc-xml-types)
11948 ("ghc-attoparsec" ,ghc-attoparsec)
11949 ("ghc-data-default-class" ,ghc-data-default-class)
11950 ("ghc-blaze-markup" ,ghc-blaze-markup)
11951 ("ghc-blaze-html" ,ghc-blaze-html)
11952 ("ghc-monad-control" ,ghc-monad-control)
11953 ("ghc-hspec" ,ghc-hspec)
11954 ("ghc-hunit" ,ghc-hunit)))
11955 (home-page "https://github.com/snoyberg/xml")
11956 (synopsis "Utilities for dealing with XML with the conduit package")
11957 (description
11958 "This package provides pure-Haskell utilities for dealing with XML with
11959the @code{conduit} package.")
11960 (license license:expat)))
11961
11962(define-public ghc-xml-types
11963 (package
11964 (name "ghc-xml-types")
11965 (version "0.3.6")
11966 (source
11967 (origin
11968 (method url-fetch)
11969 (uri (string-append "https://hackage.haskell.org/package/xml-types/"
11970 "xml-types-" version ".tar.gz"))
11971 (sha256
11972 (base32
11973 "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr"))))
11974 (build-system haskell-build-system)
11975 (home-page "https://john-millikin.com/software/haskell-xml/")
11976 (synopsis "Basic types for representing XML")
11977 (description "This package provides basic types for representing XML
11978documents.")
11979 (license license:expat)))
11980
11981(define-public ghc-yaml
11982 (package
11983 (name "ghc-yaml")
11984 (version "0.8.32")
11985 (source (origin
11986 (method url-fetch)
11987 (uri (string-append "https://hackage.haskell.org/package/"
11988 "yaml/yaml-" version ".tar.gz"))
11989 (sha256
11990 (base32
11991 "0cbsyh4ilvjzq1q7pxls43k6pdqxg1l85xzibcwpbvmlvrizh86w"))))
11992 (build-system haskell-build-system)
11993 ;; The tests are broken on i686. They are fixed in 0.10.3.0.
11994 ;; See https://github.com/snoyberg/yaml/issues/158
11995 (arguments `(#:tests? #f))
11996 (inputs
11997 `(("ghc-conduit" ,ghc-conduit)
11998 ("ghc-resourcet" ,ghc-resourcet)
11999 ("ghc-aeson" ,ghc-aeson)
12000 ("ghc-unordered-containers" ,ghc-unordered-containers)
12001 ("ghc-vector" ,ghc-vector)
12002 ("ghc-attoparsec" ,ghc-attoparsec)
12003 ("ghc-scientific" ,ghc-scientific)
12004 ("ghc-semigroups" ,ghc-semigroups)
12005 ("ghc-temporary" ,ghc-temporary)
12006 ("ghc-enclosed-exceptions" ,ghc-enclosed-exceptions)
12007 ("ghc-base-compat" ,ghc-base-compat)))
12008 (native-inputs
12009 `(("ghc-hspec" ,ghc-hspec)
12010 ("ghc-hunit" ,ghc-hunit)
12011 ("hspec-discover" ,hspec-discover)
12012 ("ghc-mockery" ,ghc-mockery)))
12013 (home-page "https://github.com/snoyberg/yaml/")
12014 (synopsis "Parsing and rendering YAML documents")
12015 (description
12016 "This package provides a library to parse and render YAML documents.")
12017 (license license:bsd-3)))
12018
12019(define-public ghc-zip-archive
12020 (package
12021 (name "ghc-zip-archive")
93c1fdd3 12022 (version "0.4.1")
dddbc90c
RV
12023 (source
12024 (origin
12025 (method url-fetch)
12026 (uri (string-append
12027 "https://hackage.haskell.org/package/zip-archive/zip-archive-"
12028 version
12029 ".tar.gz"))
12030 (sha256
12031 (base32
93c1fdd3 12032 "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5"))))
dddbc90c 12033 (build-system haskell-build-system)
93c1fdd3
TS
12034 (arguments
12035 `(#:phases
12036 (modify-phases %standard-phases
12037 (add-before 'check 'set-PATH-for-tests
12038 (lambda* (#:key inputs #:allow-other-keys)
12039 (let ((unzip (assoc-ref inputs "unzip"))
12040 (which (assoc-ref inputs "which"))
12041 (path (getenv "PATH")))
12042 (setenv "PATH" (string-append unzip "/bin:" which "/bin:" path))
12043 #t))))))
dddbc90c
RV
12044 (inputs
12045 `(("ghc-digest" ,ghc-digest)
12046 ("ghc-temporary" ,ghc-temporary)
12047 ("ghc-zlib" ,ghc-zlib)))
12048 (native-inputs
12049 `(("ghc-hunit" ,ghc-hunit)
93c1fdd3
TS
12050 ("unzip" ,unzip)
12051 ("which" ,which)))
dddbc90c
RV
12052 (home-page "https://hackage.haskell.org/package/zip-archive")
12053 (synopsis "Zip archive library for Haskell")
12054 (description "The zip-archive library provides functions for creating,
12055modifying, and extracting files from zip archives in Haskell.")
12056 (license license:bsd-3)))
12057
12058(define-public ghc-zlib
12059 (package
12060 (name "ghc-zlib")
bf12089a 12061 (version "0.6.2.1")
dddbc90c
RV
12062 (outputs '("out" "doc"))
12063 (source
12064 (origin
12065 (method url-fetch)
12066 (uri (string-append
12067 "https://hackage.haskell.org/package/zlib/zlib-"
12068 version
12069 ".tar.gz"))
12070 (sha256
12071 (base32
bf12089a 12072 "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h"))))
dddbc90c
RV
12073 (build-system haskell-build-system)
12074 (arguments
12075 `(#:phases
12076 (modify-phases %standard-phases
12077 (add-before 'configure 'strip-test-framework-constraints
12078 (lambda _
12079 (substitute* "zlib.cabal"
12080 (("tasty >= 0\\.8 && < 0\\.12") "tasty")
12081 (("tasty-hunit >= 0\\.8 && < 0\\.10") "tasty-hunit")
12082 (("tasty-quickcheck == 0\\.8\\.\\*") "tasty-quickcheck")))))))
12083 (inputs `(("zlib" ,zlib)))
12084 (native-inputs
12085 `(("ghc-quickcheck" ,ghc-quickcheck)
12086 ("ghc-tasty" ,ghc-tasty)
12087 ("ghc-tasty-hunit" ,ghc-tasty-hunit)
12088 ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)))
12089 (home-page "https://hackage.haskell.org/package/zlib")
12090 (synopsis
12091 "Compression and decompression in the gzip and zlib formats")
12092 (description
12093 "This package provides a pure interface for compressing and decompressing
12094streams of data represented as lazy @code{ByteString}s. It uses the zlib C
12095library so it has high performance. It supports the @code{zlib}, @code{gzip}
12096and @code{raw} compression formats. It provides a convenient high level API
12097suitable for most tasks and for the few cases where more control is needed it
12098provides access to the full zlib feature set.")
bbf8bf31 12099 (license license:bsd-3)))
14e41996
RV
12100
12101(define-public ghc-zlib-bindings
12102 (package
12103 (name "ghc-zlib-bindings")
12104 (version "0.1.1.5")
12105 (source
12106 (origin
12107 (method url-fetch)
12108 (uri (string-append "https://hackage.haskell.org/package/"
12109 "zlib-bindings/zlib-bindings-" version ".tar.gz"))
12110 (sha256
12111 (base32
12112 "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8"))))
12113 (build-system haskell-build-system)
12114 (inputs
12115 `(("ghc-zlib" ,ghc-zlib)))
12116 (native-inputs
12117 `(("ghc-hspec" ,ghc-hspec)
12118 ("ghc-quickcheck" ,ghc-quickcheck)))
12119 (arguments
12120 `(#:cabal-revision
12121 ("2" "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc")))
12122 (home-page "https://github.com/snapframework/zlib-bindings")
12123 (synopsis "Low-level bindings to the @code{zlib} package")
12124 (description "This package provides low-level bindings to the
12125@code{zlib} package.")
12126 (license license:bsd-3)))